guoshilong
2023-11-13 54849757852f6ab40eb17afbd03d1d839b60a38d
src/components/g-map/use-drone-control-ws-event.ts
@@ -1,12 +1,20 @@
import { message, notification } from 'ant-design-vue'
import { ref, onMounted, onBeforeUnmount } from 'vue'
import { onBeforeUnmount, onMounted, ref } from 'vue'
import EventBus from '/@/event-bus/'
import { EBizCode } from '/@/types'
import { EBizCode, EBizCodeMessage } from '/@/types'
import { ControlSource } from '/@/types/device'
import { ControlSourceChangeType, ControlSourceChangeInfo, FlyToPointMessage, TakeoffToPointMessage, DrcModeExitNotifyMessage, DrcStatusNotifyMessage } from '/@/types/drone-control'
import {
  ControlSourceChangeInfo,
  ControlSourceChangeType,
  DrcModeExitNotifyMessage,
  DrcStatusNotifyMessage,
  FlyToPointMessage,
  TakeoffToPointMessage
} from '/@/types/drone-control'
import { useMyStore } from '/@/store'
export interface UseDroneControlWsEventParams {
}
const store = useMyStore()
export function useDroneControlWsEvent (sn: string, payloadSn: string, funcs?: UseDroneControlWsEventParams) {
  const droneControlSource = ref(ControlSource.A)
@@ -14,6 +22,7 @@
  function onControlSourceChange (data: ControlSourceChangeInfo) {
    if (data.type === ControlSourceChangeType.Flight && data.sn === sn) {
      droneControlSource.value = data.control_source
      store.commit('SET_DRONE_CONTROL_SOURCE', droneControlSource.value)
      message.info(`飞行控制改为 ${droneControlSource.value}`)
      return
    }
@@ -54,24 +63,24 @@
      case EBizCode.FlyToPointProgress: {
        const { sn: deviceSn, result, message: msg } = payload.data as FlyToPointMessage
        if (deviceSn !== sn) return
        handleProgress(EBizCode.FlyToPointProgress, `设备(编码: ${deviceSn}) ${msg}`, result)
        handleProgress(EBizCodeMessage[EBizCode.FlyToPointProgress], `设备(编码: ${deviceSn}) ${msg}`, result)
        break
      }
      case EBizCode.TakeoffToPointProgress: {
        const { sn: deviceSn, result, message: msg } = payload.data as TakeoffToPointMessage
        if (deviceSn !== sn) return
        handleProgress(EBizCode.TakeoffToPointProgress, `设备(编码: ${deviceSn}) ${msg}`, result)
        handleProgress(EBizCodeMessage[EBizCode.TakeoffToPointProgress], `设备(编码: ${deviceSn}) ${msg}`, result)
        break
      }
      case EBizCode.JoystickInvalidNotify: {
        const { sn: deviceSn, result, message: msg } = payload.data as DrcModeExitNotifyMessage
        if (deviceSn !== sn) return
        handleProgress(EBizCode.JoystickInvalidNotify, `设备(编码: ${deviceSn}) ${msg}`, result)
        handleProgress(EBizCodeMessage[EBizCode.JoystickInvalidNotify], `设备(编码: ${deviceSn}) ${msg}`, result)
        break
      }
      case EBizCode.DrcStatusNotify: {
        const { sn: deviceSn, result, message: msg } = payload.data as DrcStatusNotifyMessage
        // handleProgress(EBizCode.DrcStatusNotify, `device(sn: ${deviceSn}) ${msg}`, result)
        // handleProgress(EBizCodeMessage[EBizCode.DrcStatusNotify], `device(sn: ${deviceSn}) ${msg}`, result)
        break
      }