authStore.js 658 B

1234567891011121314151617181920212223242526272829
  1. import { defineStore } from 'pinia'
  2. import { getToken,setToken,removeToken } from '@/utils/auth.js'
  3. export const useAuthStore = defineStore('auth', {
  4. state: () => ({
  5. token: null,
  6. }),
  7. actions: {
  8. setAuthToken(newToken) {
  9. this.token = newToken
  10. // 可以选择将 token 存储到 localStorage 或 sessionStorage
  11. setToken(newToken)
  12. },
  13. clearAuthToken() {
  14. this.token = null
  15. removeToken()
  16. },
  17. loadAuthToken() {
  18. const savedToken = getToken()
  19. if (savedToken) {
  20. this.token = savedToken
  21. }
  22. }
  23. },
  24. getters: {
  25. isAuthenticated(state) {
  26. return !!state.token; // 如果 token 存在,返回 true;否则返回 false
  27. }
  28. }
  29. })