目的

描述机器人返回消息体,包含控件元素、布局(简版)、数据及特定事件。

消息体模板说明

template元素

<template> 元素定义了整个消息体。

属性 描述
id id 元素的唯一id
params 参数串 消息体全局有效参数,如:a=1&b=2&c=3
version 协议版本号 匹配对应的解析版本

LinearLayout元素

template 布局是通过 <LinearLayout> 标签进行定义的。 仿照Android的布局文件对消息体元素进行行布局。暂不支持嵌套,不需要设置下表中的属性。

属性 描述
orientation horizontal(vertical) 设置水平(默认)或垂直布局
weight 权重值 嵌套时同级布局大小所占权重
width 数值或百分比 宽度值或父元素百分比
heigth 数值或百分比 高度值或父元素百分比

text元素

template 的文本内容是通过 <text> 标签元素定义的,text值则就是文本内容。

属性 描述
name 文本名称 节点名称
width 数值或百分比 宽度值或父元素百分比
color 00FFFF 6位16进制色码,文本颜色

image元素

template 的图片内容是通过 <image> 标签进行定义的。

属性 描述
name img 图片名称
url http://www.163.com/1.jpg 图片的URL地址
with 数值或百分比 宽度值或父元素百分比
height 数值或百分比 宽度值或父元素百分比

template 链接是通过 <link> 标签进行定义的。

属性 描述
type block / url block 触发模块跳转请求 / url 直接打开链接的请求
style button 展示形式,目前展示形式就定义了button一种
target 模块id / url 跳转的目标若type为url,则保存的是http地址,如type=block,则保存的是模块ID
params 变量名1=值1&变量名2=值2… 跳转所需的参数

整体结构(1.1版本)

<template id="模板号" params="变量名1=值1&变量名2=值2…" version="协议版本号">
    <LinearLayout>                  /*  插入一段文本  */
        <text name="label" width="百分比 | 指定像素"  color="00FFFF"> 文本内容 </text>
    </LinearLayout>

    <LinearLayout>              /*  插入一张图片  */
        <image name="属性名" url="属性值" width="图片宽度" height="图片高度"/>
    </LinearLayout>

    <LinearLayout>  
        <image name="属性名" url="属性值" width="图片宽度" height="图片高度"/>
        <text name="label" width="百分比 | 指定像素"  color="00FFFF"> 文本内容 </text>
        <link type="block" style="button" target="模块名" params="变量名1=值1&变量名2=值2…" >
            <text name="属性名">属性值</text>
        </link>
        <link type="url" style="button" target="url地址" params="变量名1=值1&变量名2=值2…" >
            <text name="属性名">属性值</text>
        </link>
    </LinearLayout>

    <LinearLayout>  /*  插入一段文本+插入两个按钮,一个链接到某个模块,一个打开一个URL */
        <text name="label" width="百分比 | 指定像素"  color="00FFFF"> 文本内容 </text>
        <link type="block" style="button" target="模块名" params="变量名1=值1&变量名2=值2…" >
            <text name="属性名">属性值</text>
        </link>
        <link type="url" style="button" target="url地址" params="变量名1=值1&变量名2=值2…" >
            <text name="属性名">属性值</text>
        </link>
    </LinearLayout>

    <LinearLayout>             /*插入两个按钮,一个链接到某个模块,一个打开一个URL  */
        <link type="block" style="button" target="模块名" params="变量名1=值1&变量名2=值2…" >
            <text name="属性名">属性值</text>
        </link>
        <link type="url" style="button" target="url地址" params="变量名1=值1&变量名2=值2…" >
            <text name="属性名">属性值</text>
        </link>
    </LinearLayout>
    <LinearLayout>            /*插入一个富文本按钮,可任意组合元素,这些元素将平铺显示在一行上 */
        <link type="block" style="button" target="模块名" params="变量名1=值1&变量名2=值2…" >
            <image name="属性名" url="属性值" width="百分比 | 指定像素"/>
            <text name="属性名" width="百分比 | 指定像素">属性值 </text>
            <text name="属性名" width="百分比 | 指定像素">属性值</text>
            <text name="属性名" width="百分比 | 指定像素">属性值</text>
            <text name="属性名" width="百分比 | 指定像素">属性值</text>
        </link>
    </LinearLayout>
</template>

整体结构说明

动态的组合形式不固定,必须在1.1版本整体架构内的标签和组合形式;

真实示例

示例1:订单列表

<template id="order_list" " version="0.1">
    <LinearLayout>
        <text name="lable">您想咨询的订单是哪个呢?</text>
    </LinearLayout>
    <LinearLayout>
        <link type="block" style="button" target="block_id_1" params="orderId=4512" >
            <image name="p_img" url="xxx.jpg"/>
            <text name="p_name">ZARA女装加大码飞行夹克 08073243800</text>
            <text name="p_price">2499</text>
            <text name="p_count">1</text>
            <text name="p_status">待付款</text>
        </link>
    </LinearLayout>
    <LinearLayout>
        <link type="block" style="button" target="block_id_1" params="orderId=4513" >
            <image name="p_img" url="xxx.jpg"/>
            <text name="p_name">当顿庄园 澳洲进口牛肉腌制菲力牛排1200克8片装套餐</text>
            <text name="p_price">99</text>
            <text name="p_count">1</text>
            <text name="p_status">待发货</text>
        </link>
    </LinearLayout>
    <LinearLayout>
        <link type="block" style="button" target="block_id_1" params="orderId=4514" >
            <image name="p_img" url="xxx.jpg"/>
            <text name="p_name">裸感超薄光版自带防尘iphone7 plus苹果6/6s手机壳</text>
            <text name="p_price">16.8</text>
            <text name="p_count">2</text>
            <text name="p_status">已发货</text>
        </link>
    </LinearLayout>
    <LinearLayout>
        <link type="block" style="button" target="block_id_1" params="orderId=4514" >
            <image name="p_img" url="xxx.jpg"/>
            <text name="p_name">中筒皮毛一体雪地靴</text>
            <text name="p_price">481.6</text>
            <text name="p_count">1</text>
            <text name="p_status">已收货</text>
        </link>
    </LinearLayout>
    <LinearLayout>
        <link type="url" style="button" url="https://xxxx.xxx.xx" >
            <text name="p_name" color="5B9B5D">更多订单</text>
        </link>
    </LinearLayout>
</template>

示例2:多业务选择

<template id="multibiz_choice" version="0.1">
    <LinearLayout>
        <text name="label">您想咨询的问题是什么呢?</text>
    </LinearLayout>
    <LinearLayout>
        <link type="block" style="button" target="123" params="orderNo=1" >
            <text name="p_name">订单详情</text>
        </link>
        <link type="block" style="button" target="345" params="orderNo=2" >
            <text name="p_name">物流状态</text>
        </link>
    </LinearLayout>
</template>