zhaoxing
2022-08-22 74bb50ce93d0c9cd20a0b84f63db46f433a39e91
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
import store from "store";
import { deepMerge, getBrowser } from "/@/cool/utils";
import { app } from "/@/config/env";
import { useEps } from "/@/cool";
 
const browser = getBrowser();
 
const state = {
    info: {
        ...app
    },
    browser,
    collapse: browser.isMini ? true : false,
    loading: false
};
 
const getters = {
    // 程序加载
    appLoading: (state: any) => state.loading,
    // 应用配置
    app: (state: any) => state.info,
    // 浏览器信息
    browser: (state: any) => state.browser,
    // 左侧菜单是否收起
    menuCollapse: (state: any) => state.collapse
};
 
const actions = {
    async appLoad({ getters, dispatch, commit }: any) {
        if (getters.token) {
            commit("SHOW_LOADING");
 
            // 读取Eps
            await useEps();
 
            // 读取菜单权限
            await dispatch("permMenu");
 
            // 获取用户信息
            dispatch("userInfo");
 
            commit("HIDE_LOADING");
        }
    }
};
 
const mutations = {
    SHOW_LOADING(state: any) {
        state.loading = true;
    },
 
    HIDE_LOADING(state: any) {
        state.loading = false;
    },
 
    // 设置浏览器信息
    SET_BROWSER(state: any) {
        state.browser = getBrowser();
    },
 
    // 收起左侧菜单
    COLLAPSE_MENU(state: any, val = false) {
        state.collapse = val;
    },
 
    // 更新应用配置
    UPDATE_APP(state: any, val: any) {
        deepMerge(state.info, val);
        store.set("__app__", state.info);
    }
};
 
export default {
    state,
    getters,
    actions,
    mutations
};