写点什么

元数据管理—动态表单设计器在 crudapi 系统中完整实现

用户头像
crudapi
关注
发布于: 2021 年 04 月 04 日
元数据管理—动态表单设计器在crudapi系统中完整实现

表单设计

在前面文章中,我们通过一系列案例介绍了表单设计的一些基本功能,表单设计起到非常重要作用,也是 crudapi 核心,所以本文会详细介绍表单设计中一些其它功能。

概要

表单字段 column 属性


列英文名称 | 描述 --- | ---

name | 英文名称

caption | 中文名称

autoIncrement | 是否自增长

description | 描述

displayOrder |序号,UI 中显示的顺序

dataType | 数据类型,比如字符串、整数等

seqId | 序列号 ID,用于设置流水号

indexName | 索引名称

indexStorage | 索引存储, 支持 BTREE、HASH

indexType | 索引类型,支持 PRIMARY, UNIQUE, INDEX, FULLTEXT

length | 长度

precision | 精密度、精确(精度),表示该字段的有效数字位数

scale | 刻度、数值范围,表示该字段的小数位数

nullable| 是否可为空

unsigned | 是否无符号

insertable | 是否可插入

queryable | 是否可查询

systemable | 是否系统字段

updatable | 是否可修改

createdDate | 创建时间

lastModifiedDate | 修改时间

以上属性不是所有的都同时有效,比如 unsigned 只有在 dataType 为数字的时候才有效,为字符串的时候会忽略,其它情况的类似。

系统字段


创建表单的时候会默认添加 5 个系统字段,分别是编号 id,名称 name,全文索引 fullTextBody,创建时间 createdDate 和修改时间 lastModifiedDate,以 customer 为例,系统字段 json 内容如下:


[{    "autoIncrement": true,    "caption": "编号",    "createdDate": 1613181300985,    "dataType": "BIGINT",    "description": "主键",    "displayOrder": 0,    "id": 253,    "indexType": "PRIMARY",    "insertable": false,    "lastModifiedDate": 1613182114133,    "length": 20,    "name": "id",    "nullable": false,    "queryable": false,    "systemable": true,    "unsigned": true,    "updatable": false}, {    "autoIncrement": false,    "caption": "名称",    "createdDate": 1613181300985,    "dataType": "VARCHAR",    "description": "名称",    "displayOrder": 1,    "id": 254,    "insertable": true,    "lastModifiedDate": 1613182114133,    "length": 200,    "name": "name",    "nullable": false,    "queryable": true,    "systemable": true,    "unsigned": false,    "updatable": true}, {    "autoIncrement": false,    "caption": "全文索引",    "createdDate": 1613181300985,    "dataType": "TEXT",    "description": "全文索引",    "displayOrder": 2,    "id": 255,    "indexName": "ft_fulltext_body",    "indexType": "FULLTEXT",    "insertable": false,    "lastModifiedDate": 1613182114133,    "name": "fullTextBody",    "nullable": true,    "queryable": false,    "systemable": true,    "unsigned": false,    "updatable": false}, {    "autoIncrement": false,    "caption": "创建时间",    "createdDate": 1613181300985,    "dataType": "DATETIME",    "description": "创建时间",    "displayOrder": 3,    "id": 256,    "insertable": false,    "lastModifiedDate": 1613182114133,    "name": "createdDate",    "nullable": false,    "queryable": false,    "systemable": true,    "unsigned": false,    "updatable": false}]
复制代码

唯一性索引

索引类型包括主键、全文、普通、唯一,全文索引之前已经介绍过了,普通索引主要是为了提高查询效率,这里主要介绍一下唯一性索引



客户表 mobile 手机字段创建唯一性索引,表示手机号不允许重复



添加客户时,录入添加已经存在的手机号,提示重复错误,和期望的一致,唯一性索引可以防止数据重复。

联合索引

如果索引只有一个字段,在设置列属性的时候直接设置。如果是多个字段联合索引,就需要单独设置了。这里可以创建普通或唯一两种类型的联合索引,通过下拉框选择多个字段。



比如给 customer 设置一个联合索引,最终得到的索引功能和之前单个字段索引类似。

附件

附件类型字段支持保存附件,主要是文档、图片等



设置文件 file 表的 url 链接字段属性为 ATTACHMENT



录入数据时候,附件字段可以上传文件,如果是图片可以预览。

表单设计 API


表单设计提供了 API,如果默认提供的后台管理 UI 不适合,可以二次开发,重新设计 UI,通过 API 管理表单,API 文档如下:


https://demo.crudapi.cn/swagger-ui.html



Postman 查询 customer 表单元数据。

小结

本文介绍了表单设计完整功能,既可以通过 UI 配置实现,也可以通过 API 进行二次开发。

附 demo 演示

本系统属于产品级的零代码平台,不同于自动代码生成器,不需要生成 Controller、Service、Repository、Entity 等业务代码,程序运行起来就可以使用,真正 0 代码,可以覆盖基本的和业务无关的 CRUD RESTful API。


官网地址:https://crudapi.cn


测试地址:https://demo.crudapi.cn/crudapi/login

发布于: 2021 年 04 月 04 日阅读数: 38
用户头像

crudapi

关注

crudapi是crud+api组合,表示增删改查接口 2019.06.19 加入

使用crudapi可以告别枯燥无味的增删改查代码,让您更加专注业务,节约大量成本,从而提高工作效率。crudapi的目标是让处理数据变得更简单!官网:https://crudapi.cn 演示:https://demo.crudapi.cn/crudapi/login

评论

发布
暂无评论
元数据管理—动态表单设计器在crudapi系统中完整实现