模型字段
本文档介绍内容模型的相关概念和使用说明。
字段通用属性
展示名称
展示名称是数据库字段在表格编辑时显示的文本,例如商品名。
数据库字段名
描述
对该字段的描述信息,通常用于解释、提示作用,在编辑内容时展示。
即该字段在数据库中的直接存储名称,如 name。
默认值
为内容字段提供一个默认值,编辑时,可以不填写该字段,直接使用默认值。
是否必需
默认情况下,创建内容时,所有字段的值都是选填的。打开此选项,创建内容时,必须填写此字段,否则无法创建内容。
是否隐藏
在内容集合表格展示时隐藏该字段,但在编辑内容时,不隐藏。
设为排序字段
默认情况下,CMS 系统获取内容时,按照内容创建的先后顺序排序,即先创建的内容在前,后创建的内容在后。你可以通过设置排序字段,指定其他的排序规则。
字符串
CloudBase CMS 中提供了两种字符串类型:单行字符串、多行字符串,单行字符串适用于较短的内容,如商品名称,文章标题,编辑时使用单行输入框,多行字符串适用于较长的内容,如文章介绍。
使用字符串时,可以指定输入字符串的最大长度,以及最小长度,限制输入的字符串长度。
数字
CloudBase CMS 中不区分数字的类型,精度,默认支持整形、浮点数。
使用数字时,可以指定输入数字的最大值以及最小值,对输入的值进行限制。
布尔值
布尔值只允许输入 false
和 true
两种值,编辑内容时,展示为一个 Switch 开关,默认为 false
。
枚举
枚举字段表示可以从一个有限集合中选择一个作为当前字段的值,如商品的状态可能为已上架和未上架两种状态,则可以使用枚举表示已上架和未上架两种状态,则编辑内容时,只能从设定的枚举集合中选择。
设置枚举字段时,需要添加可选的枚举元素,每个枚举元素有两个必填的属性:
枚举元素展示别名:仅作为展示使用,方便区分枚举值
枚举元素值:存储在数据库中的实际值
日期与时间
CloudBase CMS 中提供了两种时间类型:日期、日期与时间,日期仅包含年、月、日,如:2021-01-01,日期与时间则包含年、月、日以及时、分、秒,如 2021-01-01 12:01:01。
日期与时间支持多种自定义存储格式,可以设定时间字段在数据库中的存储格式:
Unix Timestamp 毫秒:从 1970 年 1 月 1 日(UTC/GMT 的午夜)开始所经过的毫秒数,整数格式
Unix Timestamp 秒:从 1970 年 1 月 1 日(UTC/GMT 的午夜)开始所经过的秒数,整数格式
Date 对象:JavaScript 中的 Date 对象
时间字符串:以字符串的形式直接存储时间,如 2021-01-01
默认情况下,日期与时间存储格式为 Unix Timestamp 毫秒形式。
文件
文件字段支持编辑内容时,直接上传文件到云存储中,同时支持下载文件、复制访问链接等操作。文件字段支持自定义资源链接格式,即在数据库中存储的字段格式:
- FileId:云开发私有协议,如
cloud://envId.random-1002/file.psd
,可以直接在小程序中展示,支持读写权限设置。
- HTTPS:固定的 HTTPS 访问链接,如果
https://asdf47.tcb.qcloud.la/asdf.png
,不支持访问权限设置,云存储设置必须为公开访问。
同时,文件字段可以开启多个内容支持,会以数组的形式存储文件访问链接。
{
// 单文件
file: 'https://cloudbase.net',
// 多文件
files: [
'https://cloudbase.net'
]
}
图片
与文件类似,图片支持编辑内容时,直接上传文件到云存储中,并且支持预览、下载、复制访问链接等操作。同时,图片也支持自定义资源链接格式、存储多个内容。
多媒体
多媒体类型,可以用来展示音乐和视频,在展示内容时,可以直接播放音乐或视频。
邮箱地址
用于展示、编辑邮箱地址,编辑时,CMS 系统会自动对输入的值进行校验。
电话号码
用于展示、编辑电话号码,编辑时,CMS 系统会自动对输入的值进行校验,存储为整数格式。
网址
用于展示、编辑网址,编辑时,CMS 系统会自动对输入的值进行校验。
富文本
CMS 支持基本的富文本编辑,可以使用内置的富文本编辑器编辑、展示富文本,上传插入图片,CMS 系统使用了开源的 braft-editor 富文本编辑器。
Markdown
CMS 支持 Markdown 编辑器,你可以使用 Markdown 编辑器编辑文本内容,并支持实时预览,上传插入图片。
关联
在某些情况下,内容的某个字段可能是另外一个内容的字段值,如有一个博客文章内容模型,模型中有作者字段,这个字段存储了某个作者的名字,同时存在一个作者内容集合,管理所有的作者。
这种情况下,我们可以在博客内容模型中添加一个作者字段,并设置为关联类型,选择关联内容为作者内容,设置展示字段为作者的姓名
新建文章时,即可从所有的作者内容中直接选择,十分方便
关联字段存储时,为了保持关联值随关联内容的更新而实时更新,CloudBase CMS 在数据库中存储了关联对象内容的 _id
同时,关联支持设置关联多项,即可以同时关联多个内容,数据库中会存储 _id
数组。
关联字段实际上关联的就是被关联表的_id,展示字段主要为了提升可读性。
数组
用于展示、编辑字符串数组内容。
JSON 对象
某些情况下,可能需要展示、编辑一些复杂的数据结构,以上的类型无法表述时,可以尝试使用 JSON 对象类型。JSON 对象类型可以展示合法的 JSON 对象,并进行编辑。
编辑
JSON 对象支持两种编辑模式:JSON 字符串输入和手动编辑
JSON 字符串输入
点击 JSON 字符串按钮,可以直接输入合法的 JSON 字符串,格式化后存储为对象
手动编辑
点击 JSON 对象,可以直接进行编辑
查看
在内容表格中,可以点击查看按钮,查看 JSON 对象的内容