fix(Talk): 头像绑定改用 :userUUID,修正 prop 匹配以显示 GERP 系统头像

This commit is contained in:
TermiNexus committed 2026-10-13 17:47:32 +08:00
1 parent 07992a5621
commit bff4a9f743
2 files changed
+6 -6

No files matched your search

+3 -3
View File
@@ -1006,7 +1006,7 @@ onBeforeUnmount(() => {
@click="OpenConversation(conversation)"
>
<TalkAvatar
:user-uuid="ConversationAvatarUUID(conversation)"
:userUUID="ConversationAvatarUUID(conversation)"
:name="ConversationTitle(conversation)"
:seed="conversation.ConversationUUID"
/>
@@ -1095,7 +1095,7 @@ onBeforeUnmount(() => {
{{ message.Content }}
</div>
<div v-else class="talk-msg-row" :class="{ self: IsSelf(message) }">
<TalkAvatar :user-uuid="message.SenderUUID" :name="message.SenderName" size="small" />
<TalkAvatar :userUUID="message.SenderUUID" :name="message.SenderName" size="small" />
<div class="talk-msg-body">
<div v-if="IsGroupChat && !IsSelf(message)" class="talk-msg-sender">
{{ message.SenderName }}
@@ -1196,7 +1196,7 @@ onBeforeUnmount(() => {
</div>
<el-scrollbar class="talk-members-scroll">
<div v-for="member in SortedMembers" :key="member.UserUUID" class="talk-member-item">
<TalkAvatar :user-uuid="member.UserUUID" :name="MemberName(member)" size="small" />
<TalkAvatar :userUUID="member.UserUUID" :name="MemberName(member)" size="small" />
<span class="talk-member-name">{{ MemberName(member) }}</span>
<el-tag v-if="member.MemberRole === TalkMemberRole.Owner" size="small" type="warning">群主</el-tag>
<el-tag v-else-if="member.MemberRole === TalkMemberRole.Admin" size="small" type="success">
+3 -3
View File
@@ -5,9 +5,9 @@
* 传入 userUUID 时以系统头像(/Query/GetELTUserAvatar)呈现;
* 群聊等无对应用户的场景(userUUID 为空)或头像加载失败时,回退为首字母色块。
*
* 注意:prop 名必须为 camelCase(与仓库其它组件一致),否则模板中用 kebab-case
* 绑定时 Vue 只会按 camelize(key)(user-uuid → userUuid)匹配声明键,PascalCase
* 声明将永远取不到值。
* 注意:prop 名与模板绑定必须同形(与 UserDetailPanel 一致,调用方写作 :userUUID)。
* Vue 只按 camelize(属性名) 匹配声明键——`user-uuid` 会被 camelize 成 `userUuid`,
* 与声明键 `userUUID` 不相等,故不能用 kebab-case 绑定本组件。
*/
import { computed, ref, watch } from 'vue'
import { buildTalkAvatarUrl } from '@/api/talk'