# 模型字段

# 字段通用属性

# 展示名称

展示名称是数据库字段在表格编辑时显示的文本,例如商品名。

# 数据库字段名

# 描述

对该字段的描述信息,通常用于解释、提示作用,在编辑内容时展示。

即该字段在数据库中的直接存储名称,如 name。

# 默认值

为内容字段提供一个默认值,编辑时,可以不填写该字段,直接使用默认值。

# 是否必需

默认情况下,创建内容时,所有字段的值都是选填的。打开此选项,创建内容时,必须填写此字段,否则无法创建内容。

# 是否隐藏

在内容集合表格展示时隐藏该字段,但在编辑内容时,不隐藏。

# 设为排序字段

默认情况下,CMS 系统获取内容时,按照内容创建的先后顺序排序,即先创建的内容在前,后创建的内容在后。你可以通过设置排序字段,指定其他的排序规则。

# 字符串

CloudBase CMS 中提供了两种字符串类型:单行字符串、多行字符串,单行字符串适用于较短的内容,如商品名称,文章标题,编辑时使用单行输入框,多行字符串适用于较长的内容,如文章介绍。

使用字符串时,可以指定输入字符串的最大长度,以及最小长度,限制输入的字符串长度。

# 数字

CloudBase CMS   中不区分数字的类型,精度,默认支持整形、浮点数。

使用数字时,可以指定输入数字的最大值以及最小值,对输入的值进行限制。

# 布尔值

布尔值只允许输入 falsetrue 两种值,编辑内容时,展示为一个 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 (opens new window) 富文本编辑器。

# Markdown

CMS 支持 Markdown 编辑器,你可以使用 Markdown 编辑器编辑文本内容,并支持实时预览,上传插入图片。

# 关联

在某些情况下,内容的某个字段可能是另外一个内容的字段值,如有一个博客文章内容模型,模型中有作者字段,这个字段存储了某个作者的名字,同时存在一个作者内容集合,管理所有的作者。

这种情况下,我们可以在博客内容模型中添加一个作者字段,并设置为关联类型,选择关联内容为作者内容,设置展示字段为作者的姓名

新建文章时,即可从所有的作者内容中直接选择,十分方便

关联字段存储时,为了保持关联值随关联内容的更新而实时更新,CloudBase CMS 在数据库中存储了关联对象内容的 _id

同时,关联支持设置关联多项,即可以同时关联多个内容,数据库中会存储 _id 数组。

# 数组

用于展示、编辑字符串数组内容。

# JSON 对象

某些情况下,可能需要展示、编辑一些复杂的数据结构,以上的类型无法表述时,可以尝试使用 JSON 对象类型。JSON 对象类型可以展示合法的 JSON 对象,并进行编辑。

# 编辑

JSON 对象支持两种编辑模式:JSON 字符串输入手动编辑

# JSON 字符串输入

点击 JSON 字符串按钮,可以直接输入合法的 JSON 字符串,格式化后存储为对象

# 手动编辑

点击 JSON 对象,可以直接进行编辑

# 查看

在内容表格中,可以点击查看按钮,查看 JSON 对象的内容