微信自定义菜单的创建/查询/取消php示例代码
微信公众帐号服务号可以使用自定义菜单功能。之前在创建菜单时一直失败,原因是$data格式一直没有传正确,后来终于解决了。这里先记录下顺便封装了一个类,便于自定义菜单的管理。此类仅仅是自定义菜单的管理类,并未涉及微信自定义回复和菜单事件的代码。
代码如下
/** *@authorLSH2013-09-06 * *微信自定义菜单的创建|查询|取消 */ classweixinMenu{ publicstatic$appid=null;//申请得到的appid publicstatic$secret=null;//申请得到的secret publicstatic$getToken="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential"; publicstatic$createMenu="https://api.weixin.qq.com/cgi-bin/menu/create?access_token="; publicstatic$selMenu="https://api.weixin.qq.com/cgi-bin/menu/get?access_token="; publicstatic$delMenu="https://api.weixin.qq.com/cgi-bin/menu/delete?access_token="; publicstatic$opt=array( CURLOPT_SSL_VERIFYPEER=>false, CURLOPT_SSL_VERIFYHOST=>false, CURLOPT_USERAGENT=>'Mozilla/5.0(compatible;MSIE5.01;WindowsNT5.0)', CURLOPT_FOLLOWLOCATION=>1, CURLOPT_AUTOREFERER=>1, CURLOPT_RETURNTRANSFER=>true ); public$ACCESS_TOKEN=null; /** *创建菜单 */ publicfunctioncreate() { $this->token(); $strMeau='{ "button":[ { "type":"click", "name":"菜单左", "key":"V_MENU_LEFT" }, { "type":"click", "name":"菜单中", "key":"V_MENU_CENTER" }, { "type":"click", "name":"菜单右", "key":"V_MENU_RIGHT" }] }'; $ret=$this->HttpPost(self::$createMenu.$this->ACCESS_TOKEN,self::$opt,$strMeau); echo$ret; } /** *查询菜单 */ publicfunctionsel() { $this->token(); $ret=$this->HttpGet(self::$selMenu.$this->ACCESS_TOKEN,self::$opt); echo$ret; } /** *取消菜单 */ publicfunctiondel() { $this->token(); $ret=$this->HttpGet(self::$delMenu.$this->ACCESS_TOKEN,self::$opt); echo$ret; } /** *获取token */ privatefunctiontoken() { $tokenUrl=self::$getToken."&appid=".self::$appid."&secret=".self::$secret; $ret=$this->HttpGet($tokenUrl,self::$opt); $arrRet=json_decode($ret,true); $this->ACCESS_TOKEN=$arrRet['access_token']; } /** *POST模式 *@paramstring$urlpost的地址 *@paramarray$optpost选项 *@paramarray$post_datapost数据 *@returnmixed */ privatefunctionHttpPost($url,$opt=array(),$post_data) { $setopt=array( CURLOPT_HEADER=>0, CURLOPT_RETURNTRANSFER=>1, CURLOPT_URL=>$url, CURLOPT_CUSTOMREQUEST=>'POST', CURLOPT_POST=>1, CURLOPT_POSTFIELDS=>$post_data, ); if(!empty($opt)){ foreach($optas$key=>$value){ $setopt[$key]=$value; } } $curl=curl_init($url); foreach($setoptas$key=>$value){ curl_setopt($curl,$key,$value); } $responseText=curl_exec($curl); curl_close($curl); return$responseText; } /** *GET方式 *@paramstinrg$urlGET的url *@paramarray$optGET的选项 *@returnmixed */ privatefunctionHttpGet($url,$opt=array()) { $setopt=array( CURLOPT_HEADER=>0, CURLOPT_RETURNTRANSFER=>1, CURLOPT_URL=>$url ); if(!empty($opt)){ foreach($optas$key=>$value){ $setopt[$key]=$value; } } $curl=curl_init($url); foreach($setoptas$key=>$value){ curl_setopt($curl,$key,$value); } $responseText=curl_exec($curl); curl_close($curl); return$responseText; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。