pms/QMPlusVuePage/src/store/module/user.js

63 lines
1.8 KiB
JavaScript
Raw Normal View History

2019-09-13 16:58:36 +08:00
import { login } from '@/api/user'
2019-09-14 22:30:04 +08:00
import router from '@/router/index'
2019-09-11 23:12:09 +08:00
export const user = {
2019-09-09 23:02:24 +08:00
namespaced: true,
2019-09-11 23:12:09 +08:00
state: {
userInfo: {
uuid: "",
2019-09-13 16:58:36 +08:00
nickName: "",
headerImg: "",
authority: "",
2019-09-11 23:12:09 +08:00
},
2019-09-14 22:30:04 +08:00
token: "",
expiresAt: ""
2019-09-11 23:12:09 +08:00
},
2019-09-09 23:02:24 +08:00
mutations: {
2019-09-11 23:12:09 +08:00
setUserInfo(state, userInfo) {
// 这里的 `state` 对象是模块的局部状态
state.userInfo = userInfo
},
setToken(state, token) {
2019-09-09 23:02:24 +08:00
// 这里的 `state` 对象是模块的局部状态
2019-09-11 23:12:09 +08:00
state.token = token
2019-09-14 22:30:04 +08:00
},
setExpiresAt(state, expiresAt) {
// 这里的 `state` 对象是模块的局部状态
state.expiresAt = expiresAt
},
LoginOut(state) {
state.userInfo = {}
state.token = ""
state.expiresAt = ""
router.push({ name: 'login', replace: true })
2019-09-09 23:02:24 +08:00
}
2019-09-09 23:02:24 +08:00
},
actions: {
2019-09-14 22:30:04 +08:00
async LoginIn({ commit }, loginInfo) {
2019-10-10 23:33:35 +08:00
const res = await login(loginInfo)
commit('setUserInfo', res.data.user)
commit('setToken', res.data.token)
commit('setExpiresAt', res.data.expiresAt)
if (res.success) {
const redirect = router.history.current.query.redirect
if (redirect) {
router.push({ path: redirect, replace: true })
} else {
router.push({ path: '/layout/dashbord', replace: true })
2019-09-14 22:30:04 +08:00
}
}
2019-09-13 16:58:36 +08:00
}
2019-09-09 23:02:24 +08:00
},
getters: {
2019-09-13 16:58:36 +08:00
userInfo(state) {
return state.userInfo
2019-09-14 22:30:04 +08:00
},
token(state) {
return state.token
},
expiresAt(state) {
return state.expiresAt
2019-09-09 23:02:24 +08:00
}
}
}