Maison  >  Article  >  développement back-end  >  Comment implémenter le push d'événement de compte public WeChat en PHP

Comment implémenter le push d'événement de compte public WeChat en PHP

王林
王林original
2023-05-13 12:10:353577parcourir

Les comptes officiels WeChat sont devenus un canal important pour de nombreuses entreprises de marketing et de services, et la fonction de push d'événements est également un élément extrêmement important. Cet article présentera comment implémenter le push d'événements du compte officiel WeChat en PHP, afin que les entreprises puissent mieux interagir avec les utilisateurs.

1. Présentation de l'événement push du compte public WeChat

Le push d'événement du compte public WeChat fait référence au serveur WeChat qui envoie activement des types spécifiques d'événements au compte public lors de l'interaction entre l'utilisateur et le compte public, tels que suivre, ne plus suivre, et en cliquant sur le menu, attendez. Les comptes officiels peuvent offrir une meilleure expérience utilisateur et de meilleurs services en gérant ces événements.

2. Construction de l'environnement PHP

Avant de mettre en œuvre le push d'événement sur le compte public WeChat, vous devez d'abord configurer un environnement de développement PHP. Cet article utilise XAMPP comme exemple pour présenter les étapes spécifiques :

  1. Téléchargez et installez XAMPP (il est recommandé de choisir la version PHP7) ;
  2. Démarrez le serveur Apache et la base de données MySQL ;
  3. Entrez « localhost » dans le navigateur ; confirmez que vous pouvez accéder normalement à la page de bienvenue de XAMPP ;
  4. Créez un nouveau répertoire dans le répertoire racine de XAMPP et nommez-le "wechat", qui sera utilisé pour stocker le code de développement WeChat.

3. Configuration du développement du compte public WeChat

Une fois l'environnement de développement PHP créé, le compte public WeChat doit être configuré pour faciliter l'interaction avec PHP. Les étapes spécifiques sont les suivantes :

  1. Connectez-vous à la plateforme publique WeChat, entrez dans la page "Développement" - "Configuration de base" et obtenez l'AppID et l'AppSecret.
  2. Trouvez l'option « Configuration du serveur » en bas de la page, remplissez l'adresse du serveur, le jeton et d'autres informations, et activez les fonctions « Recevoir des messages » et « Recevoir des événements », enregistrez et prenez effet.
  3. Vérifiez la validité de l'adresse du serveur. Dans la page "Configuration du serveur", cliquez sur "Soumettre", et le système enverra une requête GET à l'adresse du serveur renseignée et renverra echostr selon les exigences de configuration. Si le retour réussit, cela signifie que la vérification est réussie. Si la vérification échoue, une reconfiguration est requise.

4. Écrivez le code PHP

Une fois le développement et la configuration du compte public WeChat terminés, vous pouvez écrire le code correspondant en PHP. La mise en œuvre du code sera divisée en trois parties.

  1. Récupérez les messages ou événements reçus et analysez-les

Le compte officiel WeChat enverra les messages ou événements reçus à l'adresse du serveur configurée par le compte officiel, ces données doivent donc être reçues et analysées via PHP. Le code d'implémentation spécifique est le suivant :

$postdata = $GLOBALS['HTTP_RAW_POST_DATA'];  //获取POST数据
if (!empty($postdata)) {  //判断数据是否为空
    $postObj = simplexml_load_string($postdata, 'SimpleXMLElement', LIBXML_NOCDATA);  //将XML数据解析为对象
    $msgType = $postObj->MsgType;   //获取消息类型
    if ($msgType == 'event') {   //判断消息是否为事件
        $event = $postObj->Event;  //获取事件类型
        //处理事件
    } else {
        //处理消息
    }
}
  1. Traitement des événements et des messages

Après avoir reçu un message ou un événement, il doit être traité en conséquence selon différents types. Le code de mise en œuvre spécifique est le suivant :

(1) Traitement des événements d'intérêt :

if ($event == 'subscribe') {
    $toUser = $postObj->FromUserName;  //获取用户OpenID
    $fromUser = $postObj->ToUserName;  //获取公众号原始ID
    $time = time();  //获取当前时间戳
    $msgType = 'text';  //回复消息类型为文本
    $content = '欢迎关注我们的公众号!';  //回复消息内容
    $template = '<xml>
        <ToUserName><![CDATA[%s]]></ToUserName>
        <FromUserName><![CDATA[%s]]></FromUserName>
        <CreateTime>%s</CreateTime>
        <MsgType><![CDATA[%s]]></MsgType>
        <Content><![CDATA[%s]]></Content>
        </xml>';
    $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content);  //构造回复消息XML
    echo $info;  //返回回复消息给微信服务器
}

(2) Traitement des messages texte :

if ($msgType == 'text') {
    $toUser = $postObj->FromUserName;  //获取用户OpenID
    $fromUser = $postObj->ToUserName;  //获取公众号原始ID
    $time = time();  //获取当前时间戳
    $msgType = 'text';  //回复消息类型为文本
    $content = '您发送的是文本消息,我们会尽快回复您的问题。';  //回复消息内容
    $template = '<xml>
        <ToUserName><![CDATA[%s]]></ToUserName>
        <FromUserName><![CDATA[%s]]></FromUserName>
        <CreateTime>%s</CreateTime>
        <MsgType><![CDATA[%s]]></MsgType>
        <Content><![CDATA[%s]]></Content>
        </xml>';
    $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content);  //构造回复消息XML
    echo $info;  //返回回复消息给微信服务器
}
  1. Générer des signatures

Dans le développement des comptes publics WeChat, des signatures doivent être utilisées pour assurer la sécurité du processus d’interaction. La méthode d'implémentation spécifique est la suivante :

$signature = $_GET["signature"];  //获取加密签名
$timestamp = $_GET["timestamp"];  //获取时间戳
$nonce = $_GET["nonce"];  //获取随机数
$token = "你在微信公众平台设置的Token值";  //获取Token值
$tmpArr = array($token, $timestamp, $nonce);  //组装数组
sort($tmpArr, SORT_STRING);  //按照字典序排序
$tmpStr = implode($tmpArr);  //组装字符串
$tmpStr = sha1($tmpStr);  //加密
if ($tmpStr == $signature) {  //比较签名
    return true;
} else {
    return false;
}

5. Test de déploiement

Une fois le code PHP écrit, le code doit être déployé sur le serveur pour être testé. Les étapes spécifiques sont les suivantes :

  1. Téléchargez le code écrit dans le répertoire "htdocs/wechat" sous le répertoire XAMPP.
  2. Entrez « localhost/wechat » dans le navigateur pour confirmer que le déploiement de l'environnement serveur est correctement terminé.
  3. Effectuez un test push d'événement sur la plateforme publique WeChat pour vérifier si l'acceptation et le traitement sont normaux.

6. Résumé

Grâce à la mise en œuvre des étapes ci-dessus, le push d'événement du compte officiel WeChat peut être implémenté avec succès en PHP. Les entreprises peuvent utiliser cette fonction pour mieux interagir avec les utilisateurs et améliorer l'influence de la marque et la satisfaction des utilisateurs.

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