Heim Backend-Entwicklung PHP-Tutorial PHP implementiert die Methode zum Senden von Vorlagennachrichten per WeChat-Applet (Code)

PHP implementiert die Methode zum Senden von Vorlagennachrichten per WeChat-Applet (Code)

Aug 20, 2018 pm 03:56 PM

Der Inhalt dieses Artikels befasst sich mit der Methode (dem Code) zur Implementierung des WeChat-Applets zum Senden von Vorlagennachrichten. Ich hoffe, dass er für Sie hilfreich ist.

Die Adresse von WeChat lautet:

https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
Nach dem Login kopieren

Die relevanten Parameter sind

参数 必填 说明
touser 接收者(用户)的 openid
template_id 所需下发的模板消息的id
page 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
form_id 表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id
data 模板内容,不填则下发空模板
color 模板内容字体的颜色,不填默认黑色 【废弃】
emphasis_keyword 模板需要放大的关键词,不填则默认无放大

Die grundlegenden Parameter und Adressen sind die oben getesteten. Einige Leute wundern sich vielleicht über form_id. openid, tmeplate_id. Lassen Sie uns zuerst kurz darüber sprechen.

form_id kann vom Frontend bereitgestellt werden, um die form_id zu erhalten und an die Rückseite weiterzugeben Gleichzeitig erhält das Backend die entsprechende OpenID. Hier wird empfohlen, dass das Frontend dem Backend so viel wie möglich zur Verfügung stellt, d. h. jede Schaltfläche stellt dem Backend eine ID zur Verfügung. Die form_id ist 7 Tage lang gültig. Es ist besser, mehr als weniger zu haben.

template_id ist die Vorlagen-ID, die aus der Vorlagennachricht abgerufen werden kann, indem Sie sich beim WeChat-Applet-Hintergrund anmelden.

Wenn wir diese Parameter kennen, möchte der Entwickler sie auf jeden Fall sofort testen und dann das Frontend die form_id bereitstellen lassen. Hier sind die nächsten beiden Fallstricke

Erster Fallstrick: Die vom Computer erhaltene form_id kann nicht verwendet werden

Der zweite Fallstrick: Die form_id muss von einem echten Telefon abgerufen werden, das echte Telefon jedoch muss Bei Projekten, bei denen der lokale Test nicht online gestartet wird, werden Sie aufgefordert, die form_id zu überprüfen. Dieser Punkt wird nicht erläutert, d. h., er muss online getestet werden, nachdem die Überprüfung erfolgreich war .

Dann lasst uns über den Back-End-Code sprechen

<?php
 //获取accesstoken
    public function getAccessToken($appid,secret){
       $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}";
        $res = $this->curl_get($url);
        $res = json_decode($res,1);
        return $res[&#39;access_token&#39;];
    }
//获取模板消息内容主体
//因为是测试所以写死,大家可以通过传参的方式获取
    public function getMsg($openid,$template_id,$form_id,$emphasis_keyword=&#39;keyword1&#39;){
        $data[&#39;data&#39;]= [&#39;keyword1&#39;=>[&#39;value&#39;=>&#39;test1&#39;,&#39;color&#39;=>&#39;&#39;],&#39;keyword2&#39;=>[&#39;value&#39;=>&#39;test2&#39;,&#39;color&#39;=>&#39;&#39;],&#39;keyword3&#39;=>[&#39;value&#39;=>&#39;test1&#39;,&#39;color&#39;=>&#39;&#39;]];//内容主体
        $data[&#39;touser&#39;] = $openid;//用户的openid
        $data[&#39;template_id&#39;] = $template_id;//从微信后台获取的模板id
        $data[&#39;form_id&#39;] = $form_id;//前端提供给后端的form_id
        $data[&#39;page&#39;] = &#39;pages/index/index&#39;;//小程序跳转页面
        $data[&#39;emphasis_keyword&#39;] = $emphasis_keyword;//选择放大的字体
        return $data;
    }
    public function send($appid,secret,$openid,$template_id,$form_id){
        $access_token = $this->getAccessToken($appid,secret);
        $send_url = &#39;https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?    access_token=&#39; . $access_token;
        $data = $this->getMsg($openid,$template_id,$form_id);
        $str = $this->curl_post($send_url,json_encode($data));
        $str = json_decode($str,1);
        return $str;
    }
    public function curl_post($url, $fields, $data_type=&#39;text&#39;)
    {
        $cl = curl_init();
        if(stripos($url, &#39;https://&#39;) !== FALSE) {
            curl_setopt($cl, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($cl, CURLOPT_SSL_VERIFYHOST, FALSE);
            curl_setopt($cl, CURLOPT_SSLVERSION, 1);
        }
        curl_setopt($cl, CURLOPT_URL, $url);
        curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt($cl, CURLOPT_POST, true);        
        curl_setopt($cl, CURLOPT_POSTFIELDS, $fields);
        $content = curl_exec($cl);
        $status = curl_getinfo($cl);
        curl_close($cl);
        if (isset($status[&#39;http_code&#39;]) && $status[&#39;http_code&#39;] == 200) {
            if ($data_type == &#39;json&#39;) {
                $content = json_decode($content);
            }
            return $content;
        } else {
            return FALSE;
        }
    }
    public function curl_get($url, $data_type=&#39;text&#39;)
    {
        $cl = curl_init();
        if(stripos($url, &#39;https://&#39;) !== FALSE) {
            curl_setopt($cl, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($cl, CURLOPT_SSL_VERIFYHOST, FALSE);
            curl_setopt($cl, CURLOPT_SSLVERSION, 1);
        }
        curl_setopt($cl, CURLOPT_URL, $url);
        curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1 );
        $content = curl_exec($cl);
        $status = curl_getinfo($cl);
        curl_close($cl);
        if (isset($status[&#39;http_code&#39;]) && $status[&#39;http_code&#39;] == 200) {
            if ($data_type == &#39;json&#39;) {
                $content = json_decode($content);
            }
            return $content;
        } else {
            return FALSE;
        }        
    }
    punblic function index(){
           $appid = &#39;xxx&#39;;//小程序appid
           $openid = &#39;xxx&#39;;//接收用户的openid
           $template_id  = &#39;xxx&#39;;//从微信后台获取的模板id
           $form_id = &#39;xxx&#39;;//七天内的formid
           $data = $this->send($appid,secret,$openid,$template_id,$form_id);
           var_dump($data);//打印测试结果
    }
Nach dem Login kopieren

Das Obige ist tatsächlich der Code zum Senden von Vorlagennachrichten, solange Sie einige entsprechende Parameter erhalten , Sie können auf die relevanten Fallstricke achten. Kann erfolgreich getestet und gesendet werden

Verwandte Empfehlungen:

PHP-Methode zum Senden von WeChat-Vorlagennachrichten, PHP-Briefvorlagennachricht

PHP WeChat-Entwicklungsvorlagen-Nachrichtenantwort, PHP-Vorlagen-Nachrichtenantwort_PHP-Tutorial

Das obige ist der detaillierte Inhalt vonPHP implementiert die Methode zum Senden von Vorlagennachrichten per WeChat-Applet (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Apr 03, 2025 am 12:04 AM

Die Anwendung des soliden Prinzips in der PHP -Entwicklung umfasst: 1. Prinzip der Einzelverantwortung (SRP): Jede Klasse ist nur für eine Funktion verantwortlich. 2. Open and Close Principle (OCP): Änderungen werden eher durch Erweiterung als durch Modifikation erreicht. 3.. Lischs Substitutionsprinzip (LSP): Unterklassen können Basisklassen ersetzen, ohne die Programmgenauigkeit zu beeinträchtigen. 4. Schnittstellen-Isolationsprinzip (ISP): Verwenden Sie feinkörnige Schnittstellen, um Abhängigkeiten und nicht verwendete Methoden zu vermeiden. 5. Abhängigkeitsinversionsprinzip (DIP): Hoch- und niedrige Module beruhen auf der Abstraktion und werden durch Abhängigkeitsinjektion implementiert.

Erklären Sie das Konzept der späten statischen Bindung in PHP. Erklären Sie das Konzept der späten statischen Bindung in PHP. Mar 21, 2025 pm 01:33 PM

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Mar 28, 2025 pm 05:11 PM

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

Wie setze ich nach dem Neustart des Systems automatisch Berechtigungen von Unixsocket fest? Wie setze ich nach dem Neustart des Systems automatisch Berechtigungen von Unixsocket fest? Mar 31, 2025 pm 11:54 PM

So setzen Sie die Berechtigungen von Unixsocket automatisch nach dem Neustart des Systems. Jedes Mal, wenn das System neu startet, müssen wir den folgenden Befehl ausführen, um die Berechtigungen von Unixsocket: sudo ...

Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Mar 28, 2025 pm 05:12 PM

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.

Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Apr 01, 2025 pm 03:12 PM

Senden von JSON -Daten mithilfe der Curl -Bibliothek von PHP in der PHP -Entwicklung müssen häufig mit externen APIs interagieren. Eine der gängigen Möglichkeiten besteht darin, die Curl Library zu verwenden, um Post � ...

See all articles