字段类型介绍
本文档介绍平台表支持的各种字段类型。
自增ID、自定义ID
类型 | 存储形式 | 示例值 |
---|---|---|
自增ID | number | 42 |
自定义ID | string | book-x1 |
随机ID | string | 7s1270x3ee103174 |
默认情况下,如果你没有添加 自增ID 或者 自定义ID,平台会创建一个隐藏的 _id
字段作为主键。对于每一条配置,都会生成一个 像乱码似的 随机ID。
自增ID,随机ID的值不可编辑,自定义ID可编辑(显示为文本框)。
- 主键类型是整形(非自增),请选用“自定义ID”。平台在写入数据库时会自动转为数字进行存储。
- 如果使用了联合主键,请参阅 联合主键。
文本、多行文本、链接、颜色
存储形式 | 示例值 |
---|---|
string | #FFCC00 , http://xx.xx/xx 等 |
在平台上以文本框 / 颜色选择器的形式展示出来。
- 平台建表时,设置了“最大长度”则使用 VARCHAR<length> 存储,否则默认为 TEXT 类型存储。
整数输入、小数输入
存储形式 | 示例值 |
---|---|
number | 42 , 3.1415926 |
在平台上以数字输入框的形式展示出来。
- 平台建表时使用 INT、DOUBLE 类型存储。danger
⚠️ 受限于数据库和 js 的精度限制,如果你的数值非常大,或者要求很精确,建议采用“文本”字段
(如果用自己建的 MySQL 表,“文本”字段配合 DECIMAL 类型使用更佳)
布尔值
存储形式 | 示例值 |
---|---|
MongoDB boolean | true , false |
MySQL number | 1 , 0 |
🔧 此类型的字段有扩展配置(可选)
在平台上以勾选框 / 开关的形式展示出来。
图片、文件
存储形式 | 示例值 |
---|---|
string | https://vfiles.gtimg.cn/foobar/doge.png |
在平台上以文件上传框的形式展示出来。
JSON文本 / JSON对象
存储形式 | 示例值 |
---|---|
string/JSON | {"foo":[1,2,3]} |
在平台控制台上会以代码编辑器的形式展示。 JSON文本将以JSON格式字符串存储; JSON对象将直接以JSON格式存储。
数据库中存储方式支持TEXT
(2^16^-1)/ MEDIUMTEXT
(2^24^ -1)/ LONGTEXT
(2^32 ^- 1) 注意长度限制。
JSONSchema
存储形式 | 接口返回格式 | 示例值 |
---|---|---|
string/JSON | 取决于字段类型为JSON文本/JSON对象 | {"foo":[1,2,3]} |
JSON文本/JSON对象字段类型支持使用JSONSchema方式渲染,在字段设置中打开“由Schema生成表单”即可实现JSONSchema生成表单方式进行数据编辑。 特性:
1. 支持数据校验。
2. 可使用平台字段组件。
配置示例:
渲染示例:
- 使用平台下拉框字段时,目前无法通过link=1的方式获取到关联表的详细内容。
时间、修改时间、创建时间
存储形式 | 接口返回格式 | 示例值 |
---|---|---|
取决于数据库 | 取决于数据库和查询参数 | 1584420852000 , 2019-12-26T06:41:15.000Z 等 |
📃 接口返回的格式取决于数据库类型和查询参数,查看说明
对于“时间”类型,在平台控制台上将展示为时间输入框; 对于“修改时间”、“创建时间”类型,值将由平台自动维护,用户不可修改。
MongoDB
平台使用 Unix时间戳(毫秒,Double 数字型)存储。MySQL
平台默认使用 DATETIME 存储,存储时会转化为东八区时间。
关联对象
存储形式 | 示例值 |
---|---|
string | obj1,obj2 用逗号分隔的外键ID |
🔧 此类型的字段需要扩展配置
📃 查询接口默认只返回外键ID。如果要获取被关联的对象内容,请添加查询参数 link=1
。具体参阅查询参数文档
“关联对象”字段用于构建 单向、双向 外键关联关系,即数据库中的 一对一,一对多, 多对一, 多对多的关系。
单向关联
在表 A 添加“关联对象”字段,指向表 B,即可构建 A -> B 的单向关联。
双向关联
在“单向”的基础上,再给表 B 添加指向表 A 的“关联对象”字段,即可完成双向关联。
例如打开表 A ,修改ID 为
12
的配置,使其关联表 B 的配置33
、34
。
在保存修改同时,表 B 中配置33
、34
的关联对象值会自动添加12
。例如一张表为专辑列表,另外一张表为歌曲列表。此时可以使用这种双向关联,同时维护两边的数据。
单项选择
存储形式 | 示例值 |
---|---|
string | value1 |
🔧 此类型的字段需要扩展配置
MySQL
如果是自建的表,且字段类型是数字,请务必确保选项的值都是数字。
单项选择的级联模式
开启级联模式后,当所属组别
中,包含上级字段的值
时该选项才会被展示。
所属组别可以通过在输入框中输入添加,也可通过下拉菜单选择其他已添加的组别。
多项选择框
连接类型 | 存储形式 | 示例值 |
---|---|---|
bit | string | 7 选项值做位或运算所得结果 |
其他 | string | value1,value2 分隔符看类型说明 |
🔧 此类型的字段需要扩展配置
特别地,当 连接类型 为bit,选项值都是数字时,平台会做位或运算。这个对于后台的标志位(flags)设置非常有用,如图。
智能选择框
存储形式 | 示例值 |
---|---|
string | value1 |
🔧 此类型的字段需要扩展配置
智能选择框可以使用外部的信息作为选项,例如腾讯视频ID、专辑ID等等。如果你有自己的 http 接口,也可以用过来作为 自定义 数据源。
富文本 / 富文本对象
存储形式 |
---|
string |
该字段采用Quill 或者 ExEditor3进行编辑呈现,富文本的输出内容为纯HTML字符串,而富文本对象将输出特定格式的字符串对象。
{
content: HTMLText,
richdatas: ... // 通过Quill富文本编辑器载入的多媒体资源
}
拖拽排序
字段ID | 存储形式 | 示例值 |
---|---|---|
固定为 _sort | number | 100 |
平台支持数据(配置)排序功能,依赖“拖拽排序”类型字段实现。会在每行配置中存储_sort
字段进行顺序标记。
如果一张表有“拖拽排序”类型的字段,则在编辑界面左侧会出现拖拽排序的功能。
- 这个字段默认是隐藏的,为拖拽排序字段配置 外显 并取消勾选 只读 则可以通过输入框的方式指定某数据行的排序位置。
拖拽
和输入排序值
是互斥的,不可以同时操作。
配置管理人
字段ID | 存储形式 | 示例值 |
---|---|---|
固定为 _wuji_owner | string | tonyzhang,maryli |
这个类型的字段需配合 表的"行权限"(仅可看到自己管理的行、允许看到其他人管理的行但是不能编辑)使用。
需要注意,参与人也可以修改这个字段的值,从而让其他人一起管理某条配置,或者放弃自己的管理权限。 (修改记录可以通过日志查到)
联合主键
配合 MySQL + 自定义数据库 使用,需自行建好索引。
配置路径:“表配置” > “高级操作” > “联合主键”
详细操作步骤:
- 自行在 MySQL 里建好表、联合主键索引
- 回到平台,勾选
☑️ 不操作物理表
,否则平台可能会试图修改表结构,造成混乱 - 添加字段。用于构成主键的字段,使用“文本”/“整数输入”类型即可
- 配置联合主键,依次加入构成主键的字段。
- 最后别忘记点击的“提交”以保存修改。
字段type值枚举
type: 字段
100:自增ID(主键)
101:自定义ID(主键)
102:默认ID(主键)
104:随机ID(主键)
1:文本
2:多行文本
3:链接
4:图片
5:单项选择
6:智能选择框
7:关联对象
8:整数输入
9:布尔值
10:时间
11:创建时间
12:修改时间
13:多项选择
14:创建人
15:颜色
16:富文本(弃用)
17:富文本(弃用)
18:拖拽排序
19:富文本对象
20:JSON文本
21:小数输入
22:文件
23:配置管理人
24:最近修改人
25:代码块
26:JSON对象
27:人员
28:密码
29:富文本