From 7a4805b4647a351586617c67201dc9f0abee7a74 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: Thu, 14 Nov 2024 10:57:57 +0800 Subject: [PATCH] refactor: registerListen --- src/common/event.ts | 8 ++++---- src/core/apis/group.ts | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/common/event.ts b/src/common/event.ts index 98686a5b..8a501b4b 100644 --- a/src/common/event.ts +++ b/src/common/event.ts @@ -21,9 +21,9 @@ type FuncKeys = Extract< export type ListenerClassBase = Record; export class NTEventWrapper { - private WrapperSession: NodeIQQNTWrapperSession | undefined; //WrapperSession - private listenerManager: Map = new Map(); //ListenerName-Unique -> Listener实例 - private EventTask = new Map>>(); //tasks ListenerMainName -> ListenerSubName-> uuid -> {timeout,createtime,func} + private readonly WrapperSession: NodeIQQNTWrapperSession | undefined; //WrapperSession + private readonly listenerManager: Map = new Map(); //ListenerName-Unique -> Listener实例 + private readonly EventTask = new Map>>(); //tasks ListenerMainName -> ListenerSubName-> uuid -> {timeout,createtime,func} constructor( wrapperSession: NodeIQQNTWrapperSession, @@ -120,9 +120,9 @@ export class NTEventWrapper { ListenerType extends (...args: any) => any = EnsureFunc, >( listenerAndMethod: `${Listener}/${ListenerMethod}`, + checker: (...args: Parameters) => boolean, waitTimes = 1, timeout = 5000, - checker: (...args: Parameters) => boolean, ) { return new Promise>((resolve, reject) => { const ListenerNameList = listenerAndMethod.split('/'); diff --git a/src/core/apis/group.ts b/src/core/apis/group.ts index 93fb792d..596d2003 100644 --- a/src/core/apis/group.ts +++ b/src/core/apis/group.ts @@ -55,7 +55,7 @@ export class NTQQGroupApi { }, pskey); } async getGroupShutUpMemberList(groupCode: string) { - const data = this.core.eventWrapper.registerListen('NodeIKernelGroupListener/onShutUpMemberListChanged', 1, 1000, (group_id) => group_id === groupCode); + const data = this.core.eventWrapper.registerListen('NodeIKernelGroupListener/onShutUpMemberListChanged', (group_id) => group_id === groupCode, 1, 1000); this.context.session.getGroupService().getGroupShutUpMemberList(groupCode); return (await data)[1]; } @@ -259,9 +259,9 @@ export class NTQQGroupApi { async getGroupMemberV2(GroupCode: string, uid: string, forced = false) { const Listener = this.core.eventWrapper.registerListen( 'NodeIKernelGroupListener/onMemberInfoChange', + (params, _, members) => params === GroupCode && members.size > 0, 1, forced ? 5000 : 250, - (params, _, members) => params === GroupCode && members.size > 0, ); const retData = await ( this.core.eventWrapper @@ -325,7 +325,7 @@ export class NTQQGroupApi { hasNext: boolean | undefined; }> { const sceneId = this.context.session.getGroupService().createMemberListScene(groupQQ, 'groupMemberList_MainWindow_1'); - const once = this.core.eventWrapper.registerListen('NodeIKernelGroupListener/onMemberListChange', 0, timeout, (params) => params.sceneId === sceneId) + const once = this.core.eventWrapper.registerListen('NodeIKernelGroupListener/onMemberListChange', (params) => params.sceneId === sceneId, 0, timeout) .catch(() => { }); const result = await this.context.session.getGroupService().getNextMemberList(sceneId, undefined, num); if (result.errCode !== 0) { @@ -353,7 +353,7 @@ export class NTQQGroupApi { listenerMode: boolean; }> { const sceneId = this.context.session.getGroupService().createMemberListScene(groupQQ, 'groupMemberList_MainWindow_1'); - const once = this.core.eventWrapper.registerListen('NodeIKernelGroupListener/onMemberListChange', 0, timeout, (params) => params.sceneId === sceneId) + const once = this.core.eventWrapper.registerListen('NodeIKernelGroupListener/onMemberListChange', (params) => params.sceneId === sceneId, 0, timeout) .catch(() => { }); const result = await this.context.session.getGroupService().getNextMemberList(sceneId, undefined, num); if (result.errCode !== 0) {