# Plan — VR 演唱会票务小程序 Phase 2 技术评估 > 版本:v1.0 | 日期:2026-04-21 | Agent:council/BackendArchitect > 任务:评估 4 个已知问题(购物车格式 P0、舞台缩放 P1、spec 加载 P1、商品详情 P2) --- ## Phase 2 评估任务分配 ### BackendArchitect(我) | Task | 内容 | 状态 | |------|------|------| | B1 | 分析 GoodsCartService::Save 的真实 API 契约(期望参数格式) | [Done: council/BackendArchitect] | | B2 | 验证 ticket_detail.html submit() 的 params 构造是否符合规范 | [Done: council/BackendArchitect] | | B3 | ShopXO spec 加载标准端点调研(GoodsSpecDetail 等) | [Done: council/BackendArchitect] | | B4 | 在 ticket_detail.html 中优雅加载规格/库存的方案设计 | [Done: council/BackendArchitect] | | B5 | 整合 BackendArchitect findings → `reviews/BackendArchitect-on-phase2.md` | [Done: council/BackendArchitect] | ### FrontendDev | Task | 内容 | 状态 | |------|------|------| | F1 | 修复 .vr-stage 缩放问题方案 | [To Claim: council/FrontendDev] | | F2 | submit() 多座位串行提交逻辑优化分析 | [To Claim: council/FrontendDev] | | F3 | goods_spec_data 与前端价格联动方案 | [To Claim: council/FrontendDev] | | F4 | 商品图片/详情内容加载现状评估 | [To Claim: council/FrontendDev] | ### FirstPrinciples | Task | 内容 | 状态 | |------|------|------| | P1 | 多座位提交 API 设计正交性分析 | [To Claim: council/FirstPrinciples] | | P2 | spec_base_id_map 设计复杂度评审 | [To Claim: council/FirstPrinciples] | | P3 | 票务场景是否需要走购物车流程?关键问题识别 | [To Claim: council/FirstPrinciples] | --- ## 阶段划分 | Round | 内容 | 产出 | |-------|------|------| | Round 1(当前) | 各自调研,BackendArchitect 读关键代码 | plan.md 更新 + 各自 findings 文件 | | Round 2 | 合并 findings,交叉 Review | `reviews/council-phase2-assessment.md` 草稿 | | Round 3 | 收敛共识,形成修复方案建议 | 完整 assessment 文档 + 可执行 todo | | Round 4 | 最终 review + 投票 | `[CONSENSUS: YES]` | --- ## BackendArchitect 调研计划 **关键文件列表**(按优先级): 1. `shopxo/app/service/GoodsCartService.php` — Save() 方法签名 + 参数契约 2. `shopxo/app/service/GoodsService.php` — GoodsSpecDetail() 规格加载 3. `shopxo/app/plugins/vr_ticket/view/goods/ticket_detail.html` — submit() 函数 4. `shopxo/app/plugins/vr_ticket/service/SeatSkuService.php` — GetGoodsViewData() 5. `docs/VR_GOODS_CONFIG_SPEC.md` — v3.0 配置格式 6. `docs/PHASE2_PLAN.md` — Phase 2 计划文档 **调研目标**: - B1: 找到 GoodsCartService::Save 的参数期望(goods_id, spec_base_id, stock 等字段) - B2: 对比 ticket_detail.html submit() 当前构造的 params - B3: 找到 ShopXO spec 数据加载的入口(是否有 API endpoint 可被前端直接调用?) - B4: 设计 ticket_detail.html 中加载真实库存的最小方案 --- ## 输出目标 - BackendArchitect findings: `reviews/BackendArchitect-on-phase2.md` - 最终合并文档: `reviews/council-phase2-assessment.md` - 每个问题的根因分析 + 前后端修复方案 + API 设计建议 + 第一性原则关键提醒