← 返回 Skills 市场
hjfeilg

Lowcode Module Generator

作者 hjfeilg · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
43
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install lowcode-module-generator
功能描述
低代码模块生成器。低代码平台出码(完整前后端代码),支持ACM系统的普通主页、左右布局等模块开发。用户只需提供中文模块名和字段明细表,即可生成 PO、Form、VO、Service、Controller、Mapper 等后端代码,以及前端 React 页面组件。
使用说明 (SKILL.md)

低代码模块生成器 技能

低代码平台出码(完整前后端代码),支持ACM系统的普通主页、左右布局等模块开发。用户只需提供中文模块名和字段明细表,即可生成 PO、Form、VO、Service、Controller、Mapper 等后端代码,以及前端 React 页面组件。


目录结构

lowcode-module-generator/
├── SKILL.md                               # 技能定义文档(Agent 必读)
├── README.md                              # 本文件(人读概览)
├── CHANGES.md                             # 变更记录
└── src/
    ├── config.json                         # 配置文件(microservice、frontend、database)
    ├── documents/                          # 详细说明文档
    │   ├── template/                       # 模板约束与变量说明
    │   │   ├── velocity-variables.md       # Velocity 模板变量说明
    │   │   └── template-constraints.md     # 模板约束规则说明
    │   ├── form-controls/                  # 表单控件说明
    │   ├── layout-types/                   # 布局类型说明
    │   │   ├── layout-labels.md            # 标签页说明
    │   │   └── layout-leftright.md         # 左右布局说明
    │   ├── examples/                       # 使用示例(按需加载)
    │   │   ├── example-common.md           # 普通主页示例
    │   │   ├── example-org.md              # 组织下拉框示例
    │   │   ├── example-user.md             # 用户下拉框示例
    │   │   ├── example-fileupload.md       # 附件上传示例
    │   │   ├── example-project.md          # 选择项目示例
    │   │   ├── example-leftright-action.md # 左右布局-普通列表
    │   │   └── example-leftright-folder.md # 左右布局-树形列表
    │   └── sql-generator.md                # SQL生成说明
    └── template/                           # Velocity 模板文件(原始模板,禁止修改)
        ├── 说明.txt                         # 模板说明文档
        ├── java/                           # 后端Java模板
        │   ├── po/                         # PO实体模板
        │   │   └── po.java.vm
        │   ├── vo/                         # VO视图模板
        │   │   ├── vo.java.vm
        │   │   ├── treevo.java.vm
        │   │   └── datavo.java.vm
        │   ├── form/                       # Form模板
        │   │   ├── addform.java.vm
        │   │   ├── updateform.java.vm
        │   │   └── searchform.java.vm
        │   ├── service/                    # Service模板
        │   │   ├── service.java.vm
        │   │   └── serviceimpl.java.vm
        │   ├── controller/                 # Controller模板
        │   │   ├── controller.java.vm
        │   │   └── controller-wf.java.vm
        │   ├── mapper/                     # Mapper模板
        │   │   ├── mapper.java.vm
        │   │   └── mapper.xml.vm
        │   └── feign/                      # Feign模板
        │       └── relevancyApiFeign.java.vm
        └── web/                            # 前端React模板
            ├── index/                      # 主页模板
            │   ├── web-index.jsx.vm
            │   └── web-toptags.jsx.vm
            ├── form/                       # 表单模板
            │   ├── web-addform.jsx.vm
            │   ├── web-updateform.jsx.vm
            │   ├── web-searchform.jsx.vm
            │   └── web-infoform.jsx.vm
            ├── labels/                     # 标签页模板
            │   ├── web-label-index.jsx.vm
            │   └── web-label-toptags.jsx.vm
            ├── wf/                         # 工作流模板
            │   ├── web-wf-index.jsx.vm
            │   └── web-wf-approval.jsx.vm
            ├── leftRight/                  # 左右布局模板
            │   ├── web-left-index.jsx.vm
            │   ├── web-left-toptags.jsx.vm
            │   └── web-index-right.jsx.vm
            └── upDown/                     # 上下布局模板
                ├── web-top-index.jsx.vm
                ├── web-index-top.jsx.vm
                └── web-top-toptags.jsx.vm

