微信API接口大全

微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中。

微信支付、微信红包、微信卡券、微信小店。


1. [代码]index.php    

<?php include_once 'lib.inc.php';    $wcObj = new WeChat("YOUKUIYUAN"); $wcObj->wcValid(); 


2. [代码]微信入口类    

 <?php /**  * Description of wechat  *  * @author Administrator  */class WeChat extends WxApi{   public $token = "";   //put your code here   public function __construct($token = "") {     parent::__construct();     $this->token = $token;   }      public function wcCheckSignature(){     try{       if (empty($this->token)) {         throw new Exception('TOKEN is not defined!');       }                $signature = $_GET["signature"];       $timestamp = $_GET["timestamp"];       $nonce = $_GET["nonce"];                  $token = $this->token;       $tmpArr = array($token, $timestamp, $nonce);       // use SORT_STRING rule       sort($tmpArr, SORT_STRING);       $tmpStr = implode( $tmpArr );       $tmpStr = sha1( $tmpStr );          if( $tmpStr == $signature ){           return true;       }else{           return false;       }     }      catch (Exception $e) {       echo 'Message: ' .$e->getMessage();     }   }        public function wcValid(){     $echoStr = isset($_GET["echostr"]) && !empty($_GET["echostr"]) ? addslashes($_GET["echostr"]) : NULL;     if(is_null($echoStr)){       $this->wcMsg();     }     else{       //valid signature , option       if($this->wcCheckSignature()){         echo $echoStr;         exit;       }       else{         exit();       }     }   }        public function wcMsg(){     //get post data, May be due to the different environments     $postStr = isset($GLOBALS["HTTP_RAW_POST_DATA"]) && !empty($GLOBALS["HTTP_RAW_POST_DATA"]) ? $GLOBALS["HTTP_RAW_POST_DATA"] : "";     if(!empty($postStr)){       libxml_disable_entity_loader(true);       $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);       $this->zcLog(TRUE,$postObj);                $fromUsername = $postObj->FromUserName;       $toUsername = $postObj->ToUserName;       $MsgType = $postObj->MsgType;                if($MsgType == 'event'){//执行事件相应         $Event = $postObj->Event;         switch ($Event) {           case 'subscribe'://关注             break;           case 'unsubscribe'://取消关注             break;           case 'SCAN'://扫描             break;           case 'LOCATION'://地址             break;           case 'CLICK'://点击时间             break;           case 'VIEW'://跳转             break;           case 'card_pass_check'://卡券审核通过             break;           case 'card_not_pass_check'://卡券审核失败             break;           case 'user_get_card'://用户领取卡券             break;           case 'user_del_card'://用户删除卡券             break;           case 'user_view_card'://用户浏览会员卡             break;           case 'user_consume_card'://用户核销卡券             break;           case 'merchant_order'://微小店用户下单付款             break;           default:             break;         }       }       else{         switch ($MsgType) {           case 'text'://文本格式             break;           case 'image'://图片格式             break;           case 'voice'://声音             break;           case 'video'://视频             break;           case 'shortvideo'://小视频             break;           case 'location'://上传地理位置             break;           case 'link'://链接相应             break;           default:             break;         }               }                       $keyword = trim($postObj->Content);       $time = time();       $textTpl = "                                           %s                                           0             ";              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;     }   }        //日志LOG   public function zcLog($errcode , $errmsg){     $this->returnAy = array();     $this->returnAy['errcode'] = $errcode;     $this->returnAy['errmsg'] = $errmsg;     $this->returnAy['errtime'] = date("Y-m-d H:i:s",time());     $logfile = fopen("logfile_".date("Ymd",time()).".txt", "a+");     $txt = json_encode($this->returnAy)."\n";     fwrite($logfile, $txt);     fclose($logfile);     //return $this->returnAy;   }      } 


3. [代码]微信操作类 - 更新了自定义菜单部分    

 <?php   /********************************************************    *   @author Kyler You >><&&>>>>><&>>>>>>&&>>>>>>>>>&&&&&&&&&&&>&&>>>>>>>>><&&>>>>&&&&&>&&>>>&&>>>>>&&>>>>>>>>>>>>>>


<      &redirect_uri&response_type&scope&state      >>>>





>>>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值