docs: v2.2 - Q4 resolved: $vr- prefix spec namespace isolation

refactor/vr-ticket-20260416
Council 2026-04-14 17:57:32 +08:00
parent bde23d3195
commit a52209292c
4 changed files with 28 additions and 2 deletions

1
.worktrees/Architect Submodule

@ -0,0 +1 @@
Subproject commit bde23d3195f5002e0b76031bd3d367e5ff00e1b2

1
.worktrees/Backend Submodule

@ -0,0 +1 @@
Subproject commit bde23d3195f5002e0b76031bd3d367e5ff00e1b2

1
.worktrees/PM Submodule

@ -0,0 +1 @@
Subproject commit bde23d3195f5002e0b76031bd3d367e5ff00e1b2

View File

@ -1,6 +1,6 @@
# ShopXO VR票务插件 — 架构文档
> 版本v2.12026-04-14 更新,新增通用扩展方法论 + Q4 spec_value 复用粒度
> 版本v2.22026-04-14 更新Q4 spec 绑定方案已确认 — $vr- 前缀隔离
> 源码位置council-research/shopxo-eval/.worktrees/shopxo-evaluator/shopxo-src/
## 项目概述
@ -355,6 +355,29 @@ Frontend — 读 extension_data
---
### Q4 结论spec 绑定方案 — 已确认)
ShopXO spec 是模板级复制模式,用 `$vr-` 前缀做命名空间隔离:
```
插件初始化时:
→ 在 sxo_goods_spec_template 创建 "$vr-场馆" 模板
→ 商家在商品里应用此模板spec_value COPY 到商品 spec_type
插件商品加载时:
→ 遍历 sxo_goods_spec_type
→ 识别 name 以 "$vr-" 开头的类型
→ 按 spec_value.name 去 vr_venues 表查 seat_map
→ 写入 extension_data
```
**这个方案的优点:**
- 用户自己添加的普通规格永远不会冲突(没有 `$vr-` 前缀)
- 插件完全掌控自己的 spec 命名空间
- 模板可批量导入,不需要每个商品手动配置
---
## 待确认问题pending-council
详见 `docs/ALIGNMENT.md` Section 二。
@ -364,7 +387,7 @@ Frontend — 读 extension_data
| Q1 | 座位模板与分类的绑定粒度(一个分类 = 一个座位区,还是一个商品可绑定多模板?) |
| Q2 | spec_base_id_map 生成时机(每个 spec 独立座位,还是所有 spec 共用座位配置?) |
| Q3 | 观演人信息存储位置extension_data / vr_tickets / 作为 spec 选项) |
| Q4 | spec_value 复用粒度 — 全局可复用 vs 商品级私有?(见上方通用扩展方法论) |
| Q4 | spec_value 复用粒度 — 全局可复用 vs 商品级私有? | ✅ **已解决** — `$vr-` 前缀隔离方案(见上方 Q4 结论) |
---