diff --git a/src/core/apis/file.ts b/src/core/apis/file.ts index f3e8585a..5efdeca9 100644 --- a/src/core/apis/file.ts +++ b/src/core/apis/file.ts @@ -436,6 +436,8 @@ export class NTQQFileApi { } async searchForFile(keys: string[]): Promise { + const randomResultId = 100000 + Math.floor(Math.random() * 10000); + let searchId = 0; const [, searchResult] = await this.core.eventWrapper.callNormalEventV2( 'NodeIKernelFileAssistantService/searchFile', 'NodeIKernelFileAssistantListener/onFileSearch', @@ -444,8 +446,14 @@ export class NTQQFileApi { { resultType: 2, pageLimit: 1, - } - ] + }, + randomResultId + ], + (ret) => { + searchId = ret; + return true; + }, + result => result.searchId === searchId && result.resultId === randomResultId, ); return searchResult.resultItems[0]; } diff --git a/src/core/listeners/NodeIKernelFileAssistantListener.ts b/src/core/listeners/NodeIKernelFileAssistantListener.ts index 380c09ed..e21f9e0d 100644 --- a/src/core/listeners/NodeIKernelFileAssistantListener.ts +++ b/src/core/listeners/NodeIKernelFileAssistantListener.ts @@ -25,7 +25,7 @@ export class NodeIKernelFileAssistantListener { export type SearchResultWrapper = { searchId: number, - resultType: number, + resultId: number, hasMore: boolean, resultItems: SearchResultItem[], }; diff --git a/src/core/services/NodeIKernelFileAssistantService.ts b/src/core/services/NodeIKernelFileAssistantService.ts index 83936ffc..8d647264 100644 --- a/src/core/services/NodeIKernelFileAssistantService.ts +++ b/src/core/services/NodeIKernelFileAssistantService.ts @@ -11,7 +11,7 @@ export interface NodeIKernelFileAssistantService { getFileSessionList(): unknown; - searchFile(keywords: string[], params: { resultType: number, pageLimit: number }): unknown; + searchFile(keywords: string[], params: { resultType: number, pageLimit: number }, resultId: number): number; resetSearchFileSortType(arg1: unknown, arg2: unknown, arg3: unknown): unknown;