fix: 警示文件夹创建到转存目录内而非根目录

- createWarningDirectories 加 parentDirFid 参数
- createSingleDir 加 pdirFid 参数, pdir_fid 用传参而非硬编码 0
- runAdCleanup 传入 savedDirFid
- listDirAllPages 列出目标目录而非根目录
This commit is contained in:
2026-05-15 07:05:58 +08:00
parent 1c0c024b9a
commit a12fec4d82

View File

@@ -166,12 +166,13 @@ async function batchDeleteFiles(
export async function createWarningDirectories( export async function createWarningDirectories(
cookie: string, cookie: string,
dirNames: string[], dirNames: string[],
parentDirFid: string = "0",
): Promise<void> { ): Promise<void> {
if (!dirNames.length) return; if (!dirNames.length) return;
// 先获取根目录下所有文件夹,避免重复创建 // 先获取根目录下所有文件夹,避免重复创建
await humanDelay(); await humanDelay();
const rootFiles = await listDirAllPages(cookie, "0"); const rootFiles = await listDirAllPages(cookie, parentDirFid);
const existingDirs = new Set( const existingDirs = new Set(
rootFiles.filter((f) => f.dir).map((f) => f.file_name), rootFiles.filter((f) => f.dir).map((f) => f.file_name),
); );
@@ -192,7 +193,7 @@ export async function createWarningDirectories(
continue; continue;
} }
await createSingleDir(cookie, formattedName); await createSingleDir(cookie, formattedName, parentDirFid);
// 加入已存在集合,防止同名重试 // 加入已存在集合,防止同名重试
existingDirs.add(formattedName); existingDirs.add(formattedName);
} }
@@ -204,6 +205,7 @@ export async function createWarningDirectories(
async function createSingleDir( async function createSingleDir(
cookie: string, cookie: string,
dirName: string, dirName: string,
pdirFid: string = "0",
): Promise<boolean> { ): Promise<boolean> {
try { try {
const resp = await fetch( const resp = await fetch(
@@ -215,7 +217,7 @@ async function createSingleDir(
"Content-Type": "application/json", "Content-Type": "application/json",
}, },
body: JSON.stringify({ body: JSON.stringify({
pdir_fid: "0", pdir_fid: pdirFid,
file_name: dirName, file_name: dirName,
dir: true, dir: true,
dir_path: "", dir_path: "",
@@ -276,7 +278,7 @@ export async function runAdCleanup(
console.log( console.log(
`[Quark-AdCleanup] 开始创建警示文件夹: ${warningNames.length}`, `[Quark-AdCleanup] 开始创建警示文件夹: ${warningNames.length}`,
); );
await createWarningDirectories(cookie, warningNames); await createWarningDirectories(cookie, warningNames, savedDirFid);
warningDirs = warningNames.length; warningDirs = warningNames.length;
console.log( console.log(
`[Quark-AdCleanup] 警示文件夹创建完成(共 ${warningDirs} 个)`, `[Quark-AdCleanup] 警示文件夹创建完成(共 ${warningDirs} 个)`,