核心能力

  • 严格遵循模板:所有代码生成严格遵守 src/template/ 目录下的 Velocity 模板,按模板变量填充,不得篡改
  • 自动命名转换:简体中文名称 → 英文标识、类名前缀
  • 后端代码生成:PO、Form、VO、Service、Controller、Mapper、Feign
  • 前端代码生成:主页、工具栏、表单、标签页、工作流
  • 模板引擎:基于Velocity语法,支持复杂模板替换
  • 工作流程强制执行:所有任务必须按工作流程的8个步骤顺序执行,不得跳过任何步骤
  • 简体中文优先:所有生成内容必须使用简体中文

用户输入要求

用户只需提供:

  1. 新模块简体中文名称(如:设备管理)
  2. 字段明细表

AI自动推断:

  • 字段中有 parentIdparent_idTree(树形表)
  • 否则 → Page(分页数据表)

外键配置(可选):如关联EPS项目可额外说明

字段明细格式

字段名(简体中文) 字段名(英文) 类型 必填 列表显示 关联类型 控件说明
项目名称 projectName String dict project_status
项目编号 projectCode String
责任主体 orgId TreeSelect org 组织控件(OBS)
责任人 userId Select user 用户控件(责任人)
附件 fileIds FileUpload 上传附件
开始日期 startDate Date 日期筛选
结束日期 endDate DateTime 日期时间筛选
设备名称 equipmentName String
设备编号 equipmentCode String
供应商 supplierId Long relevancy type:2,url:/api/base/supplier
采购合同 contractId Long relevancy type:3,url:/api/contract/select

关联类型配置

关联类型 说明 关联配置格式
dict 数据字典 dict:{dictType}
org 组织架构 org
user 用户 user
project 项目 project
relevancy 数据关联 relevancy:type:{1/2/3},url:{接口URL}

relevancyType 三种模式

type值 说明 前端组件
1 枚举类型 FormSelect + customDicts内嵌选项
2 远程搜索 FormSelect + relevancySelectUrl远程数据
3 弹窗选择 FormDataModel + SelectSingleModal弹窗

表类型

类型 说明 特征
Tree 树形表 有parentId,支持父子结构
Page 分页数据表 支持分页查询
普通 普通列表 无分页,支持搜索
左右结构 左右联动布局 左边表格/树形 + 右边表格/树形联动

页面布局类型

布局类型 说明 生成文件
普通主页 单表格页面(默认) index.jsx, TopTags/index.jsx
左右布局 左右联动 LeftIndex.jsx, RightIndex.jsx, TopTags/index.jsx
标签页 多标签页 LabelIndex.jsx, LabelTopTags/index.jsx, Labels/{tab}/index.jsx
工作流 审批流程 WfIndex.jsx, WfApproval.jsx

布局类型自动判断

判断规则

用户输入关键词 自动判断为
未提及"左右布局" 普通主页
提及"左右布局"(含左边描述 + 右边描述) 左右布局
提及"标签页"或"页签" 标签页

标签页(页签)说明

详细说明请参见:src/documents/layout-types/layout-labels.md

内容包括:

  • 标签页与布局的组合
  • 普通主页 + 标签页图示
  • 左右布局 + 标签页图示
  • 联动原理
  • 标签页结构
  • 标签页识别特征
  • 模板文件说明
  • 代码组织
  • SKILL 自动识别页签
  • 标签页自动判断流程

左右结构说明

详细说明请参见:src/documents/layout-types/layout-leftright.md

内容包括:

  • 左右结构特点
  • 联动原理
  • API 设计
  • 模板文件说明
  • 代码组织
  • 左右布局自动判断流程

输出结果

类型 生成文件
后端-PO XxxPo.java
后端-Form XxxAddForm.java, XxxUpdateForm.java, XxxSearchForm.java
后端-VO XxxVo.java, XxxTreeVo.java, XxxDataVo.java
后端-Service XxxService.java, XxxServiceImpl.java
后端-Controller XxxController.java, XxxControllerWf.java
后端-Mapper XxxMapper.java, XxxMapper.xml
前端-主页 index.jsx
前端-工具栏 TopTags/index.jsx
前端-表单 AddForm.jsx, UpdateForm.jsx, SearchForm.jsx
前端-标签页 LabelIndex.jsx, LabelTopTags.jsx, Labels/{tab}/index.jsx
前端-工作流 WfIndex.jsx, WfApproval.jsx
前端-左右布局 LeftIndex.jsx, RightIndex.jsx
数据库-初始化SQL db/init.sql

