liuyun 5de298a956 feat(auth): 首登强制改密页面 + 创建用户开关
- 独立改密页 + 路由守卫拦截待改密
- auth store 持久化 mustChangePassword
- 用户创建表单加「首登强制改密」开关(默认勾选)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 21:54:41 +08:00

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);
}