初心者向けチュートリアル: laravel と easywechat を組み合わせてパブリック アカウント テンプレート メッセージを送信する
最近、新しい要求を受け取りました。サービス アカウントをフォローしているユーザーにテンプレート メッセージを送信する必要があります。この要求を完了するまでの過程を記録するブログを書く必要があります。拡張パッケージでは、 easywechat
laravel easywechat と組み合わせてパブリック アカウント テンプレート メッセージを送信するための詳細な手順。easywechat の作成者に感謝します。初心者にとっては非常に便利です。
今回の状況が特殊なため、ミニプログラムにバインドされる公式アカウントとプッシュされる公式アカウントが異なり、union_Idが不一致になる可能性があるため、両方の公式アカウントをバインドする必要があります。 WeChat オープン プラットフォーム。そうでない場合は、登録してバインドするだけです。
WeChat オープン プラットフォーム ドキュメント
これはまったく新しい公開なので、アカウントはここにあるので、手順は比較的簡単です。
js セキュア ドメイン名を構成します
シークレットを生成します (主に保存してフォローアップ リセットするとオンライン ビジネスに影響します)
サーバー構成を入力して有効にします
ここに入力されたサーバー アドレスは、今後、フォローやキャンセルなど、公式アカウントからのさまざまなイベント コールバックを受信するために使用されます。
ローカル デバッグにはイントラネットへの侵入が必要です。特定のチュートリアルは自分で検索してください。方法がわかりません
設定を変更します WeChat は、入力されたサーバー アドレスが正常に受信できるかどうかを確認します。そのため、検証プロセスが実行され、インターフェースは正しい戻りパラメータを与える必要があります
アクセスドキュメントリンク参照
WeChat 検証と後続のコールバックのため、このルートが使用され、検証は GET リクエストで、後続のイベント コールバックなどはポストリクエストであるため、ルートを任意のタイプに設定する必要がありますRoute::any('official/notify', 'WechatController@officialNotify');ログイン後にコピーeasywechat 作者 An Zhengchao が検討してくれました サーバー検証 は、1 つのリンクで メッセージの受信と返信 と互換性があるため、ドキュメント
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; }ログイン後にコピー
ユーザーが注意を払った後、ビジネスのニーズに応じて、ミニ プログラムにジャンプできるメッセージをユーザーに送信します。ここでは、イベント メッセージを受信した後、それがイベント メッセージであるかどうかを判断する必要があります。関心のあるイベントを選択し、返信メッセージを次のコードに変更します。ここのリンクをクリックして、ミニ プログラムを直接開きます。ユーザーに確認するかどうかを尋ねるプロンプトは表示されません。
次の点に注意してください:公開アカウントをフォローすると、[$app->user->get($openId);] を通じて UnionID といくつかの基本情報を取得できます。フォローを解除すると、openid
case 'event': return '欢迎关注音视频资产管理与协同交付平台「laravel」官方微信。 <a>点击跳转</a> 网页版请至: https://learnku.com'; break;
Rendering# のみを取得できます。
WeChat パブリック プラットフォームでテンプレート メッセージをアクティブ化するように申請してください。テンプレート メッセージは、次の Web サイトの「新機能」で見つけてください。右メニューの下部にあるアクティベーションを申請するには、1 ~ 3 営業日程度かかります。わずか 1 日で合格しました
アクティベーション後、業種とテンプレートの種類を選択します WeChat が提供するテンプレート ライブラリが見つからない場合と、ビジネスも同様で、自分で申請書を提出する必要がありますが、これには 7 ~ 15 日ほど時間がかかります。テンプレート ライブラリ
を使用することをお勧めします。ここで、テンプレート ID をコードに保存する必要があります。後でテンプレート メッセージを送信するには、
$openId = '公众号的openid'; $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);// $user = $app->user->get($openId);// dd($user); // 发送模板消息 $app->template_message->send([ 'touser' => $openId, 'template_id' => '模板id', 'url' => 'http://www.网站.cn', 'miniprogram' => [ // 跳转到小程序,和上面的url同时存在的话,则优先显示小程序 'appid' => '小程序的id', 'pagepath' => '小程序页面地址', ], 'data' => [ 'first' => [ 'value' => '赵师傅已加入群组演示项目', 'color' => '#888888' ], 'keyword1' => [ 'value' => '加入项目' ], 'keyword2' => [ 'value' => '加入成功' ], 'keyword3' => [ 'value' => '2021-12-10 14:21:05' ], 'remark' => [ 'value' => '点击打开小程序' ], ], ]);
関連する推奨事項: 最新の 5 つの Laravel ビデオ チュートリアル
以上が初心者向けチュートリアル: laravel と easywechat を組み合わせてパブリック アカウント テンプレート メッセージを送信するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Laravel 9 と CodeIgniter 4 の最新バージョンでは、更新された機能と改善が提供されます。 Laravel9はMVCアーキテクチャを採用しており、データベース移行、認証、テンプレートエンジンなどの機能を提供します。 CodeIgniter4 は、HMVC アーキテクチャを使用してルーティング、ORM、およびキャッシュを提供します。パフォーマンスの面では、Laravel9 のサービスプロバイダーベースの設計パターンと CodeIgniter4 の軽量フレームワークにより、優れたパフォーマンスが得られます。実際のアプリケーションでは、Laravel9 は柔軟性と強力な機能を必要とする複雑なプロジェクトに適しており、CodeIgniter4 は迅速な開発や小規模なアプリケーションに適しています。