左右布局详细说明

详细内容请参见:src/documents/layout-types/layout-leftright.md

内容包括:

  • 左右结构特点
  • 联动原理
  • API 设计
  • 模板文件说明
  • 代码组织
  • 左右布局自动判断流程

⚠️ 铁律:工作流程必须严格执行

所有代码生成任务必须严格按照以下工作流程执行,不得跳过任何步骤:

用户输入新模块信息
    ↓
步骤1:生成模块标识(简体中文→英文)[ ]
    ↓
步骤2:自动判断页面布局类型 [ ]
    ↓
步骤3:解析字段明细,构建模板变量 [ ]
    ↓
步骤4:替换Velocity模板变量 [ ]
    ↓
步骤5:生成后端代码(PO→Form→VO→Service→Controller→Mapper) [ ]
    ↓
步骤6:生成前端代码(根据布局类型生成对应页面) [ ]
    ↓
步骤7:生成数据库初始化SQL(根据配置的数据库类型,只生成一个SQL) [ ]
    ↓
步骤8:输出完整代码清单 [ ]
    ↓
步骤9:执行 check 检查,全部通过才能结束 [ ]

TODO执行要求(强制)

完整步骤清单

步骤 内容 状态
步骤1 生成模块标识(简体中文→英文) [ ]
步骤2 自动判断页面布局类型 [ ]
步骤3 解析字段明细,构建模板变量 [ ]
步骤4 替换Velocity模板变量 [ ]
步骤5 生成后端代码(PO→Form→VO→Service→Controller→Mapper) [ ]
步骤6 生成前端代码(根据布局类型生成对应页面) [ ]
步骤7 生成数据库初始化SQL(根据配置的数据库类型) [ ]
步骤8 输出完整代码清单 [ ]
步骤9 执行 check 检查,全部通过才能结束 [ ]

执行要求

  • 每个步骤完成后标记 [x] 表示已执行
  • 显示完整清单让用户了解全局进度
  • 步骤1-3为准备阶段,必须先完成才能进入生成阶段
  • 步骤4-7为生成阶段,必须按顺序执行,不得跳过
  • 步骤8为输出阶段,最后必须输出完整代码清单
  • 步骤9为检查阶段,必须执行 check 清单检查,全部通过才能结束
  • 如步骤7未执行,SQL不会生成,必须完成所有步骤
  • 任意步骤失败,必须停止并报告错误,不得继续下一步
  • 步骤1必须将模块标识清单打印输出后,才能继续执行步骤2
  • 步骤9 check 检查必须全部通过,才能完成工作流程

配置优先级

配置来源优先级:自然语言 > config.json

  • 微服务工程:用户可在自然语言中指定,如"在{microservice.name}中生成"
  • 前端模块生成路径:用户可在自然语言中指定,如"前端放到{frontend.path}目录下"
  • 数据库类型:用户可在自然语言中指定,如"使用Oracle数据库"
  • 若用户未指定,则读取 src/config.json 中的默认配置

步骤详细说明

步骤 内容 输出
步骤1 生成模块标识 buildBizName, buildClassName, buildPackage, buildTableName
步骤2 判断布局类型 普通主页 / 左右布局 / 标签页 / 工作流
步骤3 解析字段构建变量 buildColumns, buildAddforms, buildUpdateforms, buildSearchForms
步骤4 Velocity模板替换 处理所有 .vm 模板文件
步骤5 生成后端代码 PO, Form, VO, Service, Controller, Mapper
步骤6 生成前端代码 index.jsx, TopTags, AddForm, UpdateForm
步骤7 生成SQL 根据数据库类型生成一个SQL(init.sql)
步骤8 输出代码清单 完整文件列表 + 存放路径
步骤9 执行 check 检查 全部通过才能完成工作流程

步骤1详细说明

