import { setToken, removeToken } from '@/utils/auth.js' import { setItemSync,getItemSync } from '@/utils/storage.js' export default { state: { token: getItemSync('token'), nickName: getItemSync('nickName'), userName: getItemSync('userName'), permissions: getItemSync('permissions'), phoneNum:getItemSync('phoneNum') }, getters:{}, mutations: { setToken(state, payload) { state.token = payload.token }, setNickName(state, payload) { state.nickName = payload.nickName }, setUserName(state, payload) { state.userName = payload.userName }, setPermissions(state, payload) { state.permissions = payload.permissions }, setPhoneNum(state, payload) { state.phoneNum = payload.phonenumber } }, actions: { /** * 获取用户信息 */ async getUserInfo({ commit }) { const { user, permissions } = await uni.$u.http.get('/getInfo') const { nickName, userName ,phonenumber } = user commit('setNickName', { nickName }) commit('setUserName', { userName }) commit('setPermissions', { permissions }) commit('setPhoneNum', { phonenumber }) setItemSync('nickName',nickName) setItemSync('userName',userName) setItemSync('permissions',permissions) setItemSync('phoneNum',phonenumber) }, /** * 用户名-密码登录 */ async loginByUsername({ commit }, payload) { const { token } = await uni.$u.http.post('/login', payload.user) commit('setToken', { token }) setToken(token) }, /** * 用户 token 失效处理 */ async userFadeOut({ commit }) { await removeToken() commit('setToken', { token: '' }) }, /** * 用户退出处理 */ async logout({ commit }) { //await uni.$u.http.post('/logout', payload.user) await removeToken() commit('setToken', { token: '' }) commit('setNickName', { nickName: '' }) commit('setUserName', { userName: '' }) commit('setPhoneNum', { phoneNum: '' }) commit('setPermissions', { permissions: [] }) } } }