/** * 存储工具函数 - 参考GVA的用户存储逻辑 */ const TOKEN_KEY = 'token'; const USER_INFO_KEY = 'userInfo'; /** * 获取Token */ export function getToken(): string | null { return localStorage.getItem(TOKEN_KEY); } /** * 设置Token */ export function setToken(token: string): void { localStorage.setItem(TOKEN_KEY, token); } /** * 移除Token */ export function removeToken(): void { localStorage.removeItem(TOKEN_KEY); } /** * 获取用户信息 */ export function getUserInfo(): API.UserInfo | null { const userInfo = localStorage.getItem(USER_INFO_KEY); if (userInfo) { try { return JSON.parse(userInfo); } catch (e) { return null; } } return null; } /** * 设置用户信息 */ export function setUserInfo(userInfo: API.UserInfo): void { localStorage.setItem(USER_INFO_KEY, JSON.stringify(userInfo)); } /** * 移除用户信息 */ export function removeUserInfo(): void { localStorage.removeItem(USER_INFO_KEY); } /** * 清除所有存储 - 参考GVA的ClearStorage */ export function clearStorage(): void { removeToken(); removeUserInfo(); sessionStorage.clear(); localStorage.removeItem('originSetting'); } /** * 检查是否需要跳转到首页 */ export function checkNeedToHome(): boolean { const need = sessionStorage.getItem('needToHome') === 'true'; if (need) { sessionStorage.removeItem('needToHome'); } return need; } /** * 设置需要跳转到首页 */ export function setNeedToHome(): void { sessionStorage.setItem('needToHome', 'true'); } /** * 检查是否需要关闭所有标签 */ export function checkNeedCloseAll(): boolean { const need = sessionStorage.getItem('needCloseAll') === 'true'; if (need) { sessionStorage.removeItem('needCloseAll'); } return need; } /** * 设置需要关闭所有标签 */ export function setNeedCloseAll(): void { sessionStorage.setItem('needCloseAll', 'true'); }