File size: 1,631 Bytes
e636070 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
// settings-panel.js
class SettingsPanel {
constructor() {
this.defaultSettings = [
{
term: "示例设定",
nature: "示例性质",
detail: "这是一个示例设定说明。"
}
]
this.settings = this.defaultSettings;
this.init();
}
init() {
document.addEventListener('DOMContentLoaded', () => {
const container = document.querySelector('.settings-container');
if (!container) {
console.error('Profile Data not Found');
return;
}
// 先渲染默认数据
this.updateSettings(this.defaultSettings);
// WebSocket消息处理
window.addEventListener('websocket-message', (event) => {
const message = event.detail;
if (message.type === 'initial_data' && message.data.settings) {
this.updateSettings(message.data.settings);
}
});
});
}
updateSettings(settings) {
const container = document.querySelector('.settings-container');
if (container) {
container.innerHTML = settings.map(setting => `
<div class="setting-item">
<div class="setting-term">${setting.term}</div>
<div class="setting-nature">${setting.nature}</div>
<div class="setting-detail">${setting.detail}</div>
</div>
`).join('');
}
}
}
const settingsPanel = new SettingsPanel(); |