加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP编程:微信公众平台开发关注及取消关注事件的方法

发布时间:2020-12-13 02:17:19 所属栏目:PHP教程 来源:网络整理
导读:《微信公众平台开发关注及取消关注事件的方法》要点: 本文介绍了微信公众平台开发关注及取消关注事件的方法,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解微信公众平台开发关注及取消关注事件的办法.供大家参考研究.具体分析如下: PHP

《微信公众平台开发关注及取消关注事件的方法》要点:
本文介绍了微信公众平台开发关注及取消关注事件的方法,希望对您有用。如果有疑问,可以联系我们。

本篇章节讲解微信公众平台开发关注及取消关注事件的办法.分享给大家供大家参考.具体分析如下:PHP实例

用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL,方便开发者给用户下发欢迎消息或者做帐号的解绑.PHP实例

下面是一个微信公众平台关注和取消关注的实例,代码如下:
PHP实例

代码如下:
define("TOKEN","w3note");//定义识别码
$wechatObj = new wechatCallbackapiTest();//实例化wechatCallbackapiTest类
?
if(!isset($_GET["echostr"])){
???? $wechatObj->responseMsg();
}else{
?$wechatObj->valid();
}
class wechatCallbackapiTest
{
?public function valid()
??? {
??????? $echoStr = $_GET["echostr"];
??????? if($this->checkSignature()){
???????? echo $echoStr;
???????? exit;
??????? }
??? }
??? public function responseMsg()//执行接收器办法
??? {
??? $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
??? if (!emptyempty($postStr)){
????? $postObj = simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);
????? $RX_TYPE = trim($postObj->MsgType);
????? switch($RX_TYPE){
?????? case "event":
?????? $result = $this->receiveEvent($postObj);
?????? breadk;
????? }
????? echo $result;
? }else{
?? echo "";
?? exit;
? }
?}
? private function receiveEvent($object){
?? $content = "";
?? switch ($postObj->Event){
??? case "subscribe":
??? $content = "欢迎关注网志博客";//这里是向关注者发送的提示信息
??? break;
??? case "unsubscribe":
??? $content = "";
??? break;
?? }
?? $result = $this->transmitText($object,$content);
?? return $result;
??? }
?private function transmitText($object,$content){
?? $textTpl = "<xml>
?????? <ToUserName><![CDATA[%s]]></ToUserName>
?????? <FromUserName><![CDATA[%s]]></FromUserName>
?????? <CreateTime>%s</CreateTime>
?????? <MsgType><![CDATA[text]]></MsgType>
?????? <Content><![CDATA[%s]]></Content>
?????? <FuncFlag>0</FuncFlag>
?????? </xml>";
??? $result = sprintf($textTpl,$object->FromUserName,$object->$ToUserName,time(),$content);
??? return $result;
? }
?private function checkSignature()
?{
? $signature = $_GET["signature"];
? $timestamp = $_GET["timestamp"];
? $nonce = $_GET["nonce"];
? $token = TOKEN;
? $tmpArr = array($token,$timestamp,$nonce);
? sort($tmpArr,SORT_STRING);
? $tmpStr = implode( $tmpArr );
? $tmpStr = sha1( $tmpStr );
? if( $tmpStr == $signature ){
?? return true;
? }else{
?? return false;
? }
?}
}

代码相关参数说明:

欢迎参与《微信公众平台开发关注及取消关注事件的方法》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读