89 lines
4.3 KiB
Markdown
89 lines
4.3 KiB
Markdown
# Plan — VR 演唱会票务小程序 Phase 2 技术评估
|
||
|
||
> 版本:v1.0 | 日期:2026-04-21 | Agent:council/FirstPrinciples + council/BackendArchitect + council/FrontendDev
|
||
|
||
---
|
||
|
||
## 任务概述
|
||
|
||
评估 Phase 2 已完成的 4 个已知问题(购物车提交格式、舞台缩放、spec 加载、商品详情),识别根因,给出修复方案。
|
||
|
||
---
|
||
|
||
## 问题清单与分工
|
||
|
||
### P0 — 购物车提交格式错误
|
||
**负责人**:council/BackendArchitect
|
||
**任务清单**:
|
||
- [ ] [Claimed: council/BackendArchitect] **Task B-P0-1**: 逆向 GoodsCartService::Save,提取真实 API 契约(参数名、格式、类型)
|
||
- [ ] [ ] [Claimed: council/BackendArchitect] **Task B-P0-2**: 对比 ticket_detail.html submit() 当前构造的 params,指出具体差异
|
||
- [ ] [ ] [Claimed: council/BackendArchitect] **Task B-P0-3**: 确认 spec_base_id_map 的语义和作用
|
||
- [ ] [ ] [Claimed: council/BackendArchitect] **Task B-P0-4**: spec 加载标准端点分析(GoodsSpecDetail 或其他)
|
||
|
||
### P1 — 舞台缩放不跟随
|
||
**负责人**:council/FrontendDev
|
||
**任务清单**:
|
||
- [ ] [Claimed: council/FrontendDev] **Task F-P1-1**: 读取 ticket_detail.html 中 .vr-stage 和 .vr-seat-rows 的 DOM 关系
|
||
- [ ] [ ] [Claimed: council/FrontendDev] **Task F-P1-2**: 评估「舞台进入 .vr-seat-rows」vs「共享 CSS 缩放变量」两个方案
|
||
- [ ] [ ] [Claimed: council/FrontendDev] **Task F-P1-3**: 给出推荐修复方案
|
||
|
||
### P1 — spec 加载机制回滚问题
|
||
**负责人**:council/BackendArchitect
|
||
**任务清单**:
|
||
- [ ] [Claimed: council/BackendArchitect] **Task B-P1-1**: 梳理 ShopXO spec 加载的完整调用链(从商品详情页到 GoodsSpecDetail)
|
||
- [ ] [ ] [Claimed: council/BackendArchitect] **Task B-P1-2**: 判断 ticket_detail.html 能否接入原生 spec 加载,或需要自定义接口
|
||
|
||
### P2 — 商品详情/图片加载
|
||
**负责人**:council/FrontendDev
|
||
**任务清单**:
|
||
- [ ] [ ] [Claimed: council/FrontendDev] **Task F-P2-1**: 读取 ticket_detail.html 当前 goods_detail/content 渲染状态
|
||
- [ ] [ ] [Claimed: council/FrontendDev] **Task F-P2-2**: 对比 ShopXO 标准商品详情页的渲染方式
|
||
|
||
### FirstPrinciples 核心分析
|
||
**负责人**:council/FirstPrinciples
|
||
**任务清单**:
|
||
- [ ] [Claimed: council/FirstPrinciples] **Task FP-1**: 多座位串行提交 — API 设计正交性分析
|
||
- [ ] [Claimed: council/FirstPrinciples] **Task FP-2**: spec_base_id_map 复杂度质疑:是否存在更简单方案?
|
||
- [ ] [Claimed: council/FirstPrinciples] **Task FP-3**: 选座 → 购物车流程是否必要?直购是否更合适?
|
||
- [ ] [Claimed: council/FirstPrinciples] **Task FP-4**: 识别被忽略的关键目标(为什么需要 spec?为什么需要库存?)
|
||
|
||
---
|
||
|
||
## 阶段划分
|
||
|
||
| 阶段 | 状态 | 说明 |
|
||
|------|------|------|
|
||
| **Draft** | 🔄 进行中 | 各 Agent 读取核心文件,提交 findings |
|
||
| **Review** | ⬜ 待开始 | FirstPrinciples 汇总所有 findings |
|
||
| **Finalize** | ⬜ 待开始 | 输出 `reviews/council-phase2-assessment.md` |
|
||
|
||
---
|
||
|
||
## 输出文件
|
||
|
||
| 文件 | 内容 | 负责人 |
|
||
|------|------|--------|
|
||
| `reviews/FirstPrinciples-on-phase2-assessment.md` | 第一性原则分析报告 | FirstPrinciples |
|
||
| `reviews/council-phase2-assessment.md` | 合并评估报告(最终输出) | FirstPrinciples |
|
||
|
||
---
|
||
|
||
## 依赖关系
|
||
|
||
```
|
||
Task B-P0-1 → B-P0-2 → B-P0-3(串行,BackendArchitect)
|
||
Task B-P1-1 → B-P1-2(串行,BackendArchitect)
|
||
Task F-P1-1 → F-P1-2 → F-P1-3(串行,FrontendDev)
|
||
Task F-P2-1 → F-P2-2(串行,FrontendDev)
|
||
Task FP-1~4 → 等待 B/F 报告后执行(并行但依赖输入)
|
||
```
|
||
|
||
---
|
||
|
||
## 关键问题提醒(FirstPrinciples 视角)
|
||
|
||
1. **购物车是否必要?** VR 演唱会票务是单场次、强时效性商品,购物车流程是否增加了不必要的复杂度?
|
||
2. **spec_base_id_map 的隐式假设**:为什么一个座位选择需要映射到 spec?这个设计是否源于对 ShopXO 架构的路径依赖?
|
||
3. **缩放是技术问题还是设计问题?** 如果舞台是「视觉引导」而非「交互元素」,缩放需求本身是否合理?
|
||
4. **已售座位展示的优先级**:是否真的是 P0?如果座位图本身就是展示性的,已售状态是否可以通过其他方式(如下单时返回错误)处理?
|