AI-accounting-soft-uniApp/store/user.js
2025-12-12 16:49:06 +08:00

48 lines
884 B
JavaScript

import { defineStore } from 'pinia'
export const useUserStore = defineStore('user', {
state: () => ({
token: uni.getStorageSync('token') || '',
userInfo: uni.getStorageSync('userInfo') || null
}),
getters: {
isLoggedIn: (state) => !!state.token,
username: (state) => state.userInfo?.username || '',
nickname: (state) => state.userInfo?.nickname || ''
},
actions: {
setToken(token) {
this.token = token
uni.setStorageSync('token', token)
},
setUserInfo(userInfo) {
this.userInfo = userInfo
uni.setStorageSync('userInfo', userInfo)
},
login(token, userInfo) {
this.setToken(token)
this.setUserInfo(userInfo)
},
logout() {
this.token = ''
this.userInfo = null
uni.removeStorageSync('token')
uni.removeStorageSync('userInfo')
}
}
})