You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.1 KiB
46 lines
1.1 KiB
9 months ago
|
import { defineStore } from 'pinia'
|
||
|
import { loginApi,getUserInfoApi ,logOut} from '@/api/user'
|
||
|
import { ElNotification } from 'element-plus'
|
||
|
import { setToken, getToken ,removeToken} from '@/utils/token'
|
||
|
|
||
|
const userStore = defineStore('defineStore', {
|
||
|
state: (): any => ({
|
||
|
token: getToken() || '',
|
||
|
userInfo: {},
|
||
|
}),
|
||
|
actions: {
|
||
|
async login(parmas: any) {
|
||
|
const res: any = await loginApi(parmas)
|
||
|
|
||
|
if (res.code === 412) {
|
||
|
return 0
|
||
|
} else if (res.code === 500) {
|
||
|
return 1
|
||
|
} else {
|
||
|
console.log(res.result.userInfo)
|
||
|
this.token = res.result.token
|
||
|
setToken(this.token)
|
||
|
this.userInfo = res.result.userInfo
|
||
|
ElNotification({
|
||
|
title: '登录成功',
|
||
|
message: '欢迎回来' + this.userInfo.username,
|
||
|
type: 'success',
|
||
|
})
|
||
|
}
|
||
|
},
|
||
|
async getUserInfo(){
|
||
|
const res:any = await getUserInfoApi()
|
||
|
this.userInfo = res.result.userInfo
|
||
|
console.log(res);
|
||
|
|
||
|
},
|
||
|
async layOut(){
|
||
|
await logOut()
|
||
|
removeToken()
|
||
|
this.token = ''
|
||
|
this.userInfo = {}
|
||
|
}
|
||
|
},
|
||
|
})
|
||
|
export default userStore
|