123456789101112131415161718192021222324252627282930313233343536373839 |
- import { defineStore } from 'pinia'
- import { getToken,setToken,removeToken } from '@/utils/auth.js'
- export const useAuthStore = defineStore('auth', {
- state: () => ({
- token: null,
- userInfo: null
- }),
- actions: {
- setAuthToken(newToken) {
- this.token = newToken
- // 可以选择将 token 存储到 localStorage 或 sessionStorage
- setToken(newToken)
- },
- clearAuthToken() {
- this.token = null
- removeToken()
- },
- loadAuthToken() {
- const savedToken = getToken()
- if (savedToken) {
- this.token = savedToken
- }
- },
- setUserInfo(data) {
- this.userInfo = data
- uni.setStorageSync('USER_INFO', data)
- },
- // 初始化时从Storage加载
- loadUserInfo() {
- this.userInfo = uni.getStorageSync('USER_INFO') || null
- }
- },
- getters: {
- isAuthenticated(state) {
- return !!state.token; // 如果 token 存在,返回 true;否则返回 false
- }
- }
- })
|