Maison  >  Article  >  développement back-end  >  PHP implémente un menu personnalisé pour le développement de WeChat

PHP implémente un menu personnalisé pour le développement de WeChat

墨辰丷
墨辰丷original
2018-05-30 16:24:112184parcourir

Cet article présente principalement en détail le code d'implémentation du menu personnalisé du développement PHP WeChat. Il a une certaine valeur de référence. Les amis intéressés peuvent se référer à

Il existe un mode d'édition et un mode de développement en conflit. Ainsi, après avoir activé le mode développement du compte officiel WeChat, ces menus ne sont plus visibles. Cependant, les comptes d'abonnement personnels ne peuvent désormais pas utiliser le mode développeur avancé, tel que les menus personnalisés, mais nous pouvons toujours le tester via un compte de test, puis déplacer le code vers le compte de service.

Les types personnalisés incluent les éléments suivants :

1. clic : événement push de clic
• Une fois que l'utilisateur a cliqué sur le bouton de type de clic, le serveur WeChat enverra un message L'interface transmet la structure d'événement de type message au développeur (voir le Guide de l'interface de message) et apporte la valeur clé renseignée par le développeur dans le bouton. Le développeur peut interagir avec l'utilisateur via la valeur clé personnalisée. ;

2. Vue : URL de saut
• Une fois que l'utilisateur a cliqué sur le bouton de type d'affichage, le client WeChat ouvrira l'URL de la page Web renseignée par le développeur dans le champ. bouton, qui peut être utilisé avec l'autorisation de la page Web pour obtenir les informations de base de l'utilisateur. Combinaison d'interfaces d'informations pour obtenir des informations de base sur l'utilisateur.

3. scancode_push : événement push de code de numérisation
• Une fois que l'utilisateur a cliqué sur le bouton, le client WeChat lancera l'outil d'analyse et l'analyse sera affichée après terminer l'opération d'analyse. Le résultat (s'il s'agit d'une URL, il entrera l'URL), et le résultat de l'analyse du code sera envoyé au développeur, qui pourra envoyer un message.

4. scancode_waitmsg : Scannez le code pour transmettre l'événement et affichez la boîte de dialogue "Réception de message"
• Une fois que l'utilisateur a cliqué sur le bouton, le client WeChat lancera l'outil de numérisation du code, après avoir terminé l'opération de numérisation du code QR, le résultat de la numérisation du code QR sera envoyé au développeur. En même temps, l'outil de numérisation sera rangé et la boîte de dialogue "Réception de message". apparaîtra, puis un message du développeur pourra être reçu.

Les types personnalisés incluent les éléments suivants :

5. pic_sysphoto : Une fois que l'utilisateur a cliqué sur le bouton, le système apparaît. pour prendre des photos et envoyer des photos. Le client WeChat affichera la caméra système. Après avoir terminé l'opération de prise de photo, la photo prise
sera envoyée au développeur et l'événement sera transmis au développeur. En même temps, la caméra système sera rangée. Vous pourrez alors recevoir un e-mail d'informations du développeur.

6. pic_photo_or_album : Une fenêtre contextuelle apparaîtra pour prendre une photo ou envoyer une photo dans un album une fois que l'utilisateur a cliqué sur le bouton. , le client WeChat affichera un sélecteur permettant à l'utilisateur de choisir « prendre une photo » ou « Sélectionner dans l'album du téléphone mobile ». Une fois que l'utilisateur a sélectionné, il passera par les deux autres processus.

7. pic_weixin : Une fois que l'expéditeur de l'album photo WeChat apparaît et que l'utilisateur clique sur le bouton, le client WeChat affichera l'album photo WeChat. . Après avoir terminé l'opération de sélection, envoyez les photos sélectionnées
au serveur du développeur, transmettez l'événement au développeur et fermez l'album. Vous pourrez recevoir des messages du développeur ultérieurement.

Fournissez le code. Téléchargez simplement le code sur le serveur et suivez à nouveau le compte officiel pour voir le menu personnalisé en mode développement

$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; 
 }

Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.


Recommandations associées :

PHP implémente la méthode d'obtention d'une adresse IP détaillée basée sur la bibliothèque IP Sina

Résumé des expressions régulières pratiques en PHP

Méthodes permettant à PHP d'implémenter des classes de gestion des exceptions

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn