liujie
2026-08-14 92a75a7b157e6fd6423df17cfd32015017bdb8c9
frontend/src/stores/auth.js
@@ -5,17 +5,28 @@
  state: () => ({
    token: localStorage.getItem('admin_token') || '',
    user: null,
    userLoaded: false,
  }),
  actions: {
    async login(form) {
      const result = await login(form)
      this.token = result.token
      this.user = result.user
      this.userLoaded = true
      localStorage.setItem('admin_token', result.token)
    },
    async loadUser() {
      if (!this.token) return
      this.user = await getCurrentUser()
      if (!this.token) {
        this.user = null
        this.userLoaded = true
        return
      }
      if (this.userLoaded && this.user) return
      try {
        this.user = await getCurrentUser()
      } finally {
        this.userLoaded = true
      }
    },
    async logout() {
      try {
@@ -23,6 +34,7 @@
      } finally {
        this.token = ''
        this.user = null
        this.userLoaded = true
        localStorage.removeItem('admin_token')
      }
    },