diff --git a/docs/r4-delivery-report.md b/docs/r4-delivery-report.md index 8a80a81..bc15834 100644 --- a/docs/r4-delivery-report.md +++ b/docs/r4-delivery-report.md @@ -66,7 +66,12 @@ - 后台线程用 Pillow 把 CanvasDocument 合成**扁平生产 PNG**(背景 + 按 zIndex 叠贴纸)→ `set_artifacts({png})` → `queued/running/success`,产物经 `GET /api/jobs/{id}/files/png` 可下载。 - 对既有 `.xlsx` 名单模式完全向后兼容(纯新增可选字段)。 -验证:`py_compile` 通过;合成算法用独立脚本验证(贴纸正确合成到对应坐标)。**未提交**——该仓库 `app.py` 有他人大量在途改动且无远程,改动留在 `feat/r4-wcd-job` 工作区,由 wordcloud 维护者合入其分支后提交。 +**生产订单列表**(补充,回应需求"wordcloud 侧订单列表"): +- `_create_wcd_job` 从 WCD 的 `manifest.meta.orderNo`(或 `order-{orderNo}` 命名)登记生产订单到 `service_orders/`(新增存储目录 + `_order_dir/_read_order/_write_order` 辅助)。 +- 新增 `GET /api/orders`(生产订单列表,回填对应 job 最新状态)与 `GET /api/orders/{order_no}`(详情),便于 wordcloud/运营侧查看下方单的生产任务。 +- **注意**:`order` 目录含 `order.json`,`list_orders` 需直接遍历 `ORDERS_DIR`(不能复用只认 `meta/template/project.json` 的 `_list_dirs`)。 + +验证:`py_compile` 通过;用 venv FastAPI 真实调用 `_create_wcd_job` + 轮询任务 + `list_orders`/`get_order` + 产物访问,**端到端通过**(订单登记、状态=success、产物 PNG 可访问)。**未提交**——该仓库 `app.py` 有他人大量在途改动且无远程,改动留在 `feat/r4-wcd-job` 工作区,由 wordcloud 维护者合入其分支后提交。 ## 5. 配置(后端 `.env`) @@ -88,7 +93,8 @@ COS_REGION=ap-guangzhou | `wechat_wc npm run build:weapp` | ✅ 通过(多次) | | `wxmp_backend nest build` | ✅ 通过(EXIT=0,0 error) | | `wxmp_backend prisma validate` + 迁移应用 | ✅ 通过 | -| `wordcloud app.py py_compile` + 合成算法单测 | ✅ 通过(算法级) | +| `wordcloud app.py py_compile` | ✅ 通过 | +| `wordcloud` WCD/订单列表端到端 | ✅ 用 venv FastAPI(0.136.3) 真实调用:建 WCD job → success → `GET /api/orders` 登记订单 → 产物 PNG 可访问 | | `wordcloud pytest` | ⚠️ 系统 python 缺 `pandas/pytest`(项目 venv 未装),**完整测试需团队环境** | 诚实说明:COS 与 wordcloud 的本地 env 均为空,**运行期未做真实端到端联调**(见 §7 注意事项)。 @@ -109,7 +115,7 @@ COS_REGION=ap-guangzhou |---|---| | **R2(设计清单)** | `designData` 按 `docs/design-data-contract-v1.md` 冻结:放行 `version/background/wordcloud/rotation/zIndex`;`category.mask` 必须保留;贴纸图 `src` 由 R4 持久化(R2 允许保存时暂为本地路径)。4 项决策已冻结(见契约 §6) | | **R3(订单)** | 创建订单时传 `designListId`(`OrdersService.create` 已支持存储);订单进入 `PROCESSING` 时可自动触发 `POST /api/orders/:id/dispatch`;支付未配置期用该端点做联调/运营触发 | -| **wordcloud 团队** | 合入 `feat/r4-wcd-job` 工作区的 `create_job` wcd_file 改动;对外部署;契约 v1.1 已冻结(`wxmp_backend/docs/wordcloud-contract.md`) | +| **wordcloud 团队** | 合入 `feat/r4-wcd-job` 工作区的 `create_job` wcd_file 改动 + **订单列表(`GET /api/orders`)**;对外部署;契约 v1.1 已冻结(`wxmp_backend/docs/wordcloud-contract.md`);新订单列表为运营侧查看,wxmp_backend 不消费 | | **运维** | 配置 `COS_*`、`WORDCLOUD_API_URL`;微信后台加域名;跑一次迁移 `prisma migrate deploy` | | **前端(R4 自身)** | 词云页/线稿页联调需后端接口真实可用;下单后派单状态展示挂在 R3 的订单详情页 |