forked from drone/command-center-dashboard

罗广辉
2025-04-03 c45531e760a5f4cc69dd2314a4f5bbcdc881d30a
src/store/modules/home.js
@@ -2,67 +2,70 @@
import { EDeviceTypeName } from '@/utils/staticData/enums'
const home = {
   state: {
      singleUavHome: {},
      // 项目id
      selectedWorkSpaceId: window.localStorage.getItem('bs_workspace_id'),
      wsMessage: {},
      deviceState: {
         gatewayInfo: {},
         deviceInfo: {},
         timestamp: '',
         dockInfo: {},
         currentSn: '',
         currentType: -1,
         drone_charge_state_new: {},
         psdk_widget_values: {},
         speakerAudioPlayStartProgress: {},
      },
      osdVisible: {
         // osd 显示设备相关信息
         sn: '',
         callsign: '',
         model: '',
         visible: false,
         gateway_sn: '',
         is_dock: false,
         payloads: null,
         device_domain: '',
         device_sub_type: '',
         device_type: '',
      },
   },
   actions: {},
   mutations: {
      setSingleUavHome: (state, data) => {
         state.singleUavHome = data
      },
      setSelectedWorkSpaceId: (state, id) => {
         state.selectedWorkSpaceId = id
         window.localStorage.setItem('bs_workspace_id', id)
      },
      setOsdVisibleInfo: (state, info) => {
         console.log(info, '哒哒哒')
         state.osdVisible = Object.assign({}, info)
         window.localStorage.setItem('bs_osd', JSON.stringify(info))
      },
      setWsMessage: (state, data) => {
         state.wsMessage = data.host
      },
      setDeviceInfo: (state, data) => {
         const info = data.data
         state.deviceState.timestamp = data.timestamp
         state.deviceState.deviceInfo[info.sn] = info.host
         state.deviceState.currentSn = info.sn
         state.deviceState.currentType = EDeviceTypeName.Aircraft
      },
      setGatewayInfo: (state, info) => {
         state.deviceState.gatewayInfo[info.sn] = info.host
         state.deviceState.currentSn = info.sn
         state.deviceState.currentType = EDeviceTypeName.Gateway
      },
      setDockOnfo: (state, info) => {
         if (Object.keys(info.host).length === 0) return
  state: {
    singleUavHome: {},
    singleTotal: {}, // 统计单个机巢数据
    // 项目id
    selectedWorkSpaceId: window.localStorage.getItem('bs_workspace_id'),
    wsMessage: {},
    deviceState: {
      gatewayInfo: {},
      deviceInfo: {},
      timestamp: '',
      dockInfo: {},
      currentSn: '',
      currentType: -1,
      drone_charge_state_new: {},
      psdk_widget_values: {},
      speakerAudioPlayStartProgress: {},
    },
    osdVisible: {
      // osd 显示设备相关信息
      sn: '',
      callsign: '',
      model: '',
      visible: false,
      gateway_sn: '',
      is_dock: false,
      payloads: null,
      device_domain: '',
      device_sub_type: '',
      device_type: '',
    },
  },
  actions: {},
  mutations: {
    setSingleUavHome: (state, data) => {
      state.singleUavHome = data;
    },
    setSingleTotal: (state, data) => {
      state.singleTotal = data;
    },
    setSelectedWorkSpaceId: (state, id) => {
      state.selectedWorkSpaceId = id
      window.localStorage.setItem('bs_workspace_id', id)
    },
    setOsdVisibleInfo: (state, info) => {
      state.osdVisible = Object.assign({}, info)
      window.localStorage.setItem('bs_osd', JSON.stringify(info))
    },
    setWsMessage: (state, data) => {
      state.wsMessage = data.host;
    },
    setDeviceInfo: (state, data) => {
      const info = data.data
      state.deviceState.timestamp = data.timestamp
      state.deviceState.deviceInfo[info.sn] = info.host
      state.deviceState.currentSn = info.sn
      state.deviceState.currentType = EDeviceTypeName.Aircraft
    },
    setGatewayInfo: (state, info) => {
      state.deviceState.gatewayInfo[info.sn] = info.host
      state.deviceState.currentSn = info.sn
      state.deviceState.currentType = EDeviceTypeName.Gateway
    },
    setDockOnfo: (state, info) => {
      if (Object.keys(info.host).length === 0) return
         if (!state.deviceState.dockInfo[info.sn]) {
            state.deviceState.dockInfo[info.sn] = {}