Skip to content

代码生成器

代码生成器通过读取数据库表结构,自动生成完整 CRUD 业务模块的全部 8 个文件,大幅提升开发效率。

功能说明

  • 代码生成基础配置分页查询
  • 代码生成基础配置新增 / 修改 / 删除
  • 获取数据库表列表
  • 获取表字段信息
  • 编辑字段配置(显示类型、是否列表/查询/编辑显示等)
  • 预览生成的代码
  • 执行代码生成(生成到项目内)

API 接口

所有接口均需要 sys:dev:gen-* 权限。

生成基础配置

方法路径权限标识说明
GET/api/v1/sys/dev/gen/basic/pagesys:dev:gen-basic-page获取代码生成基础分页
POST/api/v1/sys/dev/gen/basic/createsys:dev:gen-basic-create添加代码生成基础
POST/api/v1/sys/dev/gen/basic/modifysys:dev:gen-basic-modify编辑代码生成基础
POST/api/v1/sys/dev/gen/basic/deletesys:dev:gen-basic-delete删除代码生成基础
GET/api/v1/sys/dev/gen/basic/detailsys:dev:gen-basic-detail获取代码生成基础详情
GET/api/v1/sys/dev/gen/basic/language_typessys:dev:gen-basic-language-types获取语言类型列表
GET/api/v1/sys/dev/gen/basic/tablessys:dev:gen-basic-tables获取所有表信息
GET/api/v1/sys/dev/gen/basic/table_columnssys:dev:gen-basic-table-columns获取表内所有字段信息
POST/api/v1/sys/dev/gen/basic/exec_gen_prosys:dev:gen-basic-exec-gen-pro执行代码生成(项目内)
GET/api/v1/sys/dev/gen/basic/preview_gensys:dev:gen-basic-preview-gen预览代码生成

生成配置(字段级)

方法路径权限标识说明
GET/api/v1/sys/dev/gen/config/listsys:dev:gen-config-list获取代码生成配置列表
POST/api/v1/sys/dev/gen/config/modifysys:dev:gen-config-modify编辑代码生成配置
POST/api/v1/sys/dev/gen/config/deletesys:dev:gen-config-delete删除代码生成配置
GET/api/v1/sys/dev/gen/config/detailsys:dev:gen-config-detail获取代码生成配置详情
POST/api/v1/sys/dev/gen/config/modify_batchsys:dev:gen-config-modify-batch批量编辑代码生成配置

使用流程

1. 选择数据库表 → GET /api/v1/sys/dev/gen/basic/tables
2. 查看表字段 → GET /api/v1/sys/dev/gen/basic/table_columns
3. 创建生成配置 → POST /api/v1/sys/dev/gen/basic/create
   { "table_name": "sys_banner", "module_path": "sys/banner" }
4. 编辑字段配置(可选)→ POST /api/v1/sys/dev/gen/config/modify_batch
5. 预览代码 → GET /api/v1/sys/dev/gen/basic/preview_gen
6. 执行生成 → POST /api/v1/sys/dev/gen/basic/exec_gen_pro

生成的文件

执行生成后,在 modules/{module_path}/ 目录下创建 8 个文件:

文件说明
models.pySQLAlchemy ORM 模型(Mapped + mapped_column)
params.pyPydantic 请求/响应模型(VO, PageParam, ExportParam, ImportParam)
dao.py数据访问层(继承 BaseDAO)
service.py业务逻辑层(page/create/modify/remove/detail/export/template/import)
api/v1/api.pyFastAPI 路由定义 + @HeiCheckPermission 装饰器
__init__.py模块初始化
api/__init__.pyAPI 层初始化
api/v1/__init__.pyv1 版本层初始化

模板引擎

代码生成使用 Jinja2 模板引擎,模板文件位于 modules/dev/templates/ 目录。

后置步骤

代码生成完成后,需要手动注册路由:

python
# core/app/router.py
from modules.<module_path> import router
app.include_router(router)

Released under the MIT License.