fix(dashboard): 从URL参数自动读取token并加载数据
修复管理后台Web登录后dashboard仍提示缺JWT的问题: - dashboard.js bootstrap() 新增 URL ?t= 参数读取逻辑 - 自动将token填入#token input并触发loadDashboard - 登录后自动跳转→自动认证→自动加载数据,用户无感知 验证: 浏览器登录admin/Admin123! → dashboard自动加载'已连接·数据已加载'
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user