configJson 结构

了解 configJson 的完整结构,包括所有支持的字段类型和配置选项。

顶层结构

configJson 必须是完整的配置对象:

{
  "meta": {},
  "dataSchema": {
    "fields": []
  },
  "functions": {}
}
属性 说明 类型
meta 模板元信息对象 object
dataSchema 字段定义容器 object
functions 预留配置对象(当前保留) object

meta 对象

meta 是模板元信息对象,没有强制字段白名单,常见字段如下:

{
  "meta": {
    "name": "示例模板",
    "code": "demo-template",
    "version": "0.1.0"
  }
}
属性 说明 类型 必填
name 模板名称 string
code 模板代码 string
version 模板版本 string

通用字段对象

所有字段对象至少包含以下结构:

{
  "key": "title",
  "type": "string",
  "label": "标题",
  "value": "默认标题"
}
属性 说明 类型 必填
key 字段唯一标识 string
type 字段类型 string
label 字段展示名 string
value 默认值 unknown
通用规则:
  • key 必须是非空字符串
  • 同一层级内 key 不能重复
  • value 不是必填;有 value 时表示默认值

支持的字段类型

当前只支持以下类型:

string

普通文本

number

数字

boolean

布尔值

image

图片路径

video

视频路径

array

字段数组

string 字段

{
  "key": "title",
  "type": "string",
  "label": "标题",
  "value": "默认标题"
}

number 字段

{
  "key": "count",
  "type": "number",
  "label": "数量",
  "value": 3
}

boolean 字段

{
  "key": "enabled",
  "type": "boolean",
  "label": "是否启用",
  "value": true
}

image 字段

{
  "key": "poster",
  "type": "image",
  "label": "海报",
  "value": "/assets/template/poster-core.svg"
}
注意: image 在 configJson 里只接受字符串路径(相对路径或绝对 URL)。

video 字段

{
  "key": "trailer",
  "type": "video",
  "label": "视频",
  "value": "https://example.com/video.mp4"
}
注意: video 在 configJson 里只接受字符串路径(相对路径或绝对 URL)。

array 字段

数组字段用于表示一组有序的字段,数组子项继续使用和普通字段一致的字段对象结构。

{
  "key": "timeline",
  "type": "array",
  "label": "时间轴",
  "operations": ["add", "delete"],
  "value": [
    {
      "key": "phase01",
      "type": "string",
      "label": "阶段一",
      "value": "接入边缘传感节点。"
    },
    {
      "key": "phase02",
      "type": "string",
      "label": "阶段二",
      "value": "将采集数据转换为状态向量。"
    }
  ]
}

operations 属性

说明
add 允许添加新项
delete 允许删除已有项
operations 默认行为:
  • 未填写 operations 时,默认允许 add 和 delete
  • operations: [] 表示不允许任何操作