feat(distribution): 补齐分销长尾后台页面

This commit is contained in:
yml2213
2026-10-30 15:43:29 +08:00
parent 13a3127abc
commit 090ab02a67
25 changed files with 7728 additions and 2 deletions
@@ -0,0 +1,116 @@
# Phase 2 验收报告(分销商品与支付通道)
> 日期:2026-10-30
> 项目:解忧商行(hfb_jysh)
> 范围:后台分销商品(收货商品 + 账号展示)、站点支付通道
> 结论:**本切片通过,页面已接真实接口,typecheck/build 通过;未调用任何商品或支付写接口**
---
## 1. 页面与路由
| 页面 | 路由 | 文件 |
| --- | --- | --- |
| 分销商品 | `/console-jy8k3m/distribution/listings` | `frontend/src/features/admin/AdminDistributionListingsPage.tsx` |
| 支付通道 | `/console-jy8k3m/distribution/payment-channels` | `frontend/src/features/admin/AdminDistributionPaymentChannelsPage.tsx` |
菜单权限:
- 分销商品查看:`distribution:account_view`
- 账号展示/上下架/加价:`distribution:account_display`
- 支付通道查看:`distribution:payment_view`
- 支付通道绑定/解绑:`distribution:payment_manage`
- 支付配置下拉:额外需要 `payment_config:list`;缺失时降级为手动输入配置 ID
## 2. 接口
| 能力 | 接口 | 权限码 |
| --- | --- | --- |
| 收货商品列表 | `GET /api/admin/distribution/received-listings?site_id=` | `distribution:account_view` |
| 收货商品上下架 | `PUT /api/admin/distribution/received-listings/:id/status` | `distribution:account_display` |
| 账号展示列表 | `GET /api/admin/distribution/accounts?site_id=` | `distribution:account_view` |
| 单个账号展示状态 | `PUT /api/admin/distribution/accounts/:id/display` | `distribution:account_display` |
| 单个账号加价 | `PUT /api/admin/distribution/accounts/:id/markup` | `distribution:account_display` |
| 批量展示状态 | `POST /api/admin/distribution/accounts/batch-display?site_id=` | `distribution:account_display` |
| 批量加价 | `POST /api/admin/distribution/accounts/batch-markup?site_id=` | `distribution:account_display` |
| 支付通道列表 | `GET /api/admin/distribution/payment-channels?site_id=` | `distribution:payment_view` |
| 绑定支付通道 | `POST /api/admin/distribution/payment-channels?site_id=` | `distribution:payment_manage` |
| 解绑支付通道 | `DELETE /api/admin/distribution/payment-channels/:id` | `distribution:payment_manage` |
| 主站支付配置下拉 | `GET /api/admin/payment-configs` | `payment_config:list` |
批量接口的站点由 query `site_id` 解析,已确认不能只放在请求体里。
## 3. 分销商品页
页面使用两个 Tab,共用站点选择器:
### 3.1 收货商品
- 筛选:关键字(商品号/标题/号主手机号/昵称)、展示状态、审核状态。
- 列表:商品标题/编号/区服/段位、号主、展示价/卖家价/押金/哈夫币、卖家/买家比例、展示与审核状态、审核原因、上架/创建时间。
- 操作:上架/下架,二次确认后调用收货商品状态接口。
- 服务端分页,保留上一页数据避免闪空。
### 3.2 账号展示
- 展示状态筛选与客户端关键字过滤(商品号/标题/区服/段位/平台)。
- 列表:商品、展示状态、商品状态、交易中标记、基础/站点比例、调整点数、基础价/展示价/加价/押金、来源渠道、展示 ID。
- 单账号操作:展示/隐藏、调整加价。
- 批量操作:批量展示、批量隐藏、批量设置加价。
- 加价弹窗明确说明 `shelf_ratio_delta` 为比例调整点,提交值会覆盖原值;批量加价同样覆盖而非累加。
- 账户展示接口无服务端分页,前端在已加载数据上过滤与分页。
## 4. 支付通道页
- 站点选择器;列表按优先级升序展示站点已绑定通道。
- 列表展示配置名称、服务商、支付方式、配置 ID、环境/状态、主站默认标记、优先级。
- 绑定弹窗:
- 有 `payment_config:list` 时提供支付配置下拉,自动回填配置 ID
- 无权限或下拉失败时仍可手动输入配置 ID
- 优先级 0–9999
- 解绑需二次确认;已支付订单不受影响。
- 页面提示“未绑定时回退主站默认支付配置”。
## 5. 共用改造
- `frontend/src/features/admin/types.ts`:新增收货商品、账号展示、支付通道、支付配置选项类型。
- `frontend/src/features/admin/api.ts`:新增商品、账号展示、支付通道相关接口封装。
- `frontend/src/app/AppRouter.tsx`:新增 `distribution/listings`、`distribution/payment-channels`。
- `frontend/src/layouts/AdminLayout.tsx`:分销菜单新增「分销商品」「支付通道」及页面标题。
- 复用后台 `DataTable`、`FilterBar`、`StatusTag`、`DistributionSiteSelect`。
## 6. 验证结果
```text
cd frontend && npx tsc --noEmit 通过
cd frontend && npm run build 通过(入口 525.25 kB,gzip 168.51 kB)
GET /console-jy8k3m/distribution/listings 200
GET /console-jy8k3m/distribution/payment-channels 200
GET /api/admin/distribution/received-listings?site_id=1&page=1&page_size=5
200,空列表
GET /api/admin/distribution/accounts?site_id=1
200,空列表
GET /api/admin/distribution/payment-channels?site_id=1
200,空列表
GET /api/admin/payment-configs?page=1&page_size=5
200,空列表
```
未调用商品上下架、账号展示/加价、批量操作、支付通道绑定/解绑等写接口;开发库当前没有分销站点与相关数据。
## 7. 已知限制
1. 账号展示接口本身不分页,页面采用前端过滤与分页;站点账号量很大时需要后端补分页。
2. 不提供账号同步入口;同步仍由分销后台或既有流程触发。
3. 支付配置下拉依赖 `payment_config:list`;无权限时只能手动输入配置 ID。
4. 不提供支付配置的新建/编辑,避免在主站财务能力之外重复实现密钥管理。
5. 开发库无真实商品/支付配置,空态和参数校验已验证,未做真实上下架与支付路由回归。
## 8. 下一步建议
1. 分销看板与账号同步等剩余长尾。
2. 真实站点数据下回归收货商品上下架、账号加价与支付通道优先级。
3. 订单结算比例全面 bps 化。
4. 真实订单支付/交接/确认收号/结账/申诉端到端回归。
@@ -0,0 +1,107 @@
# Phase 2 验收报告(分销用户与站点公告)
> 日期:2026-10-30
> 项目:解忧商行(hfb_jysh)
> 范围:后台分销用户、站点公告
> 结论:**本切片通过,页面已接真实接口,typecheck/build 通过;写操作未调用**
---
## 1. 页面与路由
| 页面 | 路由 | 文件 |
| --- | --- | --- |
| 分销用户 | `/console-jy8k3m/distribution/users` | `frontend/src/features/admin/AdminDistributionUsersPage.tsx` |
| 站点公告 | `/console-jy8k3m/distribution/announcements` | `frontend/src/features/admin/AdminSiteAnnouncementsPage.tsx` |
菜单权限:
- 分销用户:`distribution:site_view`
- 站点公告查看:`distribution:announcement_view`
- 站点公告维护:`distribution:announcement_manage`
## 2. 接口
| 能力 | 接口 | 权限码 |
| --- | --- | --- |
| 分销用户列表 | `GET /api/admin/distribution/users?site_id=` | `distribution:site_view` |
| 站点公告列表 | `GET /api/admin/distribution/announcements?site_id=` | `distribution:announcement_view` |
| 新建站点公告 | `POST /api/admin/distribution/announcements?site_id=` | `distribution:announcement_manage` |
| 编辑站点公告 | `PUT /api/admin/distribution/announcements/:id?site_id=` | `distribution:announcement_manage` |
| 发布站点公告 | `POST /api/admin/distribution/announcements/:id/publish?site_id=` | `distribution:announcement_manage` |
| 归档站点公告 | `POST /api/admin/distribution/announcements/:id/archive?site_id=` | `distribution:announcement_manage` |
| 取消归档 | `POST /api/admin/distribution/announcements/:id/unarchive?site_id=` | `distribution:announcement_manage` |
| 删除站点公告 | `DELETE /api/admin/distribution/announcements/:id?site_id=` | `distribution:announcement_manage` |
站点公告接口必须带 `site_id`;解析逻辑见 `resolveAnnouncementSite`,不能复用公告 `:id` 作为站点 ID。
## 3. 分销用户页
- 站点选择器复用 `DistributionSiteSelect`,站点 ID 写入 URL。
- 顶部统计:本站注册人数、成交客户数、筛选结果数。
- 筛选:手机号/昵称关键字、客户来源(全部/本站注册/本站下单)。
- 列表:
- 客户头像、昵称、脱敏手机号、用户 ID
- 来源标签(本站注册/本站下单/注册并下单)
- 实名状态与账号状态
- 有效订单数、累计消费(整数分)、最近下单、注册时间、最近登录
- 详情抽屉:客户资料、来源、实名/账号状态、交易贡献。
- 只读页面,不提供冻结、改实名、调钱包等主站用户管理能力,避免越权。
## 4. 站点公告页
- 站点选择器;公告仅查询当前站点 `distribution_site_id`。
- 状态筛选:草稿/已发布/已归档。
- 列表:标题与正文摘要、分类、置顶/重要/弹窗标记、状态、排序权重、浏览量、发布时间、更新时间。
- 新建/编辑弹窗:
- 标题、分类、排序权重、正文
- 置顶、重要公告、弹窗公告开关
- 新建默认草稿,发布需显式操作
- 操作:发布、归档、取消归档、编辑、删除,均有二次确认。
- 详情抽屉展示完整正文、标记、分类、浏览量、发布/更新时间。
- 公告正文按纯文本展示,避免直接渲染 HTML。
## 5. 共用改造
- `frontend/src/features/admin/types.ts`:新增分销用户、站点公告类型。
- `frontend/src/features/admin/api.ts`:新增用户列表、公告列表/新建/编辑/发布/归档/取消归档/删除封装。
- `frontend/src/app/AppRouter.tsx`:新增 `distribution/users`、`distribution/announcements`,并恢复被误删的 `distribution/sms` 路由。
- `frontend/src/layouts/AdminLayout.tsx`:分销菜单新增「分销用户」「站点公告」及页面标题。
- `frontend/src/styles/admin-distribution.css`:新增客户单元格与头像样式。
## 6. 验证结果
```text
cd frontend && npx tsc --noEmit 通过
cd frontend && npm run build 通过(入口 524.31 kB,gzip 168.32 kB)
GET /console-jy8k3m/distribution/users 200
GET /console-jy8k3m/distribution/announcements 200
GET /console-jy8k3m/distribution/sms 200
GET /api/admin/distribution/users?site_id=1&page=1&page_size=5
200,空列表,total_users=0,order_users=0
GET /api/admin/distribution/users?page=1
404,未指定站点时按站点不存在处理
GET /api/admin/distribution/announcements?site_id=1&page=1&page_size=5
200,空列表
GET /api/admin/distribution/announcements?page=1
400,未指定分销站点
```
未调用公告新建/编辑/发布/归档/删除等写接口;开发库当前没有分销站点与站点公告数据。
## 7. 已知限制
1. 分销用户只读,不提供冻结、改实名、调钱包等操作;这些仍走主站用户管理。
2. 公告正文按纯文本展示,不支持富文本/HTML 渲染。
3. 公告列表无关键字搜索,仅按状态与分页;后端当前也只支持状态筛选。
4. 站点公告与主站公告是两套数据,公告模式由站点 `announcement_mode` 控制。
5. 开发库无真实站点数据,空态与参数校验已验证,未做真实公告发布后的前台展示回归。
## 8. 下一步建议
1. 账号展示/收货商品与支付通道等剩余分销长尾页面。
2. 真实站点数据下回归用户来源统计与站点公告发布/弹窗。
3. 订单结算比例全面 bps 化。
4. 真实订单支付/交接/确认收号/结账/申诉端到端回归。
@@ -0,0 +1,111 @@
# Phase 2 验收报告(分销订单与结算批次)
> 日期:2026-10-30
> 项目:解忧商行(hfb_jysh)
> 范围:后台分销订单、结算批次
> 结论:**本切片通过,页面已接真实接口,typecheck/build 通过;未触发结算、释放、作废等写操作**
---
## 1. 页面与路由
| 页面 | 路由 | 文件 |
| --- | --- | --- |
| 分销订单 | `/console-jy8k3m/distribution/orders` | `frontend/src/features/admin/AdminDistributionOrdersPage.tsx` |
| 结算批次 | `/console-jy8k3m/distribution/settlements` | `frontend/src/features/admin/AdminDistributionSettlementsPage.tsx` |
菜单权限:
- 分销订单:`distribution:order_view`
- 结算批次:`distribution:settlement_view`
- 生成人工批次、释放入账、作废:`distribution:settlement_manage`
## 2. 接口
| 能力 | 接口 | 权限码 |
| --- | --- | --- |
| 分销订单列表 | `GET /api/admin/distribution/orders` | `distribution:order_view` |
| 分销订单详情 | `GET /api/admin/distribution/orders/:id` | `distribution:order_view` |
| 分销财务快照 | `POST /api/admin/distribution/orders/:id/financial-snapshot` | `distribution:settlement_manage` |
| 结算批次列表 | `GET /api/admin/distribution/settlement-batches?site_id=` | `distribution:settlement_view` |
| 生成人工批次 | `POST /api/admin/distribution/settlement-batches` | `distribution:settlement_manage` |
| 批次明细 | `GET /api/admin/distribution/settlement-batches/:id/items` | `distribution:settlement_view` |
| 释放入账 | `POST /api/admin/distribution/settlement-batches/:id/settle` | `distribution:settlement_manage` |
| 作废批次 | `POST /api/admin/distribution/settlement-batches/:id/cancel` | `distribution:settlement_manage` |
本切片未接财务快照补录入口,避免在未确认业务口径时直接生成资金快照。
## 3. 分销订单页
- 筛选:站点、分销模式、订单状态、释放状态、关键字(订单号/商品号/标题/租客手机号)。
- 列表:
- 订单号、商品标题、商品编号
- 站点与分销模式、分站角色
- 净付款/实付/退款
- 利润基数/服务费/加价
- 分站收益/加价分成/利润分成
- 订单状态与退款状态
- 分销入账状态与预计释放时间
- 详情抽屉:
- 订单与站点:订单号、站点、模式、商品、游戏区服、平台、租用时长、租客、下单/起租时间
- 金额快照:实付、退款、净付款、支付手续费、服务费、加价、税费、分账基数、取整调整、押金、号主租金、基础价
- 分销收益:分站收益、角色、加价/分成拆解、释放状态、释放时间、履约结算、交接状态、退款状态
- 金额全部以整数分展示,使用 `formatMoney(cents)`。
## 4. 结算批次页
- 站点选择器复用 `DistributionSiteSelect`,站点 ID 写入 URL。
- 顶部汇总:批次数、待入账数量、待入账金额、已入账金额。
- 批次列表:
- 批次号与类型(`DA` 自动对账、`DS` 人工批次)
- 对账周期
- 入账金额
- 状态(待入账/已释放入账/已作废)
- 操作:明细、释放入账、作废
- 生成人工批次:
- 使用带时间的周期选择器,明确左闭右开口径
- 提示人工批次绕过冷却期
- 生成后仍需二次确认才释放入账
- 明细弹窗:订单 ID、分成角色、入账金额、明细状态。
- 空批次(金额 0)禁用释放入账,可作废后重新生成。
- 释放/作废均有二次确认;写操作未在验收中调用。
## 5. 共用改造
- `frontend/src/features/admin/types.ts`:新增分销订单、结算批次、结算明细类型。
- `frontend/src/features/admin/api.ts`:新增订单列表/详情、批次列表/创建/明细/释放/作废封装。
- `frontend/src/app/AppRouter.tsx`:新增 `distribution/orders`、`distribution/settlements`。
- `frontend/src/layouts/AdminLayout.tsx`:分销菜单新增「分销订单」「结算批次」及页面标题。
- `frontend/src/styles/admin-distribution.css`:新增加批次明细头部间距。
## 6. 验证结果
```text
cd frontend && npx tsc --noEmit 通过
cd frontend && npm run build 通过(入口 523.44 kB,gzip 168.11 kB)
GET /console-jy8k3m/distribution/orders 200
GET /console-jy8k3m/distribution/settlements 200
GET /api/admin/distribution/orders?page=1&page_size=5 200,空列表
GET /api/admin/distribution/orders/1 404,开发库无该订单
GET /api/admin/distribution/settlement-batches?site_id=1 200,空列表
GET /api/admin/distribution/settlement-batches/1/items 404,开发库无该批次
```
未调用人工批次创建、释放入账、作废、财务快照等写接口;开发库当前也没有分销站点与分销订单数据。
## 7. 已知限制
1. 不提供财务快照补录入口;需要补录时应先确认规则版本、参与方与金额口径。
2. 结算批次列表不分页,按站点返回全部批次;数据量增大后再补分页。
3. 订单详情只展示订单级快照,不展示逐参与方明细;三方分账需要更细粒度时可另开接口。
4. 批次释放/作废依赖后端实时复核,前端只做二次确认与错误提示。
5. 开发库无真实分销订单,列表空态、详情 404、批次空态已验证,未做真实批次金额回归。
## 8. 下一步建议
1. 分销用户、站点公告、账号展示、支付通道等剩余长尾页面。
2. 真实站点数据下回归订单筛选、批次生成、明细与释放流程。
3. 订单结算比例全面 bps 化。
4. 真实订单支付/交接/确认收号/结账/申诉端到端回归。
@@ -0,0 +1,130 @@
# Phase 2 验收报告(分销长尾:钱包、短信、邀请、二维码池、规则版本)
> 日期:2026-10-30
> 项目:解忧商行(hfb_jysh)
> 范围:后台分销长尾 5 个页面
> 结论:**本切片通过,页面已接真实接口,前端构建通过;未执行任何资金类写操作**
---
## 1. 页面与路由
| 页面 | 路由 | 文件 |
| --- | --- | --- |
| 站点钱包 | `/console-jy8k3m/distribution/wallet` | `frontend/src/features/admin/AdminDistributionWalletPage.tsx` |
| 站点短信 | `/console-jy8k3m/distribution/sms` | `frontend/src/features/admin/AdminDistributionSMSPage.tsx` |
| 邀请返利 | `/console-jy8k3m/distribution/invitation` | `frontend/src/features/admin/AdminDistributionInvitationPage.tsx` |
| 二维码池 | `/console-jy8k3m/distribution/qrcodes` | `frontend/src/features/admin/AdminDistributionQrCodesPage.tsx` |
| 规则版本 | `/console-jy8k3m/distribution/rules` | `frontend/src/features/admin/AdminDistributionRulesPage.tsx` |
公共站点选择器:
- `frontend/src/features/admin/components/DistributionSiteSelect.tsx`
- 站点 ID 写入 URL `?site_id=`,刷新与分享不丢上下文。
- 未指定或无效站点时自动回退第一个可见站点;规则版本页关闭自动改写 URL。
## 2. 接口与权限
| 能力 | 接口 | 权限码 |
| --- | --- | --- |
| 站点钱包 | `GET /api/admin/distribution/sites/:id/wallet` | `distribution:settlement_view` |
| 提现记录 | `GET /api/admin/distribution/sites/:id/withdrawals` | `distribution:settlement_view` |
| 申请提现 | `POST /api/admin/distribution/sites/:id/withdrawals` | `distribution:settlement_manage` |
| 短信配置读取 | `GET /api/admin/distribution/sites/:id/sms-config` | `distribution:site_view` |
| 短信配置保存 | `PUT /api/admin/distribution/sites/:id/sms-config` | `distribution:site_manage` |
| 短信测试 | `POST /api/admin/distribution/sites/:id/sms-config/test` | `distribution:site_manage` |
| 邀请配置读取 | `GET /api/admin/distribution/sites/:id/invitation-config` | `distribution:site_view` |
| 邀请配置保存 | `PUT /api/admin/distribution/sites/:id/invitation-config` | `distribution:site_manage` |
| 二维码列表/统计 | `GET /api/admin/distribution/sites/:id/qrcodes`、`.../qrcodes/stats` | `qrcode:view` |
| 二维码批量入池 | `POST /api/admin/distribution/sites/:id/qrcodes/batch` | `qrcode:manage` |
| 二维码批量删除 | `POST /api/admin/distribution/sites/:id/qrcodes/batch-delete` | `qrcode:manage` |
| 二维码编辑/删除 | `PATCH/DELETE /api/admin/distribution/sites/:id/qrcodes/:qrcodeId` | `qrcode:manage` |
| 规则列表 | `GET /api/admin/distribution/rules` | `distribution:rule_view` |
| 新建规则 | `POST /api/admin/distribution/rules` | `distribution:rule_manage` |
| 规则状态 | `PUT /api/admin/distribution/rules/:id/status` | `distribution:rule_manage` |
## 3. 页面能力
### 3.1 站点钱包
- 余额卡片:可用余额、冻结余额、待释放收益、累计结算、累计提现,金额全部以整数分展示。
- 提现申请表:金额按元输入,`parseYuanToCent` 转整数分后提交;校验金额大于 0 且不超过可用余额。
- 收款方式支持支付宝/银行卡,银行卡展开开户银行与支行。
- 提交前二次确认,明确提示「从可用余额转入冻结余额」。
- 提现记录分页,展示单号、金额/手续费/到账、收款账户、状态、备注、申请/打款时间。
- **后端没有站点提现审核通过/拒绝接口,本页不提供审核按钮**;仅做申请与记录查询。
### 3.2 站点短信
- 启用开关、服务商(阿里云)、AccessKey ID、AccessKey Secret、接入地址、短信签名、登录模板。
- Secret 只读掩码:显示 `masked_secret` 与 `has_secret`,留空保存表示不修改。
- 三个业务节点模板:账号审核未通过、账号被租用需辅助登录、上架多日未成交降价建议;留空表示回退主站模板。
- 保存时 `business_templates` 整体覆盖,空值由后端归一化为回退主站。
- 测试短信使用当前表单(含未保存修改),不写入站点配置。
### 3.3 邀请返利
- 启用开关与首月/次月/第三个月起三档返利比例。
- 表单按百分比输入,提交时转 0–1 小数,符合后端 `UpdateConfigRequest` 口径。
- 比例预览与规则说明:实名后 30 天内 / 31–60 天 / 61 天以后。
### 3.4 二维码池
- 统计卡片:待用、已发放、已停用、总计。
- 筛选:关键字、状态、绑定群、过期状态。
- 列表:缩略图预览、分组/备注、状态、绑定会话、企微改名、有效期、创建时间。
- 批量入池:单次最多 20 张,原图上传不压缩,逐张可填群名,批次备注统一写入。
- 支持停用/启用、编辑(群名、备注、状态、企微改名、过期时间/清除过期)、单删与多选批量删除。
- 已发放二维码不能改回待用,后端拒绝时前端展示错误。
### 3.5 规则版本
- 支持全局/指定站点、四种分账模式:分站收号、平台收号、三方分账、分站自营。
- 新建规则默认草稿;比例按百分数填写,服务费支持比例或固定分。
- 列表展示作用域、模式、分账比例、服务费、支付费率、税费、状态与生效时间。
- 状态操作:启用、停用、停用后转草稿,均有二次确认。
- 不提供规则内容编辑接口,已生效版本通过新建版本演进。
## 4. 共用改造
- `frontend/src/features/admin/types.ts`:新增分销钱包、提现、短信、邀请、二维码、规则类型。
- `frontend/src/features/admin/api.ts`:新增对应只读与写接口封装,写接口未在验收中调用。
- `frontend/src/features/admin/components/DataTable.tsx`:新增可选 `rowSelection`,供二维码池批量选择。
- `frontend/src/shared/api/files.ts`:新增 `uploadAdminFile`,走 `adminClient` 的 HttpOnly Cookie,调用 `/admin/files/upload`。
- `frontend/src/styles/admin-distribution.css`:新增站点选择器、钱包卡片、表单提示、邀请预览、二维码上传与待入池列表样式。
- `frontend/src/styles/global.css`:在 `admin-shell.css` 之后引入分销样式。
## 5. 验证结果
```text
cd frontend && npx tsc --noEmit 通过
cd frontend && npm run build 通过(入口 522.63 kB,gzip 167.98 kB)
GET /console-jy8k3m/distribution/wallet 200
GET /console-jy8k3m/distribution/sms 200
GET /console-jy8k3m/distribution/invitation 200
GET /console-jy8k3m/distribution/qrcodes 200
GET /console-jy8k3m/distribution/rules 200
GET /api/admin/distribution/rules 200,返回规则版本
GET /api/admin/distribution/sites 200,开发库当前 0 个站点
GET /api/admin/distribution/sites/1/withdrawals 200,空列表
```
开发库当前没有分销站点,因此站点钱包、短信、二维码的站点级 GET 返回 404「分销资源不存在」属于数据缺失,不是路由缺失。未调用提现申请、短信保存/测试、二维码写入、规则写入等写接口。
## 6. 已知限制
1. 站点提现后端只有申请与列表,没有审核通过/拒绝接口,本页不伪造审核能力;审核仍需另开后端切片。
2. 短信服务商当前只开放阿里云,`mock` 仅在非生产环境允许且未在界面暴露。
3. 二维码池未接 OCR 自动识别群名,群名可手动填写;后续可复用 `/chat/qrcodes/ocr` 能力。
4. 规则版本只支持新建与状态切换,不支持原地编辑已生效规则,避免历史订单快照失真。
5. 邀请返利比例后端仍是 0–1 浮点字段,前端仅在输入/展示边界转换,未改后端存储口径。
6. 开发库无站点,站点级页面的空态与 404 分支已验证,但未做真实站点数据下的视觉回归。
## 7. 下一步建议
1. 分销订单、结算批次、分销用户、站点公告等剩余长尾页面。
2. 真实站点数据下回归钱包/二维码/短信/邀请四个站点级页面。
3. 订单结算 `buyer_ratio` / `seller_ratio` 全面 bps 化。
4. 真实订单支付/交接/确认收号/结账/申诉端到端回归。
+2 -2
View File
@@ -381,7 +381,7 @@ hfb_jysh/
### Phase 3:C 端 PC + 移动端(3 周)
> 状态:**进行中(2026-10-30)**。移动端已完成首页、商品列表/详情、下单确认、登录、个人中心、实名认证、订单列表/详情、消息中心、聊天与卖家中心,并接入支付、交接、确认收号、结账、还价、申诉、证据图片上传、订单群聊与客服会话;PC 商品详情、下单、订单中心、操作页、消息中心、聊天页与卖家发布/编辑/审核提交已接通,剩余分销长尾能力与真实订单端到端回归。
> 状态:**进行中(2026-10-30)**。移动端已完成首页、商品列表/详情、下单确认、登录、个人中心、实名认证、订单列表/详情、消息中心、聊天与卖家中心,并接入支付、交接、确认收号、结账、还价、申诉、证据图片上传、订单群聊与客服会话;PC 商品详情、下单、订单中心、操作页、消息中心、聊天页与卖家发布/编辑/审核提交已接通,剩余真实订单端到端回归。
- 首页、商品列表、商品详情、撞车商品。
- 登录、注册、找回密码、实名认证。
@@ -395,7 +395,7 @@ hfb_jysh/
### Phase 4:管理后台核心(4–5 周)
> 状态:**进行中(2026-10-30)**。已完成仪表盘、订单、退款、提现、商品、用户、申诉、财务看板、资金出款、运营开支、公告管理、审计日志、系统配置与分销站点;分销长尾能力待迁移。
> 状态:**进行中(2026-10-30)**。已完成仪表盘、订单、退款、提现、商品、用户、申诉、财务看板、资金出款、运营开支、公告管理、审计日志、系统配置、分销站点、站点钱包、分销订单、结算批次、分销用户、站点公告、分销商品、支付通道、规则版本、二维码池、站点短信与邀请返利;剩余分销看板、账号同步、主站支付配置管理等细分长尾和真实订单端到端回归。
- 后台登录、工作台、订单列表、订单详情。
- 商品列表、商品详情、审核。