如何在 WebChat 中自定义自适应卡片?

这个问题是我之前问题的延伸。如何将“AdaptiveActionSet”放入“AdaptiveColumn”?

当时我对自适应卡片和WebChat.html文件的定制了解不多。

我的卡1

上图是我想要的自适应卡的布局。右侧的 Reserve 按钮是 Action.OpenUrl 按钮。

我的卡2

要放置这样的按钮,我需要在列中放置一个 ActionSet。但是,典型的自适应卡片不会像上图那样在列中显示 ActionSet。内容类型如下所示。ContentType = "application/vnd.microsoft.card.adaptive"(在网络聊天中)

为了解决这个问题,我必须自定义自适应卡片,但我不确定如何。

(惭愧,我参考了下面的链接,但仍然无法自定义卡片。

Bot Connector 服务未使用最新的自适应卡 #87

你能告诉我解决这个问题的方法或展示一个简单的自定义卡片示例吗?请。

下面是我写的代码。

我的自适应卡片代码:

card.Body.Add(new AdaptiveColumnSet()
{
    Columns = new List<AdaptiveColumn>()
    {
        new AdaptiveColumn()
        {
            //(~Date, No problem)
        },
        new AdaptiveColumn()
        {
            //(~Price, No problem)
        },
        new AdaptiveColumn()
        {
            Items =
            {
                new AdaptiveActionSet()
                {
                    Actions =
                    {
                        new AdaptiveOpenUrlAction()
                        {
                            Url = new Uri("https://www.SomeUrl.com"),
                            Title = "Reserve",
                            Style = "positive",
                        }
                    }
                }
            },
            Width = "auto",
        }
    },
});

var reply = turnContext.Activity.CreateReply();
reply.Attachments = new List<Attachment>
{
    new Attachment()
    {
        ContentType = "application/vnd.microsoft.card.custom",
        Content = card
    }
};

我的 webChat.html :

const attachmentMiddleware = () => next => card => {
  if (card.attachment.contentype === 'application/vnd.microsoft.card.custom'){
    card.attachment.contentType = 'application/vnd.microsoft.card.adaptive'
  }
  return next(card)
};

window.WebChat.renderWebChat({
    directLine: botConnection,
    styleOptions,
    adaptiveCardHostConfig,
    attachmentMiddleware
}, document.getElementById('webchat'));

document.querySelector('#webchat > *').focus();

如上, ContentType = "application/vnd.microsoft.card.custom"

如果我将自定义分配给 contentType,

我的卡3

我收到一个名为 No renderer 的错误。

使用 AdaptiveColumn 的 SelectAction 解决了这个问题。它通过一起使用 AdaptiveTextBlock 和 SelectAction 并指定宽度。

前任)

Items =
    {
        new AdaptiveTextBlock()
        {
            HorizontalAlignment = AdaptiveHorizontalAlignment.Center,
            Color = AdaptiveTextColor.Light,
            Text = "Reserve",
            Weight = AdaptiveTextWeight.Bolder,
         }
    },
    SelectAction = new AdaptiveOpenUrlAction()
    {
        Url = new Uri($"{someurl}"),
        Title = "rsv",
        Id = "bb" + cnt,
    },
    Width = "50px"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在ActiveAdmin gem中创建自定义页面

来自分类Dev

如何在MathJax中定义自定义宏

来自分类Dev

如何在PHP数组中定义自定义键?

来自分类Dev

jQuery Webchat中的查询

来自分类Dev

如何在自适应网页中创建视频背景?

来自分类Dev

使用DirectLine时如何修改Microsoft Chatbot的Webchat容器

来自分类Dev

如何在Dymola中定义记录的自定义参数?

来自分类Dev

如何使拇指适应自定义尺寸开关?

来自分类Dev

BotFramework V4:如何从漫游器发送事件并将其捕获到React WebChat中?

来自分类Dev

如何在ZStack中的自定义卡片视图上捕获点击?

来自分类Dev

botframework Webchat React中的建议列表问题

来自分类Dev

如何在Leaflet中定义多个自定义图标?

来自分类Dev

BotFramework-WebChat-自适应卡

来自分类Dev

我们可以为window.WebChat.render WebChat使用哪个参数,以便提供自定义URL参数?使用Azure Bot Frameworks Node.js

来自分类Dev

如何使用React.js在botframework网络聊天中创建自定义卡片(如自适应卡片)?

来自分类Dev

如何在自适应卡中链接QnA Maker答案=

来自分类Dev

如何在SQL Server中定义自定义日志

来自分类Dev

如何在HTML中制作自适应视频?

来自分类Dev

如何在FXML(JavaFX)中制作自适应ImageView

来自分类Dev

在Windows 8中自定义自适应亮度

来自分类Dev

如何使事物在自适应布局中对齐

来自分类Dev

如何在ckeditor中定义自定义html标签

来自分类Dev

如何在MySQL查询中定义自定义ORDER BY

来自分类Dev

如何在Windows Phone 8中制作自适应UI?

来自分类Dev

如何在自适应网页中的图像上对齐文本

来自分类Dev

如何在 Knockout 中的自定义 bindingHandler 中绑定到自定义模板

来自分类Dev

如何在 uwp 中编写这样的自动自适应面板?

来自分类Dev

如何在 React 组件中拦截来自 Chatbot 的消息?(微软botframework-webchat)

来自分类Dev

如何在适用于 iOS 和 Android 的 Outlook Mobile 应用程序中启用显示从 Microsoft Flow 发送的自定义自适应卡片?

Related 相关文章

  1. 1

    如何在ActiveAdmin gem中创建自定义页面

  2. 2

    如何在MathJax中定义自定义宏

  3. 3

    如何在PHP数组中定义自定义键?

  4. 4

    jQuery Webchat中的查询

  5. 5

    如何在自适应网页中创建视频背景?

  6. 6

    使用DirectLine时如何修改Microsoft Chatbot的Webchat容器

  7. 7

    如何在Dymola中定义记录的自定义参数?

  8. 8

    如何使拇指适应自定义尺寸开关?

  9. 9

    BotFramework V4:如何从漫游器发送事件并将其捕获到React WebChat中?

  10. 10

    如何在ZStack中的自定义卡片视图上捕获点击?

  11. 11

    botframework Webchat React中的建议列表问题

  12. 12

    如何在Leaflet中定义多个自定义图标?

  13. 13

    BotFramework-WebChat-自适应卡

  14. 14

    我们可以为window.WebChat.render WebChat使用哪个参数,以便提供自定义URL参数?使用Azure Bot Frameworks Node.js

  15. 15

    如何使用React.js在botframework网络聊天中创建自定义卡片(如自适应卡片)?

  16. 16

    如何在自适应卡中链接QnA Maker答案=

  17. 17

    如何在SQL Server中定义自定义日志

  18. 18

    如何在HTML中制作自适应视频?

  19. 19

    如何在FXML(JavaFX)中制作自适应ImageView

  20. 20

    在Windows 8中自定义自适应亮度

  21. 21

    如何使事物在自适应布局中对齐

  22. 22

    如何在ckeditor中定义自定义html标签

  23. 23

    如何在MySQL查询中定义自定义ORDER BY

  24. 24

    如何在Windows Phone 8中制作自适应UI?

  25. 25

    如何在自适应网页中的图像上对齐文本

  26. 26

    如何在 Knockout 中的自定义 bindingHandler 中绑定到自定义模板

  27. 27

    如何在 uwp 中编写这样的自动自适应面板?

  28. 28

    如何在 React 组件中拦截来自 Chatbot 的消息?(微软botframework-webchat)

  29. 29

    如何在适用于 iOS 和 Android 的 Outlook Mobile 应用程序中启用显示从 Microsoft Flow 发送的自定义自适应卡片?

热门标签

归档