简答的自动回复消息完成了,有很多人都不知道关注自动发送给用户消息是怎么实现的,那么我今天分享一下关注成功后自动发送消息的实现。
看到微信api里面也有介绍到事件推送,那么这个关注事件是如何使用的呢? 今天不废话,直接上代码:
<?php define("TOKEN", "weixin"); $wechatObj = new wechatCallbackapiTest(); $wechatObj->responseMsg(); class wechatCallbackapiTest { public function responseMsg() { $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if(!empty($postStr)) { $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $RX_TYPE = trim($postObj->MsgType); switch($RX_TYPE) { case "text" : $resultStr = $this->receiveText($postObj); break; case "event" : $resultStr = $this->receiveEvent($postObj); break; default : $resultStr = "unknow msg type: " . $RX_TYPE; break; } echo $resultStr; } else { echo ""; exit(); } } private function receiveText($object) { if (!empty($object)){ $fromUsername = $object->FromUserName; $toUsername = $object->ToUserName; $keyword = trim($object->Content); $time = time(); //自动回复图文消息 $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <ArticleCount>3</ArticleCount> <Articles> <item> <Title><![CDATA[测试标题1]]></Title> <Description><![CDATA[测试内容啊1!]]></Description> <PicUrl><![CDATA[http://weixin.comsenz-service.com/20.jpg]]></PicUrl> <Url><![CDATA[http://www.baidu.com]]></Url> </item> <item> <Title><![CDATA[哈哈,标题]]></Title> <Description><![CDATA[内容标题]]></Description> <PicUrl><![CDATA[http://weixin.comsenz-service.com/540.png]]></PicUrl> <Url><![CDATA[http://www.discuz.com]]></Url> </item> <item> <Title><![CDATA[12345哈哈,标题]]></Title> <Description><![CDATA[798465789内容标题]]></Description> <PicUrl><![CDATA[http://weixin.comsenz-service.com/20.jpg]]></PicUrl> <Url><![CDATA[http://www.google.com]]></Url> </item> </Articles> <FuncFlag>1</FuncFlag> </xml> "; if(!empty( $keyword )){ $msgType = "news"; //类型 news:图文消息、text:文本消息 event:事件 $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; }else{ echo "Input something..."; } }else { echo ""; exit; } } private function receiveEvent($object) { $contentStr = ""; switch($object->Event) { case "subscribe" : $contentStr = "欢迎关注社区管家!我们可以常联系了!!"; break; } $resultStr = $this->transmitText($object, $contentStr); return $resultStr; } private function transmitText($object, $content, $flag = 0) { $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>%d</FuncFlag> </xml>"; $resultStr = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $content, $flag); return $resultStr; } } ?>
以上是微信开发系列教程(2)的详细内容。更多信息请关注PHP中文网其他相关文章!
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
刺客信条阴影:贝壳谜语解决方案
3 周前ByDDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
2 周前ByDDD
在哪里可以找到原子中的起重机控制钥匙卡
3 周前ByDDD
<🎜>:死铁路 - 如何完成所有挑战
4 周前ByDDD
Atomfall指南:项目位置,任务指南和技巧
1 个月前ByDDD

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

Atom编辑器mac版下载
最流行的的开源编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!