From 92dcf584757b86c0ccd506a1f7fd0fe31f265b84 Mon Sep 17 00:00:00 2001 From: pipeline-agent Date: Sun, 30 Aug 2026 15:40:15 +0800 Subject: [PATCH] =?UTF-8?q?fix(demo):=20=E6=8C=89=E9=92=AE=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E5=A7=94=E6=89=98=E7=BB=91=E5=AE=9A=E2=80=94=E2=80=94?= =?UTF-8?q?demo=5Fviewer.ui=E6=8C=89=E9=92=AE=E6=AD=A4=E5=89=8D=E9=9B=B6?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E5=AF=BC=E8=87=B4=E7=82=B9=E5=87=BB=E6=97=A0?= =?UTF-8?q?=E5=93=8D=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wwwroot/demo_viewer.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/wwwroot/demo_viewer.js b/wwwroot/demo_viewer.js index 627c5b1..0656788 100644 --- a/wwwroot/demo_viewer.js +++ b/wwwroot/demo_viewer.js @@ -334,3 +334,28 @@ window.demoViewer = demoViewer; })(); + +/* —— 按钮事件委托(demo_viewer.ui 按钮无 script 绑定,按文本路由)—— */ +(function () { + var ACT = { + '开始演示': function () { window.demoViewer.startDemo(); }, + '结束演示': function () { window.demoViewer.stopDemo(); }, + '暂停': function () { window.demoViewer.pauseDemo(); }, + '继续': function () { window.demoViewer.resumeDemo(); }, + '编辑实体': function () { window.demoViewer.editEntity(); }, + '查看属性': function () { window.demoViewer.showAttrs(); }, + '保存脚本(热加载)': function () { window.demoViewer.hotload(); }, + '全屏': function () { window.demoViewer.toggleFullscreen(); }, + '视角:环绕': function () { window.demoViewer.switchCamera('orbit'); }, + '视角:俯视': function () { window.demoViewer.switchCamera('topdown'); }, + '视角:第一人称': function () { window.demoViewer.switchCamera('firstperson'); }, + '加入多人预览': function () { window.demoViewer.joinPresence(); }, + '离开预览': function () { window.demoViewer.leavePresence(); } + }; + document.addEventListener('click', function (e) { + var b = e.target && e.target.closest ? e.target.closest('button') : null; + if (!b || !window.demoViewer) return; + var txt = (b.textContent || '').trim(); + if (ACT[txt]) { e.preventDefault(); ACT[txt](); } + }); +})();