【问题标题】:Adaptive Cards - Get PostBack for actions自适应卡片 - 获取操作的回发
【发布时间】:2020-08-16 04:21:30
【问题描述】:

在某些情况下我必须使用自适应卡片。当我使用这些卡片时,我需要一些按钮可以在单击时执行不同的操作。以前,我一直在使用英雄卡来返回数据并创建按钮。我发现 postBack(对于英雄卡)是我最有效地接受按钮输出的方式。不幸的是,自适应卡片似乎没有 postBack。相反,我需要使用 Action.Submit。但是,当我这样做时,我最终会将按钮中的文本显示为对话的一部分。我不希望这样,并且需要它与 postBack 保持一致。我尝试使用此评论 https://github.com/Microsoft/AdaptiveCards/issues/558 中的方法(这家伙的问题与我完全相同)但是,它似乎不再起作用(从 2017 年开始)。有什么建议? 我正在使用 SDK V4 和 Azure 门户中的基本机器人 NodeJS 构建。 提前感谢您的帮助

添加代码以获取更多详细信息:

    var card = {
        "type": "AdaptiveCard",
        "version": "1.0",
        "body": [
            {"type": "TextBlock",
            "text": answer}, 
            table],
        "actions" : [{
            "type": "Action.Submit",
            "title": wrap(promptQuestions[0]),
            "data": promptQuestions[0] 
        },
        {
            "type": "Action.Submit",
            "title": wrap(promptQuestions[1]),
            "data": promptQuestions[1]
        }]
    }

    console.log(card)
    return CardFactory.adaptiveCard(card);

【问题讨论】:

  • "PostBack" 是提交操作的默认行为(意味着文本不应显示)。请提供相关自适应卡的代码并告诉我们您使用的渠道。还要解释当您尝试使用 GitHub 问题中的方法时会发生什么。
  • 我目前正在模拟器中运行。这个当前版本显示了我点击的按钮的数据。我不想表现出来。我相信当我使用 GitHub 版本时,我得到了一个错误。我会再次尝试获取更多信息。
  • GitHub的解决方案会导致按钮在我点击的时候什么都不做。
  • 有道理。不幸的是,它以这种方式工作,但我会找到解决方法。感谢您的帮助。
  • 没有必要找到绕过它的方法。我已经准确地解释了你需要做什么。你读过我链接的博客文章吗?为什么不幸?

标签: azure botframework adaptive-cards


【解决方案1】:

提交动作数据应该是一个对象而不是字符串。更多信息请参见我的博文:https://blog.botframework.com/2019/07/02/using-adaptive-cards-with-the-microsoft-bot-framework/

【讨论】:

    猜你喜欢
    • 2019-04-22
    • 2021-04-12
    • 2022-01-01
    • 2018-08-08
    • 2020-11-07
    • 1970-01-01
    • 2018-02-20
    • 2019-12-14
    • 2019-03-28
    相关资源
    最近更新 更多