import { defineStore } from 'pinia' import { ref, computed } from 'vue' const initState = { nickname: '', avatar: '' } export const useUserStore = defineStore( 'user', () => { const userInfo = ref({ ...initState }) const setUserInfo = (val: IUserInfo) => { userInfo.value = val } const clearUserInfo = () => { userInfo.value = { ...initState } } // 一般没有reset需求,不需要的可以删除 const reset = () => { userInfo.value = { ...initState } } const isLogined = computed(() => !!userInfo.value.token) const isDesigner = computed( () => userInfo.value.userStatusEnabled && userInfo.value.userAuthStatus === 0, ) return { userInfo, setUserInfo, clearUserInfo, isLogined, isDesigner, reset, } }, { persist: true, }, )