/*
|
* @Author: GuLiMmo 2820890765@qq.com
|
* @Date: 2024-04-03 10:23:36
|
* @LastEditors: shuishen 1109946754@qq.com
|
* @LastEditTime: 2024-10-23 19:22:21
|
* @FilePath: \bigScreen\src\api\drone\payload.js
|
* @Description:
|
* Copyright (c) 2024 by GuLiMmo, All Rights Reserved.
|
*/
|
import request from '@/api/http/request';
|
import { showNotify } from 'vant';
|
|
|
const API_PREFIX = '/control/api/v1';
|
// const workspaceId: string = localStorage.getItem(ELocalStorageKey.WorkspaceId) || '
|
|
// 获取负载控制权
|
export async function postPayloadAuth(sn='', body = {}) {
|
const resp = await request.post(
|
`${API_PREFIX}/devices/${sn}/authority/payload`,
|
body,
|
);
|
return resp.data;
|
}
|
|
// TODO: 画面拖动控制
|
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',
|
};
|
// 发送负载名称
|
export async function postPayloadCommands(sn='', body = {}, config = {}) {
|
const resp = await request.post(
|
`${API_PREFIX}/devices/${sn}/payload/commands`,
|
body,
|
config,
|
);
|
return resp.data;
|
}
|
|
// 双击AIM视频定位
|
export async function postPayloadAIM(sn='', body = {}, config = {}) {
|
const resp = await request.post(
|
`${API_PREFIX}/devices/${sn}/payload/aim`,
|
body,
|
config,
|
);
|
return resp.data;
|
}
|
|
// 框选变焦
|
export async function postPayloadCameraFrameZoom(sn='', body = {}, config = {}) {
|
const resp = await request.post(
|
`${API_PREFIX}/devices/${sn}/payload/camera_frame_zoom`,
|
body,
|
config,
|
);
|
return resp.data;
|
}
|
postPayloadAIM
|
|
// 万向复节
|
export async function resetGimbal(sn='', data={}) {
|
const { code } = await postPayloadCommands(sn, {
|
cmd: PayloadCommandsEnum.GimbalReset,
|
data: data,
|
});
|
if (code === 0) {
|
showNotify({ type: 'success', message: '万向节复位成功' })
|
}
|
}
|
|
// 相机缩放
|
export async function changeCameraFocalLength(sn='', data={}, isZoom:false) {
|
const { code } = await postPayloadCommands(sn, {
|
cmd: PayloadCommandsEnum.CameraFocalLengthSet,
|
data: data,
|
});
|
if (isZoom) {
|
showNotify({ type: 'success', message: '放大成功' })
|
} else {
|
showNotify({ type: 'success', message: '缩小成功' })
|
}
|
}
|