2024-09-02 07:40:26 +08:00
|
|
|
|
import { defineStore } from 'pinia'
|
|
|
|
|
import { ref, computed } from 'vue'
|
|
|
|
|
|
|
|
|
|
const initState = {
|
|
|
|
|
nickname: '',
|
|
|
|
|
avatar: '',
|
|
|
|
|
id: null,
|
|
|
|
|
name: '',
|
2024-09-19 01:44:07 +08:00
|
|
|
|
mobile: '',
|
|
|
|
|
cardId: '',
|
2024-09-02 07:40:26 +08:00
|
|
|
|
createTime: '',
|
|
|
|
|
updateTime: '',
|
|
|
|
|
token: '',
|
|
|
|
|
sex: '',
|
|
|
|
|
isRealName: false,
|
|
|
|
|
isPetNursery: false,
|
2024-09-19 01:44:07 +08:00
|
|
|
|
expiresTime: '',
|
|
|
|
|
refreshToken: '',
|
2024-09-02 07:40:26 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const useUserStore = defineStore(
|
|
|
|
|
'user',
|
|
|
|
|
() => {
|
|
|
|
|
const userInfo = ref({ ...initState })
|
|
|
|
|
|
|
|
|
|
const setUserInfo = (val) => {
|
|
|
|
|
userInfo.value = {
|
|
|
|
|
...userInfo.value,
|
|
|
|
|
...val,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const clearUserInfo = () => {
|
|
|
|
|
userInfo.value = { ...initState }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 一般没有reset需求,不需要的可以删除
|
|
|
|
|
const reset = () => {
|
|
|
|
|
userInfo.value = { ...initState }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const isLogined = computed(() => userInfo.value.token != '')
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
userInfo,
|
|
|
|
|
setUserInfo,
|
|
|
|
|
clearUserInfo,
|
|
|
|
|
isLogined,
|
|
|
|
|
reset,
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
persist: true,
|
|
|
|
|
},
|
|
|
|
|
)
|