feat(seller): 迁移商品发布编辑与审核链路

This commit is contained in:
yml2213
2026-10-30 14:24:51 +08:00
parent 398bf28d7d
commit 85bff95042
13 changed files with 4262 additions and 1 deletions
@@ -0,0 +1,76 @@
# Phase 2 卖家商品发布与编辑验收
> 日期:2026-10-30
> 范围:PC 卖家商品列表、详情、发布、编辑、提交审核、上下架。
## 1. 交付内容
### 1.1 路由与入口
- `/seller/listings`:我的商品
- `/seller/listings/new`:发布账号
- `/seller/listings/:id`:卖家商品详情
- `/seller/listings/:id/edit`:编辑账号
- 商城顶部导航与用户下拉新增「卖家中心」。
- 未登录访问卖家页面时展示登录引导,登录后回跳原页面。
### 1.2 卖家商品列表
- 统计:全部发布、已上架、待审核、已下架、已完成。
- 状态筛选、商品编号复制、刷新。
- 商品卡片展示区服、哈夫币、卖家到手价、押金、审核状态与驳回原因。
- 操作:详情、编辑、提审、下架;提审与下架均使用 `confirmModal` 二次确认。
### 1.3 发布 / 编辑表单
- 基础资料:区服、上号方式、段位、哈夫币、烽火等级、绝密 KD、赛季保险、体力、负重、每日损耗、人脸情况、封禁记录。
- 微信区自动固定为「扫码」,并过滤「账号密码」。
- 在线时间:开始/结束 TimePicker,支持「全天」快捷设置。
- 交接信息:凌晨响应、可改游戏名、全英雄、解锁德穆兰、下赛季通行证、常玩地区、备注。
- 资源:按后台 `quantity_items` 生成数量与「赠送 / 收费」模式;赛季保险为 `3*3` 时禁用 9 格体验卡。
- 皮肤:按后台 `skin_groups` 分组多选。
- 截图:按后台 `screenshot_slots` 分槽上传,单张/多张、删除、预览,最多 9 张。
- 协议:展示「虚拟资产出售协议」与「号主协议」,必须勾选;另需确认改密与清除登录设备事项。
### 1.4 定价与校验
- 移植原项目纯计算逻辑到 `frontend/src/shared/utils/pricing.ts`:
- 金额/比例取整、单位价格解析、每日损耗调整。
- 消耗品计价、推荐押金与押金明细。
- 卖家参考比例、加速出售比例、固定加价/比例修正平台定价。
- 表单实时展示参考比例、卖家比例、买家比例、纯币基础价、消耗品价值、买家挂牌价、推荐押金。
- 提交前校验:
- 区服、上号方式、段位、哈夫币、烽火等级下限。
- 赛季保险、体力、负重、每日损耗。
- 后台配置了封禁记录选项时必选封禁记录。
- 在线时间合法且起止不相同。
- 押金不低于推荐值,且必须大于消耗品总价值。
- 每个必填截图上传承载位必须有图片。
- 封禁记录命中 `ban_evidence_options` 时,腾讯安全中心截图变为必填。
- 两份协议与改密确认必须勾选。
### 1.5 编辑回填
- 回填 `listing.asset_summary` 中的在线时间、resources、skin_groups、`price_breakdown.accelerated_sale_ratio`。
- 优先使用 `screenshot_groups` 回填截图;历史数据缺失时回退 `screenshot_urls`。
- 编辑保存成功后返回列表;新建且自动建立发布群时跳转 `/messages/:conversationId`。
## 2. 验证记录
| 检查 | 结果 |
|---|---|
| `cd frontend && npx tsc --noEmit` | 通过 |
| `cd frontend && npm run build` | 通过,主入口 519.27 kB / gzip 167.33 kB |
| `GET /seller/listings` | 200 |
| `GET /seller/listings/new` | 200 |
| `GET /api/seller/listings`(联调用户) | 200,返回现有商品 |
| `GET /api/listing-publish-options` | 200,4685 bytes |
| `GET /api/listing-publish-agreements` | 200,2700 bytes |
| `GET /api/listing-sale-price-config` | 200,563 bytes |
## 3. 未覆盖与风险
- 未执行真实发布写操作,避免污染开发库;发布接口与表单已通过类型检查与构建。
- 卖家页面当前仅实现 PC 端,移动端卖家页面未迁移。
- 历史商品 `asset_summary` 字段不全时,详情页会显示 `—` 或回退截图列表。
- 发布选项为空时页面不会崩溃,但会因无法计算买家价而阻止提交,需后台先配置发布选项。
+1 -1
View File
@@ -381,7 +381,7 @@ hfb_jysh/
### Phase 3:C 端 PC + 移动端(3 周)
> 状态:**进行中(2026-10-30)**。移动端已完成首页、商品列表/详情、下单确认、登录、个人中心、实名认证、订单列表/详情、消息中心与聊天,并接入支付、交接、确认收号、结账、还价、申诉、证据图片上传、订单群聊与客服会话;PC 商品详情、下单、订单中心、操作页、消息中心与聊天页已接通,卖家发布/编辑/审核链路待迁移。
> 状态:**进行中(2026-10-30)**。移动端已完成首页、商品列表/详情、下单确认、登录、个人中心、实名认证、订单列表/详情、消息中心与聊天,并接入支付、交接、确认收号、结账、还价、申诉、证据图片上传、订单群聊与客服会话;PC 商品详情、下单、订单中心、操作页、消息中心、聊天页与卖家发布/编辑/审核提交已接通,移动端卖家页面与分销长尾能力待迁移。
- 首页、商品列表、商品详情、撞车商品。
- 登录、注册、找回密码、实名认证。