council(merge): FrontendDev - Round 1 plan (accept FrontendDev editor research plan)
commit
283076f5f2
111
plan.md
111
plan.md
|
|
@ -1,32 +1,49 @@
|
||||||
# vr-shopxo-plugin 编辑器方案调研 — plan.md
|
# vr-shopxo-plugin 编辑器方案调研 — plan.md
|
||||||
|
|
||||||
> 版本:v1.0 | 日期:2026-04-15 | Agent:BackendArchitect (Q2) + FrontendDev (Q1)
|
> 版本:v1.0(Round 1 初稿)| 日期:2026-04-15 | Agent:council/FrontendDev
|
||||||
|
> 背景:ShopXO 票务插件后台编辑器设计方案调研(Q1 JSON 编辑器复杂度评估 + ShopXO DIY 组件参考)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 任务背景
|
## 任务背景
|
||||||
|
|
||||||
vr-shopxo-plugin 后台编辑器设计方案调研,分两个子问题:
|
vr-shopxo-plugin 是 ShopXO 票务插件,需要调研后台编辑器设计方案。
|
||||||
- **Q1(FrontendDev)**:JSON 编辑器复杂度评估
|
|
||||||
- **Q2(BackendArchitect)**:商品发布页替换方案可行性
|
|
||||||
|
|
||||||
目标:`council-output/EDITOR_RESEARCH.md` 输出最终推荐
|
**已知 seat_map JSON 结构**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"map": ["AAAAAA", "BBBBBB", "CCCCCC"],
|
||||||
|
"seats": { "A": { "price": 899, "color": "#e74c3c", "label": "VIP区" }, ... },
|
||||||
|
"row_labels": ["A", "B", "C"],
|
||||||
|
"sections": [{ "name": "VIP区", "color": "..." }, ...]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
venue 字段完全不存在(硬编码 "国家体育馆")。
|
||||||
|
|
||||||
|
**引入"场馆"后的嵌套层级**:
|
||||||
|
```
|
||||||
|
venue(name/address/image)
|
||||||
|
└── seat_map(map/seats/row_labels/sections/zones)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 核心问题
|
||||||
|
|
||||||
|
| # | 问题 | 负责 |
|
||||||
|
|---|------|------|
|
||||||
|
| **Q1** | JSON 编辑器复杂度评估:ShopXO 是否有现成组件?4 层嵌套 Vue3 编辑器实现成本?JSON vs 拆表方案成本对比? | FrontendDev |
|
||||||
|
| **Q2** | 商品发布页替换方案(替换页面)可行性:`plugins_view_admin_goods_save` 能否完全替换表单? | BackendArchitect |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 任务清单
|
## 任务清单
|
||||||
|
|
||||||
### Q1 — JSON 编辑器复杂度评估(FrontendDev)
|
- [ ] **Q1.1**: 调研 ShopXO 后台是否有现成 JSON 编辑器组件(ShopXO DIY 组件) `[Claimed: FrontendDev]`
|
||||||
- [ ] **Q1-A**: 调研 ShopXO 后台是否有现成 JSON 编辑器组件
|
- [ ] **Q1.2**: 评估 4 层嵌套 Vue3 + JSON Schema form 编辑器复杂度(代码量/工时) `[Claimed: FrontendDev]`
|
||||||
- [ ] **Q1-B**: 评估 Vue3 + JSON Schema form 实现 4 层嵌套编辑器的代码量/工时
|
- [ ] **Q1.3**: JSON 编辑器 vs 拆表方案开发和维护成本对比 `[Claimed: FrontendDev]`
|
||||||
- [ ] **Q1-C**: 与拆表方案对比 JSON 编辑器的开发和维护成本
|
- [ ] **Q2**: 商品发布页替换方案可行性(BackendArchitect 并行调研) `[Claimed: BackendArchitect]`
|
||||||
|
- [ ] **Final**: 输出 `council-output/EDITOR_RESEARCH.md` 并给出明确推荐 `[Claimed: FrontendDev]`
|
||||||
### Q2 — 商品发布页替换方案可行性(BackendArchitect)
|
|
||||||
- [ ] **Q2-A**: 确认 `plugins_view_admin_goods_save` 钩子在 `SaveInfo()` 中的调用位置和上下文
|
|
||||||
- [ ] **Q2-B**: 分析 `plugins_view_admin_goods_save` 能否完全替换商品发布页面内容
|
|
||||||
- [ ] **Q2-C**: 分析 `Save()` 方法的数据接收方式(标准 $_POST vs 特殊格式)
|
|
||||||
- [ ] **Q2-D**: 确认插件视图文件路径可行性和数据流闭环
|
|
||||||
|
|
||||||
### 交叉任务
|
|
||||||
- [ ] **Output**: 汇总 Q1+Q2 结论,写入 `council-output/EDITOR_RESEARCH.md`,给出最终推荐
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -34,41 +51,43 @@ vr-shopxo-plugin 后台编辑器设计方案调研,分两个子问题:
|
||||||
|
|
||||||
| 阶段 | 内容 | 负责 |
|
| 阶段 | 内容 | 负责 |
|
||||||
|------|------|------|
|
|------|------|------|
|
||||||
| Round 1 | 规划,各自调研 | BackendArchitect (Q2), FrontendDev (Q1) |
|
| **Round 1(规划)** | 各自创建 plan.md | 所有成员 |
|
||||||
| Round 2+ | 执行调研,代码级确认 | BackendArchitect (Q2-A~D), FrontendDev (Q1-A~C) |
|
| **Round 2(执行)** | 深入调研 + 代码级确认 | FrontendDev + BackendArchitect |
|
||||||
| Finalize | 汇总报告,推荐方案 | 所有成员 |
|
| **Round 3(综合)** | 输出 EDITOR_RESEARCH.md + 最终推荐 | FrontendDev |
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Q2 详细调研任务(BackendArchitect)
|
|
||||||
|
|
||||||
需要实际查看以下代码文件:
|
|
||||||
|
|
||||||
1. `shopxo/app/admin/controller/Goods.php` 的 `SaveInfo()` 方法 — 找到 `plugins_view_admin_goods_save` 钩子调用位置
|
|
||||||
2. `shopxo/app/admin/controller/Goods.php` 的 `Save()` 方法 — 确认数据接收方式
|
|
||||||
3. `shopxo/app/plugins/vr_ticket/hook/AdminGoodsSave.php` — 如果存在,分析现有实现
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 依赖关系
|
## 依赖关系
|
||||||
|
|
||||||
- Q1 和 Q2 完全独立,可并行调研
|
- Q2(BackendArchitect)先完成,后端替换可行性影响前端方案选择
|
||||||
- Output 依赖 Q1 和 Q2 全部完成
|
- Q1.1 调研 ShopXO DIY 组件是 Q1.2 的前置
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 调研路径
|
||||||
|
|
||||||
|
### Q1 调研路径(FrontendDev)
|
||||||
|
|
||||||
|
1. 检查 `shopxo/` 目录中是否存在 DIY JSON 编辑器组件
|
||||||
|
- `static/diy/js/entry/index-*.js` — Vue3 SPA 组件
|
||||||
|
- `custom` 组件类型参考
|
||||||
|
2. 如果无现成组件,评估 Vue3 + JSON Schema form 实现方案
|
||||||
|
3. 对比 JSON 单表 vs 拆多表方案的开发和维护成本
|
||||||
|
|
||||||
|
### Q2 调研路径(BackendArchitect)
|
||||||
|
|
||||||
|
1. 检查 `app/admin/controller/Goods.php` 中 SaveInfo() 和 Save() 方法
|
||||||
|
2. 确认 `plugins_view_admin_goods_save` 钩子调用位置和可替换性
|
||||||
|
3. 验证替换后数据能否正常保存
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Claim 状态
|
## Claim 状态
|
||||||
|
|
||||||
| 任务 | Claim 状态 |
|
| 任务 | 状态 |
|
||||||
|------|-----------|
|
|------|------|
|
||||||
| Q1-A, Q1-B, Q1-C | [Claimed: FrontendDev] |
|
| Q1.1 | [Claimed: FrontendDev] |
|
||||||
| Q2-A, Q2-B, Q2-C, Q2-D | [Claimed: BackendArchitect] |
|
| Q1.2 | [Claimed: FrontendDev] |
|
||||||
| Output 报告 | [Unclaimed] |
|
| Q1.3 | [Claimed: FrontendDev] |
|
||||||
|
| Q2 | [Claimed: BackendArchitect] |
|
||||||
---
|
| Final Output | [Pending: FrontendDev] |
|
||||||
|
|
||||||
## 关键文件路径
|
|
||||||
|
|
||||||
- `shopxo/app/admin/controller/Goods.php` — 核心调研对象
|
|
||||||
- `shopxo/app/plugins/vr_ticket/hook/AdminGoodsSave.php` — 钩子实现参考
|
|
||||||
- `council-output/EDITOR_RESEARCH.md` — 输出报告
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue