微信开发第二篇:被动回复文本消息和图文消息

官方文档详见:
http://mp.weixin.qq.com/wiki/1/6239b44c206cab9145b1d52c67e6c551.html

当用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构,来对该消息进行响应(现支持回复文本、图片、图文、语音、视频、音乐)。严格来说,发送被动响应消息其实并不是一种接口,而是对微信服务器发过来消息的一次回复。

回复文本消息

Select Code
1
2
3
4
5
6
7
8
9
10
11
12
13
if ($keyword=='1') {
// 纯文本消息回复
$textTpl = '<xml>
<ToUserName><![CDATA['.$this->fromUsername.']]></ToUserName>
<FromUserName><![CDATA['.$this->toUsername .']]></FromUserName>
<CreateTime>'.time().'</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[欢迎来到我的微信测试公众号]]></Content>
</xml>';

echo $textTpl;
exit;
}

效果如下:

ceshi_01

图文消息回复代码:

Select Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
elseif ($keyword=='2') {
// 图文信息回复格式
$newTpl = '<xml>
<ToUserName><![CDATA['.$this->fromUsername.']]></ToUserName>
<FromUserName><![CDATA['.$this->toUsername.']]></FromUserName>
<CreateTime>'.time().'</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<ArticleCount>1</ArticleCount>
<Articles>
<item>
<Title><![CDATA[苹果正式发布iPhone 7/7 Plus:国行价格5388元/6388元起]]></Title> 
<Description><![CDATA[苹果召开新品发布会,iPhone 7和iPhone 7 Plus正式登台亮相,国行版本的售价分别为5388元和6388元起,预售从9月9日下午3:01开始。]]></Description>
<PicUrl><![CDATA[http://upload.chinaz.com/2016/0908/6360891704559950162920888.jpeg]]></PicUrl>
<Url><![CDATA[http://www.chinaz.com/mobile/2016/0908/578020.shtml]]></Url>
</item>
</Articles>
</xml>';

echo $newTpl;
exit;
}

效果如下:

ceshi_02