国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

微信公眾平臺(tái)開發(fā)關(guān)注/取消關(guān)注事件例子

2024-05-04 21:49:31
字體:
供稿:網(wǎng)友

用戶在關(guān)注與取消關(guān)注公眾號(hào)時(shí),微信會(huì)把這個(gè)事件推送到開發(fā)者填寫的URL,方便開發(fā)者給用戶下發(fā)歡迎消息或者做帳號(hào)的解綁.

下面是一個(gè)微信公眾平臺(tái)關(guān)注和取消關(guān)注的實(shí)例,代碼如下:

  1. define("TOKEN""w3note");//定義識(shí)別碼 
  2. $wechatObj = new wechatCallbackapiTest();//實(shí)例化wechatCallbackapiTest類 
  3.  
  4. if(!isset($_GET["echostr"])){ 
  5.      $wechatObj->responseMsg(); 
  6. }else
  7.  $wechatObj->valid(); 
  8. class wechatCallbackapiTest 
  9.  public function valid() 
  10.     { 
  11.         $echoStr = $_GET["echostr"]; 
  12.         
  13.         if($this->checkSignature()){ 
  14.          echo $echoStr
  15.          exit
  16.         } 
  17.     } 
  18.     public function responseMsg()//執(zhí)行接收器方法 
  19.     { 
  20.  
  21.   $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 
  22.  
  23.   if (!emptyempty($postStr)){ 
  24.                 
  25.                $postObj = simplexml_load_string($postStr'SimpleXMLElement', LIBXML_NOCDATA); 
  26.       $RX_TYPE = trim($postObj->MsgType); 
  27.       switch($RX_TYPE){ 
  28.        case "event"
  29.        $result = $this->receiveEvent($postObj); 
  30.        breadk; 
  31.       } 
  32.       echo $result
  33.   }else
  34.    echo ""
  35.    exit
  36.   } 
  37.  } 
  38.   private function receiveEvent($object){ 
  39.    $content = ""
  40.    switch ($postObj->Event){ 
  41.     case "subscribe"
  42.     $content = "歡迎關(guān)注網(wǎng)志博客";//這里是向關(guān)注者發(fā)送的提示信息 
  43.     break
  44.     case "unsubscribe"
  45.     $content = ""
  46.     break
  47.    } 
  48.    $result = $this->transmitText($object,$content); 
  49.    return $result
  50.  
  51.     } 
  52.  private function transmitText($object,$content){ 
  53.    $textTpl = "<xml> 
  54.        <ToUserName><![CDATA[%s]]></ToUserName> 
  55.        <FromUserName><![CDATA[%s]]></FromUserName> 
  56.        <CreateTime>%s</CreateTime> 
  57.        <MsgType><![CDATA[text]]></MsgType> 
  58.        <Content><![CDATA[%s]]></Content> 
  59.        <FuncFlag>0</FuncFlag> 
  60.        </xml>"; 
  61.     $result = sprintf($textTpl$object->FromUserName, $object->$ToUserName, time(), $content); 
  62.     return $result
  63.  
  64.   } 
  65.  private function checkSignature() 
  66.  { 
  67.         $signature = $_GET["signature"]; 
  68.         $timestamp = $_GET["timestamp"]; 
  69.         $nonce = $_GET["nonce"]; 
  70.           
  71.   $token = TOKEN; 
  72.   $tmpArr = array($token$timestamp$nonce); 
  73.   sort($tmpArr, SORT_STRING); 
  74.   $tmpStr = implode( $tmpArr ); 
  75.   $tmpStr = sha1( $tmpStr ); 
  76.    //開源代碼Vevb.com 
  77.   if$tmpStr == $signature ){ 
  78.    return true; 
  79.   }else
  80.    return false; 
  81.   } 
  82.  } 

代碼相關(guān)參數(shù)說明:

參數(shù) 描述

ToUserName 開發(fā)者微信號(hào)

FromUserName  發(fā)送方帳號(hào)(一個(gè)OpenID)

CreateTime  消息創(chuàng)建時(shí)間 (整型)

MsgType  消息類型,event

Event  事件類型,subscribe(訂閱)、unsubscribe(取消訂閱)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 尉犁县| 德昌县| 湖北省| 襄樊市| 建始县| 习水县| 文登市| 颍上县| 皋兰县| 河北区| 陵水| 北安市| 临洮县| 金沙县| 图们市| 普格县| 诏安县| 土默特右旗| 肇州县| 武清区| 桐乡市| 佛坪县| 怀来县| 哈巴河县| 平和县| 沙坪坝区| 扬中市| 确山县| 莆田市| 霍邱县| 加查县| 花莲县| 府谷县| 南陵县| 织金县| 吉隆县| 广元市| 冷水江市| 商丘市| 萍乡市| 平谷区|