中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現微信公眾平臺開發關注及取消關注事件

發布時間:2021-09-29 13:47:33 來源:億速云 閱讀:191 作者:iii 欄目:開發技術

本篇內容介紹了“如何實現微信公眾平臺開發關注及取消關注事件”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

具體分析如下:

用戶在關注與取消關注公眾號時,微信會把這個事件推送到開發者填寫的URL,方便開發者給用戶下發歡迎消息或者做帳號的解綁.

下面是一個微信公眾平臺關注和取消關注的實例,代碼如下:

復制代碼 代碼如下:

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;
  }
 }
}


代碼相關參數說明:

參數描述
ToUserName開發者微信號
FromUserName發送方帳號(一個OpenID)
CreateTime消息創建時間 (整型)
MsgType 消息類型,event
Event事件類型,subscribe(訂閱)、unsubscribe(取消訂閱)

“如何實現微信公眾平臺開發關注及取消關注事件”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

url
AI

子长县| 庄浪县| 防城港市| 蕉岭县| 阳西县| 浦江县| 云和县| 阿巴嘎旗| 安泽县| 玛多县| 武鸣县| 江山市| 绥德县| 庄河市| 苍溪县| 新宾| 富锦市| 南江县| 绵竹市| 林周县| 赞皇县| 阳高县| 卓资县| 内乡县| 荥阳市| 金溪县| 鞍山市| 康乐县| 阜康市| 营山县| 华安县| 桐乡市| 临潭县| 沙洋县| 正蓝旗| 葵青区| 依兰县| 班玛县| 黑龙江省| 师宗县| 安达市|