TPL渲染指令(2.0协议)
2.0协议默认选用的模板为技能内模板,所以无需额外指定template
样例
{"version":"2.0","response":{"outputSpeech":{"type":"PlainText","text":"杭州未来四天内天气变化较大,周四会有雨。晚上气温较低请注意防寒保暖。"},"directive":[{"type":"TPL.RenderDocument","document":{"pageType":"AliGenie.Page","data":{"layout":{"backgroundColor":"linear-gradient(180deg, #5BD7CD 0%, #3DBAD3 100%)"},"content":[{"dataSource":{} //waft包中需要用到的数据内容}]}}}],"shouldEndSession":true,"expectSpeech":false}}
参数说明
| 属性 | 描述 |
|---|---|
| type | 指令类型,固定字符串:TPL.RenderDocument |
| document | 渲染页面信息 |
| document.pageType | 页面类型。目前支持 - AliGenie.Page:全屏页面 - AliGenie.Card:轻服务卡片 |
| document.data | 页面数据信息 |
| document.data.layout | 样式信息。 |
| document.data.content | 页面内容,暂时只支持单内容 |
| document.data.content.datasource | 页面需要用到的数据 |
TPL数据更新指令(2.0协议)
样例
{"version":"2.0","response":{"directives":[{"type":"TPL.UpdateDataSource","dataSource":{}}]}}
参数说明
| 属性 | 描述 |
|---|---|
| type | 指令类型,固定字符串:TPL.UpdateDataSource |
| dataSource | 要更新的数据 |
TPL模板渲染指令(1.0协议)
该指令用于在技能服务端的回复逻辑中指定模板进行显示,指令内容如下示例:
{"commandDomain": "AliGenie.Screen","commandName": "Render","payload": {"pageType": "TPL.RenderDocument", // 表示该渲染指令为模板渲染模式"data": {"pageTitle": "TPL2.0屏显示例", // 真机渲染时显示在顶部导航栏的标题'template': "tpl_code", // 模板的唯一标识"dataSource": { // 渲染模板所需的数据"imageUrl": "https://img.alicdn.com/tfs/TB1FHUFLqL7gK0jSZFBXXXZZpXa-720-405.jpg","title": "模板标题","detail": "模板描述"},"config": { //全局配置"header": { // 标题栏配置, 没有该字段,则表示不展示native的标题栏。"enabled": true, // 是否显示标题栏,默认为false"height": "100rpx","foregroundColor": "#FF7383A2", // 指定标题栏的文字和箭头icon颜色,格式:#AARRGGBB,默认为白色"backgroundColor": "#FFFFFFFF" // 指定标题栏的背景格式:#AARRGGBB,默认为透明色},"body": {//卡片加载前的背景色:支持纯色和渐变色,默认灰白色#D4E0F0"backgroundColor":"linear-gradient(180deg, #5BD7CD 0%, #3DBAD3 100%)"//或#FF00FF}}}}}
