跳到主要内容

Skills — Online表单自动生成

1. 功能介绍

jeecg-onlform 是 Claude Code 的 AI Skill,能够将自然语言需求自动转换为 JeecgBoot Online 表单,完成从表单配置 → 同步数据库 → 生成菜单 SQL 的全流程自动化。

核心能力:

  • 用自然语言描述表单需求,AI 自动推导字段类型和前端控件
  • 自动创建 Online 表单配置(调用 addAll API)
  • 自动同步数据库(调用 doDbSynch API)
  • 自动生成菜单 SQL(可选执行)
  • 支持对已有表单进行增量编辑(加字段/改字段/删字段)
  • 智能匹配系统字典

不确定该用哪个 Skill?请查看 AI Skills 技能清单

2. 前置条件

使用前需要准备两个信息:

信息获取方式示例
API 地址JeecgBoot 后端服务地址https://boot3.jeecg.com/jeecgboot
X-Access-Token浏览器 F12 → Network → 任意请求的 Request HeaderseyJhbGciOiJIUzI1NiIs...

获取 Token 步骤:

  1. 登录 JeecgBoot 后台管理系统
  2. 按 F12 打开浏览器开发者工具
  3. 切换到 Network(网络)面板
  4. 点击页面上任意操作触发一个请求
  5. 点击该请求,在 Request Headers 中找到 X-Access-Token 的值并复制

3. 使用方式

在 Claude Code 中直接用自然语言描述需求即可。以下是触发关键词:

创建Online表单、创建online表、新建表单配置、online表单、
在线表单、低代码表单、配置表、建online表

4. 实战示例:创建物料表

4.1 第一步:描述需求

直接告诉 AI 你需要什么表:

创建一个Online物料表

AI 会根据"物料"这个业务语义,自动推导出合理的字段列表。

4.2 第二步:AI 展示配置摘要

AI 会展示完整的表结构摘要,包括 6 个标准系统字段 和推导出的业务字段,等待你确认:

## Online 表单配置摘要

- 表名:biz_material
- 表描述:物料表
- 表类型:单表

### 标准系统字段(6个,每个Online表必须包含)

| 序号 | 字段名 | 标签 | DB类型 | 说明 |
|------|--------------|---------|------------|---------------|
| 1 | id | 主键 | string(36) | 主键,自动生成 |
| 2 | create_by | 创建人 | string(50) | 系统自动填充 |
| 3 | create_time | 创建时间 | Datetime | 系统自动填充 |
| 4 | update_by | 更新人 | string(50) | 系统自动填充 |
| 5 | update_time | 更新时间 | Datetime | 系统自动填充 |
| 6 | sys_org_code | 所属部门 | string(50) | 系统自动填充 |

### 业务字段(11个)

| 序号 | 字段名 | 标签 | 控件类型 | DB类型 | 必填 | 查询 | 字典 |
|------|----------|---------|---------|-----------------|------|---------|-------------|
| 7 | code | 物料编码 | text | string(50) || (模糊) | - |
| 8 | name | 物料名称 | text | string(100) || (模糊) | - |
| 9 | category | 物料分类 | list | string(50) || (精确) | - |
| 10 | spec | 规格型号 | text | string(200) ||| - |
| 11 | unit | 计量单位 | text | string(20) ||| - |
| 12 | price | 单价 | text | BigDecimal(10,2)||| - |
| 13 | stock_qty| 库存数量 | text | int(9) ||| - |
| 14 | supplier | 供应商 | text | string(200) ||| - |
| 15 | status | 状态 | radio | string(10) || (精确) | valid_status|
| 16 | image | 图片 | image | string(500) ||| - |
| 17 | remark | 备注 | textarea| string(500) ||| - |

合计:6 个标准字段 + 11 个业务字段 = 17 个字段

### 索引

| 索引名 | 字段 | 类型 |
|----------------|------|--------|
| idx_unique_code| code | unique |

确认以上配置?(y/n)

关于标准字段: 每个 Online 表都必须包含 6 个标准系统字段(id、create_by、create_time、update_by、update_time、sys_org_code),这些字段由系统自动维护,不在表单中显示,但在数据库表中必须存在。

4.3 第三步:提供 Token 并确认

确认配置后,提供 API 地址和 Token:

x-access-token
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxx

4.4 第四步:AI 自动执行

AI 会依次执行以下操作:

1. 调用 addAll API → 创建表单配置 ✓
2. 调用 head/list API → 获取 headId ✓
3. 调用 doDbSynch API → 同步数据库 ✓
4. 输出菜单 SQL → 供用户选择是否执行

4.5 第五步:查看结果

## Online 表单创建成功

- 表名:biz_material
- 表描述:物料表
- 字段数量:6 个标准字段 + 11 个业务字段 = 17 个字段
- 数据库同步:已完成 ✓
- headId:e38e235fca2241a8a7bc32c677ad9c81

### 菜单 SQL(可选)
INSERT INTO sys_permission(...)
VALUES ('e38e235f...', NULL, '物料表', '/online/cgformList/e38e235f...', ...);

### 后续操作
1. 点击「功能测试」预览表单效果
2. 如需配置菜单,执行上方 SQL 或在后台手动「添加菜单」

4.6 最终效果

在 JeecgBoot 后台 → Online表单开发 中可以看到刚创建的 biz_material 表:

  • 点击 「功能测试」 即可预览完整的增删改查表单
  • 点击 「添加菜单」 可将其加入系统左侧导航
  • 点击 「编辑」 可手动调整字段配置

5. 更多使用场景

5.1 指定字段创建

可以在需求中详细描述字段:

创建一个Online请假申请表,包含以下字段:
- 姓名(必填,模糊查询)
- 请假类型(下拉选择,字典 leave_type,精确查询)
- 开始日期(日期选择,范围查询)
- 结束日期(日期选择)
- 请假天数(数字)
- 请假原因(多行文本)
- 附件(文件上传)
- 审批人(用户选择,精确查询)

5.2 给已有表单加字段

给 biz_material 表加一个"仓库"字段,下拉选择

AI 会:

  1. 查询已有表单配置
  2. 在现有字段基础上追加新字段
  3. 调用 editAll API 更新配置
  4. 自动同步数据库

5.3 创建主子表

创建一个Online采购订单主子表:
- 主表:采购订单(订单编号、供应商、采购日期、总金额、状态)
- 子表:采购明细(物料名称、规格、数量、单价、金额)

AI 会自动:

  • 主表设置 tableType=2subTableStr 关联子表
  • 子表设置 tableType=3relationType=0(一对多),外键关联主表

5.4 创建树表

创建一个Online产品分类树表,包含分类名称、编码、排序号

AI 会自动:

  • 设置 isTree='Y'
  • 添加 pidhas_child 树形结构字段

6. 智能字段推导规则

AI 根据用户描述的语义关键词自动推导字段的数据库类型和前端控件:

语义关键词控件类型DB 类型说明
名称/标题/编码/文本text(单行文本)string(100)默认文本输入
金额/价格/费用textBigDecimal(10,2)数字精度2位
数量/个数/数目textint(9)整数
状态/类型/级别 (单选)radio(单选)string(50)自动匹配字典
下拉/选择/类别list(下拉)string(50)自动匹配字典
多选/标签/兴趣checkbox(多选)string(200)字典多选
是否/开关/启用switch(开关)string(50)布尔切换
日期/生日date(日期)Date日期选择器
日期时间/下单时间datetime(日期时间)Datetime日期时间选择器
备注/描述/说明textarea(多行文本)string(500)文本域
富文本/内容/HTMLumeditor(富文本)Text富文本编辑器
图片/头像/照片image(图片上传)string(500)图片上传组件
文件/附件file(文件上传)string(500)文件上传组件
用户/负责人/审批人sel_user(用户选择)string(100)用户选择弹窗
部门/组织/所属部门sel_depart(部门选择)string(100)部门选择弹窗
省市区/地区/地址pca(省市区)string(100)省市区联动
分类/分类树cat_tree(分类树)string(100)分类字典树

7. 涉及的 API 接口

接口方法路径说明
创建表单POST/online/cgform/api/addAll创建完整表单配置(head + fields + indexs)
编辑表单PUT/online/cgform/api/editAll编辑已有表单配置
查询表单详情GET/online/cgform/api/getByHead?id={headId}获取完整配置(编辑时用)
查询表单列表GET/online/cgform/head/list?tableName={name}按表名搜索,获取 headId
同步数据库POST/online/cgform/api/doDbSynch/{headId}/{syncType}normal=增量同步,force=强制重建

8. 常见问题

Token 过期怎么办?

API 返回 401 或认证失败时,需要重新登录 JeecgBoot 后台,从 F12 中获取新的 X-Access-Token

表已存在怎么办?

如果数据库中已有同名表,addAll 会报错 "数据库表[xxx]已存在"。此时应使用编辑模式(先查询已有配置,再调用 editAll)。

同步数据库 normal 和 force 的区别?

模式说明数据安全
normal增量同步:新增字段、修改字段属性,不删除已有字段安全,不丢数据
force强制同步:删除原表并重建危险,所有数据丢失!仅开发环境使用

如何修改已创建的表单?

两种方式:

  1. 在 JeecgBoot 后台手动编辑:Online表单开发 → 找到表单 → 编辑
  2. 通过 AI 增量修改:告诉 AI "给 xxx 表加一个 xxx 字段",AI 会自动调用 editAll API

菜单 SQL 必须执行吗?

不是必须的。你也可以在 JeecgBoot 后台 → Online表单开发 → 找到表单 → 点击「添加菜单」按钮来手动配置菜单。SQL 方式适合批量部署或版本管理。