35 lines
838 B
TypeScript
35 lines
838 B
TypeScript
export const ADMIN_TOKEN_STORAGE_KEY = 'genarrative_admin_token';
|
|
|
|
// 管理员 token 与玩家 token 分开保存,避免后台请求误复用玩家登录态。
|
|
export function getStoredAdminToken() {
|
|
if (!canUseLocalStorage()) {
|
|
return '';
|
|
}
|
|
|
|
return window.localStorage.getItem(ADMIN_TOKEN_STORAGE_KEY)?.trim() || '';
|
|
}
|
|
|
|
export function setStoredAdminToken(token: string) {
|
|
if (!canUseLocalStorage()) {
|
|
return;
|
|
}
|
|
|
|
const nextToken = token.trim();
|
|
if (nextToken) {
|
|
window.localStorage.setItem(ADMIN_TOKEN_STORAGE_KEY, nextToken);
|
|
return;
|
|
}
|
|
|
|
window.localStorage.removeItem(ADMIN_TOKEN_STORAGE_KEY);
|
|
}
|
|
|
|
export function clearStoredAdminToken() {
|
|
setStoredAdminToken('');
|
|
}
|
|
|
|
function canUseLocalStorage() {
|
|
return (
|
|
typeof window !== 'undefined' && typeof window.localStorage !== 'undefined'
|
|
);
|
|
}
|