From 70e7a1c900556df3dfa101edbd4aa8a3cfa76376 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Fri, 8 May 2026 18:27:53 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91IM=EF=BC=9A?= =?UTF-8?q?=E7=BE=A4=E5=A4=B4=E5=83=8F=E6=94=AF=E6=8C=81=E6=88=90=E5=91=98?= =?UTF-8?q?=E5=A4=B4=E5=83=8F=E4=B9=9D=E5=AE=AB=E6=A0=BC=E5=85=9C=E5=BA=95?= =?UTF-8?q?=20=E7=BE=A4=E5=A4=B4=E5=83=8F=E4=B8=BA=E7=A9=BA=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=8F=96=E5=89=8D=209=20=E4=B8=AA=E6=88=90=E5=91=98?= =?UTF-8?q?=E5=A4=B4=E5=83=8F=E5=9C=A8=20Canvas=20=E4=B8=8A=E6=8B=BC?= =?UTF-8?q?=E4=B9=9D=E5=AE=AB=E6=A0=BC=20dataURL=EF=BC=9B=E7=A9=BA?= =?UTF-8?q?=E5=A4=B4=E5=83=8F=20/=20=E5=8A=A0=E8=BD=BD=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E7=9A=84=E6=A0=BC=E5=AD=90=E7=94=BB=E8=B7=9F=20UserAvatar=20?= =?UTF-8?q?=E5=90=8C=E6=AC=BE=E8=89=B2=E5=8D=A1=EF=BC=88=E9=A6=96=E5=AD=97?= =?UTF-8?q?=20+=20charCode=20=E5=93=88=E5=B8=8C=E8=B0=83=E8=89=B2=E6=9D=BF?= =?UTF-8?q?=EF=BC=89=E3=80=82=20-=20=E6=96=B0=E5=A2=9E=20GroupAvatar=20?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=8C=85=E4=B8=80=E5=B1=82=20UserAvatar?= =?UTF-8?q?=EF=BC=9B=E6=8C=89=E5=AE=B9=E5=99=A8=20size=20=C3=97=20DPR=20?= =?UTF-8?q?=E8=87=AA=E9=80=82=E5=BA=94=E7=94=BB=E5=B8=83=E5=83=8F=E7=B4=A0?= =?UTF-8?q?=EF=BC=8C=E9=81=BF=E5=85=8D=20retina=20=E5=B1=8F=E7=B3=8A=20-?= =?UTF-8?q?=20utils/group.ts=20=E5=8A=A0=20buildGroupAvatar=20=E4=B8=8E=20?= =?UTF-8?q?LRU=20=E7=BC=93=E5=AD=98=20facade=EF=BC=88=E4=B8=8A=E9=99=90=20?= =?UTF-8?q?200=EF=BC=89=EF=BC=9Butils/image.ts=20=E6=8A=BD=E5=85=AC?= =?UTF-8?q?=E5=85=B1=20loadImage=EF=BC=9Butils/user.ts=20=E6=8A=BD=20getAv?= =?UTF-8?q?atarText=20/=20getAvatarBgColor=20=E4=BE=9B=20UserAvatar=20?= =?UTF-8?q?=E4=B8=8E=E6=8B=BC=E5=9B=BE=E5=85=B1=E7=94=A8=20-=20GroupItem?= =?UTF-8?q?=20/=20GroupInfo=20/=20ConversationItem=20/=20ConversationPicke?= =?UTF-8?q?rPanel=20=E6=8C=89=E4=BC=9A=E8=AF=9D=E7=B1=BB=E5=9E=8B=E5=88=86?= =?UTF-8?q?=E6=94=AF=E6=8D=A2=E7=94=A8=20GroupAvatar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../im/home/components/group/GroupInfo.vue | 6 +- .../im/home/components/group/GroupItem.vue | 6 +- .../picker/ConversationPickerPanel.vue | 26 ++ .../im/home/components/user/UserAvatar.vue | 33 +- .../conversation/ConversationItem.vue | 9 + src/views/im/utils/group.ts | 299 ++++++++++++++++++ src/views/im/utils/image.ts | 22 +- src/views/im/utils/user.ts | 33 ++ 8 files changed, 398 insertions(+), 36 deletions(-) diff --git a/src/views/im/home/components/group/GroupInfo.vue b/src/views/im/home/components/group/GroupInfo.vue index 2cf079ac1..522e5eb03 100644 --- a/src/views/im/home/components/group/GroupInfo.vue +++ b/src/views/im/home/components/group/GroupInfo.vue @@ -7,11 +7,11 @@ -->
-
import { computed, ref, watch } from 'vue' -import UserAvatar from '../user/UserAvatar.vue' +import GroupAvatar from './GroupAvatar.vue' import GroupMemberGrid from './GroupMemberGrid.vue' import { useUserStore } from '@/store/modules/user' import { CommonStatusEnum } from '@/utils/constants' diff --git a/src/views/im/home/components/group/GroupItem.vue b/src/views/im/home/components/group/GroupItem.vue index 23a7403ae..fc5fe13fe 100644 --- a/src/views/im/home/components/group/GroupItem.vue +++ b/src/views/im/home/components/group/GroupItem.vue @@ -9,11 +9,11 @@ :class="{ '!bg-[#d9ecff] dark:!bg-[var(--el-color-primary-light-8)]': active }" @click="$emit('click', group)" > -
@@ -26,7 +26,7 @@