天天看點

中繼資料管理—動态表單設計器在crudapi系統中完整實作

中繼資料管理—動态表單設計器在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為數字的時候才有效,為字元串的時候會忽略,其它情況的類似。

系統字段

中繼資料管理—動态表單設計器在crudapi系統中完整實作

建立表單的時候會預設添加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
}]
           

唯一性索引

索引類型包括主鍵、全文、普通、唯一,全文索引之前已經介紹過了,普通索引主要是為了提高查詢效率,這裡主要介紹一下唯一性索引

中繼資料管理—動态表單設計器在crudapi系統中完整實作

客戶表mobile手機字段建立唯一性索引,表示手機号不允許重複

中繼資料管理—動态表單設計器在crudapi系統中完整實作

添加客戶時,錄入添加已經存在的手機号,提示重複錯誤,和期望的一緻,唯一性索引可以防止資料重複。

聯合索引

如果索引隻有一個字段,在設定列屬性的時候直接設定。如果是多個字段聯合索引,就需要單獨設定了。這裡可以建立普通或唯一兩種類型的聯合索引,通過下拉框選擇多個字段。

中繼資料管理—動态表單設計器在crudapi系統中完整實作

比如給customer設定一個聯合索引,最終得到的索引功能和之前單個字段索引類似。

附件

附件類型字段支援儲存附件,主要是文檔、圖檔等

中繼資料管理—動态表單設計器在crudapi系統中完整實作

設定檔案file表的url連結字段屬性為ATTACHMENT

中繼資料管理—動态表單設計器在crudapi系統中完整實作

錄入資料時候,附件字段可以上傳檔案,如果是圖檔可以預覽。

表單設計API

中繼資料管理—動态表單設計器在crudapi系統中完整實作

表單設計提供了API,如果預設提供的背景管理UI不适合,可以二次開發,重新設計UI,通過API管理表單,API文檔如下:

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

中繼資料管理—動态表單設計器在crudapi系統中完整實作

Postman查詢customer表單中繼資料。

小結

本文介紹了表單設計完整功能,既可以通過UI配置實作,也可以通過API進行二次開發。

附demo示範

本系統屬于産品級的零代碼平台,不同于自動代碼生成器,不需要生成Controller、Service、Repository、Entity等業務代碼,程式運作起來就可以使用,真正0代碼,可以覆寫基本的和業務無關的CRUD RESTful API。

官網位址:https://crudapi.cn

測試位址:https://demo.crudapi.cn/crudapi/login

繼續閱讀