위 챗 사용자 정의 메뉴 생 성/조회/phop 예제 코드 취소

위 챗 공식 계 정 서비스 번 호 는 사용자 정의 메뉴 기능 을 사용 할 수 있 습 니 다.이전에 메뉴 를 만 들 때 실 패 했 습 니 다.$data 형식 이 제대로 전달 되 지 않 았 기 때문에 나중에 해결 되 었 습 니 다.메뉴 관리 에 편리 하도록 종 류 를 봉 인 했 습 니 다.이것 은 사용자 정의 메뉴 의 관리 클래스 일 뿐 위 챗 사용자 정의 답장 과 메뉴 이벤트 의 코드 는 언급 되 지 않 았 습 니 다.
코드 는 다음 과 같다.

 /**
 * @author LSH 2013-09-06 
 * 
 *           |  |  
 */
class weixinMenu {

 public static $appid = null;  //      appid

 public static $secret = null; //      secret 

 public static $getToken = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential";

 public static $createMenu = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=";

 public static $selMenu ="https://api.weixin.qq.com/cgi-bin/menu/get?access_token=";

 public static $delMenu = "https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=";

 public static $opt = array(
  CURLOPT_SSL_VERIFYPEER => false,
  CURLOPT_SSL_VERIFYHOST => false,
  CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)',
  CURLOPT_FOLLOWLOCATION => 1,
  CURLOPT_AUTOREFERER =>1,
  CURLOPT_RETURNTRANSFER => true
  );

 public $ACCESS_TOKEN = null;

 /**
 *     
 */
 public function create()
 {

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

 /**
 *     
 */
 public function sel()
 {
 $this->token();

 $ret = $this->HttpGet(self::$selMenu.$this->ACCESS_TOKEN,self::$opt);

 echo $ret;
 }

 /**
 *     
 */
 public function del()
 {
 $this->token();

 $ret = $this->HttpGet(self::$delMenu.$this->ACCESS_TOKEN,self::$opt);

 echo $ret;
 }

 /**
 *   token
 */
 private function token()
 {
 $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   
 * @param string $url    post    
 * @param array $opt    post   
 * @param array $post_data post   
 * @return mixed
 */
 private function HttpPost($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 ($opt as $key => $value) {
  $setopt[$key] = $value;
  }
 }

 $curl = curl_init($url);

 foreach ($setopt as $key => $value) {
  curl_setopt($curl, $key, $value );
 }

 $responseText = curl_exec($curl);

 curl_close($curl);

 return $responseText;
 }

 /**
 * GET   
 * @param stinrg $url GET  url
 * @param array $opt GET    
 * @return mixed 
 */
 private function HttpGet($url, $opt = array()) 
 {
 $setopt = array(
  CURLOPT_HEADER => 0,
  CURLOPT_RETURNTRANSFER => 1,
  CURLOPT_URL => $url
 );

 if ( !empty($opt) ) {
  foreach ($opt as $key => $value) {
  $setopt[$key] = $value;
  }
 }

 $curl = curl_init($url);

 foreach ($setopt as $key => $value) {
  curl_setopt($curl, $key, $value );
 }

 $responseText = curl_exec($curl);

 curl_close($curl);

 return $responseText;
 }
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기