首页
开源项目
闲篇
元编程
Golang
精粹
技术探讨
服务
首页
开源项目
大会
报名参会
报名查询
加入中国C++ User Group
大会调查
社区服务
网站首页
文章专栏
微信公众号的关注/取消事件thinkphp
微信公众号的关注/取消事件thinkphp
编辑时间:2024-03-25 10:25:26
作者:cocapai
0条评论
出自:cocapai
地址:
www.cocapai.com
转载请注明出处!
接收事件推送—关注/取消事件 一、准备 1、服务器 2、微信公众号 3、会PHP、thinkphp、服务器基本操作 二、开启公众号开发者模式 weixin公众号开发.png weixin公众号开发.png 说明: 修改配置保存时需要验证服务器端填写的token,所以要先写好服务器端的逻辑才能验证成功 三、控制器IndexController.class.php代码如下 说明:我在直接访问的是服务器端 http://www.xxx.xxx/weixin.php(thinkphp下的Weixin模块的默认控制器里的默认方法,也就是你在上面启动开发者模式里面的服务器地址) reponseMsg(); } } // 接收事件推送并回复 public function reponseMsg(){ //1.获取到微信推送过来post数据(xml格式) //$postArr = $GLOBALS['HTTP_RAW_POST_DATA'];//php7以上不能用 $postArr = file_get_contents("php://input"); //2.处理消息类型,并设置回复类型和内容 $postObj = simplexml_load_string( $postArr ); //$postObj->ToUserName = ''; //$postObj->FromUserName = ''; //$postObj->CreateTime = ''; //$postObj->MsgType = ''; //$postObj->Event = ''; // gh_e79a177814ed //判断该数据包是否是订阅的事件推送 if( strtolower( $postObj->MsgType) == 'event'){ //如果是关注 subscribe 事件 if( strtolower($postObj->Event == 'subscribe') ){ //回复用户消息(纯文本格式) $toUser = $postObj->FromUserName; $fromUser = $postObj->ToUserName; $time = time(); $msgType = 'text'; //$content = '欢迎关注我们的微信公众账号'.$postObj->FromUserName.'-'.$postObj->ToUserName; $content = '欢迎关注微信公众账号'; $template = "
%s
"; $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content); echo $info; } } }//reponseMsg end }//class end 四、补充说明 php7版本以上不支持 $postArr = $GLOBALS['HTTP_RAW_POST_DATA']; 的使用,改成: $postArr = file_get_contents("php://input"); php7版本以下需要使用需要开启php.ini配置文件里面的: always_populate_raw_post_data = On
来说两句吧
2085
提交评论
登录才能发表评论。
最新评论
COCAPAI
一个很酷的卡派
这里有创新的idea,这里有最酷的卡派
分类导航
精华
开源项目
活动
元编程
代码精粹
技术探讨
故事
友情链接
COCAPAI