//1、配置微信公众平台URL

//配置微信平台URL
public function weixinURL(){//将timestamp,nonce,token按字典排序$timestamp =$_GET['timestamp'];$nonce     =$_GET['nonce'];$echostr   =$_GET['echostr'];$token     ='weixin';$signature =$_GET['signature'];$array     =array($timestamp,$nonce,$token); sort($array);//将排序后的三个参数拼接之后用sha1加密$tmpstr=sha1(implode($array));//将加密后的字符串与signature进行对比,判断该请求是否来自微信if($tmpstr==$signature && $echostr){echo $echostr;exit();}else{$this->reponseMsg();}}//关注时回复public function reponseMsg(){//查询微信推送消息内容$rootM=D('wechatconfig');$where['id']=1;$res=$rootM->where($where)->find();//1.获取微信推送过来的post数据(xml格式)$postArr=file_get_contents("php://input");//2.处理消息类型,并设置回复类型和内容$postObj=simplexml_load_string($postArr);//判断该数据包是否是订阅的事件推送//关注时回复if(strtolower($postObj->MsgType=='event')){//如果是关注subscribe事件if(strtolower($postObj->Event=='subscribe')){//回复用户消息$toUser=$postObj->FromUserName;$fromUser=$postObj->ToUserName;$time=time();$msgType='text';$answerM=D('answer');$whereM['id']=1;$resultM=$answerM->where($whereM)->find();$content=array(array('title'=>$resultM['answer_name'],'description'=>$resultM['answer_charact'],'picUrl'=>$res['domain_name'].'/'.$resultM['answer_img'],'url'=>$resultM['answer_url'],), );$template="<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><ArticleCount>1</ArticleCount><Articles>";foreach ($content as $k=>$v) {$template.="<item><Title><![CDATA[".$v['title']."]]></Title><Description><![CDATA[".$v['description']."]]></Description><PicUrl><![CDATA[".$v['picUrl']."]]></PicUrl><Url><![CDATA[".$v['url']."]]></Url></item>";}$template.="</Articles></xml>";echo sprintf($template,$toUser,$fromUser,$time,'news');}}//点击回复图文if(strtolower($postObj->Event)=='click'){if($postObj->EventKey==$postObj->EventKey){$titleaa=$postObj->EventKey;$whereaa['t_explain']=strtolower($titleaa);$imgtextM=D('imgtext');$result=$imgtextM->where($whereaa)->find();$fromUser=$postObj->ToUserName;$toUser=$postObj->FromUserName;$time=time();if($result['t_explain']==$postObj->EventKey){if($result['t_url']==""){$arr=array(array('title'=>$result['t_title'],'description'=>$result['t_synopsis'],'picUrl'=>$res['domain_name'].'/'.$result['t_img'],'url'=>$res['domain_name'].'/index.php/index/imgtext/id/'.$result['id'],), );}else{$arr=array(array('title'=>$result['t_title'],'description'=>$result['t_synopsis'],'picUrl'=>$res['domain_name'].'/'.$result['t_img'],'url'=>$result['t_url'],), );}$template="<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><ArticleCount>1</ArticleCount><Articles>";foreach ($arr as $k=>$v) {$template.="<item><Title><![CDATA[".$v['title']."]]></Title><Description><![CDATA[".$v['description']."]]></Description><PicUrl><![CDATA[".$v['picUrl']."]]></PicUrl><Url><![CDATA[".$v['url']."]]></Url></item>";}$template.="</Articles></xml>";echo sprintf($template,$toUser,$fromUser,$time,'news');}else{$toUser=$postObj->FromUserName;$fromUser=$postObj->ToUserName;$time=time();$msgType='text';$content='没有设置回复';$template="<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content></xml>";$info=sprintf($template,$toUser,$fromUser,$time,$msgType,$content);echo $info;}}}            }

配置微信公众平台URL关注时自动回复相关推荐

  1. 微信不会把关注取消事件推送给服务器,微信公众平台开发关注及取消关注事件的方法...

    微信公众平台开发关注及取消关注事件的方法,微信,公众,平台,开发,关注,及,取消,事件,的 微信公众平台开发关注及取消关注事件的方法 易采站长站,站长之家为您整理了微信公众平台开发关注及取消关注事件的 ...

  2. php公众号开发关注事件推送图文_PHP_微信公众平台开发关注及取消关注事件的方法,本文实例讲述了微信公众平台 - phpStudy...

    微信公众平台开发关注及取消关注事件的方法 本文实例讲述了微信公众平台开发关注及取消关注事件的方法.分享给大家供大家参考.具体分析如下: 用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的 ...

  3. 【微信公众平台】 之 消息自动回复

    这篇就来实现我们微信公众平台的第一个功能:消息自动回复. 虽然之前已经通过了前面的开发者验证,但是我们的微信公众平台仍然不会自动回复消息. 为什么呢?原因就在于自动回复消息的功能并没有"打开 ...

  4. php关注 取消关注事件,微信公众平台开发关注/取消关注事件例子

    用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL.方便开发者给用户下发欢迎消息或者做帐号的解绑 下面是一个微信公众平台关注和取消关注的实例:responseMsg(); } el ...

  5. 微信公众号添加关注后自动回复图文信息(素材)

    公众号在被添加关注后其实不仅可以回复单纯的文字,还有一个效果更好的方式是直接回复图文,在图文信息中传达你的感谢和说明一些公众号的情况.那么微信公众号添加关注后怎么自动回复图文信息?下面小编就为大家介绍 ...

  6. 微信公众号添加关注后自动回复图文信息

    登录到微信公众号的后台后,在左侧找到自动回复的按钮,并点击进入.如果只是想在公众号被关注后自动推送纯文字不含图片的的信息的话,直接在右侧被添加自动回复一项下面设置就可以了.如果希望回复的是图文信息,那 ...

  7. 微信公众号开发--关注后自动回复(Java记录篇)

    转载自 http://blog.csdn.net/lyq8479/article/details/8944988 访问我的个人博客 秋码个人博客 文中所用到的jar dom4j XStream的jar ...

  8. 【玩转微信公众平台之九】 第一个功能:消息自动回复

    这篇就来实现我们微信公众平台的第一个功能:消息自动回复. ------------- 虽然之前已经通过了前面的开发者验证,但是我们的微信公众平台仍然不会自动回复消息.为什么呢? 原因就在于自动回复消息 ...

  9. 海外微信公众号被关注后不能自动回复消息的解决方案

    海外版微信 有过相关业务联系的人或许知道,微信公众平台存在两个版本:国内版和海外版.而这两个版本的功能是不一样的.看看对比图,海外版连最基本的 "被关注回复" 和 "收到 ...

