fix(dashboard): 从URL参数自动读取token并加载数据
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled

修复管理后台Web登录后dashboard仍提示缺JWT的问题:
- dashboard.js bootstrap() 新增 URL ?t= 参数读取逻辑
- 自动将token填入#token input并触发loadDashboard
- 登录后自动跳转→自动认证→自动加载数据,用户无感知

验证: 浏览器登录admin/Admin123! → dashboard自动加载'已连接·数据已加载'
This commit is contained in:
Hermes Agent
2026-06-29 12:40:11 +08:00
parent 2af1d0670a
commit 0ec5bdfc19

View File

@@ -378,6 +378,23 @@ function logout() {
}
function bootstrap() {
// 优先从 URL 参数 t 读取 token管理后台 Web 登录页跳转场景)
const urlParams = new URLSearchParams(window.location.search);
const urlToken = urlParams.get("t");
if (urlToken) {
setToken(urlToken);
window.sessionStorage.setItem(TOKEN_KEY, urlToken);
// 清除 URL 中的 token 参数(安全考虑)
urlParams.delete("t");
const cleanUrl =
window.location.pathname +
(urlParams.toString() ? "?" + urlParams.toString() : "");
window.history.replaceState({}, document.title, cleanUrl);
// 自动加载数据
setTimeout(() => loadDashboard({ loginFirst: false }), 100);
return;
}
const cachedToken = window.sessionStorage.getItem(TOKEN_KEY);
if (cachedToken && !getToken()) {
setToken(cachedToken);