编号:ba/292 · 交付:扣子二号(coze2)· 基线:main @ 认领后最新(76c7154 起)
性质:实测核对(先盘点后施工)。工单所列模块经逐页核对已在 WIP-289/284/272 接真,无代码缺口、无哑页面。本证据为「后端就绪 ↔ 前端已接」逐项印证 + 契约一致性验收。
二号:a端 CMS 内容管理+数据看板(267/275 API 就绪)真交互补齐;b端 Bills/DemandHall 接真(279 盘点缺口)。验收=两端 typecheck0+模块 L3 证据 evidence/ba/292/。
| # | 模块 | 归属 | 当前状态 | 后端端点(契约) | 前端消费 | 结论 |
|---|---|---|---|---|---|---|
| 1 | a端 CMS 内容管理 | admin-console | ✅ 已接真 | admin_backend /admin/cms/posts GET/POST/PUT/DELETE + /publish /offline | api.ts listCmsPosts/createCmsPost/updateCmsPost/publishCmsPost/offlineCmsPost/deleteCmsPost;Cms.tsx 列表/筛选/表单/发布下线 | 契约对齐 ✅ 无缺口 |
| 2 | a端 数据看板 Dashboard | admin-console | ✅ 已接真 | admin_backend GET /admin/stats/overview?days=1..90 → {ok,data:{days,events_by_category,top_events,total_orders,new_users}} | api.ts getStatsOverview;Dashboard.tsx 消费全部 5 字段 | 契约对齐 ✅ 无缺口 |
| 3 | b端 Bills | b-workbench | ✅ 已接真 | miniapp_bills /api/miniapp/workbench/bills GET;confirm/dispute(涉钱) | Bills.tsx 拉列表;兑付/争议诚实降级(涉钱,待人工确认) | 契约对齐 ✅ 涉钱合规 |
| 4 | b端 DemandHall | b-workbench | ✅ 已接真 | demand.py /api/miniapp/demands | DemandHall.tsx 列表/分类/详情 | 契约对齐 ✅ 无缺口 |
| 5 | b端 SiteTexts | b-workbench | ✅ 已接真(289 后端落地后自动接通) | miniapp_site_texts.py GET /site-texts/admin→{code,data:{items:[{page,key,value,is_test,updated_at}]}};PUT/DELETE /admin/{page}/{key} {code,data:{deleted}} | SiteTexts.tsx 列表/编辑/新增/删除,items[].page/key/value/is_test 消费一致 | 契约匹配 ✅(前端早已写好,等待后端,289 建好后即接通) |
SiteTexts.tsx 早已是完整接真实现:注释含端点、鉴权、硬约束「零 mock」,消费 {code,data:{items}},编辑提交 {page,key,value,is_test},删除 {page,key}。miniapp_site_texts.py(阿仁 WIP-284b/289 落地)返回结构 {code:0,data:{items:[...]}}、删返回 {code:0,data:{deleted}}。stats/overview 返回 events_by_category[]、top_events[]、total_orders、new_users、days。Dashboard.tsx 已消费全部 5 个字段,无遗漏、无假数据。api.ts + Cms.tsx 全链路覆盖,含表单、状态筛选、发布/下线,无哑按钮。admin_content.py(B4 内容录入:poi/route/rules/knowledge)是独立内容录入工具域(C端内容后台),非 a端 8 模块规划、也非 292「CMS 内容管理」所指(292 的 CMS = 文章管理),未纳入本次;如后续需建该录入前端,另立工单。npx tsc --noEmit = 0npm install 后 npx tsc --noEmit = 0(沙箱重置后重装 node_modules)via.placeholder