diff --git a/pages/message/chat.scss b/pages/message/chat.scss index c14e295..fbe22c3 100644 --- a/pages/message/chat.scss +++ b/pages/message/chat.scss @@ -15,7 +15,8 @@ $primary-color: #0877F1; /* 患者信息栏样式 */ .patient-info-bar { - position: relative; + position: sticky; + top: 0; background: #fff; border-bottom: 1rpx solid #f0f0f0; padding: 20rpx 32rpx; @@ -112,6 +113,7 @@ $primary-color: #0877F1; flex: 1; box-sizing: border-box; overflow-x: hidden; + overflow-y: auto; min-height: 0; } diff --git a/pages/message/index.vue b/pages/message/index.vue index bb88ba5..7c4ce07 100644 --- a/pages/message/index.vue +++ b/pages/message/index.vue @@ -524,6 +524,7 @@ const initTIMCallbacks = async () => { }) .then(() => { console.log("✓ 收到新消息后已标记为已读"); + // 标记为已读后,刷新 tabBar 徽章 }) .catch((error) => { console.error("✗ 标记已读失败:", error); @@ -677,6 +678,7 @@ const loadMessageList = async () => { }) .then(() => { console.log("✓ 会话已标记为已读:", chatInfo.value.conversationID); + // 标记为已读后,刷新 tabBar 徽章 }) .catch((error) => { console.error("✗ 标记会话已读失败:", error); @@ -825,6 +827,12 @@ onShow(() => { checkLoginAndInitTIM(); } else if (timChatManager.tim && !timChatManager.isLoggedIn) { timChatManager.ensureIMConnection(); + } else if (timChatManager.tim && timChatManager.isLoggedIn && chatInfo.value.conversationID) { + + messageList.value = []; + isCompleted.value = false; + lastFirstMessageId.value = ""; + loadMessageList(); } startIMMonitoring(30000); diff --git a/pages/message/message.vue b/pages/message/message.vue index 4467ce8..24d6587 100644 --- a/pages/message/message.vue +++ b/pages/message/message.vue @@ -1,5 +1,10 @@