# vr_ticket 插件重构经验总结
> 来源:原始对话日志 `refactoring_log_vrticket_2026.md` 分块提炼
> 适用版本:vr_ticket v1.x(ShopXO 插件)
---
+++++ 原始日志第一块(行1-980)
### 轮次1:ShopXO 插件架构理解 & 基础搭建
- **核心问题**:对 ShopXO 插件目录结构不熟悉,视图路径和 URL 生成方式不明
- **解决方案**:
- `PluginsAdminUrl('vr_ticket', 'admin', 'action')` 生成后台 URL
- `{{:ModuleInclude('public/header')}}` 加载全局头尾
- 视图放在 `admin/view/{module}/list.html`
- **关键教训**:
- ShopXO 插件后台必须遵循 `public/header` + `public/footer` 包含模式,否则页面无样式
- 路由格式:`{插件名}_{控制器}_{动作}` → URL 映射到 `admin/{plugin}/admin/{action}`
---
+++++ 原始日志第二块(行981-2272)
### 轮次2:LayUI → AmazeUI 全局前端架构重构
- **核心问题**:所有视图模板使用 LayUI 框架编写,但 ShopXO 整套后台基于 AmazeUI,导致页面无样式、无表单验证、布局完全失效
- **解决方案**:批量将 9 个视图模板从 LayUI 迁移到 ShopXO 原生 AmazeUI:
**布局结构(所有模板统一):**
```
{{:ModuleInclude('public/header')}}
{{:ModuleInclude('public/footer')}}
```
**搜索表单**:`request-type="form"`,GET 提交到当前 action
**保存表单**:`request-type="ajax-url" request-value="{跳转URL}"`
**删除按钮**:`