Автоматическая загрузка веб-страницы на основе контекста Watson Assistant - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь настроить приложение на управление определенными веб-страницами в зависимости от контекста в диалоге Watson Assistant.

Файлы, которые я использую, являются редактированием примеров файлов Watson Assistant (промежуточный) на github (https://github.com/watson-developer-cloud/assistant-intermediate).

Вот фрагмент кода (в api.js), который я отредактировал, чтобы заставить его работать:

var http = new XMLHttpRequest();
http.open('POST', messageEndpoint, true);
http.setRequestHeader('Content-type', 'application/json');
http.onreadystatechange = function() {
  if (http.readyState === 4 && http.status === 200 && http.responseText) {
    Api.setResponsePayload(http.responseText);

var json = JSON.parse(http.responseText);
        context = json.context;

          if(json.context.action === 'SocialMedia') {

          document.getElementById("payload-column").setAttribute("style", "background-color: #ffffff;") //renders background white as without this line the webpage comes back with black hidden text for some reason
          document.getElementById("payload-column").setAttribute("src", "https://www.csc2.ncsu.edu/faculty/healey/tweet_viz/tweet_app/?q=" + json.context.AnalysisSearchItem);

          } 

и соответствующая конфигурация в Watson Assistantрабочее пространство:

{
  "context": {
    "action": "SocialMedia"
  },
  "output": {
    "text": {
      "values": [
        "Loading sentiment analysis from the Computer Science department of North Carolina State University..."
      ],
      "selection_policy": "sequential"
    }
  }
}

Я подключен к рабочему пространству Watson Assistant, так как работает обычный диалог чат-бота, и строка

document.getElementById("payload-column").setAttribute("src", "https://www.csc2.ncsu.edu/faculty/healey/tweet_viz/tweet_app/?q=" + json.context.AnalysisSearchItem);

сама по себе меняет iframe на веб-сайт Iхочу (я определил iframe в файле index.html), просто условие IF

if(json.context.action === 'SocialMedia') 

не выполняется успешно, когда контекст попадает в SocialMedia.

было бы оченьблагодарен, если кто-нибудь может помочь, как решить проблему ....!

...