2025-04-16 02:11:26 +01:00

82 lines
2.0 KiB
JavaScript

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: [] })
}
}
}