# 把任务、订单和列表填入用户界面

## 先分清状态来源

生成任务描述处理阶段，订单描述付款事实，权益/库存描述可用资格，素材描述最终可访问结果。不要用“图片可下载”推断付款成功，也不要用订单已支付推断生成结束。各自保留稳定标识和关联关系。

## 项目接口应覆盖读与写

服务模块除提交外，应按实际界面需要提供单任务查询、当前用户运行中任务列表、历史/分页、结果获取和原操作恢复。订单界面读取原订单与权益状态。函数名和路由按自己的服务设计，明确身份范围、输入、返回、更新版本和错误。

只查询到一页时显示该页或已加载数量，不能声称所有任务都已读完。后端验证账号和应用/作品范围；前端过滤不代替权限检查。

## 统一状态和组件

| 界面 | 填充的数据 | 必须表达的情况 |
| --- | --- | --- |
| 当前生成卡片 | 稳定任务标识、类型、真实阶段、创建/等待时长 | 提交中、结果待核对、处理、失败、可用 |
| 运行中列表 | 当前范围的任务、分页与更新信息 | 首次加载、空列表、读取失败、刷新中 |
| 任务详情 | 原输入摘要、阶段、结果/审核信息、错误及恢复动作 | 旧数据刷新与新结果，不能清成假空值 |
| 订单/用量 | 订单状态、可信权益/库存、任务关联 | 已支付但处理未完成、结果未知待核对 |
| 结果区 | 已完成文本或已审核的图片及原业务用途 | 可读/可解码、访问过期、读取失败 |

状态存储统一合并提交回执、详情、列表和推送/轮询。按任务 ID 去重，按服务更新版本拒绝旧回包，详情与列表状态一致。列表刷新失败保留已加载内容并标记错误，不把读取失败变成“没有任务”。

## 刷新、并发和归属

提交前保存一次动作的标识和最少恢复信息；提交回执丢失先核对原动作，不自动生成第二次。刷新从服务恢复任务与订单，本地缓存不作为已付款/已完成证明。切账号或作品清理旧显示并拒绝迟到响应。

一个任务的多个组件共用查询管理器，前台带退避与抖动，后台降频；已有推送时也要处理断线回读。列表和单任务查询按接口预算合并，不为每张卡片创建高频定时器。

## 交互与完成标准

点击后立即显示对应任务或提交状态；处理中显示实际阶段与已等待时长，排队不使用虚假结束倒计时。只有收到真实进度才画百分比。网络请求有截止，任务仍可继续等待；离开页面不宣称取消云端任务。

真实生成一项内容，核对当前卡片、运行中列表、详情、最终结果和原业务同步变化。再测试两项并发、刷新/重新进入、详情和列表乱序、分页、读取失败、回执丢失、链接过期和切号。模拟补测不替代首项真实生成及实际 UI 验收。
