1.8 KiB
1.8 KiB
回忆录图片状态契约
本文档描述章节图片资产在接口层的字段语义,供后端、Android 客户端和后续其他前端实现统一使用。
字段说明
statuspending: 等待生成processing: 正在生成completed: 生成完成failed: 生成失败
url- 仅当图片当前可直接展示时才应为非空
- 私有 COS 桶签名失败时,必须置空,不能回退为未签名的原始 COS URL
retryablenull: 当前不是失败态,或该字段不适用true: 失败但仍可重试false: 失败且不可重试,属于永久失败
error- 面向调试和展示的错误信息
推荐组合语义
| status | url | retryable | 语义 |
|---|---|---|---|
pending |
null |
null |
任务尚未开始或等待处理 |
processing |
null |
null |
图片正在生成 |
completed |
非空 | null |
图片可直接展示 |
completed |
null |
null |
图片已完成但当前不可投递,例如私有桶签名失败 |
failed |
null |
true |
本次失败可重试 |
failed |
null |
false |
永久失败,应明确展示终态 |
客户端处理建议
pending/processing: 显示“图片生成中”completed且url非空: 正常展示图片completed且url为空: 显示“图片暂不可用”failed且retryable=true: 显示“图片生成失败,稍后重试”failed且retryable=false: 显示“图片生成失败,暂不可恢复”
约束
- 后端在规范化图片资产时必须保留
retryable - 非失败态不应输出
retryable=true/false - 客户端轮询是否继续,仍以工作态
pending/processing为准,不因failed + retryable=true自动延长轮询窗口