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
| import { goToPage } from "@/utils";
| import Vue from 'vue';
| import Vuex from 'vuex';
| import Api from '../apis/api';
| import Constant from '../utils/constant';
|
| Vue.use(Vuex)
|
| export default new Vuex.Store({
| state: {
| token: '',
| userInfo: {}, // 添加用户信息存储
| pubConfig: { // 添加公共配置存储
| version: '',
| beianIcpNum: 'null',
| beianGaNum: 'null',
| allowUserRegister: false,
| sm2PublicKey: ''
| }
| },
| getters: {
| getToken(state) {
| if (!state.token) {
| state.token = localStorage.getItem('token')
| }
| return state.token
| },
| getUserInfo(state) {
| return state.userInfo
| },
| getPubConfig(state) {
| return state.pubConfig
| }
| },
| mutations: {
| setToken(state, token) {
| state.token = token
| localStorage.setItem('token', token)
| },
| setUserInfo(state, userInfo) {
| state.userInfo = userInfo
| localStorage.setItem('userInfo', JSON.stringify(userInfo))
| },
| setPubConfig(state, config) {
| state.pubConfig = config
| localStorage.setItem('pubConfig', JSON.stringify(config))
| },
| clearAuth(state) {
| state.token = ''
| state.userInfo = {}
| localStorage.removeItem('token')
| localStorage.removeItem('userInfo')
| }
| },
| actions: {
| // 添加 logout action
| logout({ commit }) {
| return new Promise((resolve) => {
| commit('clearAuth')
| goToPage(Constant.PAGE.LOGIN, true);
| })
| },
| // 添加获取公共配置的 action
| fetchPubConfig({ commit }) {
| return new Promise((resolve) => {
| Api.user.getPubConfig(({ data }) => {
| if (data.code === 0) {
| commit('setPubConfig', data.data);
| }
| resolve();
| });
| });
| }
| },
| modules: {
| }
| })
|
|