【m】界面分为3个页面

This commit is contained in:
zhangzheng
2026-03-04 18:40:19 +08:00
parent 93b56da25e
commit 6d0dc478e4
9 changed files with 430 additions and 6 deletions

View File

@@ -11,7 +11,10 @@ class UIRenderer {
// 缓存 DOM 元素
this.elements = {
// 头部
// 头部和底部
header: document.querySelector('header'),
footer: document.querySelector('footer'),
// 头部内容
headerTitle: document.getElementById('headerTitle'),
callDuration: document.getElementById('callDuration'),
encryptionBadge: document.getElementById('encryptionBadge'),
@@ -46,12 +49,22 @@ class UIRenderer {
recordBtn: document.getElementById('recordBtn'),
connectionQuality: document.getElementById('connectionQuality')
};
// 绑定事件监听器
this.bindEventListeners();
// 订阅状态变化
this.unsubscribe = stateManager.subscribe(this.render.bind(this));
// 初始化渲染
this.render(this.stateManager.getState(), { type: 'INIT' });
}
// 绑定事件监听器
bindEventListeners() {
// 事件监听器
}
// 渲染状态变化
render(state, changes) {
switch (changes.type) {
@@ -166,6 +179,11 @@ class UIRenderer {
this.elements.localVideo.autoplay = true;
this.elements.localVideo.muted = true; // 本地视频静音,避免回声
console.log('srcObject set successfully:', this.elements.localVideo.srcObject);
// 隐藏断开连接覆盖层
if (this.elements.disconnectedOverlay) {
this.elements.disconnectedOverlay.classList.add('hidden');
}
} else {
console.error('Either localVideo element or stream is missing');
}
@@ -364,8 +382,9 @@ class UIRenderer {
// 渲染通话结束
renderCallEnded() {
// 可以在这里添加通话结束的UI处理
console.log('Call ended');
// 跳转到结束通话界面
window.location.href = './endcall/endcall.html';
}
// 获取状态文本