- 独立改密页 + 路由守卫拦截待改密 - auth store 持久化 mustChangePassword - 用户创建表单加「首登强制改密」开关(默认勾选) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
31 lines
894 B
TypeScript
31 lines
894 B
TypeScript
const ACCESS_KEY = 'sysmgr_access_token';
|
|
const REFRESH_KEY = 'sysmgr_refresh_token';
|
|
const MUST_CHANGE_KEY = 'sysmgr_must_change_password';
|
|
|
|
export function getAccessToken(): string | null {
|
|
return localStorage.getItem(ACCESS_KEY);
|
|
}
|
|
|
|
export function getRefreshToken(): string | null {
|
|
return localStorage.getItem(REFRESH_KEY);
|
|
}
|
|
|
|
export function setTokens(access: string, refresh: string): void {
|
|
localStorage.setItem(ACCESS_KEY, access);
|
|
localStorage.setItem(REFRESH_KEY, refresh);
|
|
}
|
|
|
|
export function clearTokens(): void {
|
|
localStorage.removeItem(ACCESS_KEY);
|
|
localStorage.removeItem(REFRESH_KEY);
|
|
}
|
|
|
|
export function getMustChangePassword(): boolean {
|
|
return sessionStorage.getItem(MUST_CHANGE_KEY) === '1';
|
|
}
|
|
|
|
export function setMustChangePassword(v: boolean): void {
|
|
if (v) sessionStorage.setItem(MUST_CHANGE_KEY, '1');
|
|
else sessionStorage.removeItem(MUST_CHANGE_KEY);
|
|
}
|