staff/stores/userInfo.ts

36 lines
832 B
TypeScript

import { defineStore } from 'pinia'
/**
* 用户信息
* @methods setUserInfos 设置用户信息
*/
export const useUserInfo = defineStore('userInfo', {
state: (): UserInfosStates => ({
userInfos: uni.getStorageSync('userInfo'),
token: uni.getStorageSync('token'),
}),
actions: {
async getUserInfo() {
const res = await userInfoApi({})
const data = res.data
this.setUserInfos(data)
return data
},
setUserInfos(userInfos) {
// 存储用户信息到浏览器缓存
uni.setStorageSync('userInfo', userInfos)
this.userInfos = userInfos
},
setToken(token: string) {
// 存储用户信息到浏览器缓存
uni.setStorageSync('token', token)
// 更新 store 状态
this.token = token
},
logout() {
uni.clearStorageSync()
this.userInfos = '';
this.token = '';
},
},
})