命令协议

A@UI 当前定义三种命令:renderupdatedestroy

render

创建并渲染一个组件实例。

{
  "type": "render",
  "component": "SearchBox",
  "params": {
    "placeholder": "搜索项目"
  }
}

约束:

  • 必填:typecomponent
  • 可选:params
  • 不允许:widgetId

update

对已有组件实例做浅合并更新。

{
  "type": "update",
  "widgetId": "widget-1",
  "params": {
    "value": "Mercury"
  }
}

约束:

  • 必填:typewidgetIdparams
  • params 必须是对象

destroy

销毁已有组件实例。

{
  "type": "destroy",
  "widgetId": "widget-1"
}

约束:

  • 必填:typewidgetId
  • 不允许额外字段

传输格式

首个标准传输示例为 SSE:

data: {"type":"render","component":"SearchBox","params":{"placeholder":"搜索项目"}}

data: [DONE]

规范真相源见 assets/commands.schema.json