Я работаю над DialogFlow и могу использовать ответы SimpleResponse
и TableCard
.
Это мой SimpleResponse
рабочий код, и я возвращаю очень большой (более 200 символов) text
сообщение и во многом это статический текст.Поэтому я хочу использовать карточку стола ..
app.intent(TEST, (conv) => {
/* logic for getting
the JSON data */
var appName, status, podIP, version;
var itemIds = [];
for (var i = 0; i < data.length; i++) {
appName = data[i].metadata.labels.app;
version = data[i].metadata.labels.version;
status = data[i].status.phase;
itemIds.push(data[i].metadata.labels.app + ........);
}
console.log("Final Response " + itemIds);
conv.ask(new SimpleResponse({
speech: 'Here is the requested data',
text: `${itemIds}`
}));
});
Это мой код для карточки стола, я получу от 5 до 10 элементов из for-loop
и не могу понять, как использоватьэти значения в строках таблицы и как получить динамические строки на основе количества элементов из for-loop
.
app.intent(TEST, (conv) => {
/* logic for getting
the JSON data */
var appName, status, podIP, version;
var itemIds = [];
for (var i = 0; i < data.length; i++) {
appName = data[i].metadata.labels.app;
version = data[i].metadata.labels.version;
status = data[i].status.phase;
itemIds.push(data[i].metadata.labels.app + ........);
}
console.log("Final Response " + itemIds);
conv.ask(new SimpleResponse({
speech: 'Here is the requested data',
text: `${itemIds}`
}));
conv.ask(new Table({
dividers: true,
columns: ['appName', 'version', 'status'],
rows: [
['row 1 item 1', 'row 1 item 2', 'row 1 item 3']
],
}))
});
Я пытался использовать con.ask(Table)
внутри цикла for, но это была плохая идея, я думаю,Более того, мы не можем иметь несколько conv.ask tables
.
Возможно ли это вообще?Я вижу некоторые приложения Dialogflow с большими таблицами. Эти таблицы жестко запрограммированы или данные динамически вставляются?