Skip to main content

字段类型介绍

本文档介绍平台表支持的各种字段类型。

自增ID、自定义ID

类型存储形式示例值
自增IDnumber42
自定义IDstringbook-x1
随机IDstring7s1270x3ee103174

默认情况下,如果你没有添加 自增ID 或者 自定义ID,平台会创建一个隐藏的 _id 字段作为主键。对于每一条配置,都会生成一个 像乱码似的 随机ID。

自增ID,随机ID的值不可编辑,自定义ID可编辑(显示为文本框)。

如果你用的是MySQL自己建的表
  • 主键类型是整形(非自增),请选用“自定义ID”。平台在写入数据库时会自动转为数字进行存储。
  • 如果使用了联合主键,请参阅 联合主键

文本、多行文本、链接、颜色

存储形式示例值
string#FFCC00http://xx.xx/xx

在平台上以文本框 / 颜色选择器的形式展示出来。

  • 平台建表时,设置了“最大长度”则使用 VARCHAR<length> 存储,否则默认为 TEXT 类型存储。

整数输入、小数输入

存储形式示例值
number423.1415926

在平台上以数字输入框的形式展示出来。

  • 平台建表时使用 INT、DOUBLE 类型存储。
    danger

    ⚠️ 受限于数据库和 js 的精度限制,如果你的数值非常大,或者要求很精确,建议采用“文本”字段
    (如果用自己建的 MySQL 表,“文本”字段配合 DECIMAL 类型使用更佳)

布尔值

存储形式示例值
MongoDB booleantruefalse
MySQL number10

🔧 此类型的字段有扩展配置(可选)

在平台上以勾选框 / 开关的形式展示出来。

enter image description here

图片、文件

存储形式示例值
stringhttps://vfiles.gtimg.cn/foobar/doge.png

在平台上以文件上传框的形式展示出来。 img

JSON文本 / JSON对象

存储形式示例值
string/JSON{"foo":[1,2,3]}

在平台控制台上会以代码编辑器的形式展示。 JSON文本将以JSON格式字符串存储; JSON对象将直接以JSON格式存储。

数据库中存储方式支持TEXT (2^16^-1)/ MEDIUMTEXT (2^24^ -1)/ LONGTEXT (2^32 ^- 1) 注意长度限制。 enter image description here

JSONSchema

存储形式接口返回格式示例值
string/JSON取决于字段类型为JSON文本/JSON对象{"foo":[1,2,3]}

JSON文本/JSON对象字段类型支持使用JSONSchema方式渲染,在字段设置中打开“由Schema生成表单”即可实现JSONSchema生成表单方式进行数据编辑。 特性:

1. 支持数据校验。
2. 可使用平台字段组件。

配置示例: image.png 渲染示例: image.png

danger
  • 使用平台下拉框字段时,目前无法通过link=1的方式获取到关联表的详细内容。

时间、修改时间、创建时间

存储形式接口返回格式示例值
取决于数据库取决于数据库和查询参数15844208520002019-12-26T06:41:15.000Z

📃 接口返回的格式取决于数据库类型和查询参数,查看说明

对于“时间”类型,在平台控制台上将展示为时间输入框; 对于“修改时间”、“创建时间”类型,值将由平台自动维护,用户不可修改。

存储格式
  • MongoDB 平台使用 Unix时间戳(毫秒,Double 数字型)存储。

  • MySQL 平台默认使用 DATETIME 存储,存储时会转化为东八区时间。

关联对象

存储形式示例值
stringobj1,obj2 用逗号分隔的外键ID

🔧 此类型的字段需要扩展配置
📃 查询接口默认只返回外键ID。如果要获取被关联的对象内容,请添加查询参数 link=1。具体参阅查询参数文档

“关联对象”字段用于构建 单向、双向 外键关联关系,即数据库中的 一对一,一对多, 多对一, 多对多的关系。

  • 单向关联

    在表 A 添加“关联对象”字段,指向表 B,即可构建 A -> B 的单向关联。

  • 双向关联

    在“单向”的基础上,再给表 B 添加指向表 A 的“关联对象”字段,即可完成双向关联。

    例如打开表 A ,修改ID 为 12 的配置,使其关联表 B 的配置 3334
    在保存修改同时,表 B 中配置 3334 的关联对象值会自动添加 12

    例如一张表为专辑列表,另外一张表为歌曲列表。此时可以使用这种双向关联,同时维护两边的数据。

单项选择

存储形式示例值
stringvalue1

🔧 此类型的字段需要扩展配置

  • MySQL 如果是自建的表,且字段类型是数字,请务必确保选项的值都是数字。

enter image description here#500px

单项选择的级联模式

开启级联模式后,当所属组别中,包含上级字段的时该选项才会被展示。 所属组别可以通过在输入框中输入添加,也可通过下拉菜单选择其他已添加的组别。 enter image description here#500px enter image description here#500px

多项选择框

连接类型存储形式示例值
bitstring7 选项值做位或运算所得结果
其他stringvalue1,value2 分隔符看类型说明

🔧 此类型的字段需要扩展配置

特别地,当 连接类型 为bit,选项值都是数字时,平台会做位或运算。这个对于后台的标志位(flags)设置非常有用,如图。 enter image description here

智能选择框

存储形式示例值
stringvalue1

🔧 此类型的字段需要扩展配置

智能选择框可以使用外部的信息作为选项,例如腾讯视频ID、专辑ID等等。如果你有自己的 http 接口,也可以用过来作为 自定义 数据源。

富文本 / 富文本对象

存储形式
string

该字段采用Quill 或者 ExEditor3进行编辑呈现,富文本的输出内容为纯HTML字符串,而富文本对象将输出特定格式的字符串对象。

    { 
content: HTMLText,
richdatas: ... // 通过Quill富文本编辑器载入的多媒体资源
}

拖拽排序

字段ID存储形式示例值
固定为 _sortnumber100

平台支持数据(配置)排序功能,依赖“拖拽排序”类型字段实现。会在每行配置中存储_sort字段进行顺序标记。

如果一张表有“拖拽排序”类型的字段,则在编辑界面左侧会出现拖拽排序的功能。 enter image description here#500px

danger
  • 这个字段默认是隐藏的,为拖拽排序字段配置 外显 并取消勾选 只读 则可以通过输入框的方式指定某数据行的排序位置。
  • 拖拽输入排序值是互斥的,不可以同时操作。

配置管理人

字段ID存储形式示例值
固定为 _wuji_ownerstringtonyzhang,maryli

这个类型的字段需配合 表的"行权限"(仅可看到自己管理的行、允许看到其他人管理的行但是不能编辑)使用。

需要注意,参与人也可以修改这个字段的值,从而让其他人一起管理某条配置,或者放弃自己的管理权限。 (修改记录可以通过日志查到)

联合主键

danger
配合 MySQL + 自定义数据库 使用,需自行建好索引。

配置路径:“表配置” > “高级操作” > “联合主键” enter image description here

详细操作步骤:

  1. 自行在 MySQL 里建好表、联合主键索引
  2. 回到平台,勾选 ☑️ 不操作物理表 ,否则平台可能会试图修改表结构,造成混乱
  3. 添加字段。用于构成主键的字段,使用“文本”/“整数输入”类型即可
  4. 配置联合主键,依次加入构成主键的字段。
  5. 最后别忘记点击的“提交”以保存修改。

字段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:富文本