forked from drone/command-center-dashboard

罗广辉
2025-04-21 2800fa4f32f3900509cb4d6eefaf2bfaf54efdd7
src/api/payload.js
@@ -1,12 +1,4 @@
import request from '@/axios'
import { ElMessage } from 'element-plus'
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 const PayloadCommandsEnum = {
  CameraModeSwitch: 'camera_mode_switch',
@@ -18,25 +10,140 @@
  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
  })
}
// 云台控制api
export function ptzControlApi(key,params) {
  return request({
    url:`${API_PREFIX}/devices/payload-control/payload/${key}`,
    method:'get',
    params
  })
}
// 拍照和录像
export async function callPhotoAndVideoCmd(sn, type) {
  return await request({
    url:`/droneAirport/liveStreamApi/${sn}/payload/photoAndVideoCmd/${type}`,
export function callPhotoAndVideoCmd(sn, type) {
  return request({
    url:`${API_PREFIX}/devices/${sn}/payload/photoAndVideoCmd/${type}`,
    method:'get',
  })
}
// 相机参数调整
export function cameraParamsChangeApi(data) {
  return request({
    url:`${API_PREFIX}/devices/payload-control/payload/zoom/level`,
    method:'post',
    data
  })
}
export function getLiveCapacityApi(params) {
  return request({
    url:`/drone-device-core/manage/api/v1/live/capacity`,
    method:'get',
    params
  })
}
// 云台重置
export function ptzResetModeApi(params) {
  return request({
    url:`${API_PREFIX}/devices/payload-control/payload/reset`,
    method:'get',
    params
  })
}
// 切换直播镜头
export const switchLivestream = (data) => {
  const url = `${API_PREFIX}/live/streams/switch`;
  return request({
    url,
    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,
  });
};
// 无人机开启ai
export const getLiveAiLinkApi = (data) => {
  return request({
    url:`/drone-device-core/manage/api/v1/live/streams/start/ai`,
    method: 'post',
    data,
  });