低代码 CRUD 可视化搭建器
低代码 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权限。 - 已勾选在线 DDL 二次确认。
- DDL 只包含
CREATE TABLE IF NOT EXISTS或ALTER TABLE ... ADD COLUMN。
系统不会在线删除表、删除字段、重命名字段或修改字段类型。
绑定已有表
选择“绑定已有表”时,发布默认不执行 DDL。目标表必须已存在,并包含模型中配置的字段。动态 CRUD 运行时会按字段白名单进行读写。
协议说明
modelSchema 描述业务对象和字段:
json
{
"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 描述页面区域和组件参数:
json
{
"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,运行时使用字典组件渲染。 - API 占位符必须使用
:id,不能使用{id}。 - 草稿不会影响线上运行页,发布后运行页读取发布态配置。
- 批量导入仅写入编辑表单允许字段,模板表头使用业务中文名;字典字段可填写字典标签或字典值,后台统一转换为字典值入库。
- 数据导出仅导出列表可见字段,读取链路会继续执行解密、字典翻译和脱敏处理,避免导出敏感明文。
- 如果后台
sys_excel_column_config存在同configKey的列配置,动态导出会按该配置覆盖列顺序、表头和字典类型。 - 主子表协议字段已预留,但当前选择
MASTER_DETAIL会被后端拦截并提示尚未启用。
