botframework - 自适应卡片 js 渲染 - 不支持卡片
问题描述
我正在尝试使用 javascript 渲染 SDK 来渲染我的布局。我的机器人在 message.attachments 中返回带有以下 JSON 的英雄卡。json如下:
[
{
"contentType":"application/vnd.microsoft.card.hero",
"content":
{
"text":"Please select an option",
"buttons":
[
{
"type":"a1",
"title":"1.Choice1",
"value":"1.Choice1"
},
{
"type":"a1",
"title":"2.Choice2",
"value":"2.Choice2"
}
]
}
}
]
这在网络聊天、模拟器中渲染得很好……但在我的自定义渲染中,渲染的输出是
"The specified card version is not supported."
我正在从https://unpkg.com/adaptivecards/dist/adaptivecards.js加载 sdk
我想如果 webchat 支持它,那么 javascript SDK 也应该渲染它。
解决方案
您的机器人响应的 json 对象是英雄卡而不是自适应卡。所以 javascript sdk 抛出这个 execption。
自适应卡片必须遵循其shema,详细规则请参阅自适应卡片渲染器规范。
以下是经过验证的样本:
{
"type": "AdaptiveCard",
"version": "1.0",
"body": [
{
"type": "TextBlock",
"text": "Here is a ninja cat"
},
{
"type": "Image",
"url": "http://adaptivecards.io/content/cats/1.png"
}
]
}
推荐阅读
- c# - 如何在数据绑定的复选框列表中隐藏某些值
- python - 使用 python 通过 websocket 连接到 ActiveMQ STOMP
- java - java中的setPeekHeight()与xml中的结果不同
- java - Jsp如何将选定的值传递给servlet?
- c++ - 在 C++ 中使用类型为 CPerson(类)的对象初始化 STL 向量?
- python - 使用 Python 的枕头/PIL 库:
- javascript - 调用变量的方法并在达到阈值之前停止循环
- javascript - Angular 5 如何设置最小延迟(或超时)?
- typescript - Ionic 3 中的 InApp 购买 - 如何实现用户之间的支付?
- javascript - 在下一个 div 和另一个 remove 上处于活动状态