Skip to content

Schema 与 Clickable

这一页只记录 schema / clickable 当前能确认的字段形态与消费边界。

1. 字段表

字段类型值格式已确认示例当前状态说明
clickablebooleantrue/falsetrue已确认是否可点击
schemastringURL、协议字符串、变量引用$$jumpUrl$$videoUrlhttps://...mqqapi://...已确认点击跳转目标

2. schema 的证据边界

当前至少有两层直接证据:

  • RowData(components, schema) 说明行级数据模型本身就有 schema
  • 内置模板 JSON 直接出现了 "clickable": true"schema": "$$jumpUrl"

3. schema 的值格式

当前已经明确出现过的值格式:

格式示例状态说明
变量引用$$jumpUrl已确认模板最常见写法
变量引用$$videoUrl已确认模板中直接出现
HTTPS URLhttps://example.com已确认真实跳转目标格式
mqqapi:// 协议mqqapi://...已确认业务内协议格式

当前没有实现级证据支持的内容:

  • schema 必须只接受某一种协议
  • 所有自定义协议都一定能通过
  • schema 一定支持对象形式

4. 常见落点

当前高可信落点:

落点状态说明
根属性节点已确认例如 viewId = "app"
子属性节点已确认例如 viewId = "header"
行级数据结构已确认RowData(components, schema)

典型结构:

json
{
  "viewId": "app",
  "clickable": true,
  "schema": "$$jumpUrl",
  "attributes": [
    {
      "viewId": "header",
      "schema": "$$videoUrl"
    }
  ]
}

5. clickable

当前可确认事实:

  • clickable 是真实模板字段
  • 它通常和 schema 成对出现
  • 当前已拿到的稳定模板样例里,clickable 写法是布尔值

当前不要写成已确认规则的内容:

  • schema 存在时 clickable 一定可以省略
  • clickable=false 时仍会触发跳转
  • clickable 支持数字或字符串写法

6. 行级 schema

RowData(components, schema) 很关键,因为它说明:

  • schema 不只可能存在于 attributes
  • 行数据对象本身也可能携带跳转目标
  • 后续若继续追“点击到底挂在布局节点还是数据行”,这一层仍是关键入口

7. 点击与动态更新边界

当前已确认:

  • 点击回调接口存在
  • 按钮点击响应对象里带 updateInfo
  • Markdown 层存在 MarkdownStateUpdateData(updateData=JSONArray)

当前尚未闭环:

  • 哪些 schema 点击后会回写同一卡片
  • updateInfoschema 的稳定联动协议
  • 是否存在更多必须同时下发的配套字段

8. 关键源码

上文第 2 节到第 7 节分别对应以上源码证据,当前不再额外延伸没有命中实现的推测项。