自适应卡片 js 渲染 - 不支持卡片

Posted

技术标签:

【中文标题】自适应卡片 js 渲染 - 不支持卡片【英文标题】:adaptive card js rendering - card not supported 【发布时间】:2018-05-01 21:47:05 【问题描述】:

我正在尝试使用 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 也应该渲染它。

【问题讨论】:

【参考方案1】:

您的机器人响应的 json 对象是英雄卡,而不是自适应卡。所以 javascript sdk 抛出这个 execption。

自适应卡必须遵循其shema,详细规则请参考Adaptive Card Renderer Specification。

以下是经过验证的样本:


    "type": "AdaptiveCard",
    "version": "1.0",
    "body": [
        
            "type": "TextBlock",
            "text": "Here is a ninja cat"
        ,
        
            "type": "Image",
            "url": "http://adaptivecards.io/content/cats/1.png"
        
    ]

【讨论】:

以上是关于自适应卡片 js 渲染 - 不支持卡片的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 redux 中间件的情况下禁用/隐藏自适应卡片/操作按钮?

HarmonyOS JS卡片之“星座运势”卡片开发

自适应卡片:Action.Show Card 上的动态数据绑定

BotFramework-WebChat - 自适应卡片

适用于常见问题的自适应卡内的自适应卡

如何在 Microsoft Teams 的任务模块中呈现 JSX 元素?