| | |
| | | import { defineStore } from 'pinia' |
| | | import { ref } from 'vue' |
| | | import type { UserInfoResp, UserInfo } from '@/service/login.d' |
| | | |
| | | const initState = { nickname: '', avatar: '' } |
| | | const initState = null |
| | | |
| | | export const useUserStore = defineStore( |
| | | 'user', |
| | | 'userInfo', |
| | | () => { |
| | | const userInfo = ref<IUserInfo>({ ...initState }) |
| | | const userInfo = ref<UserInfo>({ ...initState }) |
| | | |
| | | const setUserInfo = (val: IUserInfo) => { |
| | | const setUserInfo = (val: UserInfo) => { |
| | | userInfo.value = val |
| | | } |
| | | |
| | |
| | | const reset = () => { |
| | | userInfo.value = { ...initState } |
| | | } |
| | | const isLogined = computed(() => !!userInfo.value.token) |
| | | |
| | | return { |
| | | userInfo, |
| | | setUserInfo, |
| | | clearUserInfo, |
| | | isLogined, |
| | | reset, |
| | | } |
| | | }, |