no message

This commit is contained in:
wangdongbo 2026-02-12 12:04:57 +08:00
parent 24d80e69f6
commit e71caa6d69
5 changed files with 47 additions and 28 deletions

View File

@ -40,7 +40,7 @@ export default {
if (success) { if (success) {
console.log("IM 初始化成功"); console.log("IM 初始化成功");
// IM // IM
globalUnreadListenerManager.setup(); // globalUnreadListenerManager.setup();
} else { } else {
console.warn("IM 初始化失败"); console.warn("IM 初始化失败");
} }

View File

@ -1,6 +1,5 @@
import { ref, computed } from 'vue' import { ref, computed } from 'vue'
import { onShow, onUnload } from '@dcloudio/uni-app' import { onShow } from '@dcloudio/uni-app'
import { storeToRefs } from 'pinia'
import api from '@/utils/api.js' import api from '@/utils/api.js'
import useTeamStore from '@/store/team.js' import useTeamStore from '@/store/team.js'
import useAccountStore from '@/store/account.js' import useAccountStore from '@/store/account.js'
@ -57,12 +56,15 @@ export default function useGroupChat(groupID) {
return member.isTeamMember ? '/static/default-avatar.png' : '/static/default-patient-avatar.png' return member.isTeamMember ? '/static/default-avatar.png' : '/static/default-patient-avatar.png'
} }
// 获取群聊信息和成员头像 // 获取群聊信息和成员头像
async function getGroupInfo() { async function getGroupInfo() {
const gid = typeof groupID === 'string' ? groupID : groupID.value const gid = typeof groupID === 'string' ? groupID : groupID.value
if (!gid) return if (!gid) return
try { try {
console.log('开始获取群组信息groupId:', gid)
// 1. 获取群聊基本信息 // 1. 获取群聊基本信息
const groupResult = await api('getGroupListByGroupId', { groupId: gid }) const groupResult = await api('getGroupListByGroupId', { groupId: gid })
@ -74,11 +76,16 @@ export default function useGroupChat(groupID) {
teamId: groupResult.data.teamId teamId: groupResult.data.teamId
} }
console.log('群组基本信息:', groupInfo.value)
// 2. 如果有teamId获取团队成员头像和名称 // 2. 如果有teamId获取团队成员头像和名称
if (groupResult.data.teamId) { if (groupResult.data.teamId) {
console.log('开始获取团队成员信息teamId:', groupResult.data.teamId)
const memberMap = await teamStore.getTeamMemberAvatarsAndName(groupResult.data.teamId) const memberMap = await teamStore.getTeamMemberAvatarsAndName(groupResult.data.teamId)
console.log('团队成员信息返回:', memberMap)
// 3. 存储团队成员ID列表 // 3. 存储团队成员ID列表
teamMemberIds.value = Object.keys(memberMap) teamMemberIds.value = Object.keys(memberMap)
@ -93,6 +100,8 @@ export default function useGroupChat(groupID) {
} }
}) })
console.log('团队成员列表已构建:', members.value)
// 5. 添加患者信息(使用默认患者头像) // 5. 添加患者信息(使用默认患者头像)
if (groupResult.data.patient) { if (groupResult.data.patient) {
const pid = groupResult.data.patientId?.toString() || '' const pid = groupResult.data.patientId?.toString() || ''
@ -104,7 +113,16 @@ export default function useGroupChat(groupID) {
isTeamMember: false, isTeamMember: false,
miniAppId: groupResult.data.patient.miniAppId || '' // 患者的聊天 userID miniAppId: groupResult.data.patient.miniAppId || '' // 患者的聊天 userID
}) })
console.log('患者信息已添加:', {
id: pid,
name: groupResult.data.patient.name,
miniAppId: groupResult.data.patient.miniAppId
})
} }
console.log('最终成员列表:', members.value)
console.log('chatMember映射:', chatMember.value)
} }
} }
} catch (error) { } catch (error) {
@ -113,12 +131,10 @@ export default function useGroupChat(groupID) {
} }
onShow(() => { onShow(() => {
debugger
getGroupInfo() getGroupInfo()
}) })
onUnload(() => {
// 清理资源
})
return { return {
groupInfo, groupInfo,

View File

@ -444,7 +444,7 @@ function getBubbleClass(message) {
} }
// //
onLoad((options) => { onLoad(async (options) => {
groupId.value = options.groupID || ""; groupId.value = options.groupID || "";
messageList.value = []; messageList.value = [];
isLoading.value = false; isLoading.value = false;
@ -473,6 +473,9 @@ onLoad((options) => {
} }
}); });
// chatMember
await getGroupInfo();
checkLoginAndInitTIM(); checkLoginAndInitTIM();
updateNavigationTitle(); updateNavigationTitle();
}); });
@ -563,7 +566,7 @@ const initTIMCallbacks = async () => {
.then(async () => { .then(async () => {
console.log("✓ 收到新消息后已标记为已读"); console.log("✓ 收到新消息后已标记为已读");
// tabBar // tabBar
await globalUnreadListenerManager.refreshBadge(); // await globalUnreadListenerManager.refreshBadge();
}) })
.catch((error) => { .catch((error) => {
console.error("✗ 标记已读失败:", error); console.error("✗ 标记已读失败:", error);
@ -717,7 +720,7 @@ const loadMessageList = async () => {
.then(async () => { .then(async () => {
console.log("✓ 会话已标记为已读:", chatInfo.value.conversationID); console.log("✓ 会话已标记为已读:", chatInfo.value.conversationID);
// tabBar // tabBar
await globalUnreadListenerManager.refreshBadge(); // await globalUnreadListenerManager.refreshBadge();
}) })
.catch((error) => { .catch((error) => {
console.error("✗ 标记会话已读失败:", error); console.error("✗ 标记会话已读失败:", error);
@ -913,10 +916,10 @@ onHide(() => {
timChatManager.currentConversationID = null; timChatManager.currentConversationID = null;
console.log("✓ 页面隐藏已清空当前会话ID"); console.log("✓ 页面隐藏已清空当前会话ID");
// tabBar // // tabBar
if (globalUnreadListenerManager.isInitialized) { // if (globalUnreadListenerManager.isInitialized) {
globalUnreadListenerManager.refreshBadge(); // globalUnreadListenerManager.refreshBadge();
} // }
}); });
// //

View File

@ -380,8 +380,8 @@ const setupConversationListener = () => {
// //
// //
if (globalUnreadListenerManager.isInitialized) { if (globalUnreadListenerManager.isInitialized) {
globalUnreadListenerManager.addCallback("onConversationListUpdated", handleConversationListUpdate); // globalUnreadListenerManager.addCallback("onConversationListUpdated", handleConversationListUpdate);
globalUnreadListenerManager.addCallback("onMessageReceived", handleMessageReceived); // globalUnreadListenerManager.addCallback("onMessageReceived", handleMessageReceived);
console.log("【消息列表页】已添加回调到全局监听器回调链"); console.log("【消息列表页】已添加回调到全局监听器回调链");
} else { } else {
console.warn("【消息列表页】全局未读监听器未初始化,使用直接回调方式"); console.warn("【消息列表页】全局未读监听器未初始化,使用直接回调方式");
@ -454,7 +454,7 @@ const handleClickConversation = async (conversation) => {
console.log("✓ 已标记会话为已读:", conversation.conversationID); console.log("✓ 已标记会话为已读:", conversation.conversationID);
// tabBar // tabBar
await globalUnreadListenerManager.refreshBadge(); // await globalUnreadListenerManager.refreshBadge();
} catch (error) { } catch (error) {
console.error("✗ 标记会话已读失败:", error); console.error("✗ 标记会话已读失败:", error);
} }
@ -514,9 +514,9 @@ const cleanMessageText = (text) => {
// //
onShow(async () => { onShow(async () => {
// tabBar // tabBar
if (globalUnreadListenerManager.isInitialized) { // if (globalUnreadListenerManager.isInitialized) {
await globalUnreadListenerManager.refreshBadge(); // await globalUnreadListenerManager.refreshBadge();
} // }
}); });
// //
@ -544,12 +544,12 @@ onUnmounted(() => {
updateTimer = null; updateTimer = null;
} }
// // //
if (globalUnreadListenerManager.isInitialized) { // if (globalUnreadListenerManager.isInitialized) {
globalUnreadListenerManager.removeCallback("onConversationListUpdated", handleConversationListUpdate); // globalUnreadListenerManager.removeCallback("onConversationListUpdated", handleConversationListUpdate);
globalUnreadListenerManager.removeCallback("onMessageReceived", handleMessageReceived); // globalUnreadListenerManager.removeCallback("onMessageReceived", handleMessageReceived);
console.log("【消息列表页】已从回调链移除回调"); // console.log("");
} // }
}); });
</script> </script>

View File

@ -79,7 +79,7 @@ export default defineStore("accountStore", () => {
console.log('IM 初始化成功'); console.log('IM 初始化成功');
// IM 初始化成功后,设置全局未读消息监听 // IM 初始化成功后,设置全局未读消息监听
globalUnreadListenerManager.setup(); // globalUnreadListenerManager.setup();
return true; return true;
} catch (error) { } catch (error) {
@ -99,7 +99,7 @@ export default defineStore("accountStore", () => {
// 清除全局未读监听 // 清除全局未读监听
if (globalUnreadListenerManager.isInitialized) { if (globalUnreadListenerManager.isInitialized) {
globalUnreadListenerManager.destroy(); // globalUnreadListenerManager.destroy();
} }
} catch (error) { } catch (error) {
console.error('退出腾讯IM失败:', error); console.error('退出腾讯IM失败:', error);