2.0 KiB
2.0 KiB
10.5 模板体系
:::tip 概述
模板在 templates/:后端四件套 tpl + 前端两套(ui 标准 / ui2 树形)。替换模板即改变全项目生成风格;模板只做排版,业务推断在引擎。
:::
模板清单
templates/
├── dto.tpl 契约层(Item/PageReq/各请求响应 + 标签)
├── repository.tpl 数据访问(XxxRepo 三段式)
├── service.tpl 业务(三段式 + ModuleSpec 声明 + 标准方法 + 手写位)
├── handler.tpl 接口(CXxx 委托方法集)
├── ui/ 标准页面模板
│ ├── api.ts.tpl 前端 API 模块
│ ├── columns.ts.tpl 列配置
│ ├── querySchemas.ts.tpl 查询项配置
│ ├── index.vue.tpl 列表页
│ └── edit.vue.tpl 编辑弹窗
└── ui2/ 树形表模板(index/edit/detail/api)
ui 与 ui2 的选择
| 表特征 | 模板 | 额外产物 |
|---|---|---|
| 普通表 | ui | columns.ts、querySchemas.ts |
| 树形表(parent_id 自关联) | ui2 | detail.vue(树形详情) |
引擎按表结构自动选型,无需人工指定。
定制模板
- 改产物风格:编辑对应 tpl(Go template 语法 + 模板变量)
- 加字段:引擎模型有该字段才能在模板引用——先看渲染报错定位变量
- 试错循环:
make gen-preview即时验证,不落盘
定制注意
| 注意 | 说明 |
|---|---|
| 团队一致性 | 模板改动影响全项目生成物,需团队共识 |
| 升级成本 | 模板偏离基线越远,后续同步官方模板越难 |
| 先手工后模板 | 确定稳定的手工写法后再固化进模板 |
与第 3 章的关系
后端四个 tpl 与 第 3 章 模块开发实战 的手工规约完全一致——模板就是"照抄 example 写法"的程序化。