初心者にとって、CodeIgniter は学習曲線が緩やかで機能は少ないですが、基本的なニーズはカバーしています。 Laravel は幅広い機能セットを提供しますが、学習曲線はわずかに急になります。パフォーマンスの点では、Laravel と CodeIgniter はどちらも良好なパフォーマンスを示します。 Laravel にはより広範なドキュメントとアクティブなコミュニティ サポートがあり、CodeIgniter はよりシンプルで軽量で、強力なセキュリティ機能を備えています。ブログアプリケーションを構築する実際のケースでは、Laravel の EloquentORM を使用するとデータ操作が簡素化されますが、CodeIgniter ではより手動の構成が必要になります。

大規模プロジェクト用のフレームワークを選択する場合、Laravel と CodeIgniter にはそれぞれ独自の利点があります。 Laravel はエンタープライズレベルのアプリケーション向けに設計されており、モジュール設計、依存関係の注入、強力な機能セットを提供します。 CodeIgniter は、速度と使いやすさを重視した、小規模から中規模のプロジェクトに適した軽量フレームワークです。複雑な要件と多数のユーザーを伴う大規模なプロジェクトには、Laravel のパワーとスケーラビリティがより適しています。単純なプロジェクトやリソースが限られている状況では、CodeIgniter の軽量で迅速な開発機能がより理想的です。

Laravel - アーティザン コマンド - Laravel 5.7 には、新しいコマンドを処理およびテストするための新しい方法が付属しています。これには職人コマンドをテストする新しい機能が含まれており、そのデモについては以下で説明します。

小規模なプロジェクトの場合、Laravel は強力な機能とセキュリティを必要とする大規模なプロジェクトに適しています。 CodeIgniter は、軽量さと使いやすさを必要とする非常に小規模なプロジェクトに適しています。

Laravel の Blade と CodeIgniter の Twig テンプレート エンジンを比較し、プロジェクトのニーズと個人的な好みに基づいて選択してください。Blade は MVC 構文に基づいており、適切なコード編成とテンプレートの継承を促進します。 Twig は、柔軟な構文、強力なフィルター、拡張サポート、セキュリティ サンドボックスを提供するサードパーティ ライブラリです。

Laravel - Artisan Console - Laravel フレームワークは、コマンドラインを介した対話のための 3 つの主要なツール、つまり Artisan、Ticker、REPL を提供します。この章ではArtisanについて詳しく説明します。

Laravel - ページネーションのカスタマイズ - Laravel には、ユーザーまたは開発者がページネーション機能を組み込むのに役立つページネーションの機能が含まれています。 Laravel ページネーターは、クエリ ビルダーおよび Eloquent ORM と統合されています。自動ページネーションメソッド
