Rumah > rangka kerja php > Laravel > Tutorial untuk pemula: laravel digabungkan dengan easywechat untuk menghantar mesej templat akaun awam

Tutorial untuk pemula: laravel digabungkan dengan easywechat untuk menghantar mesej templat akaun awam

藏色散人
Lepaskan: 2021-12-14 15:02:30
ke hadapan
4177 orang telah melayarinya

Baru-baru ini, saya menerima permintaan baharu, saya perlu menghantar mesej templat kepada pengguna yang mengikuti akaun perkhidmatan easywechat
laravel Arahan terperinci untuk menghantar mesej templat akaun rasmi digabungkan dengan easywechat Terima kasih kepada pengarang easywechat.
Oleh kerana keadaan kami agak istimewa, akaun rasmi yang terikat dengan program mini dan akaun rasmi yang akan ditolak adalah tidak sama Ini melibatkan kemungkinan union_Id tidak konsisten, jadi kedua-dua akaun rasmi perlu terikat kepada. Platform terbuka WeChat , jika tidak, hanya daftar dan ikat
Dokumen Platform Terbuka WeChat

Tutorial untuk pemula: laravel digabungkan dengan easywechat untuk menghantar mesej templat akaun awam

kerana ini adalah orang awam yang baharu akaun di sini , jadi langkahnya agak mudah

Konfigurasikan nama domain selamat js

Tutorial untuk pemula: laravel digabungkan dengan easywechat untuk menghantar mesej templat akaun awam

Jana rahsia (terutamanya simpan itu, Tetapan Semula susulan akan menjejaskan perniagaan dalam talian)

Tutorial untuk pemula: laravel digabungkan dengan easywechat untuk menghantar mesej templat akaun awam

Isi dan dayakan konfigurasi pelayan

Tutorial untuk pemula: laravel digabungkan dengan easywechat untuk menghantar mesej templat akaun awam
Alamat pelayan yang diisi di sini akan digunakan untuk menerima pelbagai panggilan balik acara daripada akaun rasmi pada masa hadapan, seperti ikut dan batal
Penyahpepijatan setempat memerlukan penembusan intranet Cari sendiri tutorial tertentu dan saya tidak. tidak tahu bagaimana untuk melakukannya

Selepas mengubah suai konfigurasi, WeChat akan mengesahkan sama ada alamat pelayan yang diisi boleh diterima seperti biasa, jadi ia akan melalui proses pengesahan dan antara muka perlu memberikan yang betul parameter pulangan
Akses rujukan pautan dokumen
Kerana pengesahan WeChat dan panggilan balik berikutnya Mereka semua akan menggunakan laluan ini, pengesahan ialah permintaan GET, dan panggilan balik acara seterusnya dan seumpamanya ialah permintaan pos, jadi laluan perlu ditetapkan kepada sebarang jenis

Route::any('official/notify', 'WechatController@officialNotify');
Salin selepas log masuk

pengarang easywechat Seorang Zhengchao telah mempertimbangkan perkara ini untuk kami Pengesahan pelayan serasi dengan penerimaan mesej dan balasan dalam satu pautan, jadi anda boleh menggunakan ia terus mengikut dokumen

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;
    }
Salin selepas log masuk

Perniagaan saya memerlukan, dalam Selepas pengguna memberi perhatian, mesej yang boleh melompat ke program mini perlu dihantar kepada pengguna Di sini, selepas menerima mesej acara, adalah perlu untuk menentukan sama ada ia adalah peristiwa yang membimbangkan, dan kemudian menukar mesej kembali kepada kod berikut Klik pautan di sini untuk Membuka program mini secara langsung tanpa meminta pengesahan daripada pengguna ambil perhatian bahawa mengikuti akaun awam, anda boleh mendapatkan unionid dan Beberapa maklumat asas, menyahikut hanya boleh dibuka

case 'event':
      return '欢迎关注音视频资产管理与协同交付平台「laravel」官方微信。
<a>点击跳转</a>
网页版请至:
https://learnku.com';
      break;
Salin selepas log masuk

Rendering

Tutorial untuk pemula: laravel digabungkan dengan easywechat untuk menghantar mesej templat akaun awam(未完成)

Acara panggilan balik perhatian akaun rasmi WeChat Maklumat asas pengguna dan id kesatuan juga akan dihantar bersama-sama Pastikan anda menyimpan openid dan unionid akaun rasmi Mesej templat berikutnya akan dihantar berdasarkan openid akaun rasmi

pada platform awam WeChat Untuk memohon pengaktifan mesej templat, cari mesej templat dalam "Ciri Baharu" di bahagian bawah menu sebelah kanan dan klik Mohon untuk pengaktifan hari bekerja. Saya lulus dalam satu hari

Tutorial untuk pemula: laravel digabungkan dengan easywechat untuk menghantar mesej templat akaun awam(未完成)

Selepas pengaktifan, pilih industri dan jenis templat Jika perpustakaan templat yang disediakan oleh WeChat tidak ditemui dan Jika anda perniagaan adalah sama, anda perlu menghantar sendiri permohonan, tetapi ini mengambil masa yang lama, kira-kira 7-15 hari Adalah disyorkan untuk menggunakan perpustakaan templat

Tutorial untuk pemula: laravel digabungkan dengan easywechat untuk menghantar mesej templat akaun awam(未完成) di sini. Id templat mesti disimpan dalam kod, dan anda perlu menggunakan

untuk menghantar mesej templat kemudiannya. Berikut adalah untuk menghantar mesej templat kepada pengguna mengikut keperluan perniagaan

Rendering
$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' => '点击打开小程序'
            ],
        ],
    ]);
Salin selepas log masuk

Tutorial untuk pemula: laravel digabungkan dengan easywechat untuk menghantar mesej templat akaun awam(未完成)Di atas adalah keseluruhan proses menggunakan laravel digabungkan dengan easywechat untuk menghantar mesej templat akaun rasmi, lengkap!

Cadangan berkaitan: Lima tutorial video Laravel terbaharu

Atas ialah kandungan terperinci Tutorial untuk pemula: laravel digabungkan dengan easywechat untuk menghantar mesej templat akaun awam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:learnku.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan