From 8ca6da67ab29aa29e84eee23148e3961f55a5ece Mon Sep 17 00:00:00 2001 From: qinglong Date: Sun, 14 Jun 2026 20:21:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20app=5Fv3.js=E5=90=8C=E6=AD=A5app.js?= =?UTF-8?q?=E7=9A=84SENSU=5FBASE=E5=89=8D=E7=BC=80=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- static/web_panel/js/app_v3.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/static/web_panel/js/app_v3.js b/static/web_panel/js/app_v3.js index 08594cd..a885700 100644 --- a/static/web_panel/js/app_v3.js +++ b/static/web_panel/js/app_v3.js @@ -44,7 +44,13 @@ window.toggleTheme = function(){ // ═══ 路由系统 ═══ // Hash format: #/dashboard | #/files | #/plugins/example_plugin // Built-in pages map to ./static/pages/{name}.html -// Plugin pages load from /plugin/{name} +// Plugin pages load from {base}/plugin/{name} + +// 从当前页面路径提取面板前缀 (e.g. /SenSu/home.html → /SenSu) +window.SENSU_BASE = (function(){ + var p = window.location.pathname; + return p.substring(0, p.lastIndexOf('/')) || ''; +})(); var BUILTIN_PAGES = ['dashboard','logs','console','plugins','projects','proxy','files','settings']; var _pluginPagesCache = null; // {plugin_name: {path, title, icon}} @@ -167,7 +173,7 @@ async function loadPluginPage(pluginName) { if(!_pluginPagesCache) await fetchPluginPages(); try { - var resp = await fetch('/plugin/'+pluginName+'?t='+Date.now(), {credentials:'include'}); + var resp = await fetch(window.SENSU_BASE+'/plugin/'+pluginName+'?t='+Date.now(), {credentials:'include'}); if(!resp.ok) throw new Error(resp.status); var html = await resp.text();