低代码 CRUD 搭建器面向业务人员提供单表业务应用的零代码搭建能力。第一版采用 Naive UI 自研界面,复用平台已有 AiCrudPage、动态 CRUD、字典、脱敏、加解密、菜单注册和权限体系。树形表按“树形单表”支持,主子表运行时暂未开放。
/ai/lowcode-apps/ai/lowcode-builder/:id?/ai/crud-page/:configKey旧入口 /ai/crud-config 保留为技术人员高级配置入口,主操作已收敛到低代码应用列表。
配置应用名称、configKey、应用类型、数据表模式、表名和业务字段。标准单表和树形单表都必须来自同一张业务表;主子表、跨表聚合和流程编排暂不开放运行时。
通过业务组件库启用和配置查询筛选区、数据展示列表、数据录入表单、详情区。字段来源必须来自当前 modelSchema.fields。树形单表可选择“左树右表”模板,并配置父级字段和节点显示字段。
预览草稿结构并调用后端校验接口。草稿预览不会注册菜单,也不会对业务用户可见。
发布时将草稿协议转换为正式 AiCrudPage 运行配置,写入版本快照,并注册或更新菜单。
选择“创建新业务表”时,系统可生成 DDL 预览。发布时如果选择“在线建表/补字段”,必须满足:
ai:lowcode:deploy-ddl 权限。CREATE TABLE IF NOT EXISTS 或 ALTER TABLE ... ADD COLUMN。系统不会在线删除表、删除字段、重命名字段或修改字段类型。
选择“绑定已有表”时,发布默认不执行 DDL。目标表必须已存在,并包含模型中配置的字段。动态 CRUD 运行时会按字段白名单进行读写。
modelSchema 描述业务对象和字段:
{
"appType": "SINGLE",
"tableMode": "CREATE",
"tableName": "biz_contract",
"businessName": "合同管理",
"treeConfig": {
"keyField": "id",
"parentField": "parentId",
"labelField": "name",
"childrenField": "children",
"treeTitle": "树形导航"
},
"fields": [
{
"field": "contractName",
"columnName": "contract_name",
"label": "合同名称",
"dataType": "varchar",
"length": 128,
"required": true,
"searchable": true,
"listVisible": true,
"formVisible": true,
"componentType": "input",
"queryType": "like"
}
]
}
树形单表要求:
appType 设置为 TREE,或 pageSchema.layoutType 设置为 tree-crud。parentId,数据库列名为 parent_id。/ai/crud/{configKey}/tree,右侧列表继续调用 /ai/crud/{configKey}/page 并按父级字段过滤。pageSchema 描述页面区域和组件参数:
{
"layoutType": "simple-crud",
"zones": [
{
"zoneKey": "search",
"componentKey": "search-form",
"enabled": true,
"fieldRefs": ["contractName"]
},
{
"zoneKey": "table",
"componentKey": "data-table",
"enabled": true,
"fieldRefs": ["contractName"],
"props": {
"showImport": true,
"showExport": true,
"hideBatchDelete": false
}
}
]
}
ai:lowcode:list:低代码应用列表。ai:lowcode:edit:低代码搭建器。ai:lowcode:publish:发布低代码应用。ai:lowcode:rollback:回滚历史版本。ai:lowcode:deploy-ddl:在线建表或追加字段。configKey 必须小写字母开头,仅允许小写字母、数字、下划线。sys_、ai_、gen_、flow_ 等系统保留前缀。dictType,运行时使用字典组件渲染。:id,不能使用 {id}。sys_excel_column_config 存在同 configKey 的列配置,动态导出会按该配置覆盖列顺序、表头和字典类型。MASTER_DETAIL 会被后端拦截并提示尚未启用。