forked from drone/command-center-dashboard

chenyao
2025-04-21 2a45e8331f65e4fc6dee2fba898bfbeaa01b0f5c
src/store/modules/home.js
@@ -11,38 +11,10 @@
      currentAreaPosition:getStore({ name: 'currentAreaPosition' }) || {},
    singleUavHome: {},
      footActiveIndex: 0,
    singleTotal: {}, // 统计单个机巢数据
    // 项目id
    selectedWorkSpaceId: window.localStorage.getItem('bs_workspace_id'),
    // 事件 日 周 月 年
    eventTimeType: 'day',
    eventTimeParams: 'CURRENT_WEEK',
    eventTimeRang: '',
    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: {
@@ -69,54 +41,6 @@
    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.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] = {}
         }
         state.deviceState.currentSn = info.sn
         state.deviceState.currentType = EDeviceTypeName.Dock
         const dock = state.deviceState.dockInfo[info.sn]
         if (info.host.mode_code !== undefined) {
            dock.basic_osd = info.host
            state.deviceState.drone_charge_state_new = dock.basic_osd.drone_charge_state
            return
         }
         if (info.host.sdr) {
            dock.link_osd = info.host
            return
         }
         if (info.host.job_number !== undefined) {
            dock.work_osd = info.host
         }
      },
    setEventTimeType: (state, [timeType, timeParams]) => {
      state.eventTimeType = timeType
      state.eventTimeParams = timeParams