fix: inferStatus 考虑 status=ready,不再因 classification 未执行而显示处理中
CI/CD Pipeline / Staging E2E Tests (push) Failing after 20h28m58s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Failing after 20h32m2s
CI/CD Pipeline / Frontend Lint (push) Failing after 20h33m25s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 20h33m25s
CI/CD Pipeline / Production Browser E2E (push) Failing after 1679h8m2s
CI/CD Pipeline / Deploy Production (push) Failing after 1679h8m5s
CI/CD Pipeline / Build Production Runtime Images (push) Failing after 1679h8m7s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 20h28m58s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Failing after 20h32m2s
CI/CD Pipeline / Frontend Lint (push) Failing after 20h33m25s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 20h33m25s
CI/CD Pipeline / Production Browser E2E (push) Failing after 1679h8m2s
CI/CD Pipeline / Deploy Production (push) Failing after 1679h8m5s
CI/CD Pipeline / Build Production Runtime Images (push) Failing after 1679h8m7s
当素材 status 为 ready 时,跳过 classification_status 检查, 直接根据 quality_score 显示状态(待诊断/合格/待优化/不合格)。 修复了 P0-4 验收中发现的:API 返回 ready 但 UI 显示处理中的 bug。
This commit is contained in:
@@ -69,11 +69,20 @@ const inferKind = (mimeType: string): AssetKind => {
|
||||
return "image";
|
||||
};
|
||||
|
||||
/** 根据 quality_score 推断前端状态 */
|
||||
/** 根据 quality_score / classification_status / asset status 推断前端状态 */
|
||||
const inferStatus = (
|
||||
score?: number,
|
||||
classificationStatus?: string,
|
||||
assetStatus?: string,
|
||||
): { status: StatusType; label: string } => {
|
||||
// 素材已就绪(status=ready)时,不应因 classification 未执行而显示"处理中"
|
||||
if (assetStatus === "ready") {
|
||||
if (score == null) return { status: "info", label: "待诊断" };
|
||||
if (score >= 70) return { status: "ok", label: "合格" };
|
||||
if (score >= 40) return { status: "warn", label: "待优化" };
|
||||
return { status: "bad", label: "不合格" };
|
||||
}
|
||||
// 素材未就绪:classification 正在处理中
|
||||
if (
|
||||
classificationStatus === "processing" ||
|
||||
classificationStatus === "pending"
|
||||
@@ -106,6 +115,7 @@ const mapAsset = (item: ApiAssetItem): AssetItem => {
|
||||
const { status, label } = inferStatus(
|
||||
item.quality_score ?? undefined,
|
||||
item.classification_status ?? undefined,
|
||||
item.status ?? undefined,
|
||||
);
|
||||
const metadata = item.metadata || {};
|
||||
const kind = inferKind(item.mime_type || "");
|
||||
|
||||
Reference in New Issue
Block a user