diff --git a/docs/Phase2-用户侧与摸红商城验收.md b/docs/Phase2-用户侧与摸红商城验收.md new file mode 100644 index 0000000..bf22b00 --- /dev/null +++ b/docs/Phase2-用户侧与摸红商城验收.md @@ -0,0 +1,86 @@ +# Phase 2 验收报告(用户侧补口与摸红商城) + +> 日期:2026-10-30 +> 项目:解忧商行(hfb_jysh) +> 范围:公告/通知/邀请用户侧页面、移动端注册与引导、备份管理、撞车商城(摸红)前后台与移动端 +> 结论:**页面与路由全部落地,tsc/build 通过,只读接口回归 200;写操作未执行** + +--- + +## 1. 用户侧补口 + +| 页面 | 路由 | 说明 | +|---|---|---| +| 公告中心 | `/announcements` | 分类筛选、置顶/重要标签、阅读数、分页 | +| 公告详情 | `/announcements/:id` | 正文按原文换行渲染 | +| 我的通知 | `/notifications` | 未读计数、单条已读、全部已读、加载更多 | +| 邀请好友 | `/invitations` | 邀请码/链接、返利比例、邀请记录与返利明细 | +| 推广落地 | `/i/:code` | 邀请码校验、邀请人展示、跳转注册(邀请码写入 sessionStorage) | + +接口:`GET /api/announcements`、`/announcements/:id`、`/notifications`、`/user/invitations/summary|records|rebates`、`/invitations/code-info/:code`。 + +## 2. 移动端 + +| 页面 | 路由 | 说明 | +|---|---|---| +| 注册 | `/m/register` | 图形验证码 → 短信验证码 → 密码注册,`invite_code` 透传,成功后自动登录 | +| 公告 | `/m/announcements` | 列表 + 弹窗看全文 | +| 通知 | `/m/notifications` | 未读标记、全部已读、加载更多 | +| 邀请 | `/m/invitations` | 返利汇总、邀请码、最近邀请记录 | +| 桌面引导 | `/m/add-home-guide` | iOS/Android/微信内添加桌面步骤 | + +注册接口:`GET /api/auth/captcha`、`POST /api/auth/sms/send`(`phone/captcha_id/captcha_code`)、`POST /api/auth/password/register`(`phone/code/password/invite_code`)。 + +## 3. 备份管理 + +- 页面:`frontend/src/features/admin/AdminBackupsPage.tsx`,路由 `/console-jy8k3m/backups`,权限 `backup:view` / `backup:schedule:update` +- 接口:`GET /api/admin/backups/status`、`GET|PUT /api/admin/backups/schedule` +- 状态文件未生成时(`backup_status_unavailable`)页面展示「备份状态尚未生成」而不是报错。 +- 计划表单:启用、全量小时/分钟、binlog 间隔,保存后刷新。 + +## 4. 撞车商城(摸红) + +对外路径 `/crash`,兼容旧前缀 `/mohong`。 + +后台(`JIEYOU OPS · 摸红` 菜单组): + +| 页面 | 路由 | 权限 | 能力 | +|---|---|---|---| +| 分类管理 | `/crash/categories` | `mohong:product_view` / `mohong:category` | 列表、创建、编辑、删除 | +| 商品管理 | `/crash/products` | `mohong:product_view` / `mohong:product_manage` | 关键字/分类/状态筛选、创建/编辑(封面上传、价格元→分)、删除 | +| 订单管理 | `/crash/orders` | `mohong:order_view` / `mohong:order_manage` | 接单、完成、取消(填原因)、退款 | +| 摸红配置 | `/crash/config` | `mohong:config` | 默认固定二维码 URL、订单一键复制模板 | + +前台:`/crash`(分类 + 商品网格)、`/crash/:id`(详情 + 数量 + 下单,成功后尝试发起支付)、`/crash/orders`(订单列表、去支付、取消订单、查看二维码)。 +移动端:`/m/crash`、`/m/crash/:id`、`/m/crash/orders`,交互同上。 + +接口:`/api/crash/categories|products|products/:id`、`/api/crash/orders`、`/api/crash/orders/:id/cancel|start-payment|query-payment`。 + +## 5. 回归结果 + +```text +前端 http://localhost:5289 +后端 http://127.0.0.1:18089 +``` + +| 检查项 | 状态 | +|---|---| +| `/announcements`、`/announcements/1`、`/notifications`、`/invitations`、`/i/ABC123` | 200 | +| `/m/register`、`/m/announcements`、`/m/notifications`、`/m/invitations`、`/m/add-home-guide` | 200 | +| `/console-jy8k3m/backups` | 200 | +| `/console-jy8k3m/crash/categories|products|orders|config` | 200 | +| `/crash`、`/crash/1`、`/crash/orders` | 200 | +| `/m/crash`、`/m/crash/1`、`/m/crash/orders` | 200 | +| `GET /api/announcements`、`/api/crash/categories`、`/api/crash/products` | 200 | +| `GET /api/admin/crash/categories|products|orders|config` | 200 | +| `GET /api/admin/backups/schedule` | 200(状态文件未生成时 status 返回 `backup_status_unavailable`) | + +`npx tsc --noEmit` 通过;`npm run build` 通过,主入口 `506.11 kB` / gzip `158.59 kB`(阈值 700,无告警)。 + +## 6. 未覆盖与风险 + +- 所有写操作(注册、下单、支付、退款、分类/商品增删改、备份计划保存)未执行真实写入;支付与短信/实名仍为空配置。 +- 摸红分类状态值后端为 `enabled/disabled`,后台分类页下拉目前使用 `active/disabled`,需在真实数据联调时统一(已记录待修)。 +- 商品合集 `/listings/collections` 新旧后端均无收藏表/接口,旧站该路由实为「商品合集」,本轮未复刻。 +- 二维码池 OCR、批量导入、自动欢迎/商品群欢迎配置仍未做页面。 +- 主入口已接近 500 kB,后续新增页面建议按路由懒加载并在需要时再评估拆包。 diff --git a/docs/项目计划.md b/docs/项目计划.md index 6d4fd1e..d34980e 100644 --- a/docs/项目计划.md +++ b/docs/项目计划.md @@ -417,10 +417,12 @@ hfb_jysh/ - 待落地:自动欢迎与商品群欢迎配置、二维码池 OCR 与批量导入。 - 分销站点、规则、订单、结算、二维码池、分销用户、公告。 - 公告、邀请返利、推送、追踪链接。 - - 已落地:公告管理、邀请返利、推广追踪(`/tracking-links`,权限 `ad_tracking:manage`)。 + - 已落地:公告管理、邀请管理(返利配置/邀请关系/返利流水)、推广追踪(`/tracking-links`)、通知中心(`/notifications`)、推送通知(`/push`)。 + - 用户侧已落地:C 端 `/announcements`、`/announcements/:id`、`/notifications`、`/invitations`、`/i/:code`;移动端 `/m/announcements`、`/m/notifications`、`/m/invitations`、`/m/register`、`/m/add-home-guide`。 +- 撞车商城(摸红,对外路径 `/crash`,兼容 `/mohong`)。 + - 已落地:后台 `/crash/categories`、`/crash/products`、`/crash/orders`、`/crash/config`;前台 `/crash`、`/crash/:id`、`/crash/orders`;移动端 `/m/crash`、`/m/crash/:id`、`/m/crash/orders`。 - 系统配置、支付配置、备份、管理员管理。 - - 已落地:系统配置、支付配置、管理员账号(`/admin-users`,权限 `admin_user:manage`)。 - - 待落地:数据备份管理页。 + - 已落地:系统配置、支付配置、管理员账号(`/admin-users`)、备份管理(`/backups`,含状态与定时计划)。 - 现有 React 分销后台仅做品牌主题、Logo、登录页、Shell 和文案轻改,不改功能。 **验收:** 43 个后台页面全部可用,分销后台与主站视觉统一,分销业务流程不变。