2

我正在尝试使用显示模板来显示随机图像。

现在下面的代码适用于显示一个图像,但如果我添加一行具有不同图像 url 源的附加代码,它就不起作用。

关于我可能做错了什么的任何想法?非常感谢!

function supportsDisplay() {
  var hasDisplay =
    this.event.context &&
    this.event.context.System &&
    this.event.context.System.device &&
    this.event.context.System.device.supportedInterfaces &&
    this.event.context.System.device.supportedInterfaces.Display

  return hasDisplay;
}

function renderTemplate (content) {

   switch(content.templateToken) {
       case "factBodyTemplate":
        
           var response = {
             "version": "1.0",
             "response": {

               "directives": [
                 {
                   "type": "Display.RenderTemplate",
                   "template": {
                     "type": "BodyTemplate7",
                     "title": content.bodyTemplateTitle,
                     "image": {
                        "contentDescription": "",
                        "sources": [
                          {
                            "url": "https://www.example.com/image.jpg",
                            "url": "https://www.example.com/image2.jpg",
                            "url": "https://www.example.com/image3.jpg"
                          }
                        ]
                      },
                    
                   }
                 }
               ],
             "sessionAttributes": content.sessionAttributes
           }
           this.context.succeed(response);
           break;
   }

}

4

1 回答 1

2

编辑:

好的,这可能会起作用......在帖子的顶部,添加一个图像源数组,如下所示:

const sourcesList = [
    "https://www.example.com/image.jpg",
    "https://www.example.com/image2.jpg",
    "https://www.example.com/image3.jpg"
]

然后,它会在图像中询问您的网址:

"image": {
    "contentDescription": "",
    "sources": [
    {
        "url": sourcesList[Math.floor(Math.random() * sourcesList.length)],

那应该行得通。如果没有,请尝试在文件底部添加:(不保证这也有效)

setInterval(function(){
    handlers['Get Fact']();
), 10000);//second value is the amount of time it takes to change image

您是否在新图像中包含了文件类型?

向 JSON 添加额外属性时,请确保在其后添加另一个逗号。IE

"url": "anotherURL.jpg",
"url": "anotheranotherURL.jpg"

注意第一行末尾的逗号。

于 2018-01-01T22:40:42.193 回答