UI事件及数据定义

用户输入

用户输入文本

描述:用来显示用户(人)的输入文本
触发事件及数据

event data description
context.input.text

半双工模式:

{"eof":1 //0标记识别未结束,1标记识别结束,"recordId":"714cd559f5ff083c68590567d12afb18","text":"今天天气","sessionId":"45ec324f0470eb5602714ae889214323","pinyin":"jin tian tian qi"}

 

全双工模式:

{"recordId":"eaa61aae99f4ed1e44b585c5c58e62b9","text":"今天天气","eof":1//0标记识别未结束,1标记识别结束}

显示输入文本
实时反馈结果示例:
{"eof":0,"var":"你好"}
{"eof":0,"text":"你好"}
{"eof":0,"var":"我"}
{"eof":0,"var":"我要"}
{"eof":0,"var":"我要去"}
{"eof":0,"var":"我要去国家"}
{"eof":0,"var":"我要去国家大"}
{"eof":0,"var":"我要去国家大剧院"}
{"eof":0,"text":"我要去国家大剧院"}
{"eof":1,"text":""}

UI事件绑定:暂无

语音状态卡

描述:直观地反馈语音交互中各个阶段的状态
触发事件及数据

event @deprecated data description
avatar.silence avatar.silence 显示静止状态
avatar.listening avatar.listening 示例: { "volume":50, //音量大小0-100} 显示倾听状态,每100ms反馈一次该事件
avatar.understanding avatar.understanding 显示理解状态
avatar.speaking avatar.speaking 显示播报状态
avatar.standby avatar.standby 显示暂停状态

UI事件绑定

UI operation event data description
click avatar ui.avatar.click - 点击avatar图标

其它

对话状态

描述:用来告知对话开始和结束
触发事件及数据

event data description
sys.dialog.start - 对话开始时发出
sys.dialog.end {
reason:"error",//normal-对话正常结束;interrupt-对话被打断;error-对话发生错误;
errId:4,
errMsg:"asr null",
skillId:"100001246"
}
对话结束时发出
sys.dialog.error {
serrId:4,
serrMsg:"asr null"
})
对话中发生的错误
sys.dialog.continue - 对话恢复时发出

系统输出

NLG输出

描述:用来显示NLG(Natural language generation)的内容
触发事件及数据

event data description
context.output.text 示例:{ "text": "为您找到10个相关地点,请问要去哪一个?"} 用于播报的文本内容

文本控件类

描述:用来显示文本卡片
触发事件及数据

event data description
context.widget.text 具体数据见表格下方 用于显示输出文本

具体数据:

属性 必须(Y/N) 类型 说明
type Y string 描述控件类型, 取值为text
name Y string 描述控件的名称, 可编辑,默认为default
intentName Y string 描述所属意图名
text Y string 输出文本
recommendations N json array 用于显示推荐气泡的数据
extra N kv对 自定义参数,由webhook或者localhook透传出来,作为附加信息使用

示例:

{
    "type":"text",
	"name":"default",
    "intentName":"导航",
	"text": "4个地点"
}

 

列表控件类

描述:展示多条候选结果
触发事件及数据

event data description
context.widget.list 具体数据见表格下方 显示列表项,每页的索引从1开始

具体数据:

属性 必须(Y/N) 类型 说明
type Y string 描述控件类型, 取值为list
name Y string 描述控件的名称, 可编辑,默认为default
intentName Y string 描述所属意图名
totalPages Y int 页面总数
itemsPerPage Y int 每页显示条目数
currentPage Y int 当前处于的页面数
content Y json array 列表项数据,具体见表格下方
recommendations N json array 用于显示推荐气泡的数据
extra N kv对 自定义参数,由webhook或者localhook透传出来,作为附加信息使用

列表项数据每一项数据格式为:

属性 必须(Y/N) 类型 说明
title Y string 标题
subTitle N string 副标题
imageUrl N string 图片地址
linkUrl N string 链接地址,点击该项可以进行跳转
label N string 标签数据
extra N kv对 自定义参数,由webhook或者localhook透传出来,作为附加信息使用

示例:

{
    "type" : "list",
    "name":"default",
    "intentName":"导航",
    "content": [{
            "title": "金鸡湖摩天轮",
            "subTitle": "观枫街1号",
            "imageUrl": "https://img.api.aispeech.com/s/3724150899028.png",
            "linkUrl": "https://map.amap.com/m/7867766776.html",
            "label": "3.6km",
            "extra": {
                "latitude": 120.733062,
                "longitude": 31.26473,
                "tel": "0512-66666666"
            }
        },
        {
            "title": "金鸡湖李公堤",
            "subTitle": "金鸡湖大道888号",
            "imageUrl": "https://img.api.aispeech.com/s/3724150899030.png",
            "linkUrl": "https://map.amap.com/m/78979878979.html",
            "label": "2.6km",
            "extra": {
                "latitude": 124.783483,
                "longitude": 37.324893,
                "tel": "0512-88888888"
            }
        }
    ],
    "totalPages": 5,
    "itemsPerPage": 5,
    "currentPage": 2,
    "recommendations": ["第3个", "下一页"]",
    "extra": {
        "source": "amap",
        "apiVersion": "0.3.2"
    }
}

UI事件绑定

UI operation event data description
click item list.item.select 示例:{ "index": 3 //第三个被选中} 列表项被选中,index从1开始
page select list.page.switch 示例:{ "pageNumber": 3 //跳转到第三页} 页面被切换到第x页,pageNumber从1开始,可以是滑动/点选等方式切换到相应页面
click event recommendation.item.select 示例:{ "text": "下一页"} 推荐气泡被点中

图文卡片控件类(ContentWidget)

描述:图文并茂展示内容,如wikipedia
触发事件及数据

event data description
context.widget.content 具体数据见表格下方 参数都为可选

具体数据:

属性 必须(Y/N) 类型 说明
type Y string 描述控件类型,取值为content
name Y string 描述控件的名称,可编辑,默认为default
intentName Y string 描述所属意图名
title Y string 标题
subTitle N string 副标题
imageUrl N string 图片资源地址
label N string 标签数据,建议以 "," 作为分隔
linkUrl N string 跳转地址
buttons N json array 按钮数据项,作为按钮上的显示文案以及回传数据
recommendations N json array 用于显示推荐气泡的数据
extra N kv对 自定义参数,由webhook或者localhook透传出来,作为附加信息使用

示例:

{
    "type" : "content",
    "name":"default",
    "intentName":"名人查询",
    "title": "刘德华",
    "subTitle": "刘德华,BBS,MH,JP,香港知名演员、歌手及电影制作人,1990年代获封香港乐坛“四大天王”之一,也是吉尼斯世界纪录大全中获奖最多的香港歌手;电影方面他获得三次香港电影金像奖最佳男主角和两次金马奖最佳男主角,至今参演超过140部电影。 ",
    "imageUrl": "https://www.google.co.jp/url?sa=i&rct=j&q=&esrc=s&source=imgres&cd=&cad=rja&uact=8&ved=0ahUKEwiP3ef27KjTAhUDJZQKHYj3CgUQjRwIBw&url=http%3A%2F%2Fwww.jianshu.com%2Fp%2Fda5c8159ae91&psig=AFQjCNE48KOZLoBc26DtlngBTPYa2dtC6A&ust=1492427795412275",
    "label": "艺人, 香港, 歌手",
    "linkUrl": "https://zh.wikipedia.org/zh-hans/%E5%8A%89%E5%BE%B7%E8%8F%AF",
    "buttons": [{
        "name": "听刘德华的歌"
    }, {
        "name": "看刘德华的电影"
    }],
    "extra": {
        "source": "wikipedia",
        "apiVersion": "0.3.2"
    },
    "recommendations": ["刘德华的老婆是谁?"]
}

UI事件绑定

UI operation event data description
click content.card.wiki.click - 点击卡片后,跳转时发出
click content.card.button.click 示例:{ "text": "听刘德华的歌"} 点击对应的button时发出,text使用button显示的文本内容
click event recommendation.item.select 示例:{ "text": "刘德华的老婆是谁?"} 推荐气泡被点中

内嵌网页控件类(WebWidget)

描述:展示富文本内容,如:天气/股票等
触发事件及数据

event data description
context.widget.web 具体数据见表格下方 web卡片允许通过scheme进行扩展

具体数据:

属性 必须(Y/N) 类型 说明
type Y string 描述控件类型, 取值为web
name Y string 描述控件的名称, 可编辑,默认为default
intentName Y string 描述所属意图名
url Y string url地址
recommendations N json array 用于显示推荐气泡的数据
extra N kv对 自定义参数,由webhook或者localhook透传出来,作为附加信息使用

示例:

{
    "type" : "web",
    "name":"default",
    "intentName":"天气查询",
    "url": "https://172.16.20.131/h5-weather",
    "recommendations": ["上海的天气呢?","威海的天气呢?"],
    "extra": {
        "width": 400,
        "height": 800
    }
}

UI事件绑定

UI operation event data description
click event recommendation.item.select 示例:{ "text": "上海的天气呢?"} 推荐气泡被点中

媒体控件类(MediaWidget)

描述:用于展示多媒体信息
触发事件及数据

event data description
context.widget.media 具体数据见表格下方 1.显示多媒体卡片内容 2.内建媒体卡片对linkUrl源为mp3/ogg/wav格式的资源的直接播放支持 3.web则进行跳转播放

具体数据:

属性 必须(Y/N) 类型 说明
type Y string 描述控件类型, 取值为media
name Y string 描述控件的名称, 可编辑,默认为default
intentName Y string 描述所属意图名
totalPages Y int 页面总数
itemsPerPage Y int 每页显示条目数
currentPage Y int 当前处于的页面数
content Y json array 列表项数据,具体见表格下方
recommendations N json array 用于显示推荐气泡的数据
extra N kv对 自定义参数,由webhook或者localhook透传出来,作为附加信息使用

列表项数据每一项数据格式为:

属性 必须(Y/N) 类型 说明
title Y string 标题
subTitle N string 副标题
imageUrl N string 图片数据地址
linkUrl N string 链接地址,点击该项可以进行跳转
label N string 标签数据
parameters N kv对 自定义参数,由webhook或者localhook透传出来,作为附加信息使用

示例:

{
    "type" : "media",
    "name":"default",
    "intentName":"音乐搜索",
    "content": [{
        "title": "喜欢你",
        "subTitle": "beyond",
        "imageUrl": "https://img1.doubanio.com/lpic/s26702528.jpg",
        "label": "音乐专辑",
        "linkUrl": "https://h.xiami.com/#!/player",
        "extra": {
            "resType": "mp3"
        }
    }],
    "totalPages": 1,
    "itemsPerPage": 3,
    "currentPage": 1,
    "recommendations": ["下一首"]
}

UI事件绑定

UI operation event data description
click event recommendation.item.select 示例:{ "text": "下一首"} 推荐气泡被点中

自定义控件类(CustomWidget)

描述:用于自定义的控件扩展
触发事件及数据

event data description
context.widget.custom 具体数据见表格下方 自定义控件对于数据部分有很大的自由度,与UI展示层的数据匹配由开发者自己保证

具体数据:

属性 必须(Y/N) 类型 说明
type Y string 描述控件类型, 取值为custom
name Y string 描述控件的名称, 可编辑,默认为default
intentName Y string 描述所属意图名
      其他数据不做限制

示例:

{
    "type" : "custom",
    "name":"custom_widget_1",
    "intentName":"自定义意图1",
    "foo":"bar"
}

UI事件绑定:暂无