import request from '@/axios' export const PayloadCommandsEnum = { CameraModeSwitch: 'camera_mode_switch', CameraPhotoTake: 'camera_photo_take', CameraRecordingStart: 'camera_recording_start', CameraScreenDrag: 'camera_screen_drag', CameraRecordingStop: 'camera_recording_stop', CameraFocalLengthSet: 'camera_focal_length_set', GimbalReset: 'gimbal_reset', CameraAim: 'camera_aim', } const API_PREFIX = '/drone-device-core/control/api/v1' // 获取负载控制权 export async function postPayloadAuth(sn, body) { return await request.post(`${API_PREFIX}/devices/${sn}/authority/payload`, body) } // 发送负载名称 export async function postPayloadCommands(sn, body, config = {}) { return await request.post(`${API_PREFIX}/devices/${sn}/payload/commands`, body, config) } // 获得有效载荷控制 export function getPayloadControlApi(params) { return request({ url: `${API_PREFIX}/devices/payload-control/requests`, method: 'get', params, }) } // 双击AIM视频定位 export async function postPayloadAIM(data) { return request({ url: `/drone-device-core/control/api/v1/devices/${data.sn}/payload/cameraAim`, method: 'post', data, }) } // 飞到此处 export async function flyToHereApi(data) { return request({ url: `/drone-device-core/control/api/v1/devices/${data.sn}/flyToHere`, method: 'post', data, }) } // 框选变焦 export async function frameSelectionZoomApi(data) { return request({ url: `/drone-device-core/control/api/v1/devices/${data.sn}/payload/cameraFrameZoom`, method: 'post', data, }) } // 云台控制api export function ptzControlApi(key, params) { return request({ url: `${API_PREFIX}/devices/payload-control/payload/${key}`, method: 'get', params, }) } // 拍照和录像 export function callPhotoAndVideoCmd(sn, type, params = {}) { return request({ url: `${API_PREFIX}/devices/${sn}/payload/photoAndVideoCmd/${type}`, method: 'get', params, }) } export function setWidgetSetApi(dockSn, data) { return request({ url: `/drone-device-core/wightSet/${dockSn}/setWidgetSet`, method: 'post', data, }) } // 相机参数调整 export function cameraParamsChangeApi(data) { return request({ url: `${API_PREFIX}/devices/payload-control/payload/zoom/level`, method: 'post', data, }) } // 获取当前相机模式 export function getLiveStatusApi(sn) { return request({ url: `/drone-device-core/manage/api/v1/live/getLiveStatus/${sn}`, method: 'get', }) } // 获取当前负载信息 export function getLoadInfoApi(dockSn) { return request({ url: `/drone-device-core/manage/api/v1/devices/getByDockSn`, method: 'get', params:{dockSn} }) } // 判断是谁控制 export function checkControllUserMeApi(dockSn) { return request({ url: `/drone-device-core/dp/home/checkControllUserMe`, method: 'get', params:{dockSn} }) } export function getLiveCapacityApi(params) { return request({ url: `/drone-device-core/manage/api/v1/live/capacity`, method: 'get', params, }) } /** * 获取相机最大倍数 * @param deviceId type 1传机场sn,type2传负载编号 * @param type type=1是机场sn的,type=2是负载编号的 * @returns {*} */ export function getCameraInfoApi(deviceId, type) { return request({ url: `/drone-device-core/manage/api/v1/droneGsd/getCreameInfo/${type}?deviceId=${deviceId}`, method: 'get', }) } // 获取负载信息,探照灯,喊话等等 export function getDevicePsdkInfoApi(device_sn) { return request({ url: `/drone-device-core/manage/api/v1/devices/getDevicePsdkInfo`, method: 'get', params: { device_sn }, }) } // 云台重置 export function ptzResetModeApi(params) { return request({ url: `${API_PREFIX}/devices/payload-control/payload/reset`, method: 'get', params, }) } // 切换直播镜头 export const switchLivestream = data => { return request({ url: `${API_PREFIX}/live/streams/switch`, method: 'post', data, }) } // 喊话 export const startVoice = data => { return request({ url: `/drone-device-core/speak/api/v1/startVoice`, method: 'post', data, }) } //播报列表单个音频文件播放(远离河道) export const stayAwayRiver = params => { const url = `/drone-device-core/speak/api/v1/putVoice` return request({ url, method: 'post', params, }) } //播报文件 export const getVoiceFile = params => { const url = `/drone-device-core/speak/api/v1/getVoiceFile` return request({ url, method: 'post', params, }) } // 上传音频文件 export const uploadSpeak = data => { const url = `/drone-device-core/speak/api/v1/uploadSpeak` return request({ url, method: 'post', headers: { 'Content-Type': 'multipart/form-data', }, data, }) } // 播放音频 export const playAudio = params => { const url = `/drone-device-core/speak/api/v1/startVoices` return request({ url, method: 'post', params, }) } // 循环播放音频 export const voiceMode = (params, data) => { const url = `/drone-device-core/speak/api/v1/voiceMode` return request({ url, method: 'post', params, data, }) } // 音量设置 export const setVoiceVolumn = (params, data) => { const url = `/drone-device-core/speak/api/v1/voiceVolumn` return request({ url, method: 'post', params, data, }) } // 文字广播 export const txtChangeVideo = (params, data) => { const url = `/drone-device-core/speak/api/v1/startTts` return request({ url, method: 'post', params, data, }) } // 停止广播 export const stopVoiceApi = (params, data) => { const url = `/drone-device-core/speak/api/v1/stopVoice` return request({ url, method: 'post', params, data, }) } // 保存文字转音频的文件 export const saveTxtVideoFile = data => { const url = `/drone-device-core/speak/api/v1/saveTts` return request({ url, method: 'post', data, }) } // 重新播放 export const restartVoiceApi = (params, data) => { const url = `/drone-device-core/speak/api/v1/restartVoice` return request({ url, method: 'post', params, data, }) } // 无人机开启ai export const getLiveAiLinkApi = data => { return request({ url: `/drone-device-core/manage/api/v1/live/streams/start/ai`, method: 'post', data, }) } // 设置调色盘 export const setThermalCurrentPaletteStyle = (deviceSn, workspaceId, param) => { return request({ url: `/drone-device-core/manage/api/v1/devices/${workspaceId}/devices/${deviceSn}/setThermalCurrentPaletteStyle`, method: 'put', data: param, }) } /** * 存入数据到ws * @param sn 无人机sn * @param params //:{type: 'AI,SEARCHLIGHT'} * @param data * @returns {*} */ export const openSendWsApi = (sn, params, data) => { return request({ url: `/drone-device-core/control/api/v1/devices/${sn}/request/openSendWs`, method: 'post', data, params }) } // 删除ws里之前存的数据 export const closeSendWsApi = (sn, params, data=undefined) => { return request({ url: `/drone-device-core/control/api/v1/devices/${sn}/request/closeSendWs`, method: 'post', data, params }) }