一如既往的,關於微信公眾平台的開發,不算出自大牛的代碼,但是簡單易懂適合剛入門的朋友。
<?php
header("Content-type: text/html; charset=utf-8");
define("ACCESS_TOKEN", 'NYD-0s6f4yBJecqJ6QAiH7Nivh_gnWhbjs5vY1BZ9zViZAkYfw0QL5cO5ILK7lS3BkUCUrwqlDqzU9OVMaDO44Vuju7ZhXjdpJk8PxHgNf7cTs7rp6dvm-KJSkdiufqbL5niZwHM0uWJVi0mnSLGZg');
//創建菜單
function createMenu($data){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".ACCESS_TOKEN);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$tmpInfo = curl_exec($ch);
if (curl_errno($ch)) {
return curl_error($ch);
}
curl_close($ch);
return $tmpInfo;
}
$data = ' {
"button":[
{
"name":"時訊",
"sub_button":[
{
"type":"click",
"name":"即時新聞",
"key":"jsxw"
},
{
"type":"click",
"name":"財經早餐",
"key":"cjzc"
},
{
"type":"click",
"name":"焦點話題",
"key":"jdht"
},
{
"type":"view",
"name":"財經日歷",
"url":"http://stock1.sina.cn/dpool/stockv2/universal_calendar.php?vt=4"
}]
},
{
"name":"說市",
"sub_button":[
{
"type":"click",
"name":"今日看盤",
"key":"jrkp"
},
{
"type":"view",
"name":"行情刷新",
"url":"http://XX/index.php/market/index"
},
{
"type":"click",
"name":"交易策略",
"key":"jycl"
},
{
"type":"click",
"name":"投資天地",
"key":"tztd"
},
{
"type":"click",
"name":"投資文庫",
"key":"tzwk"
}]
},
{
"name":"北鼎在線",
"sub_button":[
{
"type":"view",
"name":"關於我們",
"url":"http://www.index.php/article/index/id/114"
},
{
"type":"view",
"name":"最新活動",
"url":"http://www.index.php/article/index/id/115"
},
{
"type":"view",
"name":"參與爆料",
"url":"http://www.index.php/message"
}
]
}
]
}';
echo createMenu($data);//創建菜單
?>
如代碼所示,菜單有兩種,一種是直接跳轉到URL頁面,即view;另一種,是發送指令,即click,說白了就是在客戶端輔助用戶的,可以看成一鍵發關鍵詞。第一種很好做,填寫好URL就完事了,用戶點擊菜單按鈕,然后跳轉到你填寫的URL地址,缺點是URL地址不變,不夠靈活。另一種就是發送指令,可以在公眾賬號接口開發(注意跟自定義菜單區別開)的時候,判斷指令的內容,靈活處理並且動態輸出不同的數據。