vr-shopxo-plugin/plan.md

81 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Council Plan — vr-shopxo-plugin 代码审议
> Round 1 — 2026-04-15
> Branch: council/FrontendDev → main
> 状态:**Draft Phase**
---
## Task Summary
对 vr-shopxo-plugin 插件进行全面的代码审议,覆盖插件架构、票务核心、前端页面、数据库 Schema、安全性 5 个维度。**仅评论不改代码**,输出独立评审报告到 `reviews/code-review-FrontendDev.md`
---
## Review Scope
### 1. 插件架构
- `app/plugins/vr_ticket/EventListener.php`
- `app/plugins/vr_ticket/plugin.json`
- 生命周期钩子实现、数据库迁移策略、菜单/权限注册
### 2. 票务核心
- `app/plugins/vr_ticket/service/TicketService.php`
- `app/plugins/vr_ticket/service/BaseService.php`
- `onOrderPaid()` 并发问题、`verifyTicket()` 核销漏洞、AES QR 加密强度
### 3. 前端票务详情页
- `app/plugins/vr_ticket/view/goods/ticket_detail.html`
- HTML/CSS/JS 质量、座位图渲染逻辑、观演人表单安全性
### 4. 数据库 Schema
- `app/plugins/vr_ticket/database/migrations/001_vr_tables.sql`
- 表结构规范、索引合理性、外键关系
### 5. 安全性审计
- SQL 注入、XSS、支付回调重放攻击、QR 票防伪造
---
## Task Checklist
- [x] R1: 评审插件架构 (EventListener.php / plugin.json)
- [x] R2: 评审票务核心 (TicketService.php / BaseService.php)
- [x] R3: 评审前端页面 (ticket_detail.html)
- [x] R4: 评审数据库 Schema (001_vr_tables.sql)
- [x] R5: 安全性综合审计(注入/XSS/重放/QR伪造
- [x] R6: 汇总评审报告 (reviews/code-review-FrontendDev.md)
---
## Phase Breakdown
| Phase | 内容 | 状态 |
|---|---|---|
| **Draft** | 各维度代码阅读 + 问题识别 | ✅ 完成 |
| **Review** | 输出完整评审报告 | ✅ 完成 |
| **Finalize** | 提交报告到 main | ✅ 完成 |
---
## 问题发现汇总
| 严重度 | 数量 | 典型问题 |
|--------|------|---------|
| 🔴 严重 | 2 | 购票参数前端计算无验签 / `$goods.content\|raw` XSS |
| 🟡 中等 | 4 | loadSoldSeats 未实现 / CSS 无响应式 / 座位图渲染边界 / JSON输出XSS |
| 🟢 轻微 | 3 | 已选座位 UI 无状态管理 / 观演人表单无校验 / 座位映射数据泄露 |
| 💡 建议 | 4 | 座位字符集ASCII限制 / 座位数无上限 / spec_base_id缺索引 / 地图JSON无长度限制 |
---
## Claim Status
| Task | Owner | Status |
|---|---|---|
| R1-R6: 完整评审 | council/FrontendDev | `[Done: council/FrontendDev]` |
---
**[CONSENSUS: YES]** — vr-shopxo-plugin 代码审议 Round 2 完成,三方报告已全部合并到 main