读取环境变量(config.json)

  • 后台微服务名称:{microservice.name}
  • 后台微服务工程JAVA包路径:{microservice.package}
  • 后台微服务代码生成路径:{microservice.path}
  • 前端模块代码生成路径:{frontend.path}
  • 数据库类型:{database.type}

生成模块标识清单

变量 说明
buildBizName {模块英文名} 模块英文名(驼峰)
buildClassName {ClassName} 类名前缀(首字母大写)
buildPackage {microservice.package} JAVA包路径
buildTableName {database.tablePrefix}{模块名} 表名
frontend {frontend.path} 前端模块生成路径
microservice {microservice.path} 后端微服务生成路径
databaseType {database.type} 数据库类型

生成路径对照

类型 路径
后端代码 {microservice.path}/
前端代码 {frontend.path}/
SQL文件 {microservice.path}{microservice.name}的位置为基准,即{microservice.path}中{microservice.name}之前的路径/{microservice.name}/db/init.sql

路径计算示例: 若{microservice.path} = /Users/hadoop/.../adp-modules/wsd-aiagent/src/main/java/com/wisdom/acm/aiagent{microservice.name} = wsd-aiagent出现在路径中 SQL文件 = /Users/hadoop/.../adp-modules/wsd-aiagent/db/init.sql

⚠️ 重要:步骤1必须将模块标识清单打印输出后,才能按工作流程继续执行。

⚠️ 强制要求:若用户输入包含繁体中文,AI必须先将其转换为简体中文,再生成代码。禁止直接使用繁体中文。


步骤9:CHECK 检查清单

执行时机:步骤8(输出完整代码清单)完成后,必须执行 check 检查,全部通过才能结束工作流程。

check 检查是强制步骤:若有任何检查项未通过,必须修复后重新检查,直到全部通过才能完成工作流程。

检查清单来源:根据当前生成模块的布局类型,加载对应的检查清单。不同布局类型对应不同的检查点组合。

示例类型与检查清单对应关系

示例文件 说明
example-common.md 普通主页示例
example-org.md 组织下拉框示例
example-user.md 用户下拉框示例
example-project.md 选择项目示例
example-fileupload.md 附件上传示例
example-leftright-action.md 左右布局-普通列表
example-leftright-folder.md 左右布局-树形列表

check 检查清单

序号 检查项 检查内容 标准
1 包名路径 ${buildPackage} 是否正确 必须与微服务 package 一致,如 com.wisdom.acm.aiagent
2 类名命名 所有类名是否遵循驼峰命名 首字母大写,如 EquipmentPo,方法名首字母小写如 equipmentName
3 继承关系-PO PO 是否继承 BasePoBaseCustomPo 根据 buildEnableCustomField 判断
4 继承关系-Form Form 是否继承 BaseForm / BaseSearchForm AddForm/UpdateForm 继承 BaseForm,SearchForm 继承 BaseSearchForm
5 继承关系-VO VO 是否继承 BaseInfoVo / BaseVo Vo 继承 BaseInfoVo,DataVo 继承 BaseVo
6 继承关系-Service Service 是否继承 CommService\x3CPo> 类型参数只有1个(Po)
7 继承关系-ServiceImpl ServiceImpl 是否继承 BaseService\x3CMapper, Po> 类型参数只有2个(Mapper, Po),不是5个
8 继承关系-Controller Controller 是否继承 BaseController 必须继承 BaseController
9 关联类型-org org 类型字段 VO 中是否为 GeneralVo private GeneralVo orgId;
10 关联类型-user user 类型字段 VO 中是否为 GeneralVo private GeneralVo userId;
11 关联类型-dict dict 类型字段 VO 中是否为 DictionaryVo private DictionaryVo status;
12 关联类型-status status 字段 DataVo 中是否为 StatusVo private StatusVo status;
13 日期类型格式化 Date 类型字段是否有 @JsonFormat 必须有 @JsonFormat(pattern = "yyyy-MM-dd")"yyyy-MM-dd HH:mm:ss"
14 表名注解 PO 类是否有 @Table(name = "...") 表名必须与 buildTableName 一致
15 Column注解 PO 字段是否有 @Column(name = "...") 字段名必须大写,如 equipment_name
16 ApiModel注解 Form/VO 类是否有 @ApiModel 值必须为中文描述,如 设备管理
17 ApiModelProperty注解 字段是否有 @ApiModelProperty 值必须为中文描述
18 Required属性 必填字段 required = true 根据字段明细中是否必填来判断
19 Service方法签名 方法签名是否符合模板 addXxx(AddForm)updateXxx(UpdateForm)deleteXxx(List\x3CLong>)
20 Controller注解 是否有 @Api(tags = "...") tags 必须为中文描述
21 Controller注入 Service 是否用 @Autowired 注入 必须有 @Autowired private XxxService xxxService;
22 Mapper继承 Mapper 是否继承 CommMapper\x3CPo> 类型参数只有1个(Po)
23 Mapper.xml XML 声明和 DOCTYPE 是否正确 必须有 \x3C?xml version="1.0" encoding="UTF-8" ?> 和对应 DOCTYPE
24 Mapper.xml命名空间 namespace 是否正确 必须为 ${buildPackage}.mapper.${buildClassName}Mapper
25 Mapper.xml中间为空 mapper 标签内是否为空 \x3Cmapper>\x3C/mapper> 之间不能有内容
26 buildColumns完整性 列表显示字段是否完整 只包含标记为"列表显示"的字段
27 buildAddforms完整性 增加表单字段是否完整 只包含增加时需要的字段
28 buildUpdateforms完整性 修改表单字段是否完整 包含所有可修改字段,status 字段已排除
29 buildSearchForms完整性 搜索表单字段是否完整 只包含需要搜索的字段
30 buildPos完整性 PO字段是否完整 包含所有数据库字段
31 Tree表类型 Tree表是否有 parentId 字段 必须有 private Long parentId;
32 Page表类型 Page表无 parentId 不生成 parentId 字段
33 ForeignKey处理 有外键时是否正确处理 buildForeignKey 时需在 Form/VO 中生成对应字段
34 前端import-关联 前端关联字段 import 是否正确 org/user 导入 GeneralVo,dict 导入 DictionaryVo
35 前端formType映射 前端组件类型是否正确 input→FormInput,select→FormSelect,date→FormDate 等
36 ServiceImpl-Override注解 ServiceImpl中带有@Override注解的方法是否在Service接口中声明 ServiceImpl中每个带有@Override注解的方法,必须在Service接口中有对应的方法声明

关联类型专项检查

序号 检查项 关联类型 检查内容
1 org关联-VO类型 org VO中org类型字段必须为 GeneralVo
2 org关联-前端组件 org 前端org类型字段必须使用 FormTreeSelect + getOrgSelectTree
3 org关联-数据加载 org 前端org字段必须有 loadDatas 加载树形数据
4 user关联-VO类型 user VO中user类型字段必须为 GeneralVo
5 user关联-前端组件 user 前端user类型字段必须使用 FormSelect + allSelectGeneralUser
6 user关联-数据加载 user 前端user字段必须有 url 指定远程数据源
7 project关联-VO类型 project VO中project类型字段必须为 GeneralVo
8 project关联-前端组件 project 前端project类型字段必须使用 FormSelect + projectList
9 project关联-数据加载 project 前端project字段必须有 url 指定远程数据源
10 fileUpload关联-VO类型 fileUpload VO中fileUpload类型字段必须为 String
11 fileUpload关联-前端组件 fileUpload 前端fileUpload字段必须使用 FormInputUpload
12 fileUpload关联-import fileUpload 前端必须导入 FormInputUpload 组件

左右布局专项检查

序号 检查项 检查内容
1 左右布局-整体模块名 模块名为整体名称,如 actionManagementfolderManage
2 左右布局-左边业务对象 左边业务对象独立生成,如 ActionGroupFolder
3 左右布局-右边业务对象 右边业务对象独立生成,如 ActionInfoDocument
4 左右布局-前端同目录 前端代码生成到同一模块目录,如 {frontend.path}/actionManagement/
5 左右布局-外键配置 foreignKey 和 foreignTitle 必须正确配置
6 左右布局-左右联动 左边选择后,右边根据 foreignKey 过滤数据

Tree表类型专项检查

序号 检查项 检查内容
1 Tree表-parentId字段 Tree表PO必须有 private Long parentId;
2 Tree表-VO-parentId Tree表VO必须有parentId字段
3 Tree表-树形查询方法 Tree表Service必须有 queryXxxTreeList 方法

check 执行流程

步骤8完成 → 识别示例类型 → 加载对应检查清单 → 逐项核对 → 如有未通过项 → 修复问题 → 重新 check → 全部通过 → 工作流程结束

check 输出格式

执行时机:步骤8完成后,逐条列出检查项,每项记录文件名和检查结果。

⚠️ 铁律:不得少报、漏报任何检查不通过的事项,必须如实汇报给用户。

输出结构:按检查分类逐条检查项输出,每个分类显示检查项数统计

## check 检查结果

### 示例类型:example-leftright-action.md(左右布局-普通列表)

### 一、基础检查

| 序号 | 检查项 | 文件 | 结果 | 说明 |
|-----|-------|------|------|------|
| 1 | 包名路径 | ActionGroupPo.java | ✅ | buildPackage=com.wisdom.acm.aiagent |
| ... | ... | ... | ... | ... |

**基础检查:36项(23项相关,13项N/A)**

### 二、关联类型专项检查

| 序号 | 检查项 | 文件 | 结果 | 说明 |
|----|-------|---------|------|------|
| 1 | project关联-VO类型 | ActionInfoVo.java | ✅ | private GeneralVo projectId; |
| ... | ... | ... | ... | ... |

**关联类型专项:3项(全部通过)**

### 三、左右布局专项检查

| 序号 | 检查项 | 文件 | 结果 | 说明 |
|----|-------|---------|------|------|
| 1 | 左右布局-整体模块名 | 前端目录 | ✅ | actionManagement |
| ... | ... | ... | ... | ... |

**左右布局专项:6项(全部通过)**

重要

  • 检查结果必须按分类逐条检查项输出,每个分类独立成节
  • 每个分类标题后必须显示检查项数统计,格式:{分类名}:{总项数}项({相关项数}项相关,{N/A项数}项N/A)(全部通过)
  • 表格中每条检查结果必须单独一行,便于用户事后复查
  • 不得少报、漏报任何未通过的检查项,必须如实完整列出
  • 未通过项用 ❌ 标记,必须列出问题详情修复建议
  • 全部通过(100% ✅)后才能结束工作流程

check 未通过处理

若有任何检查项未通过:

  1. 列出未通过项及原因
  2. 修复问题
  3. 重新执行 check 检查
  4. 直到全部通过才能完成工作流程

check 参考示例

各示例文件的检查项数统计:

示例文件 说明 检查项数
example-common.md 普通主页示例 基础36项
example-org.md 组织下拉框示例 基础36项 + org关联3项 = 39项
example-user.md 用户下拉框示例 基础36项 + user关联3项 = 39项
example-project.md 选择项目示例 基础36项 + project关联3项 = 39项
example-fileupload.md 附件上传示例 基础36项 + fileUpload关联3项 = 39项
example-leftright-action.md 左右布局-普通列表 基础36项 + 左右布局专项6项 = 42项
example-leftright-folder.md 左右布局-树形列表 基础36项 + 左右布局专项6项 + Tree专项3项 = 45项

Velocity模板变量详解

详细内容请参见:src/documents/template/velocity-variables.md

内容包括:

  • 一、后端核心变量
  • 二、字段集合变量(buildColumns/buildAddforms/buildPos)
  • 三、关联关系变量(buildRelationList/buildRelevancyFields)
  • 四、搜索相关变量(buildTextSearchForms)
  • 五、前端变量
  • 六、关联字段变量(rl.relation/relationName/voClassName)
  • 七、前端特殊变量(codeBuilderId/column.fieldType)
  • 八、功能开关变量
  • 九、formType 表单控件类型

字段类型映射

Java类型映射

表单类型 Java类型
Input String
InputNumber Integer / Long
TreeSelect Long
Select String
Date Date
DateTime Date
TextArea String
Checkbox String
Radio String
FileUpload String

前端组件映射

表单类型 前端组件
Input FormInput
InputNumber FormNumber
TreeSelect FormTreeSelect
Select FormSelect
Date FormDate
DateTime FormDate
TextArea FormTextArea
Checkbox FormCheckGroup
Radio FormRadioGroup
FileUpload FormInputUpload

关联类型渲染

关联类型 列表渲染 表单渲染
dict getDictNameByProject() FormSelect
org name字段 FormTreeSelect
user name字段 FormSelect
project name字段 FormSelect
relevancy:1 customDicts查找 FormSelect
relevancy:2 name字段 FormSelect远程
relevancy:3 name字段 FormDataModel弹窗

控件实现说明

详细说明请参见:src/documents/form-controls/form-controls.md

内容包括:

  • 控件类型映射
  • Java类型映射
  • 前端组件映射
  • 6种控件实现说明(项目选择、用户控件、组织控件、上传附件、日期筛选)
  • 通用控件导入
  • 关联类型渲染

SQL生成

详细说明请参见:src/documents/sql-generator.md

内容包括:

  • 数据库类型识别(MySQL/Oracle/达梦)
  • Java类型到数据库类型映射
  • 三种数据库的CREATE TABLE语句模板
  • 通用字段说明
  • 生成流程

模板约束规则

详细内容请参见:src/documents/template/template-constraints.md

内容包括:

  • 铁律:生成代码前必须先读取模板文件
  • 约束说明(模板文件只读、槽位填充原则等)
  • 常见错误:BaseService 类型参数说明
  • 槽位填充要求
  • mapper.xml 模板约束
  • 违反约束的处理

⚠️ 绝对禁止:凭记忆生成代码

禁止行为 正确做法
凭记忆写import语句 必须读取模板文件,复制模板中的import
凭经验猜测变量类型 必须查看模板中的变量定义
凭直觉写代码逻辑 必须按照模板的Velocity语法填充
跳过模板直接写代码 必须先读取模板,再基于模板生成

错误示例

// ❌ 错误:凭记忆写import
import com.wisdom.base.common.vo.base.GeneralVo;  // 记错了路径

// ✅ 正确:复制模板中的import
import com.wisdom.base.common.vo.GeneralVo;

核心原则

  1. 生成代码前必须先读取模板文件,禁止根据经验生成
  2. 所有import、变量、方法调用都必须来自模板
  3. 若模板中有 #if#foreach 等Velocity指令,必须正确处理
  4. 不确定时必须重新读取模板确认

代码存放位置

普通主页/标签页/工作流

类型 路径 说明
后端微服务工程 {microservice.name}/ 后台微服务工程
后端代码 {microservice.path} 后台工程代码生成路径
前端页面 {frontend.path}/{模块英文名}/ 前端工程代码生成路径

左右布局

详细内容请参见:src/documents/layout-types/layout-leftright.md

SQL输出位置

类型 路径 说明
SQL文件 {microservice.path}{microservice.name}的位置为基准 只生成一个SQL文件,根据微服务实际连接的数据库类型
# 以microservice.name在microservice.path中的位置为基准
wsd-aiagent/                      # microservice.name所在目录
├── db/
│   └── init.sql                  # Oracle初始化SQL(默认)

路径计算示例

  • {microservice.path} = /Users/hadoop/.../adp-modules/wsd-aiagent/src/main/java/com/wisdom/acm/aiagent
  • {microservice.path}中找到{microservice.name} = wsd-aiagent的位置
  • SQL文件 = /Users/hadoop/.../adp-modules/wsd-aiagent/db/init.sql

使用示例

详细内容请参见:src/documents/examples/

SKILL 根据用户输入自动按需加载对应示例文件:

示例加载规则

用户输入关键词 加载示例文件 说明
"左右布局" + 有parentId/树形 example-leftright-folder.md 树形+普通列表左右布局
"左右布局" + 无parentId example-leftright-action.md 普通列表左右布局
"组织"、"责任主体"、"项目团队"、"协作团队" example-org.md 组织下拉框示例
"用户"、"责任人"、"负责人"、"创建人"、"修改人" example-user.md 用户下拉框示例
"附件"、"上传"、"fileUpload" example-fileupload.md 附件上传示例
"项目"、projectId example-project.md 选择项目示例
默认(无上述关键词) example-common.md 普通主页示例

加载时机

  • 步骤1完成后(生成模块标识),根据用户输入的字段明细判断需要加载的示例
  • 将示例文件内容作为上下文参考,帮助理解该类型模块的处理流程
  • 不是所有示例都加载,只加载与用户需求匹配的那一个

示例文件列表

src/documents/examples/
├── example-common.md              # 普通主页示例
├── example-org.md                 # 组织下拉框示例
├── example-user.md                # 用户下拉框示例
├── example-fileupload.md          # 附件上传示例
├── example-project.md             # 选择项目示例
├── example-leftright-action.md    # 左右布局-普通列表
└── example-leftright-folder.md    # 左右布局-树形列表

模板来源

模板来源于 wsd-adp/src/main/resources/codebuilder/ 目录,共 30个 .vm 模板文件:

  • java/ - 后端Java模板(12个)
  • web/ - 前端React模板(18个)

重要:模板文件禁止修改,如需调整功能请新建模板或使用配置参数。

变更记录

v2.1.0 - 2026-05-16

  • 新增铁律:生成代码前必须先读取模板文件,禁止根据经验生成
  • 新增说明:明确 BaseService 类型参数为2个(Mapper, Po),不是5个
  • 警告示例:添加错误示例和正确示例对比

v2.0.0 - 2026-05-16

  • 完善 Velocity 模板变量填充规则文档
  • 新增关联类型(relevancyType 1/2/3)配置说明
  • 新增自定义字段、工作流开关等变量说明
  • 补充字段明细表扩展字段定义
  • 统一前端路径为 {frontend.path}
  • 增加 SKILL 标准头部信息

v1.0.0 - 2026-05-15

  • 初始版本
  • 支持生成后端 PO、Form、VO、Service、Controller、Mapper
  • 支持生成前端主页、工具栏、表单
安全使用建议
Before installing or running this skill, confirm the backend, frontend, and SQL output paths in src/config.json or provide explicit paths in your request. Review the generated code and init.sql before committing or applying them, especially when layout keywords or Chinese text conversion could change the intended module structure.
能力评估
Purpose & Capability
The stated purpose is to generate Java backend files, React frontend files, and database initialization SQL from user-provided module and field definitions; those outputs are repeatedly disclosed in README.md, SKILL.md, examples, and config documentation.
Instruction Scope
The skill uses broad natural-language keyword routing for layout and example selection, and it forces Simplified Chinese output/conversion; these can cause wrong or unwanted generation choices, but they are visible generation rules rather than hidden or unrelated behavior.
Install Mechanism
The artifact inventory contains markdown, JSON, and text files only; scan metadata reports no executable scripts, dependencies, install hooks, or API-key requirement.
Credentials
Default config contains absolute backend/frontend output paths and an init.sql location, which is proportionate for a code generator but should be reviewed or overridden before use.
Persistence & Privilege
Persistence is limited to generated project files and SQL output. I found no background worker, long-running process, credential/session/profile access, privilege escalation, destructive shell commands, or network exfiltration instructions.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install lowcode-module-generator
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /lowcode-module-generator 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
lowcode-module-generator 1.0.0 - 首次发布低代码模块生成器,支持一键生成完整前后端代码(基于Velocity模板)。 - 用户只需输入简体中文模块名称和字段明细表,系统自动生成 PO、Form、VO、Service、Controller、Mapper 等后端代码及 React 前端页面。 - 自动判断并支持多种页面布局:普通主页、左右布局、标签页、工作流等。 - 严格遵循工作流程,所有步骤必须顺序执行,保障生成代码规范一致。 - 详尽文档覆盖字段配置、布局说明、模板变量说明、示例等,便于开发和使用。
元数据
Slug lowcode-module-generator
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Lowcode Module Generator 是什么?

低代码模块生成器。低代码平台出码(完整前后端代码),支持ACM系统的普通主页、左右布局等模块开发。用户只需提供中文模块名和字段明细表,即可生成 PO、Form、VO、Service、Controller、Mapper 等后端代码,以及前端 React 页面组件。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 43 次。

如何安装 Lowcode Module Generator?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install lowcode-module-generator」即可一键安装,无需额外配置。

Lowcode Module Generator 是免费的吗?

是的,Lowcode Module Generator 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Lowcode Module Generator 支持哪些平台?

Lowcode Module Generator 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Lowcode Module Generator?

由 hjfeilg(@hjfeilg)开发并维护,当前版本 v1.0.0。

💬 留言讨论