h5
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
2.3 KiB

import { createStore } from 'vuex';
import deliver from './deliver/index.js';
import finance from './finance/index.js';
import project from './project/index.js';
import role from './role/index.js';
import socket from './socket/index.js';
import task from './task/index.js';
import user from './user/index.js';
import Config from '@/common/js/config.js';
// 不属于具体模块的 应用级的 store内容
const state = {
theme: 'theme-default',
networkConnected: true, // 网络是否连接
forceUseStorage: true, // 强制启用storage
systemInfo: null, // 系统设备信息
count: 3, // 后台出错,多次返回错误的token信息导致的死循环,用count来阻止死循环
domain: `${Config.apiUrl}/defaultwbs`, // 项目跳转域名
guide: '', // 引导页图片json
advs: '', // 广告图片json
};
const getters = {
// 是否启用本地存储
// 设置了强制启用本地存储 或者 没有网络连接的时候
useStorage({ networkConnected, forceUseStorage }) {
return forceUseStorage || !networkConnected;
},
};
const mutations = {
/**
* 设置网络是否连接的变量
* @param {*} state
* @param {boolean} networkConnected
*/
setNetworkConnected(state, networkConnected) {
state.networkConnected = networkConnected;
},
/**
* 设置系统信息的数据
* @param {object} state
* @param {object | null} data 获取到的数据
*/
setSystemInfo(state, data) {
state.systemInfo = data;
},
/**
* 设置主题
* @param {object} state
* @param {string} theme 主题名称 默认theme-default
*/
setTheme(state, theme) {
state.theme = theme || 'theme-default';
},
/**
* 设置count
* 后台出错多次返回错误的token信息导致的死循环用count来阻止死循环
* @param {Object} state
* @param {Object} data
*/
setCount(state, data) {
state.count = data;
},
/**
* 设置域名
* @param {Object} state
* @param {Object} data
*/
setDomain(state, data) {
state.domain = data;
},
setGuide(state, data) {
state.guide = data;
},
setAdvs(state, data) {
state.advs = data;
},
};
export default createStore({
state,
getters,
mutations,
modules: { user, socket, project, role, task, deliver, finance },
4 years ago
});