2025-07-22 11:21:01 +08:00
|
|
|
import { defineStore } from 'pinia'
|
|
|
|
|
import { getToken, setToken,clearToken } from '../utils/auth'
|
2025-08-12 16:19:19 +08:00
|
|
|
import { getUserInfo,logout } from '../api/auth'
|
2025-07-22 11:21:01 +08:00
|
|
|
|
|
|
|
|
export const useUserStore = new defineStore({
|
|
|
|
|
id: 'userStore',
|
|
|
|
|
state: () => {
|
|
|
|
|
return {
|
|
|
|
|
userInfo: {},
|
|
|
|
|
token: getToken() || null,
|
|
|
|
|
temToken: null
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
getters: {
|
|
|
|
|
isLogin: (state) => state.token && state.userInfo
|
|
|
|
|
},
|
|
|
|
|
actions: {
|
|
|
|
|
// 获取用户信息
|
|
|
|
|
async getUser() {
|
|
|
|
|
console.log("store=>getUser")
|
|
|
|
|
const data = await getUserInfo()
|
|
|
|
|
console.log(data,'xxx ')
|
|
|
|
|
this.userInfo = data
|
|
|
|
|
},
|
|
|
|
|
// 登录
|
|
|
|
|
login(userinfo) {
|
2025-08-12 16:19:19 +08:00
|
|
|
let token = userinfo.access_token;
|
|
|
|
|
this.token = token
|
|
|
|
|
setToken(token)
|
|
|
|
|
userinfo.token = token;
|
2025-07-22 11:21:01 +08:00
|
|
|
this.userInfo = userinfo
|
|
|
|
|
},
|
|
|
|
|
// 退出
|
2025-08-12 16:19:19 +08:00
|
|
|
async logout() {
|
|
|
|
|
await logout();
|
2025-07-22 11:21:01 +08:00
|
|
|
this.token = ''
|
|
|
|
|
this.userInfo = {}
|
|
|
|
|
clearToken();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|