fix: 批量进度只统计无字幕视频,SKIPPED 不计入 total/done
用户反馈数量展示错误:整批 431 个视频中 383 个已有字幕被 SKIPPED, 此前 total=全部视频、done 也含 SKIPPED,把已处理过的视频混进计数。 新口径(2026-09): - total = 创建时扫描出的无字幕(需处理)视频数,创建即固定;SKIPPED 不计 - done = 实际处理完成(COMPLETED)数,SKIPPED 不计;failed 单独计 - 全部视频都有字幕(total=0)→ 创建即视为 COMPLETED,不排队空跑 - sync_batch_job_progress 同步修正 total(老任务读取时自动收敛到新口径) - 前端 batchProgress 相应更新:total=0 显示"无待处理视频" tests: 更新 4 条旧口径断言 + 新增 1 条全跳过 API 测试,62 项相关测试通过。
This commit is contained in:
+5
-2
@@ -54,12 +54,15 @@ async function createBatchJob() {
|
||||
await loadBatchJobs();
|
||||
}
|
||||
|
||||
// 渲染单个任务的进度:已完成/跳过与失败计入不同颜色,总数为任务视频数。
|
||||
// 渲染单个任务的进度:total=本批无字幕(需处理)的视频数,done=实际处理
|
||||
// 完成的视频数。SKIPPED(已有字幕)不参与 total/done——进度只反映真正
|
||||
// 待处理的这批(2026-09 口径调整)。失败视频单独红字提示。
|
||||
function batchProgress(job) {
|
||||
const total = job.total || 0;
|
||||
const done = job.done || 0;
|
||||
const failed = job.failed || 0;
|
||||
if (!total) return "待扫描";
|
||||
// total=0:本批没有需要处理的视频(全部已有字幕被跳过),视为无处理量。
|
||||
if (!total) return "无待处理视频";
|
||||
const percent = Math.round(((done + failed) / total) * 100);
|
||||
// 有失败视频时追加红色失败计数,避免把"部分失败"误看成全部完成。
|
||||
const failedText = failed > 0 ? ` <span class="danger">,失败 ${failed}</span>` : "";
|
||||
|
||||
Reference in New Issue
Block a user