chore: DownloadRichMedia

This commit is contained in:
手瓜一十雪
2024-08-12 13:29:59 +08:00
parent b810040145
commit 8d1241808a

View File

@@ -117,40 +117,50 @@ export class NTQQFileApi {
filePath: string filePath: string
}) => Promise<unknown>, }) => Promise<unknown>,
(fileTransNotifyInfo: OnRichMediaDownloadCompleteParams) => void (fileTransNotifyInfo: OnRichMediaDownloadCompleteParams) => void
>( >(
'NodeIKernelMsgService/downloadRichMedia', 'NodeIKernelMsgService/downloadRichMedia',
'NodeIKernelMsgListener/onRichMediaDownloadComplete', 'NodeIKernelMsgListener/onRichMediaDownloadComplete',
1, 1,
timeout, timeout,
(arg: OnRichMediaDownloadCompleteParams) => { (arg: OnRichMediaDownloadCompleteParams) => {
if (arg.msgId === msgId) { if (arg.msgId === msgId) {
return true; return true;
} }
return false; return false;
}, },
{ {
fileModelId: '0', fileModelId: '0',
downloadSourceType: 0, downloadSourceType: 0,
triggerType: 1, triggerType: 1,
msgId: msgId, msgId: msgId,
chatType: chatType, chatType: chatType,
peerUid: peerUid, peerUid: peerUid,
elementId: elementId, elementId: elementId,
thumbSize: 0, thumbSize: 0,
downloadType: 1, downloadType: 1,
filePath: thumbPath, filePath: thumbPath,
}, },
); );
let filePath = data[1].filePath; let msg = await this.core.apis.MsgApi.getMsgsByMsgId({
if (filePath.startsWith('\\')) { guildId: '',
// log('filePath start with \\'); chatType: chatType,
// Mlikiowa V2.0.0 Refactor Todo peerUid: peerUid,
//const downloadPath = sessionConfig.defaultFileDownloadPath; }, [msgId]);
//logDebug('downloadPath', downloadPath); if (msg.msgList.length === 0) {
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! return data[1].filePath;
filePath = path.join('', filePath);
// 下载路径是下载文件夹的相对路径
} }
//获取原始消息
let FileElements = msg?.msgList[0]?.elements?.find(e => e.elementId === elementId);
if (!FileElements) {
//失败则就乱来 Todo
return data[1].filePath;
}
//从原始消息获取文件路径
let filePath =
FileElements?.fileElement?.filePath ||
FileElements?.pttElement?.filePath ||
FileElements?.videoElement?.filePath ||
FileElements?.picElement?.sourcePath;
return filePath; return filePath;
} }
@@ -236,14 +246,14 @@ export class NTQQFileApi {
buddyChatInfo: any[], buddyChatInfo: any[],
discussChatInfo: any[], discussChatInfo: any[],
groupChatInfo: groupChatInfo:
{ {
groupCode: string, groupCode: string,
isConf: boolean, isConf: boolean,
hasModifyConfGroupFace: boolean, hasModifyConfGroupFace: boolean,
hasModifyConfGroupName: boolean, hasModifyConfGroupName: boolean,
groupName: string, groupName: string,
remark: string remark: string
}[], }[],
dataLineChatInfo: any[], dataLineChatInfo: any[],
tmpChatInfo: any[], tmpChatInfo: any[],
msgId: string, msgId: string,
@@ -259,10 +269,10 @@ export class NTQQFileApi {
filePath: string, filePath: string,
fileName: string, fileName: string,
hits: hits:
{ {
start: number, start: number,
end: number end: number
}[] }[]
}[] }[]
} }
@@ -270,10 +280,10 @@ export class NTQQFileApi {
let id = ''; let id = '';
const Listener = this.core.eventWrapper.RegisterListen<(params: OnListener) => void> const Listener = this.core.eventWrapper.RegisterListen<(params: OnListener) => void>
( (
'NodeIKernelSearchListener/onSearchFileKeywordsResult', 'NodeIKernelSearchListener/onSearchFileKeywordsResult',
1, 1,
20000, 20000,
(params) => id !== '' && params.searchId == id, (params) => id !== '' && params.searchId == id,
); );
id = await Event!(keys, 12); id = await Event!(keys, 12);
const [ret] = (await Listener); const [ret] = (await Listener);