织梦cms做网站,威海网站建设哪家的好,广东省深圳建设信息网官网,wordpress写文章500有时将param设置为required是不够的#xff0c;因为您不仅需要该param存在#xff0c;而且需要以特定的格式显示#xff0c;还有一种使用events的替代方法。在有多个步骤#xff0c;但一旦你熟悉了#xff0c;你会做得很快。在1)创建2个新的意图#xff1a;Year - Confir…有时将param设置为required是不够的因为您不仅需要该param存在而且需要以特定的格式显示还有一种使用events的替代方法。在有多个步骤但一旦你熟悉了你会做得很快。在1)创建2个新的意图Year - ConfirmationampYear - Confirmed2)在第一个意图中添加一个事件intentgtEventsgtask-year(或任何您喜欢的名称)3)添加输出上下文year-confirmation4)设置一个请求用户输入年份的响应Please provide the year...5)设置参数姓名日期实体-值#ask-year.date(这将来自事件数据您将从后端发送它)6)在您的第二个意图Year - Confirmed添加为输入上下文year-confirmation(前一个意图的输出)7)设置与您的主要意图相同的操作insurance8)添加一些可以与年份匹配的培训短语2017年(系统编号年)今年是系统编号year(对这个使用模板模式)现在您将有$year作为参数。在9)添加一个额外参数姓名日期实体-值#year-confirmation.date(这将来自年份确认上下文)10)在后端当您收到未完成日期时您应该发送ask-year事件。在节点.js例如我不知道pythonconst apiai require(apiai);const client apiai(my-dev-token);function sendEvent(data) {const request client.eventRequest(data, {sessionId: current-session});request.on(response, response {// Push message to your UIconsole.log(response.result.fulfillment.speech); // Please provide the year...});request.on(error, error {console.error(Event error: , error);});request.end();}/* ... */// Your insurance action handlerfunction insuranceHandler(result) {const { parameters } result;if(parameters.date || parameters.date.includes(UUUU)) { // Or whatever check for invalid year// Send previous date as data, so you will have it in the event responsereturn sendEvent({name: ask-year,data: {date: parameters.date}});}// Year comes from ask-year intentif(parameters.year)parameters.date parameters.date.replace(UUUU, parameters.year);// Do whatever you need}现在当日期不完整时将触发事件执行Year - Confirmation并要求您提供年份。在您提供一个之后Year - Confirmedintent将由您的响应执行。现在您的后端将接收到insurance操作和一个附加参数year