From 881d88f4ad1f65edf235db428d60bfaf30597182 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: Sat, 24 Aug 2024 22:12:14 +0800 Subject: [PATCH] feat: quitGroupV2 --- src/core/apis/group.ts | 51 +++++++++++--------- src/core/services/NodeIKernelGroupService.ts | 2 + 2 files changed, 31 insertions(+), 22 deletions(-) diff --git a/src/core/apis/group.ts b/src/core/apis/group.ts index abe05b67..ad103098 100644 --- a/src/core/apis/group.ts +++ b/src/core/apis/group.ts @@ -42,12 +42,12 @@ export class NTQQGroupApi { type ListenerType = NodeIKernelGroupListener['onGroupListUpdate']; const [_retData, _updateType, groupList] = await this.core.eventWrapper.CallNormalEvent<(force: boolean) => Promise, ListenerType> ( - 'NodeIKernelGroupService/getGroupList', - 'NodeIKernelGroupListener/onGroupListUpdate', - 1, - 5000, - () => true, - forced, + 'NodeIKernelGroupService/getGroupList', + 'NodeIKernelGroupListener/onGroupListUpdate', + 1, + 5000, + () => true, + forced, ); return groupList; } @@ -219,7 +219,14 @@ export class NTQQGroupApi { // GetMsgByShoretID(ShoretID); -> MsgService.getMsgs(Peer,MsgId,1,false); -> 组出参数 return this.context.session.getGroupService().addGroupEssence(param); } - + async quitGroupV2(GroupCode: string, needDeleteLocalMsg: boolean) { + let param = { + groupCode: GroupCode, + needDeleteLocalMsg: needDeleteLocalMsg + }; + //应该是直接返回不需要Listener的 未经测试 需测试再发布 + return this.context.session.getGroupService().quitGroupV2(param); + } async removeGroupEssence(GroupCode: string, msgId: string) { // 代码没测过 // 需要 ob11msgid->msgId + (peer) -> msgSeq + msgRandom @@ -240,14 +247,14 @@ export class NTQQGroupApi { async getSingleScreenNotifies(num: number) { const [_retData, _doubt, _seq, notifies] = await this.core.eventWrapper.CallNormalEvent<(arg1: boolean, arg2: string, arg3: number) => Promise, (doubt: boolean, seq: string, notifies: GroupNotify[]) => void> ( - 'NodeIKernelGroupService/getSingleScreenNotifies', - 'NodeIKernelGroupListener/onGroupSingleScreenNotifies', - 1, - 5000, - () => true, - false, - '', - num, + 'NodeIKernelGroupService/getSingleScreenNotifies', + 'NodeIKernelGroupListener/onGroupSingleScreenNotifies', + 1, + 5000, + () => true, + false, + '', + num, ); return notifies; } @@ -259,12 +266,12 @@ export class NTQQGroupApi { //return napCatCore.session.getGroupService().getMemberInfo(GroupCode, [uid], forced); const Listener = this.core.eventWrapper.RegisterListen<(params: any) => void> ( - 'NodeIKernelGroupListener/onMemberInfoChange', - 1, - forced ? 5000 : 250, - (params) => { - return params === GroupCode; - }, + 'NodeIKernelGroupListener/onMemberInfoChange', + 1, + forced ? 5000 : 250, + (params) => { + return params === GroupCode; + }, ); const EventFunc = this.core.eventWrapper.createEventFunction('NodeIKernelGroupService/getMemberInfo'); const retData = await EventFunc!(GroupCode, [uid], forced); @@ -333,7 +340,7 @@ export class NTQQGroupApi { 'NodeIKernelGroupService/getGroupRecommendContactArkJson', 5000, GroupCode, - ); + ); return ret.arkJson; } diff --git a/src/core/services/NodeIKernelGroupService.ts b/src/core/services/NodeIKernelGroupService.ts index 7ffaaaf3..a5d4bed5 100644 --- a/src/core/services/NodeIKernelGroupService.ts +++ b/src/core/services/NodeIKernelGroupService.ts @@ -11,6 +11,8 @@ import { GeneralCallResult } from '@/core/services/common'; //高版本的接口不应该随意使用 使用应该严格进行pr审核 同时部分ipc中未出现的接口不要过于依赖 应该做好数据兜底 export interface NodeIKernelGroupService { + quitGroupV2(param: { groupCode: string; needDeleteLocalMsg: boolean; }): Promise; + getMemberCommonInfo(Req: { groupCode: string, startUin: string,