import Vue from "vue"; import { userregOrLogin } from '../../ajax/getData.js'; export default { state: { des: '这个存储用户数据的模块列表', userInfo: null, //用户信息 loginState: false, //登录状态 }, /* 存储修改状态的静态方法 */ mutations: { /* 设置用户信息 */ SET_USER_INFO(state, userInfo) { state.userInfo = userInfo; } }, /* 存储修改数据的动态方法 */ actions: { /** * 设置会员信息 * @param {Object} context 上下文 * @param {Object} { data : 后台返回的用户数据 app : vue实例this } */ setUserInfo(context, { data, app }) { const userKey = context.rootState.userKey; const tokenKey = context.rootState.tokenKey; const userInfo = data.data; const { mobile } = userInfo; /* 存储数据 变更登录状态 */ app.$cookies.set(userKey, mobile); app.$cookies.set(tokenKey, data.xaccessToken); localStorage.setItem(tokenKey,data.xaccessToken); context.commit('SET_USER_INFO', userInfo); context.commit('SET_LOGIN_STATE', true, { root: true }); context.commit('SET_INDEX_USER_INFO', data, { root: true }); }, /* 获取用户数据 */ async getUserInfo(context,app){ let key = context.rootState.userKey; let mobile = app.$cookies.get(key); const data = await userregOrLogin(app.$cookies.get(key)); context.dispatch('setUserInfo',{ data, app, }) } } }