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
Methode 1: var a = [1,2,3]; var b=[4,5] a = a.con...
Durchführung von Prozessanalysen (1) Wie rufe ich...
Inhaltsverzeichnis Fehler 1: Zu viele Datenspalte...
Vorwort Die Standarddatenbankdatei der MySQL-Date...
Inhaltsverzeichnis Erstellen Sie ein Vite-Projekt...
1. Ziehen Sie das Mysql-Image docker pull mysql:5...
<br />Originaltext: http://www.mikkolee.com/...
Da ich MySQL installieren muss, zeichne ich den I...
Im vorherigen Artikel wurden zwei Methoden zum Üb...
dig - Dienstprogramm zur DNS-Suche Wenn beim Zugr...
Effektbild: Implementierungscode: <Vorlage>...
MySQL Einführung in MySQL MySQL war ursprünglich ...
Inhaltsverzeichnis 1. Was ist eine Fensterfunktio...
Inhaltsverzeichnis Vorwort: 1. Kurze Einführung i...
Vorwort Letzte Woche fragte mich ein Kollege: „Br...