Appearance
代码生成
适用对象
给业务模块生成、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前端路由只在 ViteDEV环境注入;非 dev 运行环境下源码模式只生成 zip 下载物 - 源码交付:source 插件生成 manifest 和 delivery descriptor,客户交付前执行
plugin:delivery-check
支持的字段类型
共 21 种字段类型:string、text、integer、decimal、boolean、date、datetime、enum、dict、file、document、richtext、multiSelect、userSelect、deptSelect、transfer、treeSelect、dictSelect、jsonEditor、user、dept。
子表字段限制为前 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 |
