admin-projects/src/services/token-store.ts
WangDL 4dad572731 feat: add admin layout, auth, user management, and routing
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 17:19:58 +08:00

36 lines
990 B
TypeScript

const ACCESS_TOKEN_KEY = 'admin_access_token'
const REFRESH_TOKEN_KEY = 'admin_refresh_token'
const ADMIN_USER_KEY = 'admin_user'
export function getAccessToken(): string | null {
return localStorage.getItem(ACCESS_TOKEN_KEY)
}
export function getRefreshToken(): string | null {
return localStorage.getItem(REFRESH_TOKEN_KEY)
}
export function setTokens(access: string, refresh: string): void {
localStorage.setItem(ACCESS_TOKEN_KEY, access)
localStorage.setItem(REFRESH_TOKEN_KEY, refresh)
}
export function clearTokens(): void {
localStorage.removeItem(ACCESS_TOKEN_KEY)
localStorage.removeItem(REFRESH_TOKEN_KEY)
localStorage.removeItem(ADMIN_USER_KEY)
}
export function getStoredAdminUser<T>(): T | null {
try {
const raw = localStorage.getItem(ADMIN_USER_KEY)
return raw ? (JSON.parse(raw) as T) : null
} catch {
return null
}
}
export function setStoredAdminUser<T>(user: T): void {
localStorage.setItem(ADMIN_USER_KEY, JSON.stringify(user))
}