我的自适应卡片发送,并继续到对话中的下一步(打印了一些内容以确保( 但由于某种原因,它不会显示任何其他活动,无论是提示、另一个自适应卡片还是只是文本。我尝试将它们放在相同的异步步骤中并一个接一个地发送,但这也不起作用。我没有收到任何错误消息,除了任何"sendActivity"方法之外,该步骤中的其他所有内容都将执行 是否有我不知道的某种约定?
我已经将问题缩小到Cortana频道,因为它在网络聊天和模拟器中都能完美运行
class BookingDialog extends CancelAndHelpDialog {
constructor(id) {
super(id || 'bookingDialog');
this.addDialog(new TextPrompt(TEXT_PROMPT))
.addDialog(new ConfirmPrompt(CONFIRM_PROMPT))
.addDialog(new DateResolverDialog(DATE_RESOLVER_DIALOG))
.addDialog(new WaterfallDialog(WATERFALL_DIALOG, [
this.destinationStep.bind(this),
this.originStep.bind(this),
this.travelDateStep.bind(this),
this.confirmStep.bind(this),
this.finalStep.bind(this)
]));
this.initialDialogId = WATERFALL_DIALOG;
}
/**
* If a destination city has not been provided, prompt for one.
*/
async destinationStep(stepContext) {
console.log("DESTINATION");
var Card = CardFactory.adaptiveCard(WelcomeCard);
const bookingDetails = stepContext.options;
await stepContext.context.sendActivity({ attachments: [Card],attachmentLayout: AttachmentLayoutTypes.Carousel});
return await stepContext.next(bookingDetails);
}
/**
* If an origin city has not been provided, prompt for one.
*/
async originStep(stepContext) {
return await stepContext.context.sendActivity("Would you like to email them?");
}
使用的是Cortana,请不要忘记添加inputHint。另外,你在什么设备上测试 Cortana? 在我看来,频道已经关闭,那么在Cortana的下一个回合会发生什么?如果不发送自适应卡片,它是否仍会起作用?如果卡片中存在语法错误,我相信Cortana会退出。发布卡片 json。检查所有必填字段是否都在那里,以及所有类型都是预期的。