369 lines
8.8 KiB
TypeScript
369 lines
8.8 KiB
TypeScript
export interface FlashBaseRequest {
|
|
fileSetId: string;
|
|
}
|
|
|
|
export interface UploaderInfo {
|
|
uin: string,
|
|
nickname: string,
|
|
uid: string,
|
|
sendEntrance: string, // ""
|
|
}
|
|
|
|
export interface thumbnailInfo {
|
|
id: string,
|
|
url: {
|
|
spec: number,
|
|
uri: string,
|
|
}[],
|
|
localCachePath: string,
|
|
}
|
|
|
|
export interface SendTarget {
|
|
destType: number; // 1私聊
|
|
destUin?: string,
|
|
destUid: string,
|
|
}
|
|
|
|
export interface SendTargetRequests {
|
|
fileSetId: string;
|
|
targets: SendTarget[];
|
|
}
|
|
|
|
export interface DownloadStatusInfo {
|
|
result: number; // 0
|
|
fileSetId: string;
|
|
status: number;
|
|
info: {
|
|
curDownLoadFailFileNum: number,
|
|
curDownLoadedPauseFileNum: number,
|
|
curDownLoadedFileNum: number,
|
|
curRealDownLoadedFileNum: number,
|
|
curDownloadingFileNum: number,
|
|
totalDownLoadedFileNum: number,
|
|
curDownLoadedBytes: string, // "0"
|
|
totalDownLoadedBytes: string,
|
|
curSpeedBps: number,
|
|
avgSpeedBps: number,
|
|
maxSpeedBps: number,
|
|
remainDownLoadSeconds: number,
|
|
failFileIdList: [],
|
|
allFileIdList: [],
|
|
hasNormalFileDownloading: boolean,
|
|
onlyCompressInnerFileDownloading: boolean,
|
|
isAllFileAlreadyDownloaded: boolean,
|
|
saveFileSetDir: string,
|
|
allWaitingStatusTask: boolean,
|
|
downloadSceneType: DownloadSceneType,
|
|
retryCount: number,
|
|
statisticInfo: {
|
|
downloadTaskId: string,
|
|
downloadFilesetName: string,
|
|
downloadFileTypeDistribution: string,
|
|
downloadFileSizeDistribution: string;
|
|
},
|
|
albumStorageFailImageNum: number,
|
|
albumStorageFailVideoNum: number,
|
|
albumStorageFailFileIdList: [],
|
|
albumStorageSucImageNum: number,
|
|
albumStorageSucVideoNum: number,
|
|
albumStorageSucFileIdList: [],
|
|
albumStorageFileNum: number;
|
|
};
|
|
}
|
|
|
|
export interface physicalInfo {
|
|
id: string,
|
|
url: string,
|
|
status: number, // 2 已下载
|
|
processing: string,
|
|
localPath: string,
|
|
width: 0,
|
|
height: 0,
|
|
time: number,
|
|
}
|
|
|
|
export interface downloadInfo {
|
|
status: number,
|
|
curDownLoadBytes: string,
|
|
totalFileBytes: string,
|
|
errorCode: number,
|
|
}
|
|
|
|
export interface uploadInfo {
|
|
uploadedBytes: string,
|
|
errorCode: number,
|
|
svrRrrCode: number,
|
|
errMsg: string,
|
|
isNeedDelDeviceInfo: boolean,
|
|
thumbnailUploadState: number;
|
|
isSecondHit: boolean,
|
|
hasModifiedErr: boolean,
|
|
}
|
|
|
|
export interface folderUploadInfo {
|
|
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;
|
|
}
|
|
|
|
export interface compressFileFolderInfo {
|
|
downloadStatus: number;
|
|
saveFileDirPath: string;
|
|
totalFileCount: string;
|
|
totalFileSize: string;
|
|
}
|
|
|
|
export interface albumStorgeInfo {
|
|
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;
|
|
}
|
|
|
|
export interface fileListsInfo {
|
|
parentId: string,
|
|
depth: number, // 1
|
|
fileList: FlashOneFileInfo[],
|
|
paginationInfo: {};
|
|
isEnd: boolean,
|
|
isCache: boolean,
|
|
}
|
|
|
|
export interface FileListResponse {
|
|
seq: number,
|
|
result: number,
|
|
errMs: string,
|
|
fileLists: fileListsInfo[],
|
|
}
|
|
|
|
export interface createFlashTransferResult {
|
|
fileSetId: string,
|
|
shareLink: string,
|
|
expireTime: string,
|
|
expireLeftTime: string,
|
|
}
|
|
export enum UploadSceneType {
|
|
KUPLOADSCENEUNKNOWN,
|
|
KUPLOADSCENEFLOATWINDOWRIGHTCLICKMENU,
|
|
KUPLOADSCENEFLOATWINDOWDRAG,
|
|
KUPLOADSCENEFLOATWINDOWFILESELECTOR,
|
|
KUPLOADSCENEFLOATWINDOWSHORTCUTKEYCTRLCV,
|
|
KUPLOADSCENEH5LAUNCHCLIENTRIGHTCLICKMENU,
|
|
KUPLOADSCENEH5LAUNCHCLIENTDRAG,
|
|
KUPLOADSCENEH5LAUNCHCLIENTFILESELECTOR,
|
|
KUPLOADSCENEH5LAUNCHCLIENTSHORTCUTKEYCTRLCV,
|
|
KUPLOADSCENEAIODRAG,
|
|
KUPLOADSCENEAIOFILESELECTOR,
|
|
KUPLOADSCENEAIOSHORTCUTKEYCTRLCV,
|
|
}
|
|
/** 闪传文件集默认有效期(秒):14 天 */
|
|
export const DEFAULT_FLASH_VALIDITY_SECONDS = 1209600;
|
|
|
|
export interface StartFlashTaskRequests {
|
|
scene: number; // 1 PC-QQ
|
|
name?: string;
|
|
uploaders: UploaderInfo[];
|
|
permission?: { code: number; };
|
|
coverPath?: string;
|
|
paths: string[]; // 文件的绝对路径,可以是文件夹
|
|
excludePaths?: string[];
|
|
expireLeftTime?: number, // 0
|
|
validitySeconds: number, // 文件集有效期(秒):14 天 1209600 / 90 天 7776000 / 180 天 15552000,必须传,否则新版内核段错误
|
|
isNeedDelDeviceInfo: boolean,
|
|
isNeedDelLocation: boolean,
|
|
coverOriginalInfos?: {
|
|
path: string,
|
|
thumbnailPath: string,
|
|
}[],
|
|
uploadSceneType: UploadSceneType, // 不知道怎么枚举 先硬编码吧 (PC QQ 10)
|
|
detectPrivacyInfoResult: {
|
|
exists: boolean,
|
|
allDetectResults: {};
|
|
};
|
|
announcement: {
|
|
announcementSegments: unknown[],
|
|
modifyTime: string,
|
|
avatarUrl: string;
|
|
};
|
|
albumFilePathList: unknown[];
|
|
}
|
|
export enum BusiScene {
|
|
KBUSISCENEINVALID,
|
|
KBUSISCENEFLASHSCENE,
|
|
}
|
|
export interface FileListInfoRequests {
|
|
seq: number, // 0
|
|
fileSetId: string,
|
|
isUseCache: boolean,
|
|
sceneType: BusiScene, // 1
|
|
reqInfos: {
|
|
count: number, // 18 ?? 硬编码吧 不懂
|
|
paginationInfo: {},
|
|
parentId: string,
|
|
reqIndexPath: string,
|
|
reqDepth: number, // 1
|
|
filterCondition: {
|
|
fileCategory: number,
|
|
filterType: number,
|
|
}, // 0
|
|
sortConditions: {
|
|
sortField: number,
|
|
sortOrder: number,
|
|
}[],
|
|
isNeedPhysicalInfoReady: boolean;
|
|
}[];
|
|
}
|
|
export enum DownloadSceneType {
|
|
KDOWNLOADSCENEUNKNOWN,
|
|
KDOWNLOADSCENEARKC2C,
|
|
KDOWNLOADSCENEARKC2CDETAILPAGE,
|
|
KDOWNLOADSCENEARKGROUP,
|
|
KDOWNLOADSCENEARKGROUPDETAILPAGE,
|
|
KDOWNLOADSCENELINKC2C,
|
|
KDOWNLOADSCENELINKGROUP,
|
|
KDOWNLOADSCENELINKCHANNEL,
|
|
KDOWNLOADSCENELINKTEMPCHAT,
|
|
KDOWNLOADSCENELINKOTHERINQQ,
|
|
KDOWNLOADSCENESCANQRCODE,
|
|
KDWONLOADSCENEFLASHTRANSFERCENTERCLIENT,
|
|
KDWONLOADSCENEFLASHTRANSFERCENTERSCHEMA,
|
|
}
|
|
export interface FlashFileSetInfo {
|
|
fileSetId: string,
|
|
name: string,
|
|
namePinyin: string,
|
|
totalFileCount: number,
|
|
totalFileSize: number,
|
|
permission: {},
|
|
shareInfo: {
|
|
shareLink: string,
|
|
extractionCode: string,
|
|
},
|
|
cover: {
|
|
id: string,
|
|
urls: [
|
|
{
|
|
spec: number, // 2
|
|
url: string;
|
|
}
|
|
],
|
|
localCachePath: string;
|
|
},
|
|
uploaders: [
|
|
{
|
|
uin: string,
|
|
nickname: string,
|
|
uid: string,
|
|
sendEntrance: string;
|
|
}
|
|
],
|
|
expireLeftTime: number,
|
|
aiClusteringStatus: {
|
|
firstClusteringList: [],
|
|
shouldPull: boolean;
|
|
},
|
|
createTime: number,
|
|
expireTime: number,
|
|
firstLevelItemCount: 1,
|
|
svrLastUpdateTimestamp: 0,
|
|
taskId: string, // 同 fileSetId
|
|
uploadInfo: {
|
|
totalUploadedFileSize: number,
|
|
successCount: number,
|
|
failedCount: number;
|
|
},
|
|
downloadInfo: {
|
|
totalDownloadedFileSize: 0,
|
|
totalFileSize: 0,
|
|
totalDownloadFileCount: 0,
|
|
successCount: 0,
|
|
failedCount: 0,
|
|
pausedCount: 0,
|
|
cancelCount: 0,
|
|
status: 0,
|
|
curLevelDownloadedFileCount: number,
|
|
curLevelUnDownloadedFileCount: 0;
|
|
},
|
|
transferType: number,
|
|
isLocalCreate: true,
|
|
status: number, // todo 枚举全部状态
|
|
uploadStatus: number, // todo 同上
|
|
uploadPauseReason: 0,
|
|
downloadStatus: 0,
|
|
downloadPauseReason: 0,
|
|
saveFileSetDir: string,
|
|
uploadSceneType: UploadSceneType,
|
|
downloadSceneType: DownloadSceneType, // 0 PC-QQ 103 web
|
|
retryCount: number,
|
|
isMergeShareUpload: 0,
|
|
isRemoveDeviceInfo: boolean,
|
|
isRemoveLocation: boolean;
|
|
}
|
|
|
|
export interface SendStatus {
|
|
result: number,
|
|
msg: string,
|
|
target: {
|
|
destType: number,
|
|
destUid: string,
|
|
};
|
|
}
|