| 代号 | entity_code_review |
版本 | v1 |
| 分类 | 代码审核 | 输出格式 | Markdown |
| 类型 | 系统模板 | ||
对指定实体的 Controller/Model/Service/View 进行代码质量和安全审核
原始模板内容
展开
# 任务:对"{{metamodelName}}"实体进行代码审核
## 审核目标
- 实体名称:{{metamodelName}}
- 实体代号:{{metamodelCode}}
- 所属模块:{{moduleName}}({{moduleCode}})
- 数据库表:{{tableName}}
- 主键字段:{{primaryKey}}
- 字段数量:{{fieldCount}}
## 已有字段
{{fieldSummary}}
## 已有行为
{{behaviorSummary}}
## 已有关系
{{relationSummary}}
## 审核范围
请依次检查以下文件(如存在):
1. `{{moduleCode}}/{{metamodelCode}}/models/{{metamodelCode}}.php` — Model
2. `{{moduleCode}}/{{metamodelCode}}/controllers/{{metamodelCode}}Controller.php` — Controller
3. `{{moduleCode}}/{{metamodelCode}}/services/{{metamodelCode}}Service.php` — Service
4. `{{moduleCode}}/{{metamodelCode}}/repositories/{{metamodelCode}}Repository.php` — Repository
5. `{{moduleCode}}/{{metamodelCode}}/views/` — 视图文件
## 审核要点
### 1. 安全性(最高优先级)
- SQL 注入:是否使用参数化查询,禁止字符串拼接 SQL
- XSS:输出是否经过 `Html::encode()` 转义
- CSRF:表单是否通过 `X-CSRF-Token` header 提交
- 权限:Controller 是否有适当的访问控制
- 敏感数据:密码/Token 是否明文存储
### 2. 架构规范
- 分层是否清晰:Controller → Service → Repository → Model
- Controller 是否只做参数接收和响应,不含业务逻辑
- Service 是否使用事务处理数据库操作
- 命名空间是否符合 `{{moduleCode}}\{{metamodelCode}}\{layer}\{Class}`
### 3. 数据库
- Migration 是否同时实现 `up()` 和 `down()`
- 字段命名是否符合规范(驼峰、entity 前缀主键)
- 是否有缺失的索引
- 软删除是否正确使用 `deleted = '0'`
### 4. 前端规范
- 资源路径:PC → `@web/pc/css/` `@web/pc/js/`,H5 → `@web/h5/`
- 按钮颜色:primary(蓝)=主操作, warning(黄)=次要, danger(红)=仅删除, success(绿)=引导
- 禁止使用 btn-info、渐变、图标(删除按钮除外)
- URL 是否带 `.html` 后缀
### 5. PHP 环境约束
- 禁止使用 `mb_substr()`(无 mbstring 扩展),改用 `substr()`
- CLI 禁止使用 `curl_init()`,改用 `\GuzzleHttp\Client`
## 输出格式
请按以下格式输出审核结果:
### 文件:{文件路径}
| 级别 | 行号 | 问题 | 建议修复 |
|------|------|------|---------|
| 严重/警告/建议 | L{n} | 问题描述 | 修复方案 |
最后给出总结评分(A/B/C/D)和优先修复建议。