QQxml卡片基础知识
QQxml卡片基础知识
2019-05-11 20:25
用机器人转卡片时的格式:
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><msg serviceID="1" templateID="1" action="web" brief="[收到一个红包]" sourceMsgId="0" url="http://baidu.com" flag="0" adverSign="0" multiMsgFlag="0"><item layout="2"><picture cover="https://eps.gs/dAX" w="0" h="0" /><title>支付宝QQ联合送红包</title><summary>新老用户最高直接领取99元红包</summary></item><source name="支付宝" icon="https://eps.gs/dAX" url="" action="app" a_actionData="com.tencent.mtt://" i_actionData="tencent100446242://" appid="-1" /></msg>
他的标准格式应该是:
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<msg serviceID="1" templateID="1" action="web" brief="[收到一个红包]" sourceMsgId="0" url="$回声$" flag="0" adverSign="0" multiMsgFlag="0">
<item layout="2">
<picture cover="http://api.btstu.cn/sjbz/?lx=meizi" w="0" h="0" />
<title>支付宝QQ联合送红包</title>
<summary>新老用户最高直接领取99元红包</summary>
</item>
<source name="支付宝" icon="https://url.cn/5TmcopA" url="" action="app" a_actionData="com.tencent.mtt://" i_actionData="tencent100446242://" appid="-1" />
</msg>
头部
第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (UTF-8),这是XML必须的
内容
下一行描述文档的根元素(像在说:“本文档是一个消息(msg)”),他的样式为serviceID="1" templateID="1"
属性为 action="web" (web=网页,app=应用)
brief="[收到一个红包]" (brief=摘要,显示在未打开聊天窗口时,见下图)
image
sourceMsgId="0"
url="http://baidu.com" (跳转到链接,点击此卡片将跳转到baidu.com)
flag="0" flag=标识 长按此卡片弹出的操作选项,它的值可以从0到??(未做测试)此卡片是否可以转发,是由这个值决定的,一般设置为3是不可转发,可以防止别人转走偷代码
adverSign="0" multiMsgFlag="0"
<item layout="2"> </item=项目开始,layout=布局,值为2,可以修改为其他值,会有不同的样式出现
<picture cover="http://api.btstu.cn/sjbz/?lx=meizi" w="0" h="0" /> 图片链接和宽高 图2-3
picture cover 表示此图片是图片封面
video cover表示此图片是视频封面 视频卡片参考
audio cover表示此图片是音频封面 音频卡片参考
<title>支付宝QQ联合送红包</title> 标题 图2-1
<summary>新老用户最高直接领取99元红包</summary> 摘要/内容 图2-2
</item> 此项目结束
内容中可以有多个<item>项目 多项目卡片参考
尾部-图2-4、5
<source name="支付宝" 来源名称 图2-4
icon="https://url.cn/5TmcopA" 来源的图标 图2-5
url="http://baidu.com" 点击此处跳转的链接
action="web" 此处的功能,如果是web则跳转网页,如果是app则跳转app
a_actionData="com.tencent.mtt" 如果上面action设置为app,则此处填写应用的包名,以便点击时打开应用,如果是web,可以删除引号内的包名com.tencent.mtt
i_actionData="tencent100446242://" 如果上面action设置为app,则此处填写签名id?或者是腾讯的某参数,删除引号内的内容即可,一般用不到
appid="-1" /> 同上一段
</msg> 整体结束
图2↓
image
在 XML 中,省略关闭标签是非法的。所有元素都必须有关闭标签:
<p>This is a paragraph</p>
<p>This is another paragraph</p>
属性值必须被引号包围,不过单引号和双引号均可使用。比如一个人的性别,person 标签可以这样写:
<person sex="female">
或者这样也可以:
<person sex='female'>
注释:如果属性值本身包含双引号,那么有必要使用单引号包围它,就像这个例子:
<gangster name='George "Shotgun" Ziegler'>
或者可以使用实体引用:
<gangster name="George "Shotgun" Ziegler">
更多XML知识请访问W3School-XML教程