欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

微信通过数据库创建菜单

程序员文章站 2022-04-15 13:02:28
...

1. [文件] menuCreate.php

<?php
/**
 * 微信公众平台-自定义菜单功能开发源代码
 * ================================
 * Copy 2013-2014 David Tang
 * http://www.php.cn/
 * ================================
 * Author:
 * 个人微信:mchina_tang
 * 公众微信:博士伦订阅号菜单
 * Date:2013-08-25
 */
header('Content-Type: text/html; charset=UTF-8');

$APPID="######";
$APPSECRET="######";
  
/////$TOKEN_URL="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx34c6e7c75afa2749&secret=88388ddeb5b9f523f562cb161699912c";
$TOKEN_URL="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$APPID."&secret=".$APPSECRET;

$json=file_get_contents($TOKEN_URL);
$result=json_decode($json,true);

$ACC_TOKEN= $result['access_token'];

require_once("wx-config.php");
$sql="select MsgType,Content,Location,KeyWords from menumsg order by Location";
$result = mysql_query($sql,$dbh);

$menuArray = array();
while($row = mysql_fetch_array($result)){
	$menuArray[$row["Location"]][0]= $row["KeyWords"];
	$menuArray[$row["Location"]][1]= $row["MsgType"];
	$menuArray[$row["Location"]][2]= $row["Content"];
}
$data='{
     "button":[
     {	
          "name":"'.$menuArray[1][0].'",
          "sub_button":[';
	   if(!empty($menuArray[11][0])){
	   	  if($menuArray[11][1]=='click'){
		   $data .='
		    {
               "type":"'.$menuArray[11][1].'",
               "name":"'.$menuArray[11][0].'",
               "key":"V1001_Product011"
            },';
          }else{
             $data .='
		     {
               "view":"'.$menuArray[11][1].'",
               "name":"'.$menuArray[11][0].'",
               "url":"'.$menuArray[11][2].'"
              },';
          }
        }
        if(!empty($menuArray[12][0])){	  
        	if($menuArray[12][1]=='click'){
			$data.='
			{
			   "type":"'.$menuArray[12][1].'",
	           "name":"'.$menuArray[12][0].'",
	           "key":"V1001_Product012"
	         },';
	        }else{
	       	 $data .='
		        {
	               "view":"'.$menuArray[12][1].'",
	               "name":"'.$menuArray[12][0].'",
	               "url":"'.$menuArray[12][2].'"
	           	},';
	         }
         }
         if(!empty($menuArray[13][0])){
         	 if($menuArray[13][1]=='click'){
		      $data .='
		      	{
	               "type":"'.$menuArray[13][1].'",
	               "name":"'.$menuArray[13][0].'",
	               "key":"V1001_Product013"
	            },';
              }else{
	              $data .='
		   		{
	               "view":"'.$menuArray[13][1].'",
	               "name":"'.$menuArray[13][0].'",
	               "url":"'.$menuArray[13][2].'"
	           },';
              }            
          }
          if(!empty($menuArray[14][0])){
          	 if($menuArray[14][1]=='click'){
	            $data .='
	         {
	               "type":"'.$menuArray[14][1].'",
	               "name":"'.$menuArray[14][0].'",
	               "key":"V1001_Product014"
	            },';
	         }else{
	         	$data .='
		  		{
	               "view":"'.$menuArray[14][1].'",
	               "name":"'.$menuArray[14][0].'",
	               "url":"'.$menuArray[14][2].'"
		         },';
	         }
          }
          if(!empty($menuArray[15][0])){
          	  if($menuArray[15][1]=='click'){
	          	 $data .='
	          	 {
	               "type":"'.$menuArray[15][1].'",
	               "name":"'.$menuArray[15][0].'",
	               "key":"V1001_Product015"
	             }';
              }else{
              	$data .='
		  		{
	               "view":"'.$menuArray[15][1].'",
	               "name":"'.$menuArray[15][0].'",
	               "url":"'.$menuArray[15][2].'"
		         },';        
              }    
          }
           $data .=']
      },
      {
            "name":"'.$menuArray[2][0].'",
            "sub_button":[
        ';
        if(!empty($menuArray[21][0])){
         	if($menuArray[21][1]=='click'){	
	          $data .='  
	           { 
	           	   "type":"'.$menuArray[21][1].'",
	               "name":"'.$menuArray[21][0].'",
	               "key":"V1001_Personal021"  
	           },';
	        }else{
	       	   $data .='
		  		{
	               "view":"'.$menuArray[21][1].'",
	               "name":"'.$menuArray[21][0].'",
	               "url":"'.$menuArray[21][2].'"
		         },';
	        } 	   
        } 
        if(!empty($menuArray[22][0])){
        	if($menuArray[22][1]=='click'){	
	        	$data .='
	        	{ 
	               "type":"'.$menuArray[22][1].'",
	               "name":"'.$menuArray[22][0].'",
	               "key":"V1001_Personal022"
	            },';
           }else{
	       	   $data .='
		  		{
	               "view":"'.$menuArray[22][1].'",
	               "name":"'.$menuArray[22][0].'",
	               "url":"'.$menuArray[22][2].'"
		         },';
	        }   
        }
        if(!empty($menuArray[23][0])){
        	if($menuArray[23][1]=='click'){		
	            $data .='
	        	{
	               "type":"'.$menuArray[23][1].'",
	               "name":"'.$menuArray[23][0].'",
	               "key":"V1001_Personal023"
	            },';
           }else{
	       	   $data .='
		  		{
	               "view":"'.$menuArray[23][1].'",
	               "name":"'.$menuArray[23][0].'",
	               "url":"'.$menuArray[23][2].'"
		         },';
	        }
        }
        if(!empty($menuArray[24][0])){
        	if($menuArray[24][1]=='click'){	
	           $data .='	     	   
            {
               "type":"'.$menuArray[24][1].'",
               "name":"'.$menuArray[24][0].'",
               "key":"V1001_Personal024"
            },';
            }else{
	       	   $data .='
	  		{
               "view":"'.$menuArray[24][1].'",
               "name":"'.$menuArray[24][0].'",
               "url":"'.$menuArray[24][2].'"
	         },';
	        }
        }
        if(!empty($menuArray[25][0])){
        	if($menuArray[25][1]=='click'){	
	        	$data .='
            {
               "type":"'.$menuArray[25][1].'",
               "name":"'.$menuArray[25][0].'",
               "key":"V1001_Personal025"
            }';
            }else{
	       	   $data .='
	  		{
               "view":"'.$menuArray[25][1].'",
               "name":"'.$menuArray[25][0].'",
               "url":"'.$menuArray[25][2].'"
	        }';
	        }
        }
        $data .=']
      },
      {
           "name":"'.$menuArray[3][0].'",
           "sub_button":[';
         if(!empty($menuArray[31][0])){
         	 if($menuArray[31][1]=='click'){	
	          	$data .='  	
	            {
	               "type":"'.$menuArray[31][1].'",
	               "name":"'.$menuArray[31][0].'",
	               "key":"V1001_Activity031"
	            },';
            }else{
	       	   $data .='
		  		{
	               "view":"'.$menuArray[31][1].'",
	               "name":"'.$menuArray[31][0].'",
	               "url":"'.$menuArray[31][2].'"
		        }';
	        }
         }
         if(!empty($menuArray[32][0])){
         	 if($menuArray[32][1]=='click'){
	         	$data .='
	            {
	               "type":"'.$menuArray[32][1].'",
	               "name":"'.$menuArray[32][0].'",
	               "key":"V1001_Activity032"
	            },';
            }else{
	       	   $data .='
		  		{
	               "view":"'.$menuArray[32][1].'",
	               "name":"'.$menuArray[32][0].'",
	               "url":"'.$menuArray[32][2].'"
		        }';
	        }
         }
      if(!empty($menuArray[33][0])){
        if($menuArray[33][1]=='click'){
	       	$data .='
            {
               "type":"'.$menuArray[33][1].'",
               "name":"'.$menuArray[33][0].'",
               "key":"V1001_Activity033"
            },';
        }else{
	        $data .='
	  		{
               "view":"'.$menuArray[33][1].'",
               "name":"'.$menuArray[33][0].'",
               "url":"'.$menuArray[33][2].'"
	        }';
	    }
       }
      if(!empty($menuArray[34][0])){
      	  if($menuArray[34][1]=='click'){
         	$data .='
            {
               "type":"'.$menuArray[34][1].'",
               "name":"'.$menuArray[34][0].'",
               "key":"V1001_Activity034"
            },';
          }else{
	        $data .='
	  		{
               "view":"'.$menuArray[34][1].'",
               "name":"'.$menuArray[34][0].'",
               "url":"'.$menuArray[34][2].'"
	        }';
	    }
      }
      if(!empty($menuArray[35][0])){
      	 if($menuArray[35][1]=='click'){
         	$data .='
            {
               "type":"'.$menuArray[35][1].'",
               "name":"'.$menuArray[35][0].'",
               "key":"V1001_Activity035"
            }';
          }else{
	        $data .='
	  		{
               "view":"'.$menuArray[35][1].'",
               "name":"'.$menuArray[35][0].'",
               "url":"'.$menuArray[35][2].'"
	        }';
	     }
       }
         $data .='
           ]
       }]
    }';
 
//echo "<pre>";
//echo $data;
///echo "</pre>";

$MENU_URL= "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$ACC_TOKEN;

$ch = curl_init($MENU_URL);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length:'.strlen($data)));

$info = curl_exec($ch);
//创建成功返回:{"errcode":0,"errmsg":"ok"}
$menu = json_decode($info);

var_dump($menu);
/*
if($menu->errmsg == "ok"){
	echo "菜单创建成功";
}else{
	echo "菜单创建失败";
}
*/
?>