Skip to content

代码生成

适用对象

给业务模块生成、ModuleSpec 修订、生成结果排查和 AI 协作使用。

入口

  • AI 模块生成器 Web 界面:开发环境 /dev/module-generator(详细操作指南见 AI 模块生成器
  • CLI 工具:oars-tools/src/cli/index.js
  • AI 规则:docs/ai/skills/oars-module-generator.md
  • MyBatis-Plus 表级 CLI 生成:monorepo oars-java/CODE-GENERATOR-GUIDE.md(按 flow_/form_ 等前缀落模块;与 AI 生成器分工不同)

关键约定

  • 生成模式选择:简单 CRUD 优先 dsl 模式,复杂规则、跨表事务、外部集成优先 source 模式
  • 输出格式:ModuleSpec 必须是合法 JSON,字段名 lowerCamelCase,模块名 kebab-case,表名 snake_case
  • 组件复用:复杂字段(上传、人员、部门、富文本等)使用平台已有的 generated-fields 组件,不在生成页面中手写
  • 覆盖保护:重复生成时必须明确 overwriteFiles--force,避免覆盖手工修改
  • 验证顺序:DSL 模式先确认表单模板、运行模块和菜单已入库;源码模式先确认 SQL 已执行、后端已加载新 Controller,再判断前端问题
  • 环境边界/dev/module-generator 前端路由只在 Vite DEV 环境注入;非 dev 运行环境下源码模式只生成 zip 下载物
  • 源码交付:source 插件生成 manifest 和 delivery descriptor,客户交付前执行 plugin:delivery-check

支持的字段类型

共 21 种字段类型:stringtextintegerdecimalbooleandatedatetimeenumdictfiledocumentrichtextmultiSelectuserSelectdeptSelecttransfertreeSelectdictSelectjsonEditoruserdept

子表字段限制为前 8 种简单类型。

实现位置

  • CLI 入口:oars-tools/src/cli/index.js
  • AI 平台规则加载:oars-tools/src/ai/platform-rules.js
  • Schema 校验:oars-tools/src/module-generator/schema.js
  • 代码模板:oars-tools/src/module-generator/templates.js
  • 生成器编排:oars-tools/src/module-generator/generator.js
  • 后端控制器:oars-java/oars-app/src/main/java/com/oars/app/controller/app/DevModuleGeneratorController.java
  • 前端页面:oars-web/apps/web-antd/src/views/dev/module-generator

待确认事项

  • 生成后的最小验证清单是否纳入 CI,还需团队确认

源码插件发布、停用、版本控制和回滚规则见源码交付与版本控制

L2 详细说明(monorepo)

主题文档
MyBatis-Plus CLI 按表生成oars-java/CODE-GENERATOR-GUIDE.md