feat(mobile): 接入实名认证与商品详情客服入口

This commit is contained in:
yml2213
2026-10-30 14:11:15 +08:00
parent f2552fe523
commit 395f056d64
8 changed files with 475 additions and 8 deletions
@@ -0,0 +1,51 @@
# Phase 2 移动端实名与客服入口验收
> 日期:2026-10-30
> 范围:移动端实名认证入口、移动商品详情客服入口。
## 1. 交付内容
### 1.1 实名认证
- 新增 `frontend/src/features/realname/api.ts`
- `GET /api/realname/status`
- `POST /api/realname/start`
- 新增 `frontend/src/features/mobile/MobileRealnamePage.tsx`
- 状态区分:未实名 / 审核中 / 已实名 / 未通过。
- 已实名展示脱敏姓名、脱敏身份证号与认证时间。
- 审核中提供刷新按钮。
- 未实名或未通过展示姓名、18 位身份证号表单,提交前二次确认。
- 提交成功后刷新实名状态并重新拉取用户信息。
- 新增路由 `/m/realname`。
- 移动个人中心「实名认证」可点击进入;已实名、审核中、未通过使用不同标签。
- 商品详情未实名弹窗新增「去实名」按钮,直接进入实名页。
### 1.2 客服入口
- 移动商品详情「联系客服」从占位 Toast 改为真实链路:
- 未登录跳转 `/m/login?redirect=/m/listings/:id`。
- 已登录调用 `POST /api/chats/support` 获取或创建客服会话。
- 成功后跳转 `/m/messages/:id`。
- 按钮增加加载态与重复点击保护。
### 1.3 样式
- `frontend/src/styles/mobile-profile-orders.css` 新增 `.mobile-realname*`:
- 深绿实名头图、状态标签、信息列表、表单卡片、隐私说明。
- 复用现有移动端间距与字体变量。
## 2. 验证记录
| 检查 | 结果 |
|---|---|
| `cd frontend && npx tsc --noEmit` | 通过 |
| `cd frontend && npm run build` | 通过,主入口 516.40 kB / gzip 166.44 kB |
| `GET /m/realname` | 200 |
| `GET /api/realname/status`(联调用户) | 200,返回 `verified`、`mock`、脱敏姓名与证件号 |
| `POST /api/chats/support`(scene=general) | 200,返回客服会话 `id=2` |
## 3. 说明
- 联调用户 `13800138000` 已是 `verified` 状态,因此页面默认展示已实名信息,不会重复提交。
- 开发环境实名 provider 为 `mock`;生产未配置实名服务时,后端会快速失败并返回「实名认证服务未配置」。
- 身份证号前端仅做 18 位格式校验,最终合法性由后端与实名服务判断。
+1 -1
View File
@@ -381,7 +381,7 @@ hfb_jysh/
### Phase 3:C 端 PC + 移动端(3 周)
> 状态:**进行中(2026-10-30)**。移动端已完成首页、商品列表/详情、下单确认、登录、个人中心、订单列表/详情、消息中心与聊天,并接入支付、交接、确认收号、结账、还价、申诉、证据图片上传与订单群聊;PC 商品详情、下单、订单中心、操作页、消息中心与聊天页已接通,移动端实名入口、卖家发布链路待迁移。
> 状态:**进行中(2026-10-30)**。移动端已完成首页、商品列表/详情、下单确认、登录、个人中心、实名认证、订单列表/详情、消息中心与聊天,并接入支付、交接、确认收号、结账、还价、申诉、证据图片上传、订单群聊与客服会话;PC 商品详情、下单、订单中心、操作页、消息中心与聊天页已接通,卖家发布/编辑/审核链路待迁移。
- 首页、商品列表、商品详情、撞车商品。
- 登录、注册、找回密码、实名认证。