# UserEvent 事件

# UserEvent 摘要

设备端通过 SendEvent 指令上报,会对应转换 UserEvent 的事件形式上报给 bot 端,bot 可以通过监听该事件类型,基于获取的组件id、事件类型、事件参数与绑定参数,执行下一步希望进行的交互逻辑。

# 消息样例

{
    "type": "UserEvent",
    "requestId": "{{STRING}}",
    "timestamp": "{{STRING}}",
    "token": "{{STRING}}",
    "payload": {
        "componentId": "{{STRING}}",
        "source": {
            "type": "{{ENUM}}",
            "handler": "{{ENUM}}",
            "value":  "{{STRING}}",
            "selfArguments": ["{{STRING}}", ...]
        }
    }
}

# 参数说明

  • type
    • 固定 UserEvent
  • token
    • 绑定组件的 token
  • payload.source.componentId
    • 组件 id
  • payload.source.type
    • 枚举, 具体参考如下表格
  • payload.source.handler
    • 枚举, 为对应触发指令执行的组件类型名
  • payload.source.value
    • 可为空
  • payload.source.selfArguments
    • 用户 SendEvent 绑定的自定义参数,下发的是 SendEvent 绑定的 arguments 参数

# 常用事件上报类型

type handler 描述
Video next 下一个
Video previous 上一个
Video play 播放中
Video pause 暂停
Video end 播放结束
Text click 点击事件
Image click 点击事件
Container click 点击事件

# 示例

Video组件绑定事件

结构参考DPL-media-commands的 Video 部分