import { defineStore } from 'pinia' import { getToken,setToken,removeToken } from '@/utils/auth.js' export const useAuthStore = defineStore('auth', { state: () => ({ token: null, userInfo: null, phone: 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 }, cleanUserInfo() { this.userInfo = null uni.removeStorageSync("USER_INFO") }, setPhone(data) { this.phone = data uni.setStorageSync('phone', data) }, // 初始化时从Storage加载 loadPhone() { this.phone = uni.getStorageSync('phone') || null }, cleanPhone() { this.phone = null uni.removeStorageSync("phone") }, }, getters: { isAuthenticated(state) { return !!state.token; // 如果 token 存在,返回 true;否则返回 false }, isUserInfo(state){ return !!state.userInfo; } } })