php實現微信開發之自訂菜單

來源:互聯網
上載者:User
這篇文章主要為大家詳細介紹了php開發之自訂菜單實現代碼,具有一定的參考價值,感興趣的小夥伴們可以參考一下

編輯模式和開發模式是有衝突的。所以我們啟用公眾號的開發模式之後,那些菜單是看不到的哦。不過現在個人訂閱號是不可以使用進階開發人員模式的,如自訂菜單,不過我們還是可以通過測試號來測試一下,然後移代碼到服務號。

自訂類型包括如下:

1、click:點擊推事件
• 使用者點擊click類型按鈕後,伺服器會通過訊息介面推送訊息類型為event的結構給開發人員(參考訊息介面指南),並且帶上按鈕中開發人員填寫的key值,開發人員可以通過自訂的key值與使用者進行互動;

2、view:跳轉URL
• 使用者點擊view類型按鈕後,用戶端將會開啟開發人員在按鈕中填寫的網頁URL,可與網頁授權擷取使用者基本資料介面結合,獲得使用者基本資料。

3、scancode_push:掃碼推事件
• 使用者點擊按鈕後,用戶端將調起掃一掃工具,完成掃碼操作後顯示掃描結果(如果是URL,將進入URL),且會將掃碼的結果傳給開發人員,開發人員可以下發訊息。

4、scancode_waitmsg:掃碼推事件且彈出“訊息接收中”提示框
• 使用者點擊按鈕後,用戶端將調起掃一掃工具,完成掃碼操作後,將掃碼的結果傳給開發人員,同時收合掃一掃工具,然後彈出“訊息接收中”提示框,隨後可能會收到開發人員下發的訊息。

自訂類型包括如下:

5、pic_sysphoto:彈出系統拍照發圖使用者點擊按鈕後,用戶端將調起系統相機,完成拍照操作後,會將拍攝的相片
發送給開發人員,並推送事件給開發人員,同時收合系統相機,隨後可能會收到開發人員下發的訊息。

6、pic_photo_or_album:彈出拍照或者相簿發圖使用者點擊按鈕後,用戶端將彈出選取器供使用者選擇“拍照”或者“從手機相簿選擇”。使用者選擇後即走其他兩種流程。

7、pic_weixin:彈出相簿發圖器使用者點擊按鈕後,用戶端將調起相簿,完成選擇操作後,將選擇的相片發
送給開發人員的伺服器,並推送事件給開發人員,同時收合相簿,隨後可能會收到開發人員下發的訊息。

提供代碼,只要上傳代碼到伺服器,重新關注公眾號就可以看到開發模式下的自訂菜單

$appid = '公眾號的appid'; $appsecret = '公眾號的appsecret'; $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":"學校系統",    "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開發",      "key":"移動WEB開發"     },     {      "type":"click",      "name":"J2EE架構",      "key":"J2EE架構"     },     {      "type":"click",      "name":"Android開發",      "key":"Android開發"     },     {      "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"     }    ]   }   ]  }';    //建立菜單實現  $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;  }

以上就是本文的全部內容,希望對大家的學習有所協助。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.