在列表中获取更多项目的问题(google 上的操作)
Issue of getting more items in List(Actions on google)
我正在开发一个购物机器人,用户会询问产品,然后我将从数据库中获取结果,结果将超过 10 件商品。我知道列表的默认项目是 10 个项目。我的问题是如何在列表末尾添加更多按钮,以便我可以将更多项目加载到列表中。
for(var p=0;p<=countforchunk;p++)
{
items[p] = {
optionInfo: {
key: (p + 1).toString(),
synonyms: temparray[p],
},
title: temparray[p],
url: "https://www.google.com/imgres?imgurl=https%3A%2F%2Fcdn.pixabay.com%2Fphoto%2F2015%2F04%2F23%2F22%2F00%2Ftree-736885__340.jpg&imgrefurl=https%3A%2F%2Fpixabay.com%2Fimages%2Fsearch%2Fnature%2F&tbnid=_2JirDBiGzi3lM&vet=12ahUKEwi71YPNxdrnAhVJGbcAHVi_BdEQMygAegUIARCFAg..i&docid=Ba_eiczVaD9-zM&w=546&h=340&q=images&ved=2ahUKEwi71YPNxdrnAhVJGbcAHVi_BdEQMygAegUIARCFAg",
image: new Image({
url: imgarray1[p],
alt: imgarray1[p]
}),
}
conv.ask(new List({
title: 'Search Results',
items: items
}));
resolve();
}
请帮帮我,
谢谢
您必须跟踪加载的项目。一次加载30个项目有限制。
当用户想要更多项目时,您可以处理该语音意图并可以在上下文中存储当前页面索引,并基于此您可以通过替换现有项目来添加另外 30 个项目。
1-30 项 = 第 1 页
30-60 项 = 第 2 页,依此类推。
相应地调用 api。
据我所知 - 没有 技术 10 件物品的限制。例如,如果您在列表中放入 12 个项目,它将显示 12 个项目。
但这不是一个好主意。 (即使 10 条也很多,你应该考虑语音交互,你可能不想回读超过 2 或 3 条)。所以在某些时候你会想要考虑分页。
如果这样做,您需要将其实现为另一个 Intent 和 Intent Handler。为此,您可以提供一个显示 "Show me more" 的建议芯片并在 Intent 中接受 "more"、"what else" 和 "show me more" 等训练短语。您可以使用上下文来跟踪您在结果列表中的位置。
我正在开发一个购物机器人,用户会询问产品,然后我将从数据库中获取结果,结果将超过 10 件商品。我知道列表的默认项目是 10 个项目。我的问题是如何在列表末尾添加更多按钮,以便我可以将更多项目加载到列表中。
for(var p=0;p<=countforchunk;p++)
{
items[p] = {
optionInfo: {
key: (p + 1).toString(),
synonyms: temparray[p],
},
title: temparray[p],
url: "https://www.google.com/imgres?imgurl=https%3A%2F%2Fcdn.pixabay.com%2Fphoto%2F2015%2F04%2F23%2F22%2F00%2Ftree-736885__340.jpg&imgrefurl=https%3A%2F%2Fpixabay.com%2Fimages%2Fsearch%2Fnature%2F&tbnid=_2JirDBiGzi3lM&vet=12ahUKEwi71YPNxdrnAhVJGbcAHVi_BdEQMygAegUIARCFAg..i&docid=Ba_eiczVaD9-zM&w=546&h=340&q=images&ved=2ahUKEwi71YPNxdrnAhVJGbcAHVi_BdEQMygAegUIARCFAg",
image: new Image({
url: imgarray1[p],
alt: imgarray1[p]
}),
}
conv.ask(new List({
title: 'Search Results',
items: items
}));
resolve();
}
请帮帮我, 谢谢
您必须跟踪加载的项目。一次加载30个项目有限制。
当用户想要更多项目时,您可以处理该语音意图并可以在上下文中存储当前页面索引,并基于此您可以通过替换现有项目来添加另外 30 个项目。
1-30 项 = 第 1 页 30-60 项 = 第 2 页,依此类推。
相应地调用 api。
据我所知 - 没有 技术 10 件物品的限制。例如,如果您在列表中放入 12 个项目,它将显示 12 个项目。
但这不是一个好主意。 (即使 10 条也很多,你应该考虑语音交互,你可能不想回读超过 2 或 3 条)。所以在某些时候你会想要考虑分页。
如果这样做,您需要将其实现为另一个 Intent 和 Intent Handler。为此,您可以提供一个显示 "Show me more" 的建议芯片并在 Intent 中接受 "more"、"what else" 和 "show me more" 等训练短语。您可以使用上下文来跟踪您在结果列表中的位置。