Heim >PHP-Framework >Laravel >Tutorial für Anfänger: Laravel kombiniert mit Easywechat zum Versenden von Vorlagennachrichten für öffentliche Konten
Kürzlich eine neue Anforderung erhalten, müssen Vorlagennachrichten an Benutzer gesendet werden, die dem Dienstkonto folgen, und einen Blog schreiben, um den zur Erfüllung dieser Anforderung eingeschlagenen Weg aufzuzeichnen. Das Erweiterungspaket verwendet easywechat
laravel in Kombination mit easywechat, um öffentliche Kontovorlagen zu senden Nachrichtendetails Beschreibung, vielen Dank an den Autor von easywechat, es ist sehr nützlich für Anfänger!
Da unsere Situation etwas ganz Besonderes ist, sind das offizielle Konto, das an das Miniprogramm gebunden ist, und das offizielle Konto, das gepusht werden soll, nicht identisch. Dies birgt die Möglichkeit, dass die Union_Id inkonsistent ist, sodass beide offiziellen Konten an die WeChat-Öffnung gebunden werden müssen Wenn nicht, registrieren Sie sich einfach und binden Sie das „WeChat Open Platform Document“
Da es sich um ein brandneues öffentliches Konto handelt, sind die Schritte relativ einfach. Konfigurieren Sie den sicheren js-Domänennamen
Ausfüllen und Aktivieren der Serverkonfiguration
Die hier eingegebene Serveradresse wird für nachfolgende Zwecke verwendet Empfang öffentlicher Konten. Verschiedene Ereignisrückrufe, z. B. das lokale Debuggen. Suchen Sie selbst nach bestimmten Tutorials, um zu überprüfen, ob die eingegebene Serveradresse normal empfangen werden kann. So wird es gehen Eine Überprüfung erfordert, dass die Schnittstelle korrekte Rückgabeparameter angibtZugriff auf den Dokumentlink als Referenz
Da die WeChat-Überprüfung und nachfolgende Rückrufe diesem Weg folgen, ist die Überprüfung eine GET-Anfrage, und nachfolgende Ereignisrückrufe und dergleichen sind Post-Anfragen , also muss die Route festgelegt werden. Für jeden TypmitRoute::any('official/notify', 'WechatController@officialNotify');easywechat-Autor An Zhengchao hat für uns berücksichtigt, dass
Serverüberprüfung
Empfangen und Beantworten von Nachrichtenin einem Link kompatibel ist, sodass Sie es direkt entsprechend verwenden können document
public function officialNotify() { Log::channel('wechat')->info("公众号回调!!!!!1" ); $body = file_get_contents('php://input'); Log::channel('wechat')->info($body); $config = [ 'app_id' => config('wechat.yueliu_official_account.app_id'), 'secret' => config('wechat.yueliu_official_account.secret'), 'token' => config('wechat.yueliu_official_account.token'),// 'aes_key' => config('wechat.yueliu_official_account.aes_key'), // 明文模式请勿填写 EncodingAESKey 'aes_key' => '', // 明文模式请勿填写 EncodingAESKey 'log' => [ 'level' => 'error', 'file' => storage_path('logs/wechat.log'), ], 'response_type' => 'array' ]; $app = Factory::officialAccount($config); $app->server->push(function ($message) { Log::channel('wechat')->info($message); switch ($message['MsgType']) { case 'event': return '收到事件消息'; break; case 'text': return '收到文本消息'; break; case 'image': return '收到图片消息'; break; case 'voice': return '收到语音消息'; break; case 'video': return '收到视频消息'; break; case 'location': return '收到坐标消息'; break; case 'link': return '收到链接消息'; break; case 'file': return '收到文件消息'; // ... 其它消息 default: return '收到其它消息'; break; } }); // 在 laravel 中: $response = $app->server->serve(); // $response 为 `Symfony\Component\HttpFoundation\Response` 实例 // 对于需要直接输出响应的框架,或者原生 PHP 环境下 $response->send(); // 而 laravel 中直接返回即可: return $response; }
Beachten Sie, dass Sie nach dem öffentlichen Konto die Unionid erhalten können Einige grundlegende Informationen: Wenn Sie nicht mehr folgen, können Sie nur die OpenID erhalten Speichern Sie es mit der Unionid, und nachfolgende Vorlagennachrichten werden entsprechend der Eröffnungs-ID des offiziellen Kontos gesendet. Bewerben Sie sich, um die Vorlagennachricht auf der öffentlichen WeChat-Plattform zu aktivieren. Finden Sie die Vorlagennachricht unten rechts unter „+ Neue Funktionen“. Menü und klicken Sie, um die Aktivierung zu beantragen. Es dauert etwa 1-3 Werktage. Ich habe es an einem Tag bestanden
Wählen Sie nach dem Öffnen die Branche und den Vorlagentyp aus. Wenn die von WeChat bereitgestellte Vorlagenbibliothek nicht das gleiche Unternehmen wie Ihres finden kann, müssen Sie den Antrag selbst einreichen Dies dauert lange, etwa 7–15 Tage. Es wird empfohlen, die Vorlagenbibliothek zu verwenden. Die Vorlagen-ID muss hier im Code gespeichert werden und muss in Zukunft zum Senden von Vorlagennachrichten verwendet werden Das Folgende basiert auf den Geschäftsanforderungen und wird an den Benutzer gesendet. Der Code lautet wie folgt:
case 'event': return '欢迎关注音视频资产管理与协同交付平台「laravel」官方微信。 <a>点击跳转</a> 网页版请至: https://learnku.com'; break;Rendering
Das Obige ist der gesamte Prozess von Laravel in Kombination mit Easywechat, um die offizielle Kontovorlagennachricht zu senden , vollendet! Verwandte Empfehlungen: Die neuesten fünf Laravel-Video-Tutorials
Das obige ist der detaillierte Inhalt vonTutorial für Anfänger: Laravel kombiniert mit Easywechat zum Versenden von Vorlagennachrichten für öffentliche Konten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!