From 16225c413d7c8b38bebccf9f22aac1254382835e Mon Sep 17 00:00:00 2001 From: bujinyuan Date: Wed, 22 Apr 2026 15:32:10 +0800 Subject: [PATCH] =?UTF-8?q?fix(phase2e-2):=20=E4=BC=9A=E8=AE=AE=E5=86=85?= =?UTF-8?q?=E8=81=8A=E5=A4=A9=E9=9D=A2=E6=9D=BF=20UI=20=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题修复: - 原遮罩式抽屉覆盖底部 toolbar,导致按钮不可点击 - 发送按钮过小不显眼 - 聊天面板打开时视频区被遮挡出现大片空白 改进: - room.vue 主区改为 flex-row 布局:视频列 + 聊天列并排,聊天打开时视频自动收窄 - ChatPanel 去除全屏遮罩,作为侧边栏嵌入 chat-col,保留过渡动画 - 发送按钮增加纸飞机图标并采用渐变背景,hover / active / disabled 状态清晰 - msg-list 使用 flex:1 + min-height:0 + height:0 修复 scroll-view 高度撑破问题,保证输入区始终固定在底部 - 小屏(<750px)自动回退为全屏浮层,避免挤压视频 Made-with: Cursor --- frontend/src/components/meeting/ChatPanel.vue | 87 ++++++++++--------- frontend/src/pages/meeting/room.vue | 85 +++++++++++------- 2 files changed, 103 insertions(+), 69 deletions(-) diff --git a/frontend/src/components/meeting/ChatPanel.vue b/frontend/src/components/meeting/ChatPanel.vue index 7d10a6f..9e838af 100644 --- a/frontend/src/components/meeting/ChatPanel.vue +++ b/frontend/src/components/meeting/ChatPanel.vue @@ -11,20 +11,19 @@ - 发送通过 @send 事件回传,成功/失败由父层决定是否 toast --> @@ -222,28 +224,15 @@ const close = () => emit('close') diff --git a/frontend/src/pages/meeting/room.vue b/frontend/src/pages/meeting/room.vue index c59b3fe..ebd7e61 100644 --- a/frontend/src/pages/meeting/room.vue +++ b/frontend/src/pages/meeting/room.vue @@ -34,22 +34,38 @@ - + - - - + + + + + + + + @@ -92,20 +108,6 @@ @close="inviteVisible = false" /> - - - @@ -633,6 +635,31 @@ onUnload(() => { min-height: 0; background: #0B1220; overflow: hidden; + display: flex; + flex-direction: row; +} +.video-col { + flex: 1; + min-width: 0; + min-height: 0; + display: flex; + overflow: hidden; +} +.chat-col { + width: 0; + min-height: 0; + flex-shrink: 0; + overflow: hidden; + transition: width 0.24s ease; + border-left: 1rpx solid rgba(255, 255, 255, 0.06); + background: #1F2937; +} +.chat-col.open { width: 640rpx; } + +@media (max-width: 750px) { + /* 小屏幕:聊天面板改为全屏浮层,避免挤压视频 */ + .chat-col { position: fixed; top: 0; right: 0; bottom: 0; z-index: 205; } + .chat-col.open { width: 100vw; } } /* 离会弹窗 */