最新文章

  1. 原 记录一下iOS开发中琐碎的点点_6
  2. linux mysql解锁账号密码忘了怎么办,linux下mysql忘记密码怎么办
  3. 新书预告:《Linux 多线程服务端编程——使用 muduo C++ 网络库》
  4. [转]获取Setup文件的运行路径
  5. 日常使用计算机工具软件,计算机常用工具软件的使用.doc
  6. 【线性回归】面向新手的基础知识
  7. 用计算机算出鞋子的鞋码,【鞋子尺码对照】鞋子尺码怎么算_鞋子尺码怎么量 - 妈妈网百科...
  8. Python---爬虫案例
  9. 59-混沌操作法感悟2.(2015.2.25)
  10. Android 系统(257)---Launcher显示未读通知的数量
  11. python从语音生成语谱图
  12. 什么是领域模型(domain model)?贫血模型(anaemic domain model) 和充血模型(rich domain model)有什么区别...
  13. 高通芯片(Android)恢复\编辑\备份 imei(nv信息)工具及步骤
  14. 江苏2021高考成绩查询全省排名,2021江苏省地区高考成绩排名查询,江苏省高考各高中成绩喜报榜单...
  15. 处理vue项目中使用es6模板字符串中\n换行问题
  16. 中国大学慕课第9周测验
  17. ML笔记:预训练(pre-training/trained)与微调(fine tuning)
  18. 什么是云备份,如何在教育行业正确使用云备份?
  19. 速学计算机,新手电脑配置速成学习
  20. 微信小程序 canvas 笑脸

热门文章

  1. Android Kitchen简单精简C8650官方ROM
  2. 注意了:这4种情况下,员工主动辞职,单位也须支付经济补偿
  3. 面试的努力!只为简历上吹过的牛逼……
  4. 计算机考证说的剪贴画
  5. 计算机考研专业课复习资料,考研计算机专业课复习重点归纳
  6. 学习笔记——mysql数据库(四)
  7. 前端CSS引入外部字体
  8. 机器人布里茨说什么_英雄联盟:你所不知道的蒸汽机器人,布里茨的背景故事...
  9. java开发手册泰山版阿里巴巴_阿里巴巴Java开发手册(泰山版)个人阅读精简
  10. 谷歌眼镜秀出时尚风采:对面的女孩看过来