首页 > 解决方案 > 如何动态设置/更改 AWS Lex Chatbot ChatBotUiLoader IframeLoader 的配置属性值

问题描述

我正在使用 aws lex bot web ui 示例库(https://github.com/aws-samples/aws-lex-web-ui/blob/master/src/README.md#call-the-load-function)用我的网站做一个聊天机器人。有用。但是,当我需要动态设置 iframeloader 会话属性值时,我找不到任何有关它的信息。这是一个显示非常基本需求的示例:

   {
    var loaderOpts = {
      shouldLoadConfigFromJsonFile: true,
      configUrl: 'https://mysite.example.com/configs/lex-web-ui-loader-config.json',
      shouldLoadConfigFromEvent: true,
      configEventTimeoutInMs: 3000,
    };

    // Instantiate the loader by optionally passing the loader options to
    / control its behavior
    var loader = new ChatBotUiLoader.IframeLoader(loaderOpts);

    var chatbotUiConfig = {
    ui: {
      toolbarTitle: 'My Bot'
    }
   };
   // pass chatbot UI config to load function
   loader.load(chatbotUiConfig)
    // returns a promise that is resolved once the chatbot UI is loaded
      .then(function () {
        console.log('chatbot UI loaded');
     })
     .catch(function (error) {
      console.error('chatbot UI failed to load', error);
    });


   }

以上所有工作。

现在,在我的 Web 应用程序中,我需要将属性:toolbarTitle:更改为“Your Bot”。我该怎么做?

我尝试了两种方法,但它们都不起作用。第一种方式:

    {
     .....
    var chatbotUiConfig2 = {
    ui: {
      toolbarTitle: 'Your Bot'
     }
   };

   loader.load(chatbotUiConfig2)
     ....

    }

第二种方式:我尝试删除 ChatBotUiLoader 和 iframe,并使用 loader.load(chatbotUiConfig) 重新创建上述代码...聊天机器人 iframe 出现但立即从网络上消失。

关于如何动态设置/更改 ChatBotUiLoader IframeLoader 的配置属性值的任何建议将不胜感激!

先感谢您。

标签: amazon-web-serviceschatbotamazon-lex

解决方案


推荐阅读