index.js
2.24 KB
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
import Vue from 'vue'
import Vuex from 'vuex'
import app from './modules/app'
import permission from './modules/permisssion'
import { login, logout } from '@/api/user'
import { getToken, setToken, removeToken } from '@/utils/auth'
import { NAME, USER_TYPE, USER_ID, USER_PASS } from '@/utils/mappingData'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
token: getToken(),
name: sessionStorage.getItem(NAME),
roles: JSON.parse(sessionStorage.getItem(USER_TYPE)) || '',
userId: sessionStorage.getItem(USER_ID),
resetRouterTemp: '',
userpass: JSON.parse(sessionStorage.getItem(USER_PASS)) || ''
},
mutations: {
SET_TOKEN: (state, token) => {
state.token = token
setToken(token)
},
SET_NAME: (state, name) => {
sessionStorage.setItem(NAME, name)
state.name = name
},
SET_USER_ID: (state, userId) => {
sessionStorage.setItem(USER_ID, userId)
state.userId = userId
},
SET_ROLES: (state, userType) => {
state.roles = userType
sessionStorage.setItem(USER_TYPE, JSON.stringify(userType))
},
SET_ROUTER_TEMP(state, payload) {
state.resetRouterTemp = payload
},
SET_USERPASS(state, payload) {
state.userpass = payload
sessionStorage.setItem(USER_PASS, payload)
}
},
actions: {
async login({ dispatch, commit }, userinfo) {
try {
const { username, password } = userinfo
const res = await login({
username: username.trim(),
password: password
})
if (res.code === 0) {
commit('SET_ROLES', res.result.roleCode)
commit('SET_NAME', res.result.name)
commit('SET_USER_ID', res.result.username)
commit('SET_TOKEN', res.result.token)
}
return res
} catch (error) {
console.log(error)
}
},
// remove token
resetToken({ commit }) {
return new Promise(resolve => {
removeToken()
sessionStorage.clear()
resolve()
})
},
async logout({ dispatch, commit }) {
try {
const res = await logout()
dispatch('resetToken')
return res
} catch (error) {
console.log(error)
}
}
},
modules: {
app,
permission
}
})