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); } }, }, };