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

表单设计

在前面文章中,咱们经过一系列案例介绍了表单设计的一些基本功能,表单设计起到很是重要做用,也是crudapi核心,因此本文会详细介绍表单设计中一些其它功能。javascript

概要

表单字段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为数字的时候才有效,为字符串的时候会忽略,其它状况的相似。html

系统字段

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

[{
    "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手机字段建立惟一性索引,表示手机号不容许重复json

uqmobile
添加客户时,录入添加已经存在的手机号,提示重复错误,和指望的一致,惟一性索引能够防止数据重复。api

联合索引

若是索引只有一个字段,在设置列属性的时候直接设置。若是是多个字段联合索引,就须要单独设置了。这里能够建立普通或惟一两种类型的联合索引,经过下拉框选择多个字段。
unionindex
好比给customer设置一个联合索引,最终获得的索引功能和以前单个字段索引相似。测试

附件

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

url
设置文件file表的url连接字段属性为ATTACHMENTurl

file
录入数据时候,附件字段能够上传文件,若是是图片能够预览。设计

表单设计API

Swagger
表单设计提供了API,若是默认提供的后台管理UI不适合,能够二次开发,从新设计UI,经过API管理表单,API文档以下:
https://demo.crudapi.cn/swagger-ui.html3d

api
Postman查询customer表单元数据。

小结

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

附demo演示

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

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

相关文章
相关标签/搜索