Refactor flash module types and enums

Standardized TypeScript interface property formatting in flash.ts, flash data, and wrapper files. Introduced the UploadSceneType enum for upload scene types, replacing hardcoded numeric values. Improved type annotations and consistency across the flash API and related data structures.
This commit is contained in:
手瓜一十雪 2026-01-24 14:25:24 +08:00
parent 562665c8ca
commit 04654b6cbf
3 changed files with 232 additions and 218 deletions

View File

@ -4,6 +4,7 @@ import {
FileListResponse,
FlashFileSetInfo,
SendStatus,
UploadSceneType,
} from '@/napcat-core/data/flash';
import { Peer } from '@/napcat-core/types';
@ -22,13 +23,13 @@ export class NTQQFlashApi {
* @param thumbnailPath
* @param filesetName
*/
async createFlashTransferUploadTask (fileListToUpload: string[], thumbnailPath: string, filesetName: string): Promise < GeneralCallResult & {
async createFlashTransferUploadTask (fileListToUpload: string[], thumbnailPath: string, filesetName: string): Promise<GeneralCallResult & {
createFlashTransferResult: createFlashTransferResult;
seq: number;
} > {
}> {
const flashService = this.context.session.getFlashTransferService();
const timestamp : number = Date.now();
const timestamp: number = Date.now();
const selfInfo = this.core.selfInfo;
console.log(thumbnailPath);
@ -54,7 +55,7 @@ export class NTQQFlashApi {
thumbnailPath,
},
],
uploadSceneType: 10,
uploadSceneType: UploadSceneType.KUPLOADSCENEAIOFILESELECTOR, // 不知道怎么枚举 先硬编码吧 (PC QQ 10)
detectPrivacyInfoResult: {
exists: false,
allDetectResults: new Map(),
@ -75,9 +76,9 @@ export class NTQQFlashApi {
*
* @param fileSetId
*/
async downloadFileSetBySetId (fileSetId: string): Promise < GeneralCallResult & {
extraInfo: unknown
} > {
async downloadFileSetBySetId (fileSetId: string): Promise<GeneralCallResult & {
extraInfo: unknown;
}> {
const flashService = this.context.session.getFlashTransferService();
const result = await flashService.startFileSetDownload(fileSetId, 1, { isIncludeCompressInnerFiles: false }); // 为了方便,暂时硬编码
@ -93,7 +94,7 @@ export class NTQQFlashApi {
*
* @param fileSetId
*/
async getShareLinkBySetId (fileSetId: string): Promise < GeneralCallResult & {
async getShareLinkBySetId (fileSetId: string): Promise<GeneralCallResult & {
shareLink: string;
expireTimestamp: string;
}> {
@ -112,9 +113,9 @@ export class NTQQFlashApi {
* id
* @param shareCode
*/
async fromShareLinkFindSetId (shareCode: string): Promise < GeneralCallResult & {
async fromShareLinkFindSetId (shareCode: string): Promise<GeneralCallResult & {
fileSetId: string;
} > {
}> {
const flashService = this.context.session.getFlashTransferService();
const result = await flashService.getFileSetIdByCode(shareCode);
@ -131,7 +132,7 @@ export class NTQQFlashApi {
* == GeneralCallResult!!! ==
* @param fileSetId
*/
async getFileListBySetId (fileSetId: string): Promise < FileListResponse > {
async getFileListBySetId (fileSetId: string): Promise<FileListResponse> {
const flashService = this.context.session.getFlashTransferService();
const requestArg = {
@ -174,11 +175,11 @@ export class NTQQFlashApi {
*
* @param fileSetId
*/
async getFileSetIndoBySetId (fileSetId: string): Promise < GeneralCallResult & {
async getFileSetIndoBySetId (fileSetId: string): Promise<GeneralCallResult & {
seq: number;
isCache: boolean;
fileSet: FlashFileSetInfo;
} > {
}> {
const flashService = this.context.session.getFlashTransferService();
const requestArg = {
@ -199,13 +200,13 @@ export class NTQQFlashApi {
* @param fileSetId
* @param peer
*/
async sendFlashMessage (fileSetId: string, peer:Peer): Promise < {
async sendFlashMessage (fileSetId: string, peer: Peer): Promise<{
errCode: number,
errMsg: string,
rsp: {
sendStatus: SendStatus[]
}
} > {
sendStatus: SendStatus[];
};
}> {
const flashService = this.context.session.getFlashTransferService();
const target = {
@ -233,9 +234,9 @@ export class NTQQFlashApi {
* @param fileSetId
* @param options
*/
async getFileTransUrl (fileSetId: string, options: { fileName?: string; fileIndex?: number }): Promise < GeneralCallResult & {
async getFileTransUrl (fileSetId: string, options: { fileName?: string; fileIndex?: number; }): Promise<GeneralCallResult & {
transferUrl: string;
} > {
}> {
const flashService = this.context.session.getFlashTransferService();
const result = await this.getFileListBySetId(fileSetId);

View File

@ -1,5 +1,5 @@
export interface FlashBaseRequest {
fileSetId: string
fileSetId: string;
}
export interface UploaderInfo {
@ -19,14 +19,14 @@ export interface thumbnailInfo {
}
export interface SendTarget {
destType: number // 1私聊
destType: number; // 1私聊
destUin?: string,
destUid: string,
}
export interface SendTargetRequests {
fileSetId: string
targets: SendTarget[]
fileSetId: string;
targets: SendTarget[];
}
export interface DownloadStatusInfo {
@ -59,7 +59,7 @@ export interface DownloadStatusInfo {
downloadTaskId: string,
downloadFilesetName: string,
downloadFileTypeDistribution: string,
downloadFileSizeDistribution: string
downloadFileSizeDistribution: string;
},
albumStorageFailImageNum: number,
albumStorageFailVideoNum: number,
@ -67,8 +67,8 @@ export interface DownloadStatusInfo {
albumStorageSucImageNum: number,
albumStorageSucVideoNum: number,
albumStorageSucFileIdList: [],
albumStorageFileNum: number
}
albumStorageFileNum: number;
};
}
export interface physicalInfo {
@ -95,94 +95,94 @@ export interface uploadInfo {
svrRrrCode: number,
errMsg: string,
isNeedDelDeviceInfo: boolean,
thumbnailUploadState: number
thumbnailUploadState: number;
isSecondHit: boolean,
hasModifiedErr: boolean,
}
export interface folderUploadInfo {
totalUploadedFileSize: string
successCount: number
failedCount: number
totalUploadedFileSize: string;
successCount: number;
failedCount: number;
}
export interface folderDownloadInfo {
totalDownloadedFileSize: string
totalFileSize: string
totalDownloadFileCount: number
successCount: number
failedCount: number
pausedCount: number
cancelCount: number
downloadingCount: number
partialDownloadCount: number
curLevelDownloadedFileCount: number
curLevelUnDownloadedFileCount: number
totalDownloadedFileSize: string;
totalFileSize: string;
totalDownloadFileCount: number;
successCount: number;
failedCount: number;
pausedCount: number;
cancelCount: number;
downloadingCount: number;
partialDownloadCount: number;
curLevelDownloadedFileCount: number;
curLevelUnDownloadedFileCount: number;
}
export interface compressFileFolderInfo {
downloadStatus: number
saveFileDirPath: string
totalFileCount: string
totalFileSize: string
downloadStatus: number;
saveFileDirPath: string;
totalFileCount: string;
totalFileSize: string;
}
export interface albumStorgeInfo {
status: number
localIdentifier: string
errorCode: number
timeCost: number
status: number;
localIdentifier: string;
errorCode: number;
timeCost: number;
}
export interface FlashOneFileInfo {
fileSetId: string
cliFileId: string // client?? 或许可以换取url
compressedFileFolderId: string
archiveIndex: 0
indexPath: string
isDir: boolean // 文件或者文件夹!!
parentId: string
depth: number // 1
cliFileIndex: number
fileType: number // 枚举!! 已完成枚举!!
name: string
namePinyin: string
isCover: boolean
isCoverOriginal: boolean
fileSize: string
fileCount: number
thumbnail: thumbnailInfo
physical: physicalInfo
srvFileId: string // service?? 服务器上面的id吗
srvParentFileId: string
svrLastUpdateTimestamp: string
downloadInfo: downloadInfo
saveFilePath: string
search_relative_path: string
disk_relative_path: string
uploadInfo: uploadInfo
status: number
uploadStatus: number // 3已上传成功
downloadStatus: number // 0未下载
folderUploadInfo: folderUploadInfo
folderDownloadInfo: folderDownloadInfo
sha1: string
bookmark: string
compressFileFolderInfo: compressFileFolderInfo
uploadPauseReason: string
downloadPauseReason: string
filePhysicalSize: string
thumbnail_sha1: string | null
thumbnail_size: string | null
needAlbumStorage: boolean
albumStorageInfo: albumStorgeInfo
fileSetId: string;
cliFileId: string; // client?? 或许可以换取url
compressedFileFolderId: string;
archiveIndex: 0;
indexPath: string;
isDir: boolean; // 文件或者文件夹!!
parentId: string;
depth: number; // 1
cliFileIndex: number;
fileType: number; // 枚举!! 已完成枚举!!
name: string;
namePinyin: string;
isCover: boolean;
isCoverOriginal: boolean;
fileSize: string;
fileCount: number;
thumbnail: thumbnailInfo;
physical: physicalInfo;
srvFileId: string; // service?? 服务器上面的id吗
srvParentFileId: string;
svrLastUpdateTimestamp: string;
downloadInfo: downloadInfo;
saveFilePath: string;
search_relative_path: string;
disk_relative_path: string;
uploadInfo: uploadInfo;
status: number;
uploadStatus: number; // 3已上传成功
downloadStatus: number; // 0未下载
folderUploadInfo: folderUploadInfo;
folderDownloadInfo: folderDownloadInfo;
sha1: string;
bookmark: string;
compressFileFolderInfo: compressFileFolderInfo;
uploadPauseReason: string;
downloadPauseReason: string;
filePhysicalSize: string;
thumbnail_sha1: string | null;
thumbnail_size: string | null;
needAlbumStorage: boolean;
albumStorageInfo: albumStorgeInfo;
}
export interface fileListsInfo {
parentId: string,
depth: number, // 1
fileList: FlashOneFileInfo[],
paginationInfo: {}
paginationInfo: {};
isEnd: boolean,
isCache: boolean,
}
@ -200,7 +200,20 @@ export interface createFlashTransferResult {
expireTime: string,
expireLeftTime: string,
}
export enum UploadSceneType {
KUPLOADSCENEUNKNOWN,
KUPLOADSCENEFLOATWINDOWRIGHTCLICKMENU,
KUPLOADSCENEFLOATWINDOWDRAG,
KUPLOADSCENEFLOATWINDOWFILESELECTOR,
KUPLOADSCENEFLOATWINDOWSHORTCUTKEYCTRLCV,
KUPLOADSCENEH5LAUNCHCLIENTRIGHTCLICKMENU,
KUPLOADSCENEH5LAUNCHCLIENTDRAG,
KUPLOADSCENEH5LAUNCHCLIENTFILESELECTOR,
KUPLOADSCENEH5LAUNCHCLIENTSHORTCUTKEYCTRLCV,
KUPLOADSCENEAIODRAG,
KUPLOADSCENEAIOFILESELECTOR,
KUPLOADSCENEAIOSHORTCUTKEYCTRLCV
}
export interface StartFlashTaskRequests {
screen: number; // 1 PC-QQ
name?: string;
@ -208,7 +221,7 @@ export interface StartFlashTaskRequests {
permission?: {};
coverPath?: string;
paths: string[]; // 文件的绝对路径,可以是文件夹
excludePaths?: any[];
excludePaths?: string[];
expireLeftTime?: number, // 0
isNeedDelDeviceInfo: boolean,
isNeedDelLocation: boolean,
@ -216,11 +229,11 @@ export interface StartFlashTaskRequests {
path: string,
thumbnailPath: string,
}[],
uploadSceneType: number, // 不知道怎么枚举 先硬编码吧 (PC QQ 10)
uploadSceneType: UploadSceneType, // 不知道怎么枚举 先硬编码吧 (PC QQ 10)
detectPrivacyInfoResult: {
exists: boolean,
allDetectResults: {}
}
allDetectResults: {};
};
}
export interface FileListInfoRequests {
@ -242,8 +255,8 @@ export interface FileListInfoRequests {
sortField: number,
sortOrder: number,
}[],
isNeedPhysicalInfoReady: boolean
}[]
isNeedPhysicalInfoReady: boolean;
}[];
}
export interface FlashFileSetInfo {
@ -262,23 +275,23 @@ export interface FlashFileSetInfo {
urls: [
{
spec: number, // 2
url: string
url: string;
}
],
localCachePath: string
localCachePath: string;
},
uploaders: [
{
uin: string,
nickname: string,
uid: string,
sendEntrance: string
sendEntrance: string;
}
],
expireLeftTime: number,
aiClusteringStatus: {
firstClusteringList: [],
shouldPull: boolean
shouldPull: boolean;
},
createTime: number,
expireTime: number,
@ -288,7 +301,7 @@ export interface FlashFileSetInfo {
uploadInfo: {
totalUploadedFileSize: number,
successCount: number,
failedCount: number
failedCount: number;
},
downloadInfo: {
totalDownloadedFileSize: 0,
@ -300,7 +313,7 @@ export interface FlashFileSetInfo {
cancelCount: 0,
status: 0,
curLevelDownloadedFileCount: number,
curLevelUnDownloadedFileCount: 0
curLevelUnDownloadedFileCount: 0;
},
transferType: number,
isLocalCreate: true,
@ -310,12 +323,12 @@ export interface FlashFileSetInfo {
downloadStatus: 0,
downloadPauseReason: 0,
saveFileSetDir: string,
uploadSceneType: 10,
uploadSceneType: UploadSceneType,
downloadSceneType: 0, // 0 PC-QQ 103 web
retryCount: number,
isMergeShareUpload: 0,
isRemoveDeviceInfo: boolean,
isRemoveLocation: boolean
isRemoveLocation: boolean;
}
export interface SendStatus {
@ -324,5 +337,5 @@ export interface SendStatus {
target: {
destType: number,
destUid: string,
}
};
}

View File

@ -31,75 +31,75 @@ import { NodeIO3MiscService } from './services/NodeIO3MiscService';
import { NodeIKernelFlashTransferService } from './services/NodeIKernelFlashTransferService';
export interface NodeQQNTWrapperUtil {
get(): NodeQQNTWrapperUtil;
get (): NodeQQNTWrapperUtil;
getNTUserDataInfoConfig(): string;
getNTUserDataInfoConfig (): string;
emptyWorkingSet(n: number): void;
emptyWorkingSet (n: number): void;
getSsoCmdOfOidbReq(arg1: number, arg2: number): unknown;
getSsoCmdOfOidbReq (arg1: number, arg2: number): unknown;
getSsoBufferOfOidbReq(...args: unknown[]): unknown; // 有点看不懂参数定义 待补充 好像是三个参数
getSsoBufferOfOidbReq (...args: unknown[]): unknown; // 有点看不懂参数定义 待补充 好像是三个参数
getOidbRspInfo(arg: string): unknown; // 可能是错的
getOidbRspInfo (arg: string): unknown; // 可能是错的
getFileSize(path: string): Promise<number>; // 直接的猜测
getFileSize (path: string): Promise<number>; // 直接的猜测
genFileMd5Buf(arg: string): unknown; // 可能是错的
genFileMd5Buf (arg: string): unknown; // 可能是错的
genFileMd5Hex(path: string): unknown; // 直接的猜测
genFileMd5Hex (path: string): unknown; // 直接的猜测
genFileShaBuf(path: string): unknown; // 直接的猜测
genFileShaBuf (path: string): unknown; // 直接的猜测
genFileCumulateSha1(path: string): unknown; // 直接的猜测
genFileCumulateSha1 (path: string): unknown; // 直接的猜测
genFileShaHex(path: string): unknown; // 直接的猜测
genFileShaHex (path: string): unknown; // 直接的猜测
fileIsExist(path: string): unknown;
fileIsExist (path: string): unknown;
startTrace(path: string): unknown; // 可能是错的
startTrace (path: string): unknown; // 可能是错的
copyFile(src: string, dst: string): unknown;
copyFile (src: string, dst: string): unknown;
genFileShaAndMd5Hex(path: string, unknown: number): unknown; // 可能是错的
genFileShaAndMd5Hex (path: string, unknown: number): unknown; // 可能是错的
setTraceInfo(unknown: unknown): unknown;
setTraceInfo (unknown: unknown): unknown;
encodeOffLine(unknown: unknown): unknown;
encodeOffLine (unknown: unknown): unknown;
decodeOffLine(arg: string): unknown; // 可能是错的 传递hex
decodeOffLine (arg: string): unknown; // 可能是错的 传递hex
DecoderRecentInfo(arg: string): unknown; // 可能是错的 传递hex
DecoderRecentInfo (arg: string): unknown; // 可能是错的 传递hex
getPinyin(arg0: string, arg1: boolean): unknown;
getPinyin (arg0: string, arg1: boolean): unknown;
matchInPinyin(arg0: unknown[], arg1: string): unknown; // 参数特复杂 arg0是个复杂数据类型
matchInPinyin (arg0: unknown[], arg1: string): unknown; // 参数特复杂 arg0是个复杂数据类型
makeDirByPath(arg0: string): unknown;
makeDirByPath (arg0: string): unknown;
emptyWorkingSet(arg0: number): unknown; // 参数是UINT32
emptyWorkingSet (arg0: number): unknown; // 参数是UINT32
runProcess(arg0: string, arg1: boolean): unknown;
runProcess (arg0: string, arg1: boolean): unknown;
runProcessArgs(arg0: string, arg1: { [key: string]: string }, arg2: boolean): unknown;
runProcessArgs (arg0: string, arg1: { [key: string]: string; }, arg2: boolean): unknown;
calcThumbSize(arg0: number, arg1: number, arg2: unknown): unknown;
calcThumbSize (arg0: number, arg1: number, arg2: unknown): unknown;
fullWordToHalfWord(word: string): unknown;
fullWordToHalfWord (word: string): unknown;
getNTUserDataInfoConfig(): unknown;
getNTUserDataInfoConfig (): unknown;
pathIsReadableAndWriteable(path: string): unknown; // 直接的猜测
pathIsReadableAndWriteable (path: string): unknown; // 直接的猜测
resetUserDataSavePathToDocument(): unknown;
resetUserDataSavePathToDocument (): unknown;
getSoBuildInfo(): unknown; // 例如 0[0]_d491dc01e0a_0
getSoBuildInfo (): unknown; // 例如 0[0]_d491dc01e0a_0
registerCountInstruments(arg0: string, arg1: string[], arg2: number, arg3: number): unknown;
registerCountInstruments (arg0: string, arg1: string[], arg2: number, arg3: number): unknown;
registerValueInstruments(arg0: string, arg1: string[], arg2: number, arg3: number): unknown;
registerValueInstruments (arg0: string, arg1: string[], arg2: number, arg3: number): unknown;
registerValueInstrumentsWithBoundary(
registerValueInstrumentsWithBoundary (
arg0: string,
arg1: unknown,
arg2: unknown,
@ -107,7 +107,7 @@ export interface NodeQQNTWrapperUtil {
arg4: number,
): unknown;
reportCountIndicators(
reportCountIndicators (
arg0: string,
arg1: Map<unknown, unknown>,
arg2: string,
@ -115,7 +115,7 @@ export interface NodeQQNTWrapperUtil {
arg4: boolean,
): unknown;
reportValueIndicators(
reportValueIndicators (
arg0: string,
arg1: Map<unknown, unknown>,
arg2: string,
@ -123,154 +123,154 @@ export interface NodeQQNTWrapperUtil {
arg4: number,
): unknown;
checkNewUserDataSaveDirAvailable(arg0: string): unknown;
checkNewUserDataSaveDirAvailable (arg0: string): unknown;
copyUserData(arg0: string, arg1: string): Promise<unknown>;
copyUserData (arg0: string, arg1: string): Promise<unknown>;
setUserDataSaveDirectory(arg0: string): Promise<unknown>;
setUserDataSaveDirectory (arg0: string): Promise<unknown>;
hasOtherRunningQQProcess(): boolean;
hasOtherRunningQQProcess (): boolean;
quitAllRunningQQProcess(arg: boolean): unknown;
quitAllRunningQQProcess (arg: boolean): unknown;
checkNvidiaConfig(): unknown;
checkNvidiaConfig (): unknown;
repairNvidiaConfig(): unknown;
repairNvidiaConfig (): unknown;
getNvidiaDriverVersion(): unknown;
getNvidiaDriverVersion (): unknown;
isNull(): unknown;
isNull (): unknown;
createThumbnailImage(
createThumbnailImage (
serviceName: string,
filePath: string,
targetPath: string,
imgSize: {
width: number,
height: number
height: number;
},
fileFormat: string,
arg: unknown, // null
): Promise < GeneralCallResult & { targetPath?: string } >;
arg?: number, // null undefined都行
): Promise<GeneralCallResult & { targetPath?: string; }>;
}
export interface NodeIQQNTStartupSessionWrapper {
create(): NodeIQQNTStartupSessionWrapper;
stop(): void;
start(): void;
createWithModuleList(uk: unknown): unknown;
getSessionIdList(): unknown;
create (): NodeIQQNTStartupSessionWrapper;
stop (): void;
start (): void;
createWithModuleList (uk: unknown): unknown;
getSessionIdList (): unknown;
}
export interface NodeIQQNTWrapperSession {
getNTWrapperSession(str: string): NodeIQQNTWrapperSession;
getNTWrapperSession (str: string): NodeIQQNTWrapperSession;
get(): NodeIQQNTWrapperSession;
get (): NodeIQQNTWrapperSession;
new(): NodeIQQNTWrapperSession;
create(): NodeIQQNTWrapperSession;
create (): NodeIQQNTWrapperSession;
init(
init (
wrapperSessionInitConfig: WrapperSessionInitConfig,
nodeIDependsAdapter: NodeIDependsAdapter,
nodeIDispatcherAdapter: NodeIDispatcherAdapter,
nodeIKernelSessionListener: NodeIKernelSessionListener,
): void;
startNT(session: number): void;
startNT (session: number): void;
startNT(): void;
startNT (): void;
getBdhUploadService(): unknown;
getBdhUploadService (): unknown;
getECDHService(): NodeIKernelECDHService;
getECDHService (): NodeIKernelECDHService;
getMsgService(): NodeIKernelMsgService;
getMsgService (): NodeIKernelMsgService;
getProfileService(): NodeIKernelProfileService;
getProfileService (): NodeIKernelProfileService;
getProfileLikeService(): NodeIKernelProfileLikeService;
getProfileLikeService (): NodeIKernelProfileLikeService;
getGroupService(): NodeIKernelGroupService;
getGroupService (): NodeIKernelGroupService;
getStorageCleanService(): NodeIKernelStorageCleanService;
getStorageCleanService (): NodeIKernelStorageCleanService;
getBuddyService(): NodeIKernelBuddyService;
getBuddyService (): NodeIKernelBuddyService;
getRobotService(): NodeIKernelRobotService;
getRobotService (): NodeIKernelRobotService;
getTicketService(): NodeIKernelTicketService;
getTicketService (): NodeIKernelTicketService;
getTipOffService(): NodeIKernelTipOffService;
getTipOffService (): NodeIKernelTipOffService;
getNodeMiscService(): NodeIKernelNodeMiscService;
getNodeMiscService (): NodeIKernelNodeMiscService;
getRichMediaService(): NodeIKernelRichMediaService;
getRichMediaService (): NodeIKernelRichMediaService;
getMsgBackupService(): NodeIKernelMsgBackupService;
getMsgBackupService (): NodeIKernelMsgBackupService;
getAlbumService(): NodeIKernelAlbumService;
getAlbumService (): NodeIKernelAlbumService;
getTianShuService(): NodeIKernelTianShuService;
getTianShuService (): NodeIKernelTianShuService;
getUnitedConfigService(): NodeIKernelUnitedConfigService;
getUnitedConfigService (): NodeIKernelUnitedConfigService;
getSearchService(): NodeIKernelSearchService;
getSearchService (): NodeIKernelSearchService;
getFlashTransferService(): NodeIKernelFlashTransferService;
getFlashTransferService (): NodeIKernelFlashTransferService;
getDirectSessionService(): unknown;
getDirectSessionService (): unknown;
getRDeliveryService(): unknown;
getRDeliveryService (): unknown;
getAvatarService(): NodeIKernelAvatarService;
getAvatarService (): NodeIKernelAvatarService;
getFeedChannelService(): unknown;
getFeedChannelService (): unknown;
getYellowFaceService(): unknown;
getYellowFaceService (): unknown;
getCollectionService(): NodeIKernelCollectionService;
getCollectionService (): NodeIKernelCollectionService;
getSettingService(): unknown;
getSettingService (): unknown;
getQiDianService(): unknown;
getQiDianService (): unknown;
getFileAssistantService(): unknown;
getFileAssistantService (): unknown;
getGuildService(): unknown;
getGuildService (): unknown;
getSkinService(): unknown;
getSkinService (): unknown;
getTestPerformanceService(): NodeIkernelTestPerformanceService;
getTestPerformanceService (): NodeIkernelTestPerformanceService;
getQQPlayService(): unknown;
getQQPlayService (): unknown;
getDbToolsService(): unknown;
getDbToolsService (): unknown;
getUixConvertService(): NodeIKernelUixConvertService;
getUixConvertService (): NodeIKernelUixConvertService;
getOnlineStatusService(): unknown;
getOnlineStatusService (): unknown;
getRemotingService(): unknown;
getRemotingService (): unknown;
getGroupTabService(): unknown;
getGroupTabService (): unknown;
getGroupSchoolService(): unknown;
getGroupSchoolService (): unknown;
getLiteBusinessService(): unknown;
getLiteBusinessService (): unknown;
getGuildMsgService(): unknown;
getGuildMsgService (): unknown;
getLockService(): unknown;
getLockService (): unknown;
getMSFService(): NodeIKernelMSFService;
getMSFService (): NodeIKernelMSFService;
getGuildHotUpdateService(): unknown;
getGuildHotUpdateService (): unknown;
getAVSDKService(): unknown;
getAVSDKService (): unknown;
getRecentContactService(): NodeIKernelRecentContactService;
getRecentContactService (): NodeIKernelRecentContactService;
getConfigMgrService(): unknown;
getConfigMgrService (): unknown;
}
export interface EnginInitDesktopConfig {
@ -284,20 +284,20 @@ export interface EnginInitDesktopConfig {
global_path_config: {
desktopGlobalPath: string;
};
thumb_config: { maxSide: 324; minSide: 48; longLimit: 6; density: 2 };
thumb_config: { maxSide: 324; minSide: 48; longLimit: 6; density: 2; };
}
export interface NodeIQQNTWrapperEngine {
get(): NodeIQQNTWrapperEngine;
get (): NodeIQQNTWrapperEngine;
initWithDeskTopConfig(config: EnginInitDesktopConfig, nodeIGlobalAdapter: NodeIGlobalAdapter): void;
initWithDeskTopConfig (config: EnginInitDesktopConfig, nodeIGlobalAdapter: NodeIGlobalAdapter): void;
}
export interface WrapperNodeApi {
NodeIO3MiscService: NodeIO3MiscService;
NodeQQNTWrapperUtil: NodeQQNTWrapperUtil;
NodeIQQNTWrapperSession: NodeIQQNTWrapperSession;
NodeIQQNTStartupSessionWrapper: NodeIQQNTStartupSessionWrapper
NodeIQQNTStartupSessionWrapper: NodeIQQNTStartupSessionWrapper;
NodeIQQNTWrapperEngine: NodeIQQNTWrapperEngine;
NodeIKernelLoginService: NodeIKernelLoginService;