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
}
}
}
}
}