user.ts 576 B

123456789101112131415161718192021222324252627282930313233
  1. import { defineStore } from 'pinia'
  2. import { ref } from 'vue'
  3. const initState = { nickname: '', avatar: '' }
  4. export const useUserStore = defineStore(
  5. 'user',
  6. () => {
  7. const userInfo = ref<IUserInfo>({ ...initState })
  8. const setUserInfo = (val: IUserInfo) => {
  9. userInfo.value = val
  10. }
  11. const clearUserInfo = () => {
  12. userInfo.value = undefined
  13. }
  14. const reset = () => {
  15. userInfo.value = { ...initState }
  16. }
  17. return {
  18. userInfo,
  19. setUserInfo,
  20. clearUserInfo,
  21. reset,
  22. }
  23. },
  24. {
  25. persist: true,
  26. },
  27. )