acdr/acdr-ui/src/store/user.js

56 lines
962 B
JavaScript
Raw Normal View History

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,
},
)