ShopXO VR票务插件 — 基于ShopXO生态的演唱会票务解决方案(Plan B)
 
 
 
 
Go to file
Council 78b699eab4 council(merge): FrontendDev - Round 3 final decision (方案A)
Round 3 合并:
- council-output/ARCHITECTURE_DECISION.md: 汇总 Q1-Q4 三方分析 + 最终推荐
- plan.md v1.2: 全部 Q1-Q4 完成标记,consensus=YES

最终推荐: 方案A (每个座位一个ShopXO SKU)
- Q1: 直接 SQL INSERT 批量生成(旁路 GoodsSpecificationsInsert)
- Q2: 最小修复集 (UPDATE is_exist_many_spec + INSERT $vr- spec_type)
- Q3: $vr- 前缀低风险(ThinkPHP {$var} 默认转义)
- Q4: 三方一致推荐方案A

全票通过。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 19:29:08 +08:00
.worktrees
council-output council(merge): FrontendDev - Round 3 final decision (方案A) 2026-04-15 19:29:08 +08:00
docs council(draft): BackendArchitect - Round 2 Q1/Q2 analysis (批量SKU生成路径 + 紧急修复) 2026-04-15 19:21:09 +08:00
shopxo fix(P0): P0-1 idempotent ticket issuance, P0-3 XSS, P0-4 QR secret exception 2026-04-15 16:59:22 +08:00
.gitignore docs: add Phase 2 development log + research archive 2026-04-15 14:59:30 +08:00
ARCHITECTURE.md
MEMORY.md docs: 追加 vr-shopxo-plugin Phase 0/1 状态记录 2026-04-15 08:47:21 +08:00
README.md docs: add guiding principle + Goods.php modification guide 2026-04-15 08:03:37 +08:00
plan.md council(merge): FrontendDev - Round 3 final decision (方案A) 2026-04-15 19:29:08 +08:00
plugin.json

README.md

VR票务插件 for ShopXO

基于 ShopXO 生态的 VR 演唱会票务解决方案Plan B


核心原则

怎么快怎么来。怎么方便怎么来。尽可能少改动,少引入复杂度。但完全允许修改 ShopXO 核心代码。

  • 我们是自己部署 ShopXO核心代码完全可以改
  • 改动的优先级:改核心 < 用 Hook < 引入新复杂度
  • 改核心文件时,写清楚「升级 ShopXO 后需重新应用的位置」

核心能力

能力 实现方式
场次管理 ShopXO spec = 场次(无需独立表)
商品详情页定制 Goods.php 1 行 + 自定义模板
选座 UI 自定义 Vue 组件Fork shopxo-uniapp
观演人收集 插件钩子,下单时写入 vr_tickets
QR 电子票 支付成功后钩子生成AES 加密
微信小程序 shopxo-uniapp 已支持HBuilderX 一键发行
B 端核销 Fork realstore/check/check.vue,完整参考
会员/积分/优惠券 全部复用 ShopXO 内置能力

快速开始

# 1. 克隆本仓库
git clone http://xmhome.ow-my.com:3000/sileya-ai/vr-shopxo-plugin.git

# 2. 上传插件到 ShopXO
cp -r vr_ticket /path/to/shopxo/app/plugins/

# 3. 数据库迁移Phase 1
mysql -u root -p < database/migrations/001_vr_seat_templates.sql
mysql -u root -p < database/migrations/002_vr_tickets.sql
mysql -u root -p < database/migrations/003_vr_verifiers.sql
mysql -u root -p < database/migrations/004_vr_verifications.sql

# 4. 后台安装
# 管理后台 → 应用中心 → 插件管理 → 安装 VR票务插件

# 5. 修改 Goods.phpPhase 2
# 在 ShopXO 源码 app/index/controller/Goods.php 的 Index() 方法中:
# 在 return MyView(); 之前加入 ticket 类型判断(见 docs/GOODS_PHP_MODIFICATION.md

# 6. shopxo-uniapp 改造
# HBuilderX 导入 shopxo-uniapp
# 添加 pages/ticket-buy/ 和 pages/ticket-verify/
# 配置 manifest.json 的 AppID
# 发行 → 微信小程序

官方文档(开发前必查)

资源 URL
官方文档首页 https://doc.shopxo.net/
插件开发文档 https://doc.shopxo.net/article/3.html
开发文档索引 https://doc.shopxo.net/article/4.html
uniapp 打包教程 https://doc.shopxo.net/article/1/293727233598554112.html
shopxo-uniapp Gitee https://gitee.com/zongzhige/shopxo-uniapp

技术调研文档

关键发现2026-04-14/15

  • ShopXO 内置 CustomView Ace 编辑器(全代码自定义页面)
  • 商品详情页 30+ 插件钩子
  • shopxo-uniapp 已支持微信小程序,条件编译已配置
  • ShopXO 内置 phpqrcode QR 码生成库
  • realstore/check/check.vueB 端核销页最佳参考
  • site_type=3(虚拟商品)可绕过地址选择弹出
  • ShopXO 完全支持修改核心代码(自己部署原则)
  • 推荐:改 Goods.php 1 行,比 Hook 方案更干净(符合核心原则)

项目状态

🚧 调研完成,尚未开始编码

仓库地址

http://xmhome.ow-my.com:3000/sileya-ai/vr-shopxo-plugin