执行人:扣子二号(coze2)
日期:2026-09-12
基线:main @ 434b8b2(pull --rebase 后)
权威口径:docs/contracts/page-classification.mdB端 27 项;后端实况以backend/app/routers/源码为准
判定法:逐页 grep url: 机械扫描真实端点 + 后端路由源码双向核对;不看分级表旧标注,只认实测
WIP-262(eacb1610)交付后,订单接单/拒单与两段核销第一段 arrival 的后端端点均已就绪,但前端有 3 页未接——本次全部接真(Orders / Redeem / RedeemConfirm)。唯一仍 BLK 的真实缺口 = SiteTexts 管理端 CRUD 端点后端不存在(WIP-182 后端补丁未应用,待派阿仁,二号不领后端)。
backend/app/routers/ 真实存在且已挂载(main.py include_router),页面解析真实响应、有真实写交互、零假数据。| # | 页面 | 路由 | 调用端点(实测 grep) | 后端实况 | 本次动作 |
|---|---|---|---|---|---|
| 1 | Bills | /bills | GET /workbench/bills | miniapp_bills.py ✅(confirm/dispute 涉钱写动作仍诚实降级) | 维持 |
| 2 | Login | /login | /auth/login /auth/password-login | ✅ | 维持 |
| 3 | Orders | /orders | GET /merchant-console/orders、GET /merchant-console/orders/pending-confirm(新)、POST .../merchant-confirm、POST .../merchant-reject(新) | merchant_console.py 178/239/265/344 ✅ | 本次接真 2 缺口 |
| 4 | PaymentSettings | /payment-settings | GET/POST /merchant-console/payment-mode | ✅ | 维持 |
| 5 | Redeem | /redeem | scan、arrival(新)、confirm | miniapp_workbench_redeem.py 121/229/320 ✅ | 本次接真 arrival |
| 6 | RedeemConfirm | /redeem-confirm | scan、arrival(新)、confirm | 同上 ✅ | 本次接真 arrival |
| 7 | PointTasks | /point-tasks | GET/POST/PATCH /merchant/point-tasks | ✅ | 维持 |
| 8 | DemandHall | /demand-hall | GET /demands | demand.py ✅ | 维持 |
| 9 | MyDemands | /my-demands | GET /merchant-console/my-demands | merchant_console.py 200 ✅ | 维持 |
| 10 | Profile | /profile | GET /merchant-console/me | 155 ✅ | 维持 |
| 12 | Transport | /transport | GET /transport | transport.py ✅ | 维持 |
| 13 | Workbench | /workbench | GET /merchant-console/overview | 178 ✅ | 维持 |
| — | (任务评审 TaskReview 写动作) | — | POST /merchant-console/tasks/review approve 发 30% | 端点在(453)但涉钱,前端诚实降级待人工裁决 | BLK 维持 |
说明:分级表把 #5/#6 的依赖只列了 scan/confirm,本次按后端实况补 arrival;#3 补 pending-confirm/reject。建议波波 v1.3 同步更新这 3 行依赖端点列。
| # | 页面 | 路由 | 前端调用 | 后端实况 | 状态 |
|---|---|---|---|---|---|
| 11 | SiteTexts | /site-texts | GET/PUT/DELETE /site-texts/admin/... | 后端无此路由。仅有 C 端只读 APIRouter(prefix="/api/miniapp/config/site")(miniapp_site.py,GET ""/PUT "/{key}"),已挂 main.py:63,但不是管理端 admin CRUD | BLK:等阿仁应用 WIP-182 后端补丁(docs/handoff/2026-09-07-WIP182-backend.patch)。页面已诚实降级,零假数据 |
分级表 L0「无接口调用」的 14 项中,除 SiteTexts 实为有调用骨架(上移 B 类)外,其余 13 项维持 L0。其中 WIP-272 已把假加载/假成功改为诚实静态的页面(补丁 docs/handoff/wip272-bw-cleanup.patch,待一号 apply):
| # | 页面 | 路由 | 现状 |
|---|---|---|---|
| 14 | AttributionBoard | /attribution-board | 静态展示 |
| 15 | DemandDetail | /demand-detail | 静态展示 |
| 16 | PackageBuilder | /package-builder | 静态展示 |
| 17 | ProductEdit | /product-edit | 静态展示 |
| 18 | RedeemBoard | /redeem-board | 静态展示 |
| 19 | RentalOrders | /rental-orders | WIP-272 诚实壳(rental 开关 false),待一号 apply |
| 20 | RentalWorkbench | /rental-workbench | WIP-272 诚实壳(rental 开关 false),待一号 apply |
| 21 | SessionManage | /session-manage | WIP-272 去假加载,待一号 apply |
| 22 | ShareCard | /share-card | 静态展示 |
| 23 | StallShop | /stall-shop | WIP-272 去假留资成功,待一号 apply |
| 24 | SupplierApply | /supplier-apply | 静态展示(供应商入驻契约未定义) |
| 25 | SupplierProducts | /supplier-products | 静态展示 |
| 26 | SupplierQuestionnaire | /supplier-questionnaire | 静态展示(问卷契约未定义) |
| 27 | VehiclePackage | /vehicle-package | WIP-272 去假加载,待一号 apply |
| 三态 | 数量 | 页面 |
|---|---|---|
| 接真 LIVE | 12(+1 涉钱写动作 BLK) | Bills/Login/Orders/PaymentSettings/Redeem/RedeemConfirm/PointTasks/DemandHall/MyDemands/Profile/Transport/Workbench |
| 骨架 SHELL(后端缺口) | 1 | SiteTexts |
| 静态 STATIC(L0) | 13 | 其余 L0 页 |
| 空缺 GAP | 0 | — |
| 合计 | 27(+1 涉钱 BLK 写动作,不占页) |
补丁:docs/handoff/wip284-bw-twostage-redeem.patch(965 行,6 文件,b-workbench 属主=一号,二号走 handoff 交一号 apply,符合四域属主闸门)
GET /orders/pending-confirm(offline+booked+未过截止,后端 ORDER BY deadline LIMIT 50)。merchant_confirm_deadline 截止提示(deadlineHint:剩余时分/超时将自动取消)、traveler_name、total_fen(分→元)、key_deduct_fen(冻结福钥)。POST /orders/{id}/merchant-reject(booked→cancelled + 解冻福钥 + 站内信),成功后局部更新状态并从待确认列表移除。{code:0,data} 与 merchant-console {ok:true,data} 分别按实况解包;404/403/409 detail 直显。/100;不做秒级倒计时(避免假刷新),只读展示剩余时间。order.status 渲染两段流程:POST /workbench/redeem/arrival:confirmed 可点 → 订单 confirmed→in_service(fulfillment_items→in_service、写 redemption_events arrival、不销钥、码→partially_redeemed);成功本地置 in_service;幂等/409 detail 友好直显。POST /workbench/redeem/confirm:未到场(非 in_service)禁用,到场后才允许(第二段销钥);alreadyRedeemed 幂等提示保留。/redeem-confirm/:code,useEffect 自动 scan,落地与 Redeem 一致的两段流程(arrival→confirm),未到场禁用核销按钮;401 仍诚实提示先登录。var(--token),仅在 token fallback 处保留色值(与既有 Orders.css/Redeem.css 同写法)。grep -E '^(<<<<<<<|=======|>>>>>>>)' = 0。docs/handoff/2026-09-07-WIP182-backend.patch(后端域),上线后前端移除降级即全通。wip272-bw-cleanup.patch 与 本 WIP-284 补丁 wip284-bw-twostage-redeem.patch:均待一号(b-workbench 属主)apply;两补丁改的文件不重叠(272=Rental/Vehicle/Session/Stall/pages.css/services;284=Orders/Redeem×2/Redeem.css/Orders.css/RedeemConfirm.css),apply 顺序无冲突要求。