Maison > Applet WeChat > Développement WeChat > Tutoriel de développement de la plateforme publique Senparc.Weixin.MP SDK WeChat (2) : Devenir développeur

Tutoriel de développement de la plateforme publique Senparc.Weixin.MP SDK WeChat (2) : Devenir développeur

高洛峰
Libérer: 2017-02-22 15:28:31
original
1521 Les gens l'ont consulté

Je pense qu'il est plus important d'être prêt à devenir développeur que de se débrouiller avec les fonctions "avancées" du backend WeChat, je vais donc mettre cette section en premier.

1. Processus de communication de la plateforme publique

En tant que développeurs, nous devons faire face à deux objets principaux : le serveur WeChat et le serveur d'application (site Web).

Lorsqu'un utilisateur de WeChat envoie un message à votre plateforme publique, le message est en fait d'abord envoyé au serveur WeChat, et le serveur WeChat initie une autre requête au serveur du site Web. Le serveur du site Web renvoie le résultat de cette requête. , puis le serveur WeChat. Le serveur WeChat l'envoie au client WeChat.

L'ensemble du processus de communication du message est le suivant :

Senparc.Weixin.MP SDK 微信公众平台开发教程(二):成为开发者

Parmi les 5 étapes ci-dessus, en tant que développeurs, nous nous concentrons principalement sur l'étape 3. Cette étape se concentre principalement on Il y a en fait 3 tâches :

  1. Recevoir les informations XML de 2

  2. Exécution de la logique interne du serveur

  3. Organiser et renvoyer les informations XML pour 4

J'expliquerai les trois tâches ci-dessus en détail plus tard et fournirai un ensemble de méthodes de traitement simples et efficaces.

2. Format de communication XML

Lorsque les utilisateurs envoient différents types de messages à l'aide du client WeChat, le serveur du site Web recevra des données dans différents formats (texte, voix, images, etc.), des données format Actuellement, il n'existe que XML.

Pour l'apprentissage, je pense que tant que vous maîtrisez le type de texte le plus simple, les autres formats sont similaires. Et dans les instructions suivantes, vous constaterez que Senparc.Weixin.MP.dll peut nous aider à ignorer complètement ces formats et définitions encombrants.

Le contenu d'une simple demande de texte XML (RequestMessage) est le suivant :

<xml>
    <ToUserName><![CDATA[gh_a96a4a619366]]></ToUserName>
    <FromUserName><![CDATA[olPjZjsXuQPJoV0HlruZkNzKc91E]]></FromUserName>
    <CreateTime>1357986928</CreateTime>
    <MsgType><![CDATA[text]]></MsgType>
    <Content><![CDATA[TNT2]]></Content>
    <MsgId>5832509444155992350</MsgId>
</xml>
Copier après la connexion

La description officielle du nœud correspondant est la suivante :

参数描述
ToUserName开发者微信号
FromUserName发送方帐号(一个OpenID)
CreateTime消息创建时间 (整型)
MsgTypetext
Content文本消息内容
MsgId消息id,64位整型

 

 

 

 

 

 

 

Un simple Le contenu du texte renvoyé XML (ResponseMessage) est le suivant :

<xml>
   <ToUserName><![CDATA[olPjZjsXuQPJoV0HlruZkNzKc91E]]></ToUserName>
   <FromUserName><![CDATA[gh_a96a4a619366]]></FromUserName>
   <CreateTime>12345678</CreateTime>
   <MsgType><![CDATA[text]]></MsgType>
   <Content><![CDATA[content]]></Content>
   <FuncFlag>0</FuncFlag>
</xml>
Copier après la connexion

La description officielle du nœud correspondant est la suivante :

参数 描述
ToUserName 接收方帐号(收到的OpenID)
FromUserName 开发者微信号
CreateTime 消息创建时间
MsgType text
Content 回复的消息内容,长度不超过2048字节
FuncFlag 位0x0001被标志时,星标刚收到的消息。


3. Certains problèmes nécessitent une attention particulière et sont facilement négligés :

  1. Chaque information XML a une limite de taille, comme les informations textuelles, il est recommandé que le contenu du contenu ne dépasse pas 600 mots.

  2. Dans l'image ci-dessus, après le démarrage de l'étape 2, le serveur WeChat a un temps d'attente : 5 secondes, s'il n'est pas traité dans ce délai À l'étape 4, la demande sera alors clôturée (y compris le temps de transmission des données). C'est-à-dire que si le délai dépasse, même si le serveur du site renvoie les données, le client ne peut pas recevoir de réponse.

  3. Dans les messages texte, il est permis d'ajouter des balises pour placer des liens. Cependant, de nombreux amis l'ont testé et ont constaté qu'il n'y avait pas de problème sur iOS, mais le lien. ne peut pas être cliqué sur Android. En fait, la raison est (au moins jusqu'à présent) : Le client Android WeChat est strict concernant le format de balise . Veuillez suivre strictement ce format pour écrire : content , n'utilisez pas de guillemets simples après href et n'ajoutez pas d'autres attributs.

  4. FromUserName dans le nœud XML ci-dessus est l'OpenId de l'utilisateur WeChat. Pour le même compte public, les 6 premiers chiffres de cet OpenId sont cohérents et uniques parmi les enregistrements de l'ensemble du public. plate-forme de. Autrement dit, si un même utilisateur suit deux comptes publics différents, il aura deux OpenIds différents.

  5. CreateTime utilise le temps Unix, donc si vous utilisez C#, vous devez effectuer une conversion.

  6. Essayez de conserver l'ordre des nœuds XML dans l'API officielle. Dans le passé, le serveur WeChat utilisait l'emplacement du nœud pour lire les informations (node[0]) au lieu du nom du nœud. .Maintenant, ce problème semble s'améliorer, mais il faut quand même être prudent (¥…………&%&……).

  7. En raison de cette méthode de communication spéciale, (du moins jusqu'à présent) toutes les demandes doivent d'abord être initiées par le client. Ne vous attendez pas à ce que la simple utilisation de l'API ou du SDK puisse envoyer activement des messages. le serveur du site Web (il existe bien sûr d'autres méthodes, comme la connexion simulée).

4. Si vous voulez bien faire votre travail, vous devez d'abord aiguiser vos outils : Senparc.Weixin.MP.dll

Bien que l'ensemble du processus de communication soit très simple, l'API officielle est toujours Des conventions ou des traitements spéciaux ont été élaborés pour certains domaines, et il est également très laborieux de traiter autant de types de données de requête de manière orientée processus.

Pour cela j'ai réalisé un projet open source : Senparc.Weixin.MP, adresse : http://www.php.cn/

Le but principal de Senparc.Weixin.MP est pour aider les développeurs C# à simplifier l'ensemble du processus de communication, à traiter les messages de manière orientée objet et à se concentrer sur la logique métier plutôt que sur des API encombrantes.

Utilisez Senparc.Weixin.MP et déployez-le sur le réseau externe pour communiquer avec le serveur WeChat. Vous devez préparer ces environnements :

  1. VS2012 (au moins VS2010). SP1 );

  2. Si vous devez exécuter la démo MVC, vous avez besoin d'au moins .NET 4.0 (installez MVC 4). Pour exécuter la démo Webforms, vous avez besoin d'au moins .NET 3.5).

  3. Un nom de domaine ou une IP accessible via le port 80, un hôte virtuel, un intranet de mappage Peanut Shell, un VPS, un serveur indépendant peuvent être utilisés.

Pour plus de tutoriel de développement de plateforme publique Senparc.Weixin.MP SDK WeChat (2) : Pour les articles liés à la façon de devenir développeur, veuillez faire attention au PHP chinois site web!


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal