Heim  >  Artikel  >  PHP-Framework  >  Tutorial für Anfänger: Laravel kombiniert mit Easywechat zum Versenden von Vorlagennachrichten für öffentliche Konten

Tutorial für Anfänger: Laravel kombiniert mit Easywechat zum Versenden von Vorlagennachrichten für öffentliche Konten

藏色散人
藏色散人nach vorne
2021-12-14 15:02:304137Durchsuche

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“

Tutorial für Anfänger: Laravel kombiniert mit Easywechat zum Versenden von Vorlagennachrichten für öffentliche KontenDa es sich um ein brandneues öffentliches Konto handelt, sind die Schritte relativ einfach. Konfigurieren Sie den sicheren js-Domänennamen

Geheimnis generieren (hauptsächlich speichern, späteres Zurücksetzen wirkt sich auf das Online-Geschäft aus)

Tutorial für Anfänger: Laravel kombiniert mit Easywechat zum Versenden von Vorlagennachrichten für öffentliche Konten

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 angibtTutorial für Anfänger: Laravel kombiniert mit Easywechat zum Versenden von Vorlagennachrichten für öffentliche KontenZugriff 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 Typ
Route::any('official/notify', 'WechatController@officialNotify');

easywechat-Autor An Zhengchao hat für uns berücksichtigt, dass

Serverüberprüfung
mit

Empfangen und Beantworten von NachrichtenTutorial für Anfänger: Laravel kombiniert mit Easywechat zum Versenden von Vorlagennachrichten für öffentliche Kontenin 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;
    }

meine geschäftlichen Anforderungen: Nachdem der Benutzer aufgepasst hat, muss eine Nachricht an den Benutzer gesendet werden, die zum Miniprogramm springen kann. Hier muss nach Erhalt der Ereignisnachricht festgestellt werden, ob es sich um ein Problem handelt Ereignis, und ändern Sie dann die Antwortnachricht in den folgenden Code. Klicken Sie hier auf den Link a. Sie können das Miniprogramm direkt öffnen, ohne den Benutzer um Bestätigung zu bitten.
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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen