From fa31096cd8248295ebf1758ced838521279c2678 Mon Sep 17 00:00:00 2001 From: lww155 <756794909@qq.com> Date: Thu, 15 Jan 2026 09:19:25 +0800 Subject: [PATCH] =?UTF-8?q?update:=20=E6=8B=A8=E5=8F=B7=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E5=90=8E=E5=BC=80=E5=90=AF=E8=87=AA=E5=8A=A8=E5=BD=95=E9=9F=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/xiaozhi-server/test/js/app.js | 6 ++++++ main/xiaozhi-server/test/js/ui/controller.js | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/main/xiaozhi-server/test/js/app.js b/main/xiaozhi-server/test/js/app.js index b608f69d..5c8b1c59 100644 --- a/main/xiaozhi-server/test/js/app.js +++ b/main/xiaozhi-server/test/js/app.js @@ -83,6 +83,12 @@ if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', () => app.init()); } else { app.init(); + window.addEventListener('beforeunload', () => { + // 销毁定时器 + if (app.uiController && app.uiController.wsTimer) { + clearInterval(app.uiController.wsTimer); + } + }); } export default app; diff --git a/main/xiaozhi-server/test/js/ui/controller.js b/main/xiaozhi-server/test/js/ui/controller.js index 596a134f..79409388 100644 --- a/main/xiaozhi-server/test/js/ui/controller.js +++ b/main/xiaozhi-server/test/js/ui/controller.js @@ -11,6 +11,7 @@ class UIController { this.visualizerCanvas = null; this.visualizerContext = null; this.audioStatsTimer = null; + this.wsTimer = null; this.currentBackgroundIndex = 0; this.backgroundImages = ['1.png', '2.png', '3.png']; @@ -331,6 +332,20 @@ class UIController { this.addChatMessage('配置已保存', false); } + // 拨号成功后直接开始录音 + dialAndRecord() { + const recordBtn = document.getElementById('recordBtn'); + const wsHandler = getWebSocketHandler(); + this.wsTimer = setInterval(() => { + if (wsHandler.isConnected() && wsHandler.websocket.onopen) { + clearInterval(this.wsTimer); + this.wsTimer = null; + recordBtn.click(); + return; + } + }, 500); + } + // 处理连接按钮点击 async handleConnect() { console.log('handleConnect called'); @@ -415,6 +430,8 @@ class UIController { dialBtn.disabled = false; dialBtn.querySelector('.btn-text').textContent = '挂断'; dialBtn.classList.add('dial-active'); + + this.dialAndRecord(); } this.hideModal('settingsModal');