forked from drone/command-center-dashboard

罗广辉
2025-04-02 a95ffdbb3dc224b0abb3b0beca3ba4cd7a5a6603
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import { set } from 'lodash'
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
 
            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
            }
        },
    },
    getters: {
        test(state) {
            return state.singleUavHome.id.toString() + '65'
        },
    },
}
 
export default home