import { EDeviceTypeName } from '@/utils/staticData/enums' import { getStore, setStore } from '@/utils/store' const home = { state: { machineNestDetail: false, // 机巢长列表 isEventOverviewDetail: false,//是事件概述详情 // 用户行政区划中心点 userAreaPosition: getStore({ name: 'userAreaPosition' }) || {}, // 用户切换后行政区划中心点 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: { setUserAreaPosition: (state, data) => { setStore({ name: 'userAreaPosition', content: data }) state.userAreaPosition = data; }, setCurrentAreaPosition: (state, data) => { setStore({ name: 'currentAreaPosition', content: data }) state.currentAreaPosition = data; }, setFootActiveIndex: (state, index) => { state.footActiveIndex = index; state.isEventOverviewDetail = false state.singleUavHome = {} state.machineNestDetail = false }, setIsEventOverviewDetail: (state, data) => { state.isEventOverviewDetail = data; }, setMachineNestDetail: (state, data) => { state.machineNestDetail = data; }, 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 }, setEventTimeRang : (state, time) => { state.eventTimeRang = time }, }, getters: { test(state) { return state.singleUavHome.id.toString() + '65' }, }, } export default home