In diesem Artikel wird hauptsächlich der benutzerdefinierte Menü-Implementierungscode für die PHP-WeChat-Entwicklung vorgestellt.
Es gibt Konflikte zwischen dem Bearbeitungsmodus und dem Entwicklungsmodus. Nachdem wir den Entwicklungsmodus des offiziellen WeChat-Kontos aktiviert haben, sind diese Menüs nicht mehr sichtbar. Persönliche Abonnementkonten können den erweiterten Entwicklermodus, wie z. B. benutzerdefinierte Menüs, jetzt jedoch nicht mehr nutzen. Wir können ihn jedoch weiterhin über ein Testkonto testen und den Code dann in das Dienstkonto verschieben.
Benutzerdefinierte Typen umfassen Folgendes:
1. Klick: Klick-Push-Ereignis
• Nachdem der Benutzer auf die Schaltfläche „Klicktyp“ geklickt hat, wird der WeChat-Server angezeigt sendet eine Nachricht. Die Schnittstelle sendet die Ereignisstruktur des Nachrichtentyps an den Entwickler (siehe Handbuch zur Nachrichtenschnittstelle) und bringt den vom Entwickler eingegebenen Schlüsselwert in die Schaltfläche. Der Entwickler kann über den benutzerdefinierten Schlüsselwert mit dem Benutzer interagieren ;
2. Ansicht: Sprung-URL
• Nachdem der Benutzer auf die Schaltfläche „Ansichtstyp“ geklickt hat, öffnet der WeChat-Client die vom Entwickler eingegebene Webseiten-URL Schaltfläche, die mit der Webseitenautorisierung verwendet werden kann, um grundlegende Benutzerinformationen abzurufen. Kombination von Informationsschnittstellen, um grundlegende Benutzerinformationen zu erhalten.
3. scancode_push: Scan-Code-Push-Ereignis
• Nachdem der Benutzer auf die Schaltfläche geklickt hat, startet der WeChat-Client das Scan-Tool und der Scan wird anschließend angezeigt Abschluss des Scanvorgangs (wenn es sich um eine URL handelt, wird die URL eingegeben) und das Ergebnis des Scanvorgangs werden an den Entwickler gesendet, der eine Nachricht senden kann.
4. scancode_waitmsg: Scannen Sie den Code, um das Ereignis zu pushen, und öffnen Sie das Eingabeaufforderungsfeld „Nachrichtenempfang“.
• Nachdem der Benutzer auf die Schaltfläche geklickt hat, wird der WeChat-Client angezeigt startet das Scan-Code-Tool. Nach Abschluss des QR-Code-Scanvorgangs wird das Ergebnis des QR-Code-Scans an den Entwickler gesendet. Gleichzeitig wird das Scan-Tool weggelegt und das Eingabeaufforderungsfeld „Nachrichtenempfang“ angezeigt wird angezeigt, und dann wird möglicherweise eine Nachricht vom Entwickler empfangen.
Benutzerdefinierte Typen umfassen Folgendes:
5. pic_sysphoto: Nachdem der Benutzer auf die Schaltfläche geklickt hat, wird das System angezeigt Der WeChat-Client ruft die Systemkamera auf, sendet das aufgenommene Foto
an den Entwickler und sendet gleichzeitig das Ereignis. Möglicherweise erhalten Sie dann eine E-Mail vom Entwickler.
6. pic_photo_or_album: Nachdem der Benutzer auf die Schaltfläche geklickt hat, wird ein Popup angezeigt, in dem Sie ein Foto aufnehmen oder an ein Album senden können , öffnet der WeChat-Client eine Auswahl, in der der Benutzer „Foto machen“ oder „Aus Handyalbum auswählen“ auswählen kann. Nachdem der Benutzer ausgewählt hat, durchläuft er die beiden anderen Prozesse.
7. pic_weixin: Nachdem der Absender des WeChat-Fotoalbums angezeigt wird und der Benutzer auf die Schaltfläche klickt, ruft der WeChat-Client das WeChat-Fotoalbum auf . Nachdem Sie den Auswahlvorgang abgeschlossen haben, senden Sie die ausgewählten Fotos
an den Server des Entwicklers, senden Sie das Ereignis an den Entwickler und schließen Sie das Album. Möglicherweise erhalten Sie später Nachrichten vom Entwickler.
Geben Sie den Code ein. Laden Sie den Code einfach auf den Server hoch und folgen Sie dem offiziellen Konto erneut, um das benutzerdefinierte Menü im Entwicklungsmodus anzuzeigen
$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; }
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.
Verwandte Empfehlungen:
Zusammenfassung praktischer regulärer Ausdrücke in PHP
Methoden für PHP zur Implementierung von Ausnahmebehandlungsklassen
Das obige ist der detaillierte Inhalt vonPHP implementiert ein benutzerdefiniertes Menü für die WeChat-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!