获取意图,实体,上下文和所有数据



在情况下,实际对话简单具有一个具有所有值的函数,但是如果流向对话,则函数每次更新。

我希望创建一个或其他表单能够捕获当前数据上的所有数据。

在这种情况下,有意图,上下文,实体等。

conversation.message(payload, function(err, data) {
    if (err) {
      return res.status(err.code || 500).json(err);
    }
    return res.json(updateMessage(payload, data));
  });
});

UpdateMessage参数中的数据有我需要的所有内容,但是如果我创建其他功能并尝试获取此值,则不起作用。

在情况下,我使用这些值并使用app.js进行打开一些REST Web服务。我尝试:

function login (req, res) {    
      numberOrigin = null;
      sessionid = null;
      var dataLogin = {
        data:  { "userName":"xxxxx","password":"xxxxx","platform":"MyPlatform" },
        headers: { "Content-Type": "application/json" }
      };
      client.registerMethod("postMethod", "xxxxxxxxxxxxxxx/services/login", "POST");        
      client.methods.postMethod(dataLogin, function (data, response) {
        if(Buffer.isBuffer(data)){
          data = data.toString('utf8');
          console.log(data);
          var re = /(sessionID: )([^,}]*)/g;
          var match = re.exec(data);
          var sessionid = match[2]
          console.log(sessionid);              
        }
      });
    }
    function openRequest(data, sessionid, numberOrigin ){
      //console.log(data); dont show the values.. show the data response of login
         var dataRequest = {
         data: {"sessionID": sessionid,
                "synchronize":false,
        "sourceRequest":{
             "numberOrigin":numberOrigin,
             "description": JSON.stringify(data.context.email) } },
         headers: { "Content-Type": "application/json" }
         };
         numberOrigin +=1;
         client.post("xxxxxxxxxxxxxxxxxx/services/request/create", dataRequest, function (data, response) {         
          if(Buffer.isBuffer(data)){
          data = data.toString('utf8');    
          console.log(data);          
          }
        });
      }
    function updateMessage(res, input, data, numberOrigin) {
      var email = data.context.email;  // this recognize but this function is responsible for other thing        
       if (email === 'xxxxxxxxxxxx@test.com') {
        console.log(data);
        login(data);
        openRequest(data, sessionid, numberOrigin)
       }
     }

,如果我只想使用我的app.jsget用于内部使用的值。我用ajax获得了它,但是客户端的所有内容(index.html),这使我显示了我的凭据,所以我决定在REST中进行安全代码。如果有某种形式可以解决此问题,请告诉我。如果有其他表格要做,我会很乐意知道。

谢谢Advance。

问题可能需要写入响应对象res ..在updateMessage函数中传递响应。为了使数据发送回浏览器,写信给响应。我有一个演示应用程序,该应用程序调用天气频道以根据意图获得天气,类似于您尝试使用登录功能的操作。请看一下此代码https://github.com/doconnor78/conversation-simple-weather/blob/master/app.js#l130

您需要将原始RES(响应)对象传递到适当的函数中,然后一旦从第三方服务获得响应(RES)。

最新更新