首页 > 解决方案 > 自适应卡片 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 也应该渲染它。

标签: botframeworkadaptive-cards

解决方案


您的机器人响应的 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"
        }
    ]
}

推荐阅读