青青草国产精品欧美成人|国产色在线|亚洲欧洲日产韩国无码|japanese厨房乱xxx|91精品国产福利尤物

PHP原生微信公眾號開發(fā)之自定義菜單網站源碼的實現分享
作者:admin | 時間:2018-07-11 09:53:54
打算開發(fā)微網站自定義菜單,搜索網上都是一些寫死的例子,作為多用戶網站管理系統(tǒng)“巔云建站系統(tǒng)”就需要根據不同用戶設置生成不同的公眾號菜單,包括一二級菜單,微網站開發(fā)中自定義菜單實現其實很簡單,我們把我在我司“巔云智能建站系統(tǒng)”開發(fā)中的實現原理分享出來,希望對新手小白開發(fā)自定義菜單有幫助。由于是多用戶系統(tǒng),當然比普通開發(fā)要多出獲取用戶的步驟。當然如果你也是網站建設從業(yè)者可以購買我司的建站系統(tǒng)平臺版,可二次開發(fā)。詳情登陸:http://www.yx10011.com/design/#websites-taocan 1880元起(單用戶),多用戶版(8000元,自助建站平臺)<?php//前三行為巔云專用引入基礎配置代碼session_start();require_once("../common/common.php");$web=get_web();//獲取當前網站用戶名//數據庫連接代碼$con=mysql_connect(DB_SERVER,DB_LOGIN,DB_PW) or die("Unable to connect to the MySQL!");$db = mysql_select_db(DB_NAME,$con);//據不同網站讀取數據庫微信配置。$sql = "select * from wx_config where  user='$web' ";$rs  = mysql_query($sql);while($row_p=mysql_fetch_assoc($rs)){$appid=$row_p['appid'];$appsecret= $row_p['appsecret']; }////////////判斷是不是網址,后邊組裝菜單JOSON 數據時用,如果是"key":"關鍵詞" 否則 "url":"網址"function check_url($url){    if(!preg_match('/http:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is',$url)){        return false;    }    return true;} ///////////引入沒有設置par_type(父級ID)限制三個一級菜單$sqlmenu = "select * from wx_menu where par_type='' and  user='$web' limit 3";$rsmenu  = mysql_query($sqlmenu);$rowNum = mysql_num_rows($rsmenu);//實際數量 $jsonmenu  = '{"button":[';//菜單頭//兩個記數器,一二級while循環(huán)自增,當循環(huán)次數等于實際數量時去除“,”號,限如果分別是一級菜單和每個一級菜單最后一個時不需要","號分隔了。 $counter = 0;  $counter2 = 0;//循環(huán)一級菜單while($row_menu=mysql_fetch_assoc($rsmenu)){//while$counter = $counter + 1;//查詢是否有二級菜單$sqlmenu2 = "select * from wx_menu where par_type={$row_menu['id']} and  user='$web' limit 5";$rsmenu2  = mysql_query($sqlmenu2);$rowNum2 = mysql_num_rows($rsmenu2);$jsonmenu.='{';$jsonmenu.='"name":"'.$row_menu['name'].'",';if(!$rowNum2){if($row_menu['type']){$jsonmenu.='"type":"'.$row_menu['type'].'",';}if($row_menu['Key_url']){	$isurl=check_url($row_menu['Key_url']);if($isurl){   $keyt="url";}else{   $keyt='key';}if($rowNum2){$jsonmenu.='"'.$keyt.'":"'.$row_menu['Key_url'].'",';}else{$jsonmenu.='"'.$keyt.'":"'.$row_menu['Key_url'].'"';}}}if($rowNum2){$jsonmenu.='"sub_button":[';}while($row_menu2=mysql_fetch_assoc($rsmenu2)){//while$counter2 = $counter2 + 1;$jsonmenu.='{';$jsonmenu.='"name":"'.$row_menu2['name'].'",';if($row_menu2['type']){$jsonmenu.='"type":"'.$row_menu2['type'].'",';}if($row_menu2['Key_url']){	$isurl2=check_url($row_menu2['Key_url']);if($isurl2){   $keyt2="url";}else{   $keyt2='key';}$jsonmenu.='"'.$keyt2.'":"'.$row_menu2['Key_url'].'"';} if ($counter2 < $rowNum2){ $jsonmenu.='},'; } else{$jsonmenu.='}'; }}//whileoverif($rowNum2){$jsonmenu.=']';} if ($counter < $rowNum){ $jsonmenu.='},'; } else{$jsonmenu.='}'; }}//whileover $jsonmenu.= ']}';//menu createecho $jsonmenu;//創(chuàng)建菜單$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret=$appsecret"; $output = https_request($url); $jsoninfo = json_decode($output,true); $access_token=$jsoninfo["access_token"]; /*$jsonmenu = '{   "button":[   {    "name":"學校系統(tǒng)",    "sub_button":[     {      "type":"click",      "name":"課程表",      "key":"課程表"    },     {      "type":"click",      "name":"個人信息",      "key":"個人信息"    },     {      "type":"click",      "name":"平時成績",      "key":"平時成績"    },     {      "type":"click",      "name":"獎懲記錄",      "key":"獎懲記錄"    }    ]   },   {    "name":"技術分享",    "sub_button":[     {      "type":"click",      "name":"移動WEB開發(fā)",      "key":"移動WEB開發(fā)"    },     {      "type":"click",      "name":"J2EE框架",      "key":"J2EE框架"    },     {      "type":"click",      "name":"Android開發(fā)",      "key":"Android開發(fā)"    },     {      "type":"click",      "name":"PHP框架",      "key":"PHP框架"    }    ]   },{    "name":"技術支持",    "sub_button":[     {      "type":"click",      "name":"在線客服",      "key":"在線客服"    },     {      "type":"click",      "name":"技術分享",      "key":"技術分享"    },     {      "type":"view",      "name":"天氣預報",      "url":"http://m.hao123.com/a/tianqi"    }    ]   }  ]  }';   */ //創(chuàng)建菜單實現  $url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$access_token;  $result = https_request($url,$jsonmenu);  var_dump($result);  function https_request($url,$data = null){   $curl = curl_init();   curl_setopt($curl,CURLOPT_URL,$url);   curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);   curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);   if(!empty($data)){    curl_setopt($curl,CURLOPT_POST,1);    curl_setopt($curl,CURLOPT_POSTFIELDS,$data);   }   curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);   $output = curl_exec($curl);   curl_close($curl);   return $output;  }?>


文章內容