76 lines
2.4 KiB
Markdown
76 lines
2.4 KiB
Markdown
# VR票务插件 - vr_ticket
|
||
|
||
> ⚡ 核心原则:怎么快怎么来,怎么方便怎么来
|
||
|
||
## 安装
|
||
|
||
1. 将本目录上传到 ShopXO 插件目录:
|
||
```bash
|
||
cp -r vr_ticket /path/to/shopxo/app/plugins/
|
||
```
|
||
2. 后台 → 应用中心 → 插件管理 → 找到「VR票务」→ 点击安装
|
||
3. 数据库表自动创建
|
||
|
||
## 目录结构
|
||
|
||
```
|
||
vr_ticket/
|
||
├── plugin.json # 插件配置(名称、菜单、钩子)
|
||
├── EventListener.php # 安装/卸载/升级生命周期
|
||
├── service/
|
||
│ ├── BaseService.php # 基础工具(AES加密、QR生成)
|
||
│ └── TicketService.php # 核心票务逻辑(发票、核销)
|
||
├── admin/
|
||
│ ├── controller/
|
||
│ │ ├── SeatTemplate.php # 座位模板 CRUD
|
||
│ │ ├── Ticket.php # 电子票管理
|
||
│ │ ├── Verifier.php # 核销员管理
|
||
│ │ └── Verification.php # 核销记录
|
||
│ └── view/ # 后台视图模板
|
||
│ ├── seat_template/
|
||
│ ├── ticket/
|
||
│ ├── verifier/
|
||
│ └── verification/
|
||
└── view/
|
||
└── goods/
|
||
└── ticket_detail.html # 前端票务详情页(独立模板)
|
||
```
|
||
|
||
## 关键钩子
|
||
|
||
| 钩子 | 作用 |
|
||
|------|------|
|
||
| `plugins_service_order_pay_success_handle_end` | 支付成功 → 自动发放 QR 电子票 |
|
||
| `plugins_service_order_delete_success` | 订单删除 → 清理票务数据 |
|
||
|
||
## 前端票务详情页
|
||
|
||
需要在 ShopXO 核心文件 `app/index/controller/Goods.php` 中加 1 行:
|
||
|
||
```php
|
||
// 在 return MyView(); 之前(约第 440 行)
|
||
if (!empty($assign['goods']['item_type']) && $assign['goods']['item_type'] == 'ticket') {
|
||
return MyView('/../../../plugins/vr_ticket/view/goods/ticket_detail');
|
||
}
|
||
```
|
||
|
||
详见 `docs/GOODS_PHP_MODIFICATION.md`
|
||
|
||
## 数据库表
|
||
|
||
| 表名 | 用途 |
|
||
|------|------|
|
||
| `vrt_vr_seat_templates` | 座位模板(绑定分类) |
|
||
| `vrt_vr_tickets` | 电子票(含观演人) |
|
||
| `vrt_vr_verifiers` | 核销员 |
|
||
| `vrt_vr_verifications` | 核销记录 |
|
||
|
||
## API
|
||
|
||
| URL | 方法 | 作用 |
|
||
|-----|------|------|
|
||
| `/plugins/vr_ticket/admin/seat_template/list` | GET | 座位模板列表 |
|
||
| `/plugins/vr_ticket/admin/seat_template/save` | GET/POST | 添加/编辑模板 |
|
||
| `/plugins/vr_ticket/admin/ticket/list` | GET | 电子票列表 |
|
||
| `/plugins/vr_ticket/admin/verification/list` | GET | 核销记录 |
|