【问题标题】:How to render error messages on Teams Adaptive Card on User Action如何在用户操作的 Teams 自适应卡上呈现错误消息
【发布时间】:2020-05-04 14:14:57
【问题描述】:

我有一个团队机器人在需要时主动向用户发送自适应卡片。当用户在表单上按下提交时,我正在向另一个返回以下有效负载的 Web 服务发出 POST 请求:

{
   success: bool,
   message: ''
}

如果结果是成功的(成功:真),我将更新自适应卡。 但是如果结果不是成功(成功:false),我想简单地显示一个错误,如下所示。

我如何去显示像上面这样的错误信息?任何帮助表示赞赏。

【问题讨论】:

  • 我并不完全关注。您的意思是您希望自己的错误消息看起来类似于“无法访问应用程序”错误?
  • 另外,需要明确的是,我假设自适应卡片操作会回调您的机器人,并且您的机器人正在向后端服务发出 POST 请求?
  • @HiltonGiesenow 是的,机器人正在向网络服务发出 POST 请求。
  • @HiltonGiesenow 我不想单独显示一条消息,而是想在同一活动(自适应卡活动)中显示如上所示的自定义错误消息
  • 您的问题是关于如何具体显示错误,还是关于如何更改您已经发送的现有卡?

标签: c# .net-core botframework microsoft-teams adaptive-cards


【解决方案1】:

对于这样的错误消息本身并没有什么开箱即用的功能,但是您可以通过嵌入图像来模拟某些内容,并使用其中一种内置文本样式添加一些文本以获得红色。特别是,查看this doc 中的“颜色”部分并使用“注意”颜色。这是running sample

在您的情况下,您需要图像和文本,因此您需要一个列集,如下所示:

{
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "width": "auto",
              "items": [
                {
                  "size": "small",
                  "style": "person",
                  "type": "Image",
                  "url": "path to your image"
                }
              ]
            },
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "TextBlock",
                  "text": "whatever your error message is",
                  "weight": "bolder",
                  "wrap": true,
                  "color": "attention"
                }
              ]
            }

另外一点,由于您希望项目显示在按钮下方,因此您需要使用“操作集”将按钮放置在卡片的中间,而不是始终位于底部。有关更多信息,请参阅 here,除非您不介意错误文本出现的确切位置。

[更新]查看Designer 上的初始示例,尤其是“bleed”属性,以使文本全宽。

【讨论】:

  • 好的,请告诉我。如果您觉得答案有帮助,请继续投票或标记为答案,以便其他人将来遇到相同问题时可以看到它很有用。
  • 很高兴为您提供帮助。看看我刚刚添加的关于“出血”的小更新,可能也有用
猜你喜欢
  • 1970-01-01
  • 2022-12-22
  • 2020-12-07
  • 1970-01-01
  • 2021-11-09
  • 2019-10-29
  • 2020-01-15
  • 2021-04-11
  • 2019-07-18
相关资源
最近更新 更多