首页 > 解决方案 > 在 Bot Framework 如何使用 node.js 从自适应卡片 [图像和选择] 返回选定的值

问题描述

我正在尝试使用 Bot Framework 和节点 js 创建一个机器人,我正在尝试通过自适应卡实现 Select your Mode of Transport 功能,我能够显示该卡以及图像和选项,但我无法返回值并进入下一步,请在下面找到自适应卡和代码的输出并帮助我解决问题

传输模式.json

    {
        "type": "ImageSet",
        "imageSize": "medium",
        "images": [
            {
                "type": "Image",
                "url":  "https://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/ANA_777-300_Taking_off_from_JFK.jpg/300px-ANA_777-300_Taking_off_from_JFK.jpg"
            },
            {
                "type": "Image",
                "url": "https://images8.alphacoders.com/436/436769.jpg"
            },
            {
                "type": "Image",
                "url": "https://upload.wikimedia.org/wikipedia/commons/6/63/LT_471_%28LTZ_1471%29_Arriva_London_New_Routemaster_%2819522859218%29.jpg"
            }
        ]
    }
],
"actions": [
    {
        "type": "Action.Submit",
        "title": "Airplane"
        },
    {
        "type": "Action.Submit",
        "title": "Railway"
        
    },
    {
        "type": "Action.Submit",
        "title": "Bus"
    }
  ]

}

对话框.js 文件

async transportStep(step) {
    step.values.ticketNumber = step.result;
    console.log(step.values.ticketNumber)
    const cardPrompt = MessageFactory.text('');
    const TransportMode  = require('../bots/resources/TransportMode.json');
     await step.context.sendActivity({
        attachments: [CardFactory.adaptiveCard(TransportMode)]
     });
    
   // cardPrompt.attachments = [CardFactory.adaptiveCard(TransportMode)];
    return await step.prompt(NAME_PROMPT, 'Tell us your name');
    
}

自适应卡输出图像

标签: node.jsbotframeworkadaptive-cards

解决方案


推荐阅读