


1. Introduction
De nos jours, WeChat est devenu un canal important permettant à de nombreuses entreprises et particuliers d'exploiter leurs propres médias, et créer un service back-end efficace et stable pour les comptes publics WeChat est devenu une nécessité. En tant que langage back-end léger et efficace, Node.js a reçu une large attention pour ses puissantes capacités d'E/S asynchrones et son efficacité de développement. Cet article présentera de manière simple et approfondie comment utiliser Node.js pour créer un service backend de compte officiel WeChat.
2. Préparation
Avant de commencer, vous devez préparer les outils et l'environnement suivants :
- Node.js : veuillez vous rendre sur le site officiel de Node.js pour télécharger et installer
- Compte public WeChat : veuillez vous rendre sur ; la plateforme publique WeChat pour s'inscrire et demander des droits d'auteur de développement
- Éditeur de fichiers : Visual Studio Code est recommandé.
3. Créez le service backend du compte public WeChat
- Créer un projet
Tout d'abord, créez un dossier pour stocker le projet. Ensuite, entrez le dossier dans la ligne de commande et exécutez la commande suivante :
npm init
Après l'exécution, suivez les invites pour saisir le nom du projet, la version, la description et d'autres informations pour terminer l'initialisation du projet.
- Installer les dépendances
Exécutez la commande suivante pour installer les dépendances nécessaires :
npm install express request xml2js
Parmi eux, express est un framework Web développé par Node.js, request est une bibliothèque qui encapsule les requêtes HTTP et xml2js est une bibliothèque qui convertit XML en bibliothèque A pour les données JSON.
- Configurer le routage
Dans le répertoire racine du projet, créez un fichier nommé index.js et ajoutez le contenu suivant au fichier :
const express = require('express'); const request = require('request'); const { parseString } = require('xml2js'); const app = express(); app.get('/api/wechat', (req, res) => { const { signature, timestamp, nonce, echostr } = req.query; // 排序和拼接字符串 const str = [process.env.TOKEN, timestamp, nonce].sort().join(''); const sha1 = require('crypto').createHash('sha1'); sha1.update(str); const code = sha1.digest('hex'); if (code === signature) { return res.send(echostr); // 校验成功,原样返回 echostr 参数内容 } res.send(); // 校验失败,返回空响应 });
Le code ci-dessus implémente la vérification d'accès du compte officiel WeChat, l'implémentation spécifique Veuillez vous référer à la documentation du site officiel pour la méthode.
- Traitement des messages WeChat
Dans le répertoire racine du projet, créez un fichier nommé message.js pour traiter les messages WeChat. Ajoutez le contenu suivant au fichier :
/** * 解析 XML 数据 * @param {string} xmlStr XML 字符串 */ function parseXML(xmlStr) { const options = { explicitArray: false, // 不将子元素变为数组 ignoreAttrs: true, // 忽略属性 }; return new Promise((resolve, reject) => { parseString(xmlStr, options, (err, result) => { if (err) { return reject(err); } resolve(result.xml); }); }); } module.exports = function handleWechatMessage(req, res) { let body = ''; req.on('data', (chunk) => { body += chunk; }); req.on('end', async () => { const { ToUserName, FromUserName, CreateTime, MsgType, Event, Content, EventKey, } = await parseXML(body); let replyXML; switch (MsgType) { case 'text': // 处理文本消息 replyXML = `<xml> <tousername></tousername> <fromusername></fromusername> <createtime>${Math.floor(Date.now() / 1000)}</createtime> <msgtype></msgtype> <content></content> </xml>`; break; case 'event': // 处理事件消息 if (Event === 'subscribe') { // 处理关注事件 replyXML = `<xml> <tousername></tousername> <fromusername></fromusername> <createtime>${Math.floor(Date.now() / 1000)}</createtime> <msgtype></msgtype> <content></content> </xml>`; } else if (Event === 'unsubscribe') { // 处理取消关注事件 console.log('用户取消关注'); } else if (Event === 'CLICK' && EventKey === 'test') { // 处理菜单点击事件 replyXML = `<xml> <tousername></tousername> <fromusername></fromusername> <createtime>${Math.floor(Date.now() / 1000)}</createtime> <msgtype></msgtype> <content></content> </xml>`; } break; default: break; } if (replyXML) { res.setHeader('Content-Type', 'application/xml'); return res.send(replyXML); } res.send(); }); };
Le code ci-dessus analyse le message du compte officiel WeChat et renvoie le message de réponse correspondant après traitement.
- Démarrez le service
Dans index.js, ajoutez le code suivant pour démarrer le service :
const handleWechatMessage = require('./message'); const server = app.listen(process.env.PORT || 3000, () => { const address = server.address(); console.log(`Server running at http://${address.address}:${address.port}`); }); app.post('/api/wechat', handleWechatMessage);
- Service de vérification
Après avoir démarré le service, vous pouvez le vérifier en configurant l'adresse du serveur en arrière-plan de le compte officiel WeChat. Après une vérification réussie, vous pouvez utiliser cette adresse comme adresse de service backend du compte officiel WeChat. Dans le même temps, vous pouvez déboguer le code pour garantir que les messages peuvent être transmis et répondus normalement.
4. Résumé
Cet article présente comment utiliser Node.js pour créer des services backend de compte public WeChat, couvrant deux aspects : la vérification des accès et le traitement des messages. Grâce à cet article, je pense que les lecteurs peuvent rapidement comprendre et maîtriser les principes de base et les méthodes de mise en œuvre de l'utilisation de Node.js pour créer des services backend WeChat.
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!

L'application de JavaScript dans le monde réel comprend un développement frontal et back-end. 1) Afficher les applications frontales en créant une application de liste TODO, impliquant les opérations DOM et le traitement des événements. 2) Construisez RestulAPI via Node.js et Express pour démontrer les applications back-end.

Les principales utilisations de JavaScript dans le développement Web incluent l'interaction client, la vérification du formulaire et la communication asynchrone. 1) Mise à jour du contenu dynamique et interaction utilisateur via les opérations DOM; 2) La vérification du client est effectuée avant que l'utilisateur ne soumette les données pour améliorer l'expérience utilisateur; 3) La communication de rafraîchissement avec le serveur est réalisée via la technologie AJAX.

Comprendre le fonctionnement du moteur JavaScript en interne est important pour les développeurs car il aide à écrire du code plus efficace et à comprendre les goulots d'étranglement des performances et les stratégies d'optimisation. 1) Le flux de travail du moteur comprend trois étapes: analyse, compilation et exécution; 2) Pendant le processus d'exécution, le moteur effectuera une optimisation dynamique, comme le cache en ligne et les classes cachées; 3) Les meilleures pratiques comprennent l'évitement des variables globales, l'optimisation des boucles, l'utilisation de const et de locations et d'éviter une utilisation excessive des fermetures.

Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.

Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

Le passage de C / C à JavaScript nécessite de s'adapter à la frappe dynamique, à la collecte des ordures et à la programmation asynchrone. 1) C / C est un langage dactylographié statiquement qui nécessite une gestion manuelle de la mémoire, tandis que JavaScript est dynamiquement typé et que la collecte des déchets est automatiquement traitée. 2) C / C doit être compilé en code machine, tandis que JavaScript est une langue interprétée. 3) JavaScript introduit des concepts tels que les fermetures, les chaînes de prototypes et la promesse, ce qui améliore la flexibilité et les capacités de programmation asynchrones.

Différents moteurs JavaScript ont des effets différents lors de l'analyse et de l'exécution du code JavaScript, car les principes d'implémentation et les stratégies d'optimisation de chaque moteur diffèrent. 1. Analyse lexicale: convertir le code source en unité lexicale. 2. Analyse de la grammaire: générer un arbre de syntaxe abstrait. 3. Optimisation et compilation: générer du code machine via le compilateur JIT. 4. Exécuter: Exécutez le code machine. Le moteur V8 optimise grâce à une compilation instantanée et à une classe cachée, SpiderMonkey utilise un système d'inférence de type, résultant en différentes performances de performances sur le même code.

Les applications de JavaScript dans le monde réel incluent la programmation côté serveur, le développement des applications mobiles et le contrôle de l'Internet des objets: 1. La programmation côté serveur est réalisée via Node.js, adaptée au traitement de demande élevé simultané. 2. Le développement d'applications mobiles est effectué par le reactnatif et prend en charge le déploiement multiplateforme. 3. Utilisé pour le contrôle des périphériques IoT via la bibliothèque Johnny-Five, adapté à l'interaction matérielle.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP