forked from drone/command-center-dashboard

罗广辉
2025-04-03 dfe5ba4f8b390ebeff0f51ce3f80cd02dc27fd9a
src/store/modules/common.js
@@ -1,93 +1,103 @@
/*
 * @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'
const common = {
   state: {
      language: getStore({ name: 'language' }) || 'zh-cn',
      isCollapse: false,
      isFullScren: false,
      isMenu: true,
      isSearch: false,
      isRefresh: true,
      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: 3, // 0为标准地图, 1为卫星地图
         roadLine: true,
         visual: '3D',
         isDark: false,
      },
   },
   mutations: {
      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',
         })
      },
   },
  state: {
    language: getStore({ name: 'language' }) || 'zh-cn',
    isCollapse: false,
    isFullScren: false,
    isMenu: true,
    isSearch: false,
    isRefresh: true,
    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,
    },
  },
  mutations: {
    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