v0.3.50: Retry save creates new folder with random suffix to produce genuinely different share link

This commit is contained in:
2026-05-18 01:24:37 +08:00
parent 7f4ab50557
commit 9f959ca87b
10 changed files with 15 additions and 1588 deletions

View File

@@ -45,7 +45,7 @@ var __importStar = (this && this.__importStar) || (function () {
*
* Flow: token → detail → save → wait_task → rename → share
*/
export async function saveFromShare(cookie, nickname, shareUrl, sourceTitle) {
export async function saveFromShare(cookie, nickname, shareUrl, sourceTitle, retrySave = false) {
try {
// Parse share token from URL
const urlObj = new URL(shareUrl);
@@ -69,8 +69,10 @@ export async function saveFromShare(cookie, nickname, shareUrl, sourceTitle) {
const fidTokens = topFiles.map(f => f.share_fid_token);
// 按日期创建/查找文件夹,每天的转存存入当天文件夹
await quark_api.humanDelay();
const saveDirName = quark_api.dailyFolderName();
console.log(`[Quark] saveFromShare: looking for/create dir "${saveDirName}"`);
const saveDirName = retrySave
? quark_api.dailyFolderName() + '_' + Math.random().toString(36).slice(2, 6)
: quark_api.dailyFolderName();
console.log(`[Quark] saveFromShare: looking for/create dir "${saveDirName}"${retrySave ? ' (retry)' : ''}`);
const saveDirFid = await findOrCreateDir(cookie, saveDirName);
const targetPdirFid = saveDirFid || '0';
if (saveDirFid) {