From f9d02d67a67d84ac98ba37900b7d45362bb1ae6d Mon Sep 17 00:00:00 2001 From: wangyifeng <812766448@qq.com> Date: Tue, 10 Jun 2025 17:36:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=92=A4=E5=9B=9E=E3=80=81?= =?UTF-8?q?=E7=BE=A4=E5=85=AC=E5=91=8A=E3=80=81=E8=BD=AC=E5=8F=91=E7=AD=89?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=B6=88=E6=81=AF=E7=9A=84=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/talk/ForwardRecord.vue | 10 +- .../talk/message/ForwardMessage.vue | 20 ++- .../talk/message/GroupNoticeMessage.vue | 41 +++++-- src/components/talk/message/RevokeMessage.vue | 114 ++++++++++++++++-- src/event/revoke.js | 12 ++ src/types/chat.ts | 4 +- .../message/inner/panel/PanelContent.vue | 2 + 7 files changed, 175 insertions(+), 28 deletions(-) diff --git a/src/components/talk/ForwardRecord.vue b/src/components/talk/ForwardRecord.vue index ae41bf7..ceeba60 100644 --- a/src/components/talk/ForwardRecord.vue +++ b/src/components/talk/ForwardRecord.vue @@ -16,12 +16,16 @@ const props = defineProps({ createdAt: { type: String, required: false - } + }, + modalTitle: { + type: String, + required: true + }, }) const isShow=defineModel('show') const { showUserInfoModal } = useInject() const items = ref([]) -const title = ref('会话记录') +const title = ref(props?.modalTitle || '会话记录') const onMaskClick = () => { isShow.value=false @@ -30,7 +34,7 @@ const onMaskClick = () => { const onLoadData = () => { ServeGetForwardRecords({ msg_id: props.msgId, - biz_date: parseTime(new Date(props.createdAt), '{y}{m}') + biz_date: parseTime(new Date(props.createdAt || ''), '{y}{m}') }).then((res) => { if (res.code == 200) { items.value = res.data.items || [] diff --git a/src/components/talk/message/ForwardMessage.vue b/src/components/talk/message/ForwardMessage.vue index 5249025..25daf3e 100644 --- a/src/components/talk/message/ForwardMessage.vue +++ b/src/components/talk/message/ForwardMessage.vue @@ -12,7 +12,13 @@ const props = defineProps<{ const isShowRecord = ref(false) const title = computed(() => { - return [...new Set(props.extra.records.map((v) => v.nickname))].join('、') + const uniqueNames = [...new Set(props.extra.records.map(v => v.nickname))]; + if (uniqueNames.length <= 2) { + return uniqueNames.join('和'); + } else { + return uniqueNames.slice(0, 2).join('和') + '等'; + } + // return [...new Set(props.extra.records.map((v) => v.nickname))].join('和') }) const onClick = () => { @@ -21,7 +27,7 @@ const onClick = () => { @@ -41,19 +47,21 @@ const onClick = () => { .im-message-forward { width: 250px; min-height: 95px; - max-height: 150px; + max-height: 190px; border-radius: 10px; padding: 8px 10px; border: 1px solid var(--im-message-border-color); user-select: none; .title { - height: 30px; + max-height: 60px; line-height: 30px; font-size: 15px; overflow: hidden; text-overflow: ellipsis; - white-space: nowrap; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; font-weight: 400; margin-bottom: 5px; } diff --git a/src/components/talk/message/GroupNoticeMessage.vue b/src/components/talk/message/GroupNoticeMessage.vue index 520c2f2..1b64932 100644 --- a/src/components/talk/message/GroupNoticeMessage.vue +++ b/src/components/talk/message/GroupNoticeMessage.vue @@ -11,12 +11,20 @@ defineProps<{ let show = ref(false)