40 lines
985 B
JavaScript
40 lines
985 B
JavaScript
|
|
import { defineStore } from 'pinia'
|
||
|
|
import { getToken, setToken,clearToken } from '../utils/auth'
|
||
|
|
import { getUserInfo } from '../api/auth'
|
||
|
|
|
||
|
|
|
||
|
|
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) {
|
||
|
|
this.token = userinfo.token
|
||
|
|
setToken(userinfo.token)
|
||
|
|
this.userInfo = userinfo
|
||
|
|
},
|
||
|
|
// 退出
|
||
|
|
logout() {
|
||
|
|
this.token = ''
|
||
|
|
this.userInfo = {}
|
||
|
|
clearToken();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
})
|