微信接入开发者模式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q541181500/article/details/79212387

开发模式接入代码

<?php

   define("TOKEN", "hijim");
  $wechatObj = new wechatCallbackapiTest();
  $wechatObj->valid();
  $wechatObj->responseMsg();
  class wechatCallbackapiTest
  {
      public function valid()
      {
          $echoStr = $_GET["echostr"];
          if($this->checkSignature()){
              echo $echoStr;
              exit;
          }
      }


  public function responseMsg()  
      {
          $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
          if (!empty($postStr)){
                 libxml_disable_entity_loader(true);
                    $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                  $fromUsername = $postObj->FromUserName;
                  $toUsername = $postObj->ToUserName;
                  $keyword = trim($postObj->Content);
                  $time = time();
                  $textTpl = "<xml>
                              <ToUserName><![CDATA[%s]]></ToUserName>
                              <FromUserName><![CDATA[%s]]></FromUserName>
                              <CreateTime>%s</CreateTime>
                              <MsgType><![CDATA[%s]]></MsgType>
                              <Content><![CDATA[%s]]></Content>
                              <FuncFlag>0</FuncFlag>
                              </xml>";   
                  if(!empty( $keyword ))
                  {
                        $msgType = "text";
                      $contentStr = "Welcome to wechat world!";
                      $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                      echo $resultStr;
                  }
                  else{
                      echo "Input something...";
                  }
  
          }else {
              echo "";
              exit;
          }
      }
      
      private function checkSignature()
      {
          if (!defined("TOKEN")) {
              throw new Exception('TOKEN is not defined!');
          }
          $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;
         }
     }
 }
 
?>

猜你喜欢

转载自blog.csdn.net/q541181500/article/details/79212387