| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- import { message } from 'ant-design-vue'
- import {
- postPayloadAuth,
- postPayloadCommands,
- PayloadCommandsEnum,
- PostCameraModeBody,
- PostCameraFocalLengthBody,
- PostGimbalResetBody,
- PostCameraAimBody,
- } from '/@/api/drone-control/payload'
- import { ControlSource } from '/@/types/device'
- export function usePayloadControl () {
- function checkPayloadAuth (controlSource?: ControlSource) {
- if (controlSource !== ControlSource.A) {
- message.error('Get Payload Control first')
- return false
- }
- return true
- }
- async function authPayload (sn: string, payloadIndx: string) {
- const { code } = await postPayloadAuth(sn, {
- payload_index: payloadIndx
- })
- if (code === 0) {
- message.success('获取负载控制成功')
- return true
- }
- return false
- }
- async function resetGimbal (sn: string, data: PostGimbalResetBody) {
- const { code } = await postPayloadCommands(sn, {
- cmd: PayloadCommandsEnum.GimbalReset,
- data: data
- })
- if (code === 0) {
- message.success('重置云台成功')
- }
- }
- async function switchCameraMode (sn: string, data: PostCameraModeBody) {
- const { code } = await postPayloadCommands(sn, {
- cmd: PayloadCommandsEnum.CameraModeSwitch,
- data: data
- })
- if (code === 0) {
- message.success('切换相机模式成功')
- }
- }
- async function takeCameraPhoto (sn: string, payloadIndx: string) {
- const { code } = await postPayloadCommands(sn, {
- cmd: PayloadCommandsEnum.CameraPhotoTake,
- data: {
- payload_index: payloadIndx
- }
- })
- if (code === 0) {
- message.success('拍照成功')
- }
- }
- async function startCameraRecording (sn: string, payloadIndx: string) {
- const { code } = await postPayloadCommands(sn, {
- cmd: PayloadCommandsEnum.CameraRecordingStart,
- data: {
- payload_index: payloadIndx
- }
- })
- if (code === 0) {
- message.success('开始录像')
- }
- }
- async function stopCameraRecording (sn: string, payloadIndx: string) {
- const { code } = await postPayloadCommands(sn, {
- cmd: PayloadCommandsEnum.CameraRecordingStop,
- data: {
- payload_index: payloadIndx
- }
- })
- if (code === 0) {
- message.success('结束录像')
- }
- }
- async function changeCameraFocalLength (sn: string, data: PostCameraFocalLengthBody) {
- const { code } = await postPayloadCommands(sn, {
- cmd: PayloadCommandsEnum.CameraFocalLengthSet,
- data: data,
- })
- if (code === 0) {
- message.success('变焦相机切换成功')
- }
- }
- async function cameraAim (sn: string, data: PostCameraAimBody) {
- const { code } = await postPayloadCommands(sn, {
- cmd: PayloadCommandsEnum.CameraAim,
- data: data,
- })
- if (code === 0) {
- message.success('Zoom Aim successfully')
- }
- }
- return {
- checkPayloadAuth,
- authPayload,
- resetGimbal,
- switchCameraMode,
- takeCameraPhoto,
- startCameraRecording,
- stopCameraRecording,
- changeCameraFocalLength,
- cameraAim,
- }
- }
|