Install
openclaw skills install lowcode-module-generator低代码模块生成器。低代码平台出码(完整前后端代码),支持ACM系统的普通主页、左右布局等模块开发。用户只需提供中文模块名和字段明细表,即可生成 PO、Form、VO、Service、Controller、Mapper 等后端代码,以及前端 React 页面组件。
openclaw skills install lowcode-module-generator低代码平台出码(完整前后端代码),支持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 模板,按模板变量填充,不得篡改用户只需提供:
AI自动推断:
parentId 或 parent_id → Tree(树形表)外键配置(可选):如关联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} |
| 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 |
判断规则:
| 用户输入关键词 | 自动判断为 |
|---|---|
| 未提及"左右布局" | 普通主页 |
| 提及"左右布局"(含左边描述 + 右边描述) | 左右布局 |
| 提及"标签页"或"页签" | 标签页 |
内容包括:
内容包括:
| 类型 | 生成文件 |
|---|---|
| 后端-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 |
内容包括:
所有代码生成任务必须严格按照以下工作流程执行,不得跳过任何步骤:
用户输入新模块信息
↓
步骤1:生成模块标识(简体中文→英文)[ ]
↓
步骤2:自动判断页面布局类型 [ ]
↓
步骤3:解析字段明细,构建模板变量 [ ]
↓
步骤4:替换Velocity模板变量 [ ]
↓
步骤5:生成后端代码(PO→Form→VO→Service→Controller→Mapper) [ ]
↓
步骤6:生成前端代码(根据布局类型生成对应页面) [ ]
↓
步骤7:生成数据库初始化SQL(根据配置的数据库类型,只生成一个SQL) [ ]
↓
步骤8:输出完整代码清单 [ ]
↓
步骤9:执行 check 检查,全部通过才能结束 [ ]
完整步骤清单:
| 步骤 | 内容 | 状态 |
|---|---|---|
| 步骤1 | 生成模块标识(简体中文→英文) | [ ] |
| 步骤2 | 自动判断页面布局类型 | [ ] |
| 步骤3 | 解析字段明细,构建模板变量 | [ ] |
| 步骤4 | 替换Velocity模板变量 | [ ] |
| 步骤5 | 生成后端代码(PO→Form→VO→Service→Controller→Mapper) | [ ] |
| 步骤6 | 生成前端代码(根据布局类型生成对应页面) | [ ] |
| 步骤7 | 生成数据库初始化SQL(根据配置的数据库类型) | [ ] |
| 步骤8 | 输出完整代码清单 | [ ] |
| 步骤9 | 执行 check 检查,全部通过才能结束 | [ ] |
执行要求:
[x] 表示已执行配置来源优先级:自然语言 > config.json
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 检查 | 全部通过才能完成工作流程 |
读取环境变量(config.json):
{microservice.name}{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必须先将其转换为简体中文,再生成代码。禁止直接使用繁体中文。
执行时机:步骤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 | 左右布局-树形列表 |
| 序号 | 检查项 | 检查内容 | 标准 |
|---|---|---|---|
| 1 | 包名路径 | ${buildPackage} 是否正确 | 必须与微服务 package 一致,如 com.wisdom.acm.aiagent |
| 2 | 类名命名 | 所有类名是否遵循驼峰命名 | 首字母大写,如 EquipmentPo,方法名首字母小写如 equipmentName |
| 3 | 继承关系-PO | PO 是否继承 BasePo 或 BaseCustomPo | 根据 buildEnableCustomField 判断 |
| 4 | 继承关系-Form | Form 是否继承 BaseForm / BaseSearchForm | AddForm/UpdateForm 继承 BaseForm,SearchForm 继承 BaseSearchForm |
| 5 | 继承关系-VO | VO 是否继承 BaseInfoVo / BaseVo | Vo 继承 BaseInfoVo,DataVo 继承 BaseVo |
| 6 | 继承关系-Service | Service 是否继承 CommService<Po> | 类型参数只有1个(Po) |
| 7 | 继承关系-ServiceImpl | ServiceImpl 是否继承 BaseService<Mapper, 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<Long>) |
| 20 | Controller注解 | 是否有 @Api(tags = "...") | tags 必须为中文描述 |
| 21 | Controller注入 | Service 是否用 @Autowired 注入 | 必须有 @Autowired private XxxService xxxService; |
| 22 | Mapper继承 | Mapper 是否继承 CommMapper<Po> | 类型参数只有1个(Po) |
| 23 | Mapper.xml | XML 声明和 DOCTYPE 是否正确 | 必须有 <?xml version="1.0" encoding="UTF-8" ?> 和对应 DOCTYPE |
| 24 | Mapper.xml命名空间 | namespace 是否正确 | 必须为 ${buildPackage}.mapper.${buildClassName}Mapper |
| 25 | Mapper.xml中间为空 | mapper 标签内是否为空 | <mapper> 和 </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 | 左右布局-整体模块名 | 模块名为整体名称,如 actionManagement、folderManage |
| 2 | 左右布局-左边业务对象 | 左边业务对象独立生成,如 ActionGroup、Folder |
| 3 | 左右布局-右边业务对象 | 右边业务对象独立生成,如 ActionInfo、Document |
| 4 | 左右布局-前端同目录 | 前端代码生成到同一模块目录,如 {frontend.path}/actionManagement/ |
| 5 | 左右布局-外键配置 | foreignKey 和 foreignTitle 必须正确配置 |
| 6 | 左右布局-左右联动 | 左边选择后,右边根据 foreignKey 过滤数据 |
| 序号 | 检查项 | 检查内容 |
|---|---|---|
| 1 | Tree表-parentId字段 | Tree表PO必须有 private Long parentId; |
| 2 | Tree表-VO-parentId | Tree表VO必须有parentId字段 |
| 3 | Tree表-树形查询方法 | Tree表Service必须有 queryXxxTreeList 方法 |
步骤8完成 → 识别示例类型 → 加载对应检查清单 → 逐项核对 → 如有未通过项 → 修复问题 → 重新 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) 或 (全部通过)若有任何检查项未通过:
各示例文件的检查项数统计:
| 示例文件 | 说明 | 检查项数 |
|---|---|---|
| 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项 |
详细内容请参见:src/documents/template/velocity-variables.md
内容包括:
| 表单类型 | 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/sql-generator.md
内容包括:
内容包括:
| 禁止行为 | 正确做法 |
|---|---|
| 凭记忆写import语句 | 必须读取模板文件,复制模板中的import |
| 凭经验猜测变量类型 | 必须查看模板中的变量定义 |
| 凭直觉写代码逻辑 | 必须按照模板的Velocity语法填充 |
| 跳过模板直接写代码 | 必须先读取模板,再基于模板生成 |
错误示例:
// ❌ 错误:凭记忆写import
import com.wisdom.base.common.vo.base.GeneralVo; // 记错了路径
// ✅ 正确:复制模板中的import
import com.wisdom.base.common.vo.GeneralVo;
核心原则:
#if、#foreach 等Velocity指令,必须正确处理| 类型 | 路径 | 说明 |
|---|---|---|
| 后端微服务工程 | {microservice.name}/ | 后台微服务工程 |
| 后端代码 | {microservice.path} | 后台工程代码生成路径 |
| 前端页面 | {frontend.path}/{模块英文名}/ | 前端工程代码生成路径 |
详细内容请参见:src/documents/layout-types/layout-leftright.md
| 类型 | 路径 | 说明 |
|---|---|---|
| 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的位置/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 | 普通主页示例 |
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 模板文件:
重要:模板文件禁止修改,如需调整功能请新建模板或使用配置参数。
{frontend.path}