【问题标题】:AdaptiveCard 1.3 version自适应卡 1.3 版
【发布时间】:2021-06-21 06:33:48
【问题描述】:

我想确认自适应卡1.3版本是否已经发布? 我尝试在我们的项目中实现新功能,我更新了 json 文件并将版本更改为 1.3 并遵循此视频中呈现的功能https://www.youtube.com/watch?v=SEsjrFIf110&t=387s 但我无法复制除 1 之外的几乎所有功能全宽卡。我已经将自适应卡块包更新到 2.6.0。我还尝试在自适应设计器 https://adaptivecardsci.z5.web.core.windows.net/pr/4894/designer 中复制这些功能。我让标签功能在那里工作,但它不适用于我们的案例。这是我创建的json: (忽略双引号,因为我将 json 存储在变量中。我正在使用adaptivecardtemplate 来呈现下面的字符串)。

{
    ""type"": ""AdaptiveCard"",
    ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json"",
    ""version"": ""1.3"",
    ""body"": [
        {
                   ""type"": ""Container"",
                   ""items"":[
                        {
                            ""type"": ""TextBlock"",
                            ""text"": ""Full Width card"",
                            ""size"": ""Large"",
                            ""weight"": ""Bolder""
                        }
                    ]
        },
        {
            ""type"": ""Input.ChoiceSet"",
            ""id"": ""temperature"",
            ""label"": ""How would you like your burger prepared?"",
            ""isRequired"": true,
            ""errorMessage"" : ""Please select one of the above options"",
            ""choices"":
            [
                {
                    ""title"": ""Rare"",
                    ""value"": ""Rare"",
                },
                {
                    ""title"": ""Medium"",
                    ""value"": ""Medium"",
                },
                {
                    ""title"": ""Medium"",
                    ""value"": ""Medium"",
                }
            ]
        },
        {
            ""type"": ""Input.ChoiceSet"",
            ""id"": ""selectedUser"",
            ""label"": ""How would you like your burger prepared?"",
            ""isRequired"": true,
            ""errorMessage"" : ""Please select one of the above options"",
            ""choices"":
            [
                {
                    ""title"": ""Static 1"",
                    ""value"": ""Static 1"",
                }

            ],
            ""choices.data"":{
                ""type"": ""Data.Query"",
                ""dataset"": ""graph.microsoft.com/v1.0/users""
            }

        },
        {
            ""type"": ""Input.ChoiceSet"",
            ""placeholder"": ""Static AutoComplete"",
            ""style"": ""filtered"",
            ""isMultiSelect"": false,
            ""id"" : ""choiceRestaurant"",
            ""choices"":
            [
                {
                    ""title"": ""Static 1"",
                    ""value"": ""Static 1"",
                },
                {
                    ""title"": ""Static 1"",
                    ""value"": ""Static 1"",
                },
                {
                    ""title"": ""Static 1"",
                    ""value"": ""Static 1"",
                }

            ]
        },
        {
            ""type"": ""ActionSet"",
            ""actions"": [
                {
                    ""type"": ""Action.Submit"",
                    ""title"": ""Action.Submit"",
                    ""mode"": ""secondary""
                }
            ]
        }
    ],
    ""actions"":[
        {
            ""type"": ""Action.Submit"",
            ""title"": ""Button""
        }
    ],
    ""msteams"": {
        ""width"": ""Full""
    }
}

如果你们对如何复制新功能有任何想法,那将对我非常有帮助。 他们在视频中表示,这些功能已经在开发预览版中。你知道在哪里可以找到那个版本吗?有没有我遗漏的配置?

谢谢。

【问题讨论】:

  • 你似乎遗漏了很多关于你的项目的细节。你想在哪里渲染这些自适应卡片?我看到你使用了botframework 标签。你有机器人吗?您从哪里获得此 Adaptive Cards 设计器链接? adaptivecardsci.z5.web.core.windows.net/pr/4894/designer 你为什么不使用普通的自适应卡片网站? adaptivecards.io/designer
  • 我使用adaptivecardtemplate渲染这些自适应卡片。一切正常,我能够退回自适应卡,并且我的机器人已经在工作。我只想将自适应卡上的新更新导入到我目前正在处理的项目中,就像我在上面发布的 youtube 链接上一样。他们说adaptivecard 1.3 已经上线了,但是当我观看视频时,我实际上并没有复制新功能。即使我已将自适应卡 nuget 更新到 2.6.0。关于网站,我认为我在那个网站上犯了一个错误,我的意思是 Adaptivecards.io/designer。谢谢。
  • 您能回答我的前两个问题吗?
  • 这是我用来在上面渲染模板的内容 var cardTemplate = new AdaptiveCardTemplate(cardTemplateJson); var card = JsonConvert.DeserializeObject(cardTemplate.Expand(responseJson)); var attachment = new Attachment { ContentType = AdaptiveCard.ContentType, Content = card }; var response = MessageFactory.Attachment(附件); cardTemplate:这是来自上面 responseJson 的 json 字符串 = 我发送来扩展卡片模板的作业。所以我可以在模板中使用一个变量。
  • 你有机器人吗? - 是的,我有一个机器人,它已经在工作了。我只是在寻找一种方法来反映 Adaptivecard 1.3 中的最新功能。

标签: json botframework adaptive-cards web-chat


【解决方案1】:

您可以参考此文档了解每个平台支持哪些版本的自适应卡:https://docs.microsoft.com/en-us/adaptive-cards/resources/partners

您可能会注意到 Teams 仍然只支持 Adaptive Cards 1.2:

“发布”了哪些版本的自适应卡片并不重要。重要的是您的平台使用的是什么版本的自适应卡片。如果 Teams 使用的是 Adaptive Cards 1.2,那么无论 Adaptive Cards 1.3 是否已发布,它都无法访问 Adaptive Cards 1.3 的功能。我强烈建议阅读我的博文以更好地了解自适应卡片:https://blog.botframework.com/2019/07/02/using-adaptive-cards-with-the-microsoft-bot-framework/

【讨论】:

  • 嗨,凯尔,感谢您提供的信息。我现在什么也做不了,对吧?因为 ms 团队只支持 1.2。
  • 您可以向 Teams 提供反馈,要求他们升级自适应卡片,否则您无法控制 Teams 渲染器。这个答案可以接受吗?
  • 嘿凯尔。感谢您的答复。我只是想知道当自适应卡 1.3 版本中包含全宽功能时,为什么全宽在团队中工作。它对我有用。除了其他功能。我尝试了所有功能,但全宽卡是唯一有效的功能。我假设在 v 1.2 中已经添加了功能(全宽)?目前支持哪些团队?你能澄清一下吗?谢谢
  • 我不知道你所说的全宽功能是什么意思。我以前从未见过这种情况
猜你喜欢
  • 2021-11-14
  • 2013-05-16
  • 2018-03-24
  • 2019-08-19
  • 1970-01-01
  • 1970-01-01
  • 2020-07-07
  • 2021-02-06
  • 1970-01-01
相关资源
最近更新 更多