PHP编程:微信公众平台开发关注及取消关注事件的方法
发布时间:2020-12-13 02:17:19 所属栏目:PHP教程 来源:网络整理
导读:《微信公众平台开发关注及取消关注事件的方法》要点: 本文介绍了微信公众平台开发关注及取消关注事件的方法,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解微信公众平台开发关注及取消关注事件的办法.供大家参考研究.具体分析如下: PHP
《微信公众平台开发关注及取消关注事件的方法》要点: 本篇章节讲解微信公众平台开发关注及取消关注事件的办法.分享给大家供大家参考.具体分析如下:PHP实例 用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL,方便开发者给用户下发欢迎消息或者做帐号的解绑.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为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |