From 3d516df01e8b67690beef603a9626729bb74670f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Wed, 31 Jul 2024 15:52:28 +0800 Subject: [PATCH] try fix #183 --- src/core/src/apis/msg.ts | 7 ++++++- src/core/src/services/NodeIKernelMsgService.ts | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/core/src/apis/msg.ts b/src/core/src/apis/msg.ts index 70c9fc73..660a2a7f 100644 --- a/src/core/src/apis/msg.ts +++ b/src/core/src/apis/msg.ts @@ -244,9 +244,14 @@ export class NTQQMsgApi { } return false; }).catch(logError); - await napCatCore.session.getMsgService().sendMsg("0", peer, msgElements, new Map()); + let data = await napCatCore.session.getMsgService().sendMsg("0", peer, msgElements, new Map()); //await NTEventDispatch.CallNoListenerEvent('NodeIKernelMsgService/sendMsg', timeout, "0", peer, msgElements, new Map()); await EventListener; + if (data.result !== 0 && rawMsg) { + //发送失败msgid + await napCatCore.session.getMsgService().deleteMsg(peer, [rawMsg.msgId]); + throw new Error('发送消息失败'); + } await EventListener2; // console.log("rawMsg", JSON.stringify(rawMsg, null, 4)); if (rawMsg) { diff --git a/src/core/src/services/NodeIKernelMsgService.ts b/src/core/src/services/NodeIKernelMsgService.ts index 3327dc5b..7454bc48 100644 --- a/src/core/src/services/NodeIKernelMsgService.ts +++ b/src/core/src/services/NodeIKernelMsgService.ts @@ -5,7 +5,7 @@ import { GeneralCallResult } from '@/core/services/common'; export interface NodeIKernelMsgService { addKernelMsgListener(nodeIKernelMsgListener: NodeIKernelMsgListener): number; - sendMsg(msgId: string, peer: Peer, msgElements: SendMessageElement[], map: Map): Promise; + sendMsg(msgId: string, peer: Peer, msgElements: SendMessageElement[], map: Map): Promise; recallMsg(peer: Peer, msgIds: string[]): Promise; @@ -117,7 +117,7 @@ export interface NodeIKernelMsgService { addLocalRecordMsg(Peer: Peer, msgId: string, ele: MessageElement, attr: Array | number, front: boolean): Promise; - deleteMsg(...args: unknown[]): unknown; + deleteMsg(Peer: Peer, msgIds: Array): Promise; updateElementExtBufForUI(...args: unknown[]): unknown;