Auswählen oder Erstellen einer Abonnementnachrichtenvorlage Melden Sie sich beim WeChat-Applet an und suchen Sie nach Funktion -> Nachrichten abonnieren. Sie können die gewünschte Vorlage in der öffentlichen Vorlagenbibliothek auswählen. Wenn Sie nicht finden, was Sie brauchen, können Sie es selbst erstellen und auf die Überprüfung warten. Nachdem Sie eine Vorlage ausgewählt und ihre Details angezeigt haben, erhalten Sie die Vorlagen-ID und die zum Senden von Push-Benachrichtigungen erforderlichen Felder. Das Applet sendet eine Abonnementanfrage Die im vorherigen Schritt erhaltene Vorlagen-ID wird benötigt // Mini-Programm<Text className='rights-buy' onClick={this.messageSubmit}> Antrag auf Zulassung</Text> // Abonnieren Sie die Abrechnungsanwendungsnachricht messageSubmit = () => { Taro.requestSubscribeMessage({ tmplIds: ['SuGMwqyYY9cocuP-LxfElcM3a7ITaF34lKNux6EaE9'], Erfolg: (res) => { //Rufen Sie die Serverschnittstelle auf und schreiben Sie einen Abonnementdatensatz in die Datenbank // this.subscribeDeal() } }) } Der Server initiiert den PushEs gibt grundsätzlich zwei Arten von Push
Im ersten Fall rufen Sie einfach direkt die Push-Schnittstelle von WeChat auf. Die zweite Situation ist etwas problematischer. Sie können eine zeitgesteuerte Aufgabe hinzufügen oder eine zugehörige Warteschlangenbibliothek verwenden, um die Aufgabe auszulösen, wenn die Bedingungen erfüllt sind. Dinge zu beachten
Holen Sie sich den Zugriffstoken und speichern Sie ihn im Cache. asynchron getAccessToken () { const { appId, appSecert, host } = this.app.config.idolWxAConfig; returniere neues Promise(async (resolve) => { const aktuelleZeit = neues Date().getTime() const redisToken = warte auf this.app.redis.get('wxtoken').get('token') || '{access_token: "", expries_time: 0}' const accessTokenJson = JSON.parse(redisToken) wenn (accessTokenJson.access_token === '' || accessTokenJson.expries_time < aktuelleZeit) { const res = warte auf dies.ctx.curl(`${host}/cgi-bin/token?appid=${appId}&secret=${appSecert}&grant_type=client_credential`, { dataType: 'json' }) wenn (res.data) { accessTokenJson.access_token = res.data.access_token accessTokenJson.expries_time = neues Date().getTime() + (parseInt(res.data.expires_in) - 200) * 1000 warte auf diese App.redis.get('wxtoken').set('token', JSON.stringify(accessTokenJson)) auflösen(accessTokenJson) } } anders { auflösen(accessTokenJson) } }) } Senden Sie eine Push-Anfrage an WeChat asynchron sendSubscribeMsg(openid) { let requestData = { "touser": `${openid}`, "template_id": "SuGMwqyYY9cocuP-LxfElcM3a7ITaF34lKNux6EaE9", "Seite": `/Seiten/Zertifizierung/Index`, "Daten": { "Satz2": { "Wert": `Genehmigt` }, "Ding3": { "value": `Ihre Bewerbung wurde geprüft und genehmigt` } } } const { host } = this.app.config.idolWxAConfig; // Access_toekn abrufen const tokenJson = warte auf dies.ctx.service.wx.getAccessToken() const res = warte auf dies.ctx.curl(`${host}/cgi-bin/message/subscribe/send?access_token=${tokenJson.access_token} `, { Methode: 'POST', Inhaltstyp: "json", Daten: Anfragedaten, Datentyp: „json“ }); wenn (res.data.errmsg === 'ok') { console.log('=======Push erfolgreich========') //ZU TUN } anders { console.log('========Push fehlgeschlagen=========') //ZU TUN } } Dies ist das Ende dieses Artikels über die Implementierung des Nodejs WeChat-Applet-Nachrichten-Pushs. Weitere relevante Inhalte zum Nodejs-Applet-Nachrichten-Push finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: So installieren Sie Nginx in CentOS7
MySQL 8.0 für Windows v8.0.11 offizielle kostenlo...
KDE Abkürzung für Kool Desktop Environment. Eine ...
Bevor wir awk lernen, sollten wir sed, grep, tr, ...
In horizontaler Richtung können Sie die Ausrichtu...
Inhaltsverzeichnis 1. Objekte durch Literalwert e...
Offizielle Website-Adresse: https://www.mysql.com...
Inhaltsverzeichnis Hintergrund Inspiration kommt ...
Ich bin sehr glücklich. Wenn ich auf dieses Probl...
1 MySQL Autocommit-Einstellungen MySQL führt stan...
Wenn wir ein Karussell bauen wollen, müssen wir z...
1. Die Verwendung mit Redis führt zu Startkonflik...
In horizontaler Richtung können Sie die Ausrichtu...
Wenn Sie ein Linux-Meister werden möchten, ist di...
In diesem Artikel wird der spezifische Code von V...
Inhaltsverzeichnis Was ist MVCC Mysql-Sperre und ...