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.
61 lines
1.3 KiB
61 lines
1.3 KiB
import { getToken } from 'apis/index';
|
|
|
|
export default {
|
|
namespaced: true,
|
|
|
|
state: { user: null },
|
|
|
|
getters: {
|
|
token({ user }) {
|
|
if (!user) return null;
|
|
return user.token;
|
|
},
|
|
userId({ user }) {
|
|
if (!user) return null;
|
|
return user.id;
|
|
},
|
|
account({ user }) {
|
|
if (!user) return null;
|
|
return user.account;
|
|
},
|
|
isAdmin({ user }) {
|
|
if (!user) return false;
|
|
return user.account === 'iacdadmin';
|
|
},
|
|
},
|
|
|
|
mutations: {
|
|
/**
|
|
* 设置state.user
|
|
* @param {*} state
|
|
* @param {object|null} user 用户信息
|
|
*/
|
|
setUser(state, user) {
|
|
state.user = user;
|
|
if (user) {
|
|
sessionStorage.setItem('token', user.token);
|
|
sessionStorage.setItem('user', JSON.stringify(user));
|
|
} else {
|
|
sessionStorage.removeItem('token');
|
|
sessionStorage.removeItem('user');
|
|
}
|
|
},
|
|
},
|
|
|
|
actions: {
|
|
/**
|
|
* 根据userId获取token级user信息
|
|
* @param {*} param0
|
|
* @param {string} userId 用户id
|
|
*/
|
|
async getTokenByUserId({ commit }, userId) {
|
|
try {
|
|
const data = await getToken(userId);
|
|
commit('setUser', data || null);
|
|
return data;
|
|
} catch (error) {
|
|
throw new Error(error);
|
|
}
|
|
},
|
|
},
|
|
};
|
|
|