WIP-343(二号 · 收盘冲刺二批 · R1 巡检补单 09-15 11:4x)。
锁:admin-console/src + evidence 🔒二号;只读核对+前端修补,不动后端路由/SQL(小齐域)。
小齐今晨 P0 批三分离单的后端改动对 admin(A端)消费侧的真实影响:
admin-console 直接消费 = admin_distribution /records、/withdrawals(a端 DistributionOps.tsx)。
| 检查项 | 判定 |
|---|---|
| 336 上下文条/切换器 | ✅ 页顶 DestinationSwitcher 已挂载,目的地可见性/切换/回退可用 |
| 筛选器透传(destination_id) | ✅ http.ts 单点:GET /api/admin/* + 显式上下文 → 自动带 destination_id;c0560415 的 /records 恰好新增同名 query 参数,匹配闭环 |
| 目的地数据不串渲染 | ⚠️→✅ 见下「缺陷修复」 |
| is_test 边界显示 | ✅ Orders/Dashboard 已用 snake_case(is_test/count_test)与后端 _require_area 口径一致;records/withdrawals 不涉及 is_test,无串 |
DistributionOps.tsx /records snake→camel 字段断裂:
admin_list_records 返回 snake_case(order_no/distributor_name/commission_fen/settled_at/created_at), 而 a端 CommissionRecord 用 camelCase(orderNo/orderNo/distributorName/commissionFen/settledAt/createdAt),
渲染直读 camelCase → 全部 undefined → 分佣单 UI 空白(即"串/丢字段")。
snake→camel 映射(r.orderId ?? r.order_id 双容错,后端若按启用 camel 分支也不破坏)。/withdrawals 后端已返 camelCase(distributorId/amountFen/…),映射兼容双形态,不受影响。/records:GET /api/admin/distribution/records?destination_id=X&…,{code:0,data:[{id,order_id/distributor_name/commission_fen/}]}(snake_case data)/withdrawals:{code:0,data:[{id,distributorId,amountFen,...}]}(camelCase data)——后端风格不一,前端统一映射兜底npx tsc --noEmit EXIT=0(typecheck.log 空=0 错误)npm run build EXIT=0(build.log)