上传后台处理进度改用用户话术,内部阶段字段不再直接显示

This commit is contained in:
chenpei 2026-08-28 10:54:40 +08:00
parent 6d5d5c871e
commit f201661dcf

View File

@ -290,6 +290,19 @@ export function stripTrailingImageExtensions(fileName: string): string {
return result;
}
// 后台处理阶段的用户话术;未知阶段一律兜底中文,内部 stage 常量绝不直接上屏。
const JOB_STAGE_LABELS: Record<string, string> = {
queued: '后台排队中...',
validating: '正在校验素材信息...',
assembling: '正在合并上传文件...',
previews: '正在生成预览图...',
zips: '正在打包下载文件...',
database: '正在保存素材信息...',
cleanup: '正在清理临时文件...',
completed: '完成!',
failed: '后台处理失败',
}
function AssetThumbnail({
asset,
alt,
@ -1261,7 +1274,8 @@ export default function ProductPackageUploader({
if (!mountedRef.current) return;
const backendProgress = Number.isFinite(status.progress) ? Math.max(0, Math.min(100, status.progress || 0)) : 0;
setProgress(90 + backendProgress * 0.1);
setProcessingStep(status.stage || (status.status === 'queued' ? '后台排队处理中...' : '后台处理中...'));
const stageLabel = status.stage ? JOB_STAGE_LABELS[status.stage] : undefined;
setProcessingStep(stageLabel || (status.status === 'queued' ? JOB_STAGE_LABELS.queued : '后台处理中...'));
},
});
}