From 29695b649aa58bb8a5bbef5aef9732283aecc24c Mon Sep 17 00:00:00 2001 From: YunaiV Date: Mon, 27 Apr 2026 23:54:41 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(im):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=BE=A4=E6=B6=88=E6=81=AF=E7=9A=84=E5=9B=9E=E6=89=A7=E5=BC=80?= =?UTF-8?q?=E5=85=B3=EF=BC=8C=E9=80=9A=E8=BF=87=E5=90=91=E4=B8=8B=E7=AE=AD?= =?UTF-8?q?=E5=A4=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../im/home/composables/useMessageSender.ts | 4 +-- .../components/input/MessageInput.vue | 33 +++++++++++++++++-- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/src/views/im/home/composables/useMessageSender.ts b/src/views/im/home/composables/useMessageSender.ts index b745101eb..8a9f922e5 100644 --- a/src/views/im/home/composables/useMessageSender.ts +++ b/src/views/im/home/composables/useMessageSender.ts @@ -18,7 +18,7 @@ import { useUserStore } from '@/store/modules/user' /** 非文本消息的扩展选项(通用) */ interface SendExtOptions { atUserIds?: number[] // 群聊 @ 的用户编号列表 - needReceipt?: boolean // 是否需要群回执(默认 false) + receipt?: boolean // 是否需要群回执(默认 false) targetId?: number // 覆盖默认的 targetId } @@ -110,7 +110,7 @@ export const useMessageSender = () => { type, content, atUserIds: options?.atUserIds, - receipt: options?.needReceipt + receipt: options?.receipt }) conversationStore.ackMessage(conversation.type, realTarget, clientMessageId, { id: data.id, diff --git a/src/views/im/home/pages/conversation/components/input/MessageInput.vue b/src/views/im/home/pages/conversation/components/input/MessageInput.vue index d8244609c..f49bb09d7 100644 --- a/src/views/im/home/pages/conversation/components/input/MessageInput.vue +++ b/src/views/im/home/pages/conversation/components/input/MessageInput.vue @@ -68,7 +68,24 @@ - 发 送 + + + 发 送 + + + + 发 送 0 ? { atUserIds } : undefined) + await send(text, { + atUserIds: atUserIds.length > 0 ? atUserIds : undefined, + receipt: options?.receipt + }) +} + +/** 发送按钮 dropdown 菜单回调:选"发送回执消息"时这一次带 receipt=true,每次独立决定 */ +function handleSendCommand(command: string) { + if (command === 'receipt') { + handleSend({ receipt: true }) + } } // ==================== 选区 / 插入 ====================