update: 关闭设置框时保存配置, 阻止按钮事件冒泡, 调整配置获取方式

This commit is contained in:
lww155
2026-01-22 17:23:27 +08:00
parent 3e7bc0606a
commit e1dd272708
4 changed files with 16 additions and 34 deletions
@@ -58,10 +58,9 @@ export function saveConfig() {
// 获取配置值 // 获取配置值
export function getConfig() { export function getConfig() {
// 从DOM获取值 const deviceMac = localStorage.getItem('xz_tester_deviceMac');
const deviceMac = document.getElementById('deviceMac')?.value.trim() || ''; const deviceName = localStorage.getItem('xz_tester_deviceName');
const deviceName = document.getElementById('deviceName')?.value.trim() || ''; const clientId = localStorage.getItem('xz_tester_clientId');
const clientId = document.getElementById('clientId')?.value.trim() || '';
return { return {
deviceId: deviceMac, // 使用MAC地址作为deviceId deviceId: deviceMac, // 使用MAC地址作为deviceId
@@ -83,7 +83,7 @@ async function sendOTA(otaUrl, config) {
}, },
ota: { label: 'xiaozhi-web-test' }, ota: { label: 'xiaozhi-web-test' },
board: { board: {
type: 'xiaozhi-web-test', type: config.deviceName,
ssid: 'xiaozhi-web-test', ssid: 'xiaozhi-web-test',
rssi: 0, rssi: 0,
channel: 0, channel: 0,
+9 -26
View File
@@ -152,8 +152,12 @@ class UIController {
const closeButtons = document.querySelectorAll('.close-btn'); const closeButtons = document.querySelectorAll('.close-btn');
closeButtons.forEach(btn => { closeButtons.forEach(btn => {
btn.addEventListener('click', (e) => { btn.addEventListener('click', (e) => {
e.stopPropagation();
const modal = e.target.closest('.modal'); const modal = e.target.closest('.modal');
if (modal) { if (modal) {
if (modal.id === 'settingsModal') {
saveConfig();
}
this.hideModal(modal.id); this.hideModal(modal.id);
} }
}); });
@@ -172,23 +176,19 @@ class UIController {
modals.forEach(modal => { modals.forEach(modal => {
modal.addEventListener('click', (e) => { modal.addEventListener('click', (e) => {
if (e.target === modal) { if (e.target === modal) {
if (modal.id === 'settingsModal') {
saveConfig();
}
this.hideModal(modal.id); this.hideModal(modal.id);
} }
}); });
}); });
// 保存配置按钮
const saveConfigBtn = document.getElementById('saveConfigBtn');
if (saveConfigBtn) {
saveConfigBtn.addEventListener('click', () => {
this.saveConfig();
});
}
// 添加MCP工具按钮 // 添加MCP工具按钮
const addMCPToolBtn = document.getElementById('addMCPToolBtn'); const addMCPToolBtn = document.getElementById('addMCPToolBtn');
if (addMCPToolBtn) { if (addMCPToolBtn) {
addMCPToolBtn.addEventListener('click', () => { addMCPToolBtn.addEventListener('click', (e) => {
e.stopPropagation();
this.addMCPTool(); this.addMCPTool();
}); });
} }
@@ -330,23 +330,6 @@ class UIController {
} }
} }
// 保存配置
saveConfig() {
const config = {
serverUrl: document.getElementById('serverUrl').value,
serverPort: document.getElementById('serverPort').value,
audioDevice: document.getElementById('audioDevice').value,
audioSampleRate: document.getElementById('audioSampleRate').value,
audioChannels: document.getElementById('audioChannels').value
};
saveConfig(config);
this.hideModal('settingsModal');
// 显示保存成功消息
this.addChatMessage('配置已保存', false);
}
// 连接成功后开始对话 // 连接成功后开始对话
startAIChatSession() { startAIChatSession() {
this.addChatMessage('连接成功,开始聊天吧~🙂', false); this.addChatMessage('连接成功,开始聊天吧~🙂', false);
+3 -3
View File
@@ -133,7 +133,7 @@
<div class="config-row"> <div class="config-row">
<div class="config-item"> <div class="config-item">
<label for="deviceMac">设备MAC:</label> <label for="deviceMac">设备MAC:</label>
<input type="text" id="deviceMac" placeholder="device-id" readonly> <input type="text" id="deviceMac" placeholder="device-id">
</div> </div>
</div> </div>
<div class="config-row"> <div class="config-row">
@@ -143,7 +143,7 @@
</div> </div>
<div class="config-item"> <div class="config-item">
<label for="deviceName">设备名称:</label> <label for="deviceName">设备名称:</label>
<input type="text" id="deviceName" value="Web测试设备" placeholder="deviceName"> <input type="text" id="deviceName" value="Web测试设备" maxlength="50" placeholder="deviceName">
</div> </div>
</div> </div>
</div> </div>
@@ -237,7 +237,7 @@
</div> </div>
<!-- 背景加载 --> <!-- 背景加载 -->
<script src="js/ui/backgroundLoad.js"></script> <script src="js/ui/background-load.js"></script>
<!-- PIXI.js 2D渲染引擎 --> <!-- PIXI.js 2D渲染引擎 -->
<script src="js/live2d/pixi.js"></script> <script src="js/live2d/pixi.js"></script>