# Plan — VR 演唱会票务小程序 Phase 2 技术评估 > 版本:v1.0 | 日期:2026-04-21 | Agent:council/FrontendDev + council/BackendArchitect + council/FirstPrinciples --- ## 任务概述 对 Phase 2 票务插件的 4 个已知问题进行根因分析,产出一份合并评估报告 `reviews/council-phase2-assessment.md`,包含根因、修复方案、API 设计建议。 --- ## 已知问题清单 - [x] [Done: council/FrontendDev] **Issue 1 (P0)**: 购物车提交格式错误 — submit() 已修复为 POST + goods_data - 根因:GET `goods_params` → BuyController 期望 POST `goods_data` - 修复:submit() 改为隐藏表单 POST,`goods_data` base64(JSON),`attendee_data` 独立字段 - BackendArchitect 审查:✅ `[APPROVE]` — 格式与 BatchGenerate() 对齐 - findings: `reviews/council-phase2-assessment.md` + `reviews/BackendArchitect-on-FrontendDev-P1.md` - [x] [Done: council/FrontendDev] **Issue 2 (P1)**: 缩放时舞台元素不跟随 — `.vr-zoom-container` 已引入 - 根因:`.vr-stage` 和 `.vr-seat-rows` 是 `.vr-seat-map-wrapper` 的平级子元素,缩放不同步 - 修复:引入 `.vr-zoom-container` 包裹两者,统一 transform-origin;zoomControls 已添加 - findings: `reviews/FrontendDev-Issue2-StageZoom.md` - [x] [Done: council/FrontendDev] **Issue 3 (P1)**: spec 加载问题回滚 — loadSoldSeats() AJAX 骨架已实现 - 根因:`loadSoldSeats()` 是空 TODO stub,无任何 AJAX 调用 - 修复:前端 `loadSoldSeats()` 调用 `plugins/vr_ticket/index/sold_seats` 接口,标记 `.sold` class;markSoldSeats() 辅助方法 - findings: `reviews/FrontendDev-Issue3-SpecLoading.md` - [x] [Done: council/FrontendDev] **Issue 4 (P2)**: 商品详情/图片加载现状评估 + CSS 补充 - 结论:商品内容 ✅ 正常;相册数据 ⚠️ 未使用;`.goods-detail-content` CSS 已补充 - findings: `reviews/FrontendDev-Issue4-GoodsDetail.md` --- ## 阶段划分 | 阶段 | 内容 | 时长 | |------|------|------| | **Round 1 (本轮)** | 规划:各 Agent 独立分析,创建 findings 文件 | ~2 min | | **Round 2** | 执行:读取关键文件,深入分析,产出初步 findings | ~5 min | | **Round 3** | 合并:各 Agent 交叉审阅,合并至 `reviews/council-phase2-assessment.md` | ~5 min | | **Round 4** | 收敛:投票 Consensus | ~1 min | --- ## 分工 Claim | Issue | Claim | |-------|-------| | Issue 1 (P0) | [Claimed: council/BackendArchitect] + [FrontendDev 验证前端 submit 逻辑] | | Issue 2 (P1) | [Claimed: council/FrontendDev] | | Issue 3 (P1) | [Claimed: council/BackendArchitect] + [FrontendDev 配合] | | Issue 4 (P2) | [Claimed: council/FrontendDev] | | 第一性原则综合分析 | [Claimed: council/FirstPrinciples] | --- ## 输出文件 - `reviews/FrontendDev-Issue2-StageZoom.md` — Issue 2 根因 + 修复方案(FrontendDev) - `reviews/FrontendDev-Issue3-SpecLoading.md` — Issue 3 前端视角分析(FrontendDev) - `reviews/FrontendDev-Issue4-GoodsDetail.md` — Issue 4 评估(FrontendDev) - `reviews/council-phase2-assessment.md` — **合并报告**(各 Agent 合并,FrontendDev 汇总执笔) --- ## 第一性原则关键问题(FirstPrinciples) 1. 多座位提交 API 设计是否正交? 2. spec_base_id_map 是否过于复杂? 3. 选座是否必须走购物车流程? 4. spec/库存的真实业务价值是什么? --- ## 约束 - 最大 4 轮,每轮 ≤ 25 tool turns - 最大总耗时 20 分钟 - 不 push,只 local merge 到 main