import { defineStore } from 'pinia'; interface UserInfo { id: number; name: string; head_image: String; current_enterprise_id: number; mobile: string; // 添加其他用户属性... } interface CompanyInfo { id: number; name: string; // 添加其他公司属性... } interface UserState { token: string; userInfo: UserInfo | null; companyInfo: CompanyInfo | null; isLogin: boolean; } interface UserInfo { id: number; mobile: string; name: string; } export const useUserStore = defineStore('user', { state: (): UserState => ({ token: localStorage.getItem('accessToken') || '', userInfo: null, companyInfo: null, isLogin: false, }), actions: { // 设置 Token setToken(token: string) { this.token = `Bearer ${token}`; localStorage.setItem('accessToken', this.token); }, // 获取 Token getToken() { return this.token; }, // 设置用户信息 setUserInfo(userInfo: UserInfo | null) { this.userInfo = userInfo; }, // 获取用户信息 getUserInfo(): UserInfo | null { return this.userInfo; }, // 设置公司信息 setCompanyInfo(companyInfo: CompanyInfo | null) { this.companyInfo = companyInfo; }, // 获取公司信息 getCompanyInfo(): CompanyInfo | null { return this.companyInfo; }, // 登录状态 setIsLogin(isLogin: boolean) { this.isLogin = isLogin; }, getIsLogin(): boolean { return this.isLogin; } } });