DUI控件

控件概述

DUI控件就是在对话定制的流程中,辅助语音回复,将返回的更加详细的数据信息,按照一定的展现样式,以更具可视化的方式呈现给用户的元件。不同类型的DUI控件可用于描述不同的对话交互流程, 如:有多个查询结果需要用户选择时开发者可以使用列表控件,又或者用户提出听歌请求时开发者可以使用音乐播放控件。

控件类型

DUI平台目前提供5种可选的控件类型,除自定义控件类型外,DUI平台为每种控件类型都提供一种默认的展现样式。开发者可以直接使用这些默认的展现样式开发技能,也可以根据自己的需求,通过上传符合格式要求的自定义控件资源包,为技能提供更加个性化、更加多样化的控件展现样式。

图文卡片

Minion
【图文卡片】是一种可同时展现文字和图片的控件样式,可应用于百科等场景。
创建者可通过设置按钮,完成对内容卡片拓展功能的创建。支持设置1~4个按钮,每新增一个按钮,都会新增一个意图。创建者可自主修改按钮的名称, 意图名称与按钮名称相同。
注意:当删除已创建的button时,不会同时删除与其关联的意图;删除意图时,与其相关联的button也会同时被删除;并且,不支持创建重名意图。

列表

Minion
【列表】控件是以表单的形式展现返回数据的控件,支持文字和图片的展示。默认每页展示5条信息,最多可展示4页。该控件可应用于天气、导航等多种场景。
需注意的是,同一个意图中只支持使用一个选项列表。

音乐播放

Minion
【音乐播放】控件主要应用于需要播放音频的场景,可展示歌手、歌曲名及封面图片。设有播放、暂停按钮,默认情况下暂停播放。

内嵌网页

Minion
【内嵌网页】是一种可在对话页面展示网页的控件。

自定义控件

为了满足技能开发者在开发中, 对数据、对话流程、GUI展现的多样化需求,DUI平台为开发者提供自定义控件类型。开发者可根据实际需求,不拘泥于已有控件类型,发挥自己的创造力设计自定义控件,DUI平台将不会再对数据和对话流程上做相应限制。
DUI平台不提供自定义控件类型的默认展现样式,开发者需要自己设定控件的展现样式。
自定义控件开发说明

控件默认配置

控件类型 数据源 默认条件 备注
图文卡片 web api,native api,function 提供【找到多个结果】【默认】两种默认回复条件 可自定义1~4个button
列表 web api,native api,function 提供【找到多个结果】【找到一个结果】【没有找到结果】三种默认回复条件 默认关联【用户选择】意图
音乐播放 web api,native api,function 提供【默认】【没有找到结果】2种默认对话回复条件 如果返回的资源是mp3,可直接在对话界面播放;如果返回的数据是url,跳转后播放
内嵌网页 web api,native api 提供【默认】【没有找到结果】两种对话回复条件
自定义控件 web api,native api,function 提供【默认】一种对话回复条件

需注意的一点是:切换控件样式时,技能创建者定义的输出配置项都会被清除掉。

列表控件配置

在控件配置的页面,你可以修改列表控件的属性,包括每页展示项目的数量,以及页面总数。

列表控件的属性会影响对话逻辑:
⁃ 例如配置【每页展示数量】为5,当用户说“第六个”,对话会播报“选择超出范围”
⁃ 再例如,翻页到第二页之后,用户说“第一个”,对话需要选中是第二页中第一个的数据;如果【每页展示数量】为5的话,实际选中的是整体第6个数据。

默认的列表控件,会根据你配置的属性自适应,不需要更改控件资源;如果使用自定义的列表控件,则你需要确保列表控件的资源,与在前端配置的这两个属性相同。