我在 Bot builder 模拟器上看不到我的自适应卡,它显示为空白

Posted

技术标签:

【中文标题】我在 Bot builder 模拟器上看不到我的自适应卡,它显示为空白【英文标题】:I cant see my adaptive card on the Bot builder emulator, it appears as blank 【发布时间】:2022-01-02 02:32:27 【问题描述】:

我正在使用 Python Bot Builder 框架,并且正在模拟器上对其进行测试。 现在我知道我的自适应卡 JSON 文件是完美的,因为它显示了我在 VisualStudio Code 和 https://adaptivecards.io/designer/ 上所需的所有数据。 但是,当我运行模拟器时,我的自适应是完全空白的。

现在我用于自适应卡的代码是:

    def adaptive_flight_card_attachment(self):
        JSONFileName = 'QuickAdaptiveJSONfile.json'
        file_path = "AdaptiveFlightCardFile"
        
        if os.path.exists(file_path):
            files_in_dir = os.listdir(file_path)
            if JSONFileName in files_in_dir:
                file_path = os.getcwd()+f'/file_path'+f'/JSONFileName'
                    with open(file_path, "r+", encoding="unicode_escape") as in_file:
                        card = json.load(in_file)
                            return Attachment(content_type="application/vnd.microsoft.card.adaptive", content=card )

然后我使用:

FlightDetailCard = self.adaptive_flight_card_attachment()
response = MessageFactory.attachment(FlightDetailCard)
await turn_context.send_activity(response)

我在这里的某个地方犯了一个错误,我似乎无法指出在哪里。有谁能帮帮我吗?

这是我的自适应卡片的显示方式(聊天底部的两个空矩形): 这就是他们应该的样子(屏幕右侧的登机牌):

【问题讨论】:

【参考方案1】:

看起来像 json 文件中的问题。

【讨论】:

是的,我也打印了我的文件内容并检查它是否完美。但由于某种原因,该卡未显示。我还删除了 *encoding="unicode_escape" * 但不幸的是还没有帮助。 你能分享自适应文件和日志信息吗 github.com/microsoft/BotFramework-Emulator/issues/2337这里我把json数据贴在最后一条评论里了。 你改过1.3版吗? 非常感谢。我为我的愚蠢道歉(SMH)

以上是关于我在 Bot builder 模拟器上看不到我的自适应卡,它显示为空白的主要内容,如果未能解决你的问题,请参考以下文章

使用 Xib 创建的自定义视图在 Interface Builder 中不起作用

具有大量元素的自定义 segued 视图缓慢

我在我的安卓模拟器上看不到我的 ParsePush 通知

我在 Interface Builder 上看不到所有静态单元格

Bot Emulator 连接到另一台机器上的 Node.js 服务

我的自定义本机模块不在 NativeModules 对象中