Maison >développement back-end >tutoriel php >Développement PHP WeChat : Comment implémenter des réponses graphiques et textuelles

Développement PHP WeChat : Comment implémenter des réponses graphiques et textuelles

PHPz
PHPzoriginal
2023-05-13 15:02:001207parcourir

En tant que l'une des applications les plus populaires des médias sociaux, WeChat a attiré l'attention de nombreuses entreprises et développeurs. Parmi eux, les réponses sous forme d’images et de texte sont l’une des exigences les plus courantes dans les applications WeChat. Si vous utilisez PHP pour le développement WeChat et souhaitez implémenter des réponses graphiques et textuelles, cet article vous aidera à résoudre ce problème.

1. Comprendre les types de messages de la plateforme publique WeChat

Avant de commencer à présenter comment implémenter des réponses graphiques et textuelles en PHP, nous devons d'abord comprendre les types de messages de la plateforme publique WeChat. Les principaux types de messages sur la plateforme publique WeChat sont les suivants :

1. Message texte (texte)
2. Message photo (image)
3. Message vidéo (vidéo)
5. Message (courte vidéo)
6. Message de géolocalisation (localisation)
7. Message de lien (lien)
8. Message d'événement (événement)

Parmi eux, nous devons utiliser des messages d'événement et des messages graphiques.

2. Implémenter les messages d'événement

Les messages d'événement signifient qu'après qu'un utilisateur effectue un certain comportement sur le compte officiel, le compte officiel recevra un message push d'événement. Cela inclut de nombreux types d'événements, tels que les événements de suivi, les événements de menu cliqué, les événements de numérisation de code QR, etc.

En PHP, le traitement des messages d'événement nécessite d'abord d'analyser le message reçu pour déterminer le type de message, puis de le gérer en conséquence. Le code est le suivant :

$postData = $GLOBALS['HTTP_RAW_POST_DATA'];
$postObj = simplexml_load_string($postData, "SimpleXMLElement", LIBXML_NOCDATA);

$MsgType = trim($postObj->MsgType);
if ($MsgType == 'event') {
    $Event = trim($postObj->Event);
    switch ($Event) {
        case 'subscribe'://关注事件
            //TODO 你的处理逻辑
            break;
        case 'unsubscribe'://取消关注事件
            //TODO 你的处理逻辑
            break;
        case 'CLICK'://自定义菜单点击事件
            //TODO 你的处理逻辑
            break;
        case 'VIEW'://自定义菜单跳转事件
            //TODO 你的处理逻辑
            break;
        case 'SCAN'://扫码事件
            //TODO 你的处理逻辑
            break;
        case 'LOCATION'://地理位置事件
            //TODO 你的处理逻辑
            break;
        case 'TEMPLATESENDJOBFINISH'://模板消息发送完成事件
            //TODO 你的处理逻辑
            break;
        default:
            break;
    }
}

3. Implémenter les messages graphiques et textuels

Après avoir compris le message de l'événement, nous nous concentrons ensuite sur l'implémentation des messages graphiques et textuels. La messagerie graphique fait référence à la manière dont les comptes publics transmettent des informations en envoyant un ensemble de messages graphiques aux utilisateurs. En PHP, pour implémenter des messages graphiques, vous devez d'abord préparer les informations graphiques à envoyer, puis appeler l'interface de la plateforme publique WeChat pour convertir les données au format XML avant l'envoi. Le code est le suivant :

function sendNews($object, $newsArray)
{
    $itemTpl = "<item>
    <Title><![CDATA[%s]]></Title>
    <Description><![CDATA[%s]]></Description>
    <PicUrl><![CDATA[%s]]></PicUrl>
    <Url><![CDATA[%s]]></Url>
    </item>";

    $itemStr = "";
    foreach ($newsArray as $item) {
        $itemStr .= sprintf($itemTpl, $item['Title'], $item['Description'], $item['PicUrl'], $item['Url']);
    }

    $xmlTpl = "<xml>
     <ToUserName><![CDATA[%s]]></ToUserName>
     <FromUserName><![CDATA[%s]]></FromUserName>
     <CreateTime>%s</CreateTime>
     <MsgType><![CDATA[news]]></MsgType>
     <ArticleCount>%s</ArticleCount>
     <Articles>
     $itemStr</Articles>
     </xml>";

     $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, $time, count($newsArray));

     return $result;
}

La fonction ci-dessus convertit les données du message graphique au format XML et les renvoie. Il convient de noter que différents types de messages nécessitent différents formats XML. Lors de l'envoi d'un message texte, vous devez modifier le type de message en texte et le corps du message d'Articles en Contenu.

4. Étapes de mise en œuvre des messages graphiques

1. Configurez l'adresse de l'interface dans la plateforme publique WeChat

Dans la plateforme publique WeChat, vous devez configurer votre propre adresse d'interface serveur à la plateforme publique et la connecter. Dans le développement de la plateforme publique WeChat, la configuration de l'adresse de l'interface est la première étape. Cette étape doit être complétée avant de passer à l'étape suivante. Une fois l'adresse de l'interface configurée, vous pouvez la tester via le test d'interface sur la plate-forme du fournisseur de plate-forme de la plate-forme publique WeChat pour vérifier si l'interface est connectée avec succès.

2. Recevez des messages poussés par la plateforme publique WeChat

Après avoir terminé la configuration de l'adresse de l'interface, vous pouvez commencer à recevoir des messages poussés par la plateforme publique WeChat. Pour recevoir des messages envoyés par la plateforme publique WeChat, vous devez utiliser la fonction simplexml_load_string sous PHP pour les analyser et les convertir en objets correspondants à utiliser.

3. Traiter les messages reçus

Le traitement des messages reçus peut être mis en œuvre selon les fonctions requises par le compte officiel. Si vous implémentez la fonction de réponse par image et texte, vous devez juger le message reçu. S'il s'agit d'un message d'événement, vous devez juger du type d'événement. S'il s'agit d'un événement préoccupant, vous devez répondre avec le message. image et texte correspondants ; s’il s’agit d’autres événements, vous n’avez besoin d’effectuer aucune opération.

4. Renvoyez les résultats à la plateforme publique WeChat

La dernière étape consiste à convertir les résultats du traitement au format XML et à les renvoyer à la plateforme publique WeChat. En PHP, vous pouvez utiliser l'instruction echo pour afficher le résultat directement, ou vous pouvez renvoyer le résultat dans la fonction qui envoie le message, puis le générer.

5. Résumé

Cet article présente brièvement comment PHP implémente la fonction de réponse d'image et de texte. Grâce à cet article, nous pouvons apprendre comment recevoir des messages poussés par la plateforme publique WeChat, comment analyser les messages, comment traiter les messages, comment convertir les résultats du traitement au format XML et les renvoyer à la plateforme publique WeChat et à d'autres points de connaissances. Ces points de connaissances sont très importants pour les développeurs PHP WeChat. Si vous développez PHP WeChat, cet article vous sera d'une grande aide.

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