import Cookies from 'js-cookie' const TOKEN_KEY = 'sso_access_token' const REFRESH_TOKEN_KEY = 'sso_refresh_token' // 获取token export function getToken(): string | null { return Cookies.get(TOKEN_KEY) || localStorage.getItem(TOKEN_KEY) } // 获取refresh token export function getRefreshToken(): string | null { return Cookies.get(REFRESH_TOKEN_KEY) || localStorage.getItem(REFRESH_TOKEN_KEY) } // 设置token export function setToken(token: string, refreshToken?: string, rememberMe = false): void { if (rememberMe) { // 记住我,使用cookie存储,有效期30天 Cookies.set(TOKEN_KEY, token, { expires: 30 }) if (refreshToken) { Cookies.set(REFRESH_TOKEN_KEY, refreshToken, { expires: 30 }) } } else { // 不记住我,使用sessionStorage存储 localStorage.setItem(TOKEN_KEY, token) if (refreshToken) { localStorage.setItem(REFRESH_TOKEN_KEY, refreshToken) } } } // 移除token export function removeToken(): void { Cookies.remove(TOKEN_KEY) Cookies.remove(REFRESH_TOKEN_KEY) localStorage.removeItem(TOKEN_KEY) localStorage.removeItem(REFRESH_TOKEN_KEY) } // 检查token是否存在 export function hasToken(): boolean { return !!getToken() }