enc-framework
Version:
enc-framework 核心组件.
75 lines (68 loc) • 1.9 kB
JavaScript
// 引入对象持有者
import SessionContextHodler from '../utils/ajm-session'
// 用户
const user = {
namespaced: true,
// 状态信息
state: {
// 用户信息
userInfo: null,
tokenInfo: SessionContextHodler.getContext().getTokenInfo(),
userIp:null,
tokenInfo_user:SessionContextHodler.getContext().getTokenUser(),
},
// 操作方法
mutations: {
// 设置用户信息
saveUserInfo: (state, userInfo) => {
state.userInfo = userInfo;
},
// 保存token信息
saveTokenInfo:(state,tokenInfo) => {
state.tokenInfo = tokenInfo;
// let {user,...cookieInfo}=tokenInfo //此方法存在兼容性问题
state.tokenInfo_user = tokenInfo.user;
let cookieInfo= Object.assign({}, tokenInfo)
delete cookieInfo.user
SessionContextHodler.getContext().setTokenInfo(cookieInfo);
SessionContextHodler.getContext().setTokenUser(tokenInfo.user);
},
// 清理用户信息
clearUserInfo: (state) => {
state.userInfo = null;
},
// 清理token信息
clearTokenInfo: (state,cookiepath) => {
state.tokenInfo = null;
SessionContextHodler.getContext().clearTokenInfo(cookiepath);
},
//用户登录IP
saveUserIp(state,ipInfo){
state.userIp = ipInfo;
},
},
//任意异步操作
actions: {
clearUser({commit},cookiepath){
commit('clearUserInfo', {});
commit('clearTokenInfo', cookiepath);
},
// 设置用户信息
saveUserInfo({commit},userInfo){
commit('saveUserInfo', userInfo)
},
//用户登录IP
saveUserIp({commit},ipInfo){
commit('saveUserIp', ipInfo)
},
// 加载路由集合
loadUser({commit}) {
//拉取权限
return userApi.loadUser().then(resp => {
//提交用户信息
commit('saveUserInfo', resp.data)
});
}
}
}
export default user