mirror of https://gitee.com/pnoker/dc3-web.git
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.
47 lines
1.4 KiB
47 lines
1.4 KiB
import {getStore, setStore} from '@/util/store'
|
|
import {setToken} from '@/util/auth'
|
|
import {checkTokenValid, generateToken} from '@/api/user'
|
|
|
|
const user = {
|
|
state: {
|
|
userInfo: getStore({name: 'userInfo'}) || [],
|
|
token: getStore({name: 'token'}) || '',
|
|
},
|
|
actions: {
|
|
GenerateToken({commit}, user) {
|
|
return new Promise((resolve, reject) => {
|
|
generateToken(user).then(res => {
|
|
const data = res.data;
|
|
commit('SET_USER', user);
|
|
commit('SET_TOKEN', data);
|
|
resolve();
|
|
}).catch(error => {
|
|
reject(error);
|
|
})
|
|
})
|
|
},
|
|
CheckTokenValid(body) {
|
|
return new Promise((resolve, reject) => {
|
|
checkTokenValid(body).then(() => {
|
|
resolve();
|
|
}).catch(error => {
|
|
reject(error)
|
|
})
|
|
})
|
|
}
|
|
},
|
|
mutations: {
|
|
SET_TOKEN: (state, token) => {
|
|
setToken(token);
|
|
state.token = token;
|
|
setStore({name: 'token', content: state.token, type: 'session'})
|
|
},
|
|
SET_USER: (state, userInfo) => {
|
|
state.userInfo = userInfo;
|
|
setStore({name: 'userInfo', content: state.userInfo})
|
|
}
|
|
}
|
|
};
|
|
|
|
export default user
|