元數據管理—動態表單設計器在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
錄入數據時候,附件字段能夠上傳文件,若是是圖片能夠預覽。spa

表單設計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。

官網地址:https://crudapi.cn
測試地址:https://demo.crudapi.cn/crudapi/login

相關文章
相關標籤/搜索