diff --git a/pages/message/hooks/use-group-chat.js b/pages/message/hooks/use-group-chat.js index a9b59e5..beca78e 100644 --- a/pages/message/hooks/use-group-chat.js +++ b/pages/message/hooks/use-group-chat.js @@ -66,20 +66,23 @@ export default function useGroupChat(groupID) { teamId: groupResult.data.teamId } - // 2. 如果有teamId,获取团队成员头像 + // 2. 如果有teamId,获取团队成员头像和名称 if (groupResult.data.teamId) { - const avatarMap = await teamStore.getTeamMemberAvatarsAndName(groupResult.data.teamId) + const memberMap = await teamStore.getTeamMemberAvatarsAndName(groupResult.data.teamId) // 3. 存储团队成员ID列表 - teamMemberIds.value = Object.keys(avatarMap) + teamMemberIds.value = Object.keys(memberMap) - // 4. 构建团队成员列表 - members.value = teamMemberIds.value.map(userId => ({ - id: userId, - name: userId, // 这里可以从其他地方获取真实姓名 - avatar: avatarMap[userId] || '', - isTeamMember: true - })) + // 4. 构建团队成员列表(从返回的 { userId: { avatar, name } } 中提取) + members.value = teamMemberIds.value.map(userId => { + const memberInfo = memberMap[userId] || {} + return { + id: userId, + name: memberInfo.name || userId, // 使用返回的 name,如果没有则用 userId + avatar: memberInfo.avatar || '', // 使用返回的 avatar + isTeamMember: true + } + }) // 5. 添加患者信息(使用默认患者头像) if (groupResult.data.patient) { diff --git a/store/team.js b/store/team.js index e5dde76..036ccf5 100644 --- a/store/team.js +++ b/store/team.js @@ -34,7 +34,7 @@ export default defineStore("teamStore", () => { teams.value = res && Array.isArray(res.data) ? res.data : []; } - // 获取团队成员头像映射 + // 获取团队成员头像和名称映射 async function getTeamMemberAvatarsAndName(teamId) { if (!teamId || !account.value?.corpId) return {}; const res = await api('getTeamMemberAvatarsAndName', { @@ -42,7 +42,7 @@ export default defineStore("teamStore", () => { corpId: account.value.corpId }); if (res && res.success && res.data) { - return res.data; // 返回 { userId: avatar } 的映射对象 + return res.data; // 返回 { userId: { avatar: "url", name: "医生名称" } } 的映射对象 } return {}; }