[英]How to create a form builder with Watson Conversation Dialog
我正在從事 Watson Conversation 項目。 我導入了以下 Watson 項目,並通過對話對其進行配置: https : //github.com/watson-developer-cloud/car-dashboard
我希望聊天機器人向用戶顯示一個復選框,其中包含用戶必須選擇的 7 個選項。 每次單擊一個選項都會鏈接到對話框的一部分。 目前,我已將此文本插入到對話節點中
"Select:<br> <select id='select' on select: 'select()'> <option value='01' selected> Product 1 </option> <option value='02'>Product 2</option> </select>"
我有以下情況
嘗試遵循本文( 如何在 Watson Conversation 中使用 Select Option )已編寫復制 index.js 文件中的代碼,該文件在我的項目中不存在。
問題有兩個:1)你怎么能有一個復選框而不是一個下拉菜單? 2)在項目的github頁面可以看到hierarchy的哪個文件,輸入建議的代碼?
正如@Arlemi 指出的那樣,您可以只使用鏈接中提到的復選框代碼。
然而! 您嘗試做的問題是,如果您嘗試為其他系統進行渲染,那么維護將成為一場噩夢。
此外,對話代碼有 10MB 的限制,因此添加無關代碼將降低該限制。
最好把代碼分離出來,讓應用層來做代碼的創建。
例如,使用 W3 學校鏈接代碼:
<input type="checkbox" name="vehicle1" value="Bike"> I have a bike<br>
<input type="checkbox" name="vehicle2" value="Car"> I have a car<br>
<input type="checkbox" name="vehicle3" value="Boat" checked> I have a boat<br>
您將有一個如下所示的對話節點。
{ "context": {
"vehicle_options": {
"type": "checkbox",
"options": [
{ "name": "vehicle1", "value": "Bike", "text": "I have a bike" },
{ "name": "vehicle2", "value": "Car", "text": "I have a car" },
{ "name": "vehicle3", "value": "Boat", "text": "I have a boat", "checked": true },
]
}
},
"output": {
"text": {
"values": [ "Select your Vehicles: <! vehicle_options !>" ]
}
}
}
然后您的應用程序層會查找<! !>
<! !>
並使用此塊中的值來確定要讀取的上下文對象。 它將使用type
值來確定如何渲染,以及用作該渲染一部分的options
。
這意味着您的應用程序層可以創建 HTML 或任何其他語言(例如 Swift)。 這也意味着您可以在其他地方控制樣式,而不必更改對話響應。 它還可以降低噪音,使其更易於維護/閱讀。
1)使用輸入類型復選框,您將有復選框。
2) 您應該在對話節點中輸入該代碼,而不是在頁面中。 該頁面將在瀏覽器中將來自服務的響應呈現為 HTML。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.