阅读 163

元数据管理—动态表单设计器在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为数字的时候才有效,为字符串的时候会忽略,其它情况的类似。

系统字段

system
创建表单的时候会默认添加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}]


唯一性索引

索引类型包括主键、全文、普通、唯一,全文索引之前已经介绍过了,普通索引主要是为了提高查询效率,这里主要介绍一下唯一性索引
index
客户表mobile手机字段创建唯一性索引,表示手机号不允许重复

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

联合索引

如果索引只有一个字段,在设置列属性的时候直接设置。如果是多个字段联合索引,就需要单独设置了。这里可以创建普通或唯一两种类型的联合索引,通过下拉框选择多个字段。
unionindex
比如给customer设置一个联合索引,最终得到的索引功能和之前单个字段索引类似。

附件

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

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

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

表单设计API

Swagger
表单设计提供了API,如果默认提供的后台管理UI不适合,可以二次开发,重新设计UI,通过API管理表单,API文档如下:
https://demo.crudapi.cn/swagger-ui.html

api
Postman查询customer表单元数据。

小结

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

附demo演示

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

©著作权归作者所有:来自51CTO博客作者crudapi的原创作品,如需转载,请注明出处,否则将追究法律责任


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