diff --git a/cmd/engineering-dashboard/main.go b/cmd/engineering-dashboard/main.go index 43edb2a3..bec4d7ab 100644 --- a/cmd/engineering-dashboard/main.go +++ b/cmd/engineering-dashboard/main.go @@ -91,7 +91,7 @@ func runServe(args []string) error { if err != nil { return err } - fmt.Printf("engineering-dashboard listening on http://%s/?token=%s\n", addr, srv.Token) + fmt.Printf("engineering-dashboard listening on http://%s/\n", addr) fmt.Printf("repo=%s\n", root) return engineeringdashboard.ListenAndServe(addr, srv.Handler()) } diff --git a/internal/engineeringdashboard/assets/app.js b/internal/engineeringdashboard/assets/app.js index db7f347c..ee50e710 100644 --- a/internal/engineeringdashboard/assets/app.js +++ b/internal/engineeringdashboard/assets/app.js @@ -1,13 +1,4 @@ (function () { - function resolveToken() { - const fromURL = new URL(window.location.href).searchParams.get("token"); - if (fromURL) return fromURL; - const meta = document.querySelector('meta[name="engineering-dashboard-token"]'); - const fromMeta = meta && meta.getAttribute("content"); - if (fromMeta && fromMeta !== "__TOKEN__") return fromMeta; - return ""; - } - const token = resolveToken(); const state = { snap: null, view: "overview", @@ -33,7 +24,7 @@ function syncURL() { const u = new URL(window.location.href); - if (token) u.searchParams.set("token", token); + u.searchParams.delete("token"); u.searchParams.set("view", state.view); if (state.q) u.searchParams.set("q", state.q); else u.searchParams.delete("q"); if (state.selectedDoc) u.searchParams.set("doc", state.selectedDoc); else u.searchParams.delete("doc"); @@ -52,13 +43,8 @@ } async function fetchSnapshot(force) { - if (!token) { - el.status.textContent = "缺少访问令牌"; - renderHardError("缺少 token:请使用服务启动时打印的完整 URL(含 ?token=)打开页面"); - return false; - } el.status.textContent = state.snap ? "刷新中…" : "首次加载中…"; - const url = "/api/v1/snapshot?token=" + encodeURIComponent(token) + (force ? "&refresh=1" : ""); + const url = "/api/v1/snapshot" + (force ? "?refresh=1" : ""); const headers = {}; if (state.snap && state.snap.revision_id) headers["If-None-Match"] = '"' + state.snap.revision_id + '"'; const res = await fetch(url, { headers, credentials: "same-origin" }); @@ -294,10 +280,6 @@ async function loop() { loadURL(); - if (!token) { - renderHardError("缺少 token:请使用服务启动时打印的完整 URL(含 ?token=)打开页面"); - return; - } try { const changed = await fetchSnapshot(true); if (changed || state.snap) render(); diff --git a/internal/engineeringdashboard/assets/index.html b/internal/engineeringdashboard/assets/index.html index 63d53af2..8a735932 100644 --- a/internal/engineeringdashboard/assets/index.html +++ b/internal/engineeringdashboard/assets/index.html @@ -3,9 +3,8 @@
-