mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
fix: 暂时移除 QunAlbum
This commit is contained in:
@@ -366,50 +366,4 @@ export class NTQQWebApi {
|
|||||||
|
|
||||||
return post;
|
return post;
|
||||||
}
|
}
|
||||||
|
|
||||||
async uploadQunAlbumSlice(path: string, session: string, skey: string, pskey: string, uin: string, slice_size: number) {
|
|
||||||
const img_size = statSync(path).size;
|
|
||||||
const img_name = basename(path);
|
|
||||||
let seq = 0;
|
|
||||||
let offset = 0;
|
|
||||||
const GTK = this.getBknFromSKey(pskey);
|
|
||||||
const cookie = `p_uin=${uin}; p_skey=${pskey}; skey=${skey}; uin=${uin}`;
|
|
||||||
|
|
||||||
const stream = createReadStream(path, { highWaterMark: slice_size });
|
|
||||||
|
|
||||||
for await (const chunk of stream) {
|
|
||||||
const end = Math.min(offset + chunk.length, img_size);
|
|
||||||
const boundary = `----WebKitFormBoundary${Math.random().toString(36).substring(2)}`;
|
|
||||||
const formData = await RequestUtil.createFormData(boundary, path);
|
|
||||||
|
|
||||||
const api = `https://h5.qzone.qq.com/webapp/json/sliceUpload/FileUpload?seq=${seq}&retry=0&offset=${offset}&end=${end}&total=${img_size}&type=form&g_tk=${GTK}`;
|
|
||||||
const body = {
|
|
||||||
uin: uin,
|
|
||||||
appid: "qun",
|
|
||||||
session: session,
|
|
||||||
offset: offset,
|
|
||||||
data: formData,
|
|
||||||
checksum: "",
|
|
||||||
check_type: 0,
|
|
||||||
retry: 0,
|
|
||||||
seq: seq,
|
|
||||||
end: end,
|
|
||||||
cmd: "FileUpload",
|
|
||||||
slice_size: slice_size,
|
|
||||||
"biz_req.iUploadType": 0
|
|
||||||
};
|
|
||||||
|
|
||||||
const post = await RequestUtil.HttpGetJson(api, 'POST', body, {
|
|
||||||
"Cookie": cookie,
|
|
||||||
"Content-Type": `multipart/form-data; boundary=${boundary}`
|
|
||||||
});
|
|
||||||
|
|
||||||
offset += chunk.length;
|
|
||||||
seq++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
async uploadQunAlbum(path: string, albumId: string, group: string, skey: string, pskey: string, uin: string) {
|
|
||||||
const session = (await this.createQunAlbumSession(group, albumId, group, path, skey, pskey, uin) as { data: { session: string } }).data.session;
|
|
||||||
return await this.uploadQunAlbumSlice(path, session, skey, pskey, uin, 1024 * 1024);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user