开发者社区 问答 正文

钉钉AI卡片能否支持多个流式组件?

钉钉AI卡片能否支持多个流式组件?可以流式更新多个文本框

展开
收起
真的很搞笑 2024-05-05 18:48:40 42 发布于黑龙江 分享
分享
版权
来自: 钉钉开发者社区 举报
阿里云 AI 助理回答

钉钉AI卡片确实支持多个流式组件,并且可以实现流式更新多个文本框。以下是详细的说明和操作步骤:


1. 钉钉AI卡片的流式更新能力

钉钉AI卡片通过卡片消息的方式支持流式返回结果,允许开发者在卡片中动态更新内容。这种流式更新机制适用于多种场景,例如实时问答、数据展示等。

  • 流式更新的核心机制
    流式更新依赖于钉钉的Card.Streaming.Write权限以及卡片模板的设计。通过配置卡片模板中的多个组件(如文本框、按钮等),可以实现对不同组件的独立更新。

  • 支持的组件类型
    钉钉AI卡片支持多种组件类型,包括但不限于:

    • 文本框(Text)
    • 按钮(Button)
    • 图片(Image)
    • 列表(List)

    这些组件可以通过流式更新接口进行动态修改。


2. 实现多个流式组件更新的关键步骤

2.1 创建支持多组件的卡片模板

在创建卡片模板时,需要定义多个可更新的组件。具体操作如下:

  1. 访问卡片平台,点击新建模板
  2. 在模板编辑页面,添加多个组件(如多个文本框)并为其分配唯一的key值。
    • 示例:为每个文本框设置不同的key,例如text_1text_2
  3. 保存并发布模板,然后复制模板ID以供后续使用。

2.2 授予流式更新权限

确保应用具备以下权限: - Card.Streaming.Write:用于流式更新卡片内容。 - Card.Instance.Write:用于创建和管理卡片实例。

在钉钉开放平台的应用详情页中,进入权限管理模块,搜索上述权限并申请。

2.3 配置流式更新逻辑

通过AppFlow或自定义后端服务实现流式更新逻辑。以下是两种常见方式:

  1. 使用AppFlow模板

    • 在AppFlow中创建连接流,选择预置的钉钉机器人模板。
    • 执行动作配置向导页中,填写卡片模板ID和需要更新的组件信息。
    • 使用Webhook地址接收事件通知,并触发流式更新。
  2. 自定义后端服务

    • 开发后端服务,调用钉钉API(如/v1.0/card/streaming/update)实现流式更新。
    • 在请求体中指定需要更新的组件及其内容。例如:
      {
      "cardTemplateId": "your_template_id",
      "updates": [
       {
         "key": "text_1",
         "value": "更新后的文本1"
       },
       {
         "key": "text_2",
         "value": "更新后的文本2"
       }
      ]
      }
      

2.4 测试流式更新效果

  • 在钉钉客户端中,@机器人发送消息,观察卡片中多个文本框是否按预期更新。
  • 检查后端日志,确认事件通知和更新请求是否成功。

3. 注意事项

  • 权限要求:确保应用已开通Card.Streaming.WriteCard.Instance.Write权限,否则无法实现流式更新。
  • 模板设计:在卡片模板中,为每个需要更新的组件分配唯一的key值,避免冲突。
  • 性能优化:流式更新频率不宜过高,建议根据实际需求合理控制更新间隔。

通过以上步骤,您可以成功实现钉钉AI卡片的多个流式组件更新功能,满足复杂场景下的动态交互需求。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等