26 lines
719 B
JavaScript
26 lines
719 B
JavaScript
// 登录态与预览态的进程内共享状态。
|
|
// app.js 在 boot 时写入,各视图(如 home.js)读取,避免重复请求 /api/session。
|
|
|
|
let state = { authEnabled: false, authenticated: true, preview: false };
|
|
|
|
export function setSession(data) {
|
|
state = {
|
|
authEnabled: Boolean(data?.auth_enabled),
|
|
authenticated: data?.authenticated !== false,
|
|
preview: Boolean(data?.preview),
|
|
};
|
|
return state;
|
|
}
|
|
|
|
export function getSession() {
|
|
return state;
|
|
}
|
|
|
|
// 可访问「候选 / 系统」等受保护页面:未启用鉴权,或已登录。
|
|
export function canAccessProtected() {
|
|
return !state.authEnabled || state.authenticated;
|
|
}
|
|
|
|
export function isPreview() {
|
|
return state.preview;
|
|
} |