forked from drone/command-center-dashboard

罗广辉
2025-04-21 2800fa4f32f3900509cb4d6eefaf2bfaf54efdd7
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/*
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2025-03-31 10:39:40
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2025-04-03 12:01:58
 * @FilePath: \command-center-dashboard\src\store\modules\common.js
 * @Description:
 *
 * Copyright (c) 2025 by shuishen, All Rights Reserved.
 */
import { setStore, getStore, removeStore } from 'utils/store'
import website from '@/config/website'
import cesiumOptions from '@/utils/cesium-tsa'
 
const { loadLAYER } = cesiumOptions()
const common = {
  state: {
    language: getStore({ name: 'language' }) || 'zh-cn',
    isCollapse: false,
    isFullScren: false,
    isMenu: true,
    isSearch: false,
    isRefresh: true,
    mqttState: null, // mqtt 实例
    clientId: null, // 客户端ID实例
    isLock: getStore({ name: 'isLock' }),
    colorName: getStore({ name: 'colorName' }) || '#2C77F1',
    themeName: getStore({ name: 'themeName' }) || 'theme-go',
    lockPasswd: getStore({ name: 'lockPasswd' }) || '',
    website: website,
    setting: website.setting,
    // 地图设置
    mapSetting: {
      mode: 0, // 0为标准地图, 1为卫星地图
      roadLine: true,
      visual: '3D',
      isDark: false,
    },
    isHideBottomIcon: true,
  },
  mutations: {
    setHideBottomIcon (state, data) {
      state.isHideBottomIcon = data
    },
    setMapSetting: (state, data) => {
      state.mapSetting = data
      loadLAYER()
    },
    SET_MQTT_STATE (state, mqttState) {
      state.mqttState = mqttState
    },
    SET_CLIENT_ID (state, id) {
      state.clientId = id
    },
    SET_LANGUAGE: (state, language) => {
      state.language = language
      setStore({
        name: 'language',
        content: state.language,
      })
    },
    SET_COLLAPSE: state => {
      state.isCollapse = !state.isCollapse
    },
    SET_IS_MENU: (state, menu) => {
      state.isMenu = menu
    },
    SET_IS_REFRESH: (state, refresh) => {
      state.isRefresh = refresh
    },
    SET_IS_SEARCH: (state, search) => {
      state.isSearch = search
    },
    SET_FULLSCREN: state => {
      state.isFullScren = !state.isFullScren
    },
    SET_LOCK: state => {
      state.isLock = true
      setStore({
        name: 'isLock',
        content: state.isLock,
        type: 'session',
      })
    },
    SET_COLOR_NAME: (state, colorName) => {
      state.colorName = colorName
      setStore({
        name: 'colorName',
        content: state.colorName,
      })
    },
    SET_THEME_NAME: (state, themeName) => {
      state.themeName = themeName
      setStore({
        name: 'themeName',
        content: state.themeName,
      })
    },
    SET_LOCK_PASSWD: (state, lockPasswd) => {
      state.lockPasswd = lockPasswd
      setStore({
        name: 'lockPasswd',
        content: state.lockPasswd,
        type: 'session',
      })
    },
    CLEAR_LOCK: state => {
      state.isLock = false
      state.lockPasswd = ''
      removeStore({
        name: 'lockPasswd',
        type: 'session',
      })
      removeStore({
        name: 'isLock',
        type: 'session',
      })
    },
  },
}
export default common