123456789101112131415161718192021222324252627282930313233343536373839 |
- import { defineStore } from 'pinia'
- import { ref, computed } from 'vue'
- const initState = { nickname: '', avatar: '' }
- export const useUserStore = defineStore(
- 'user',
- () => {
- const userInfo = ref<IUserInfo>({ ...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,
- },
- )
|