这里故意不走真实登录接口,而是用本地存储模拟一个轻量登录态, - * 方便学员直接体验管理端功能,不引入额外鉴权复杂度。
+ * 判断当前后台 token 是否存在且仍有效。 */ export function isAdminAuthenticated() { - return window.localStorage.getItem(ADMIN_AUTH_KEY) === '1' + const token = getAdminToken() + if (!token || isTokenExpired(token)) { + clearAdminAuth() + return false + } + return true } /** - * 写入一个假的后台登录态。 + * 写入后台登录态。 */ -export function loginAdminDemo(username) { - window.localStorage.setItem(ADMIN_AUTH_KEY, '1') - window.localStorage.setItem(ADMIN_USER_KEY, username || 'admin') +export function saveAdminAuth(payload = {}) { + if (payload.token) { + window.localStorage.setItem(ADMIN_TOKEN_KEY, payload.token) + } + if (payload.username) { + window.localStorage.setItem(ADMIN_USER_KEY, payload.username) + } } /** - * 清理假的后台登录态。 + * 清理后台登录态。 */ -export function logoutAdminDemo() { - window.localStorage.removeItem(ADMIN_AUTH_KEY) +export function clearAdminAuth() { + window.localStorage.removeItem(ADMIN_TOKEN_KEY) window.localStorage.removeItem(ADMIN_USER_KEY) } /** - * 获取当前演示用户名称。 + * 获取当前后台用户名。 */ export function getAdminUsername() { return window.localStorage.getItem(ADMIN_USER_KEY) || 'admin' diff --git a/vue/src/views/AdminLoginView.vue b/vue/src/views/AdminLoginView.vue index ea91013..a99b2ed 100644 --- a/vue/src/views/AdminLoginView.vue +++ b/vue/src/views/AdminLoginView.vue @@ -4,7 +4,7 @@- 这里用于演示文档上传、策略确认、索引构建与对话观测。登录采用假登录模式,方便直接体验完整业务流转。 + 这里用于管理文档接入、知识路由与对话观测。账号和密码由当前部署环境配置,登录后才能进入后台。