


Bagaimanakah rangka kerja ThinkPHP5 membenarkan halaman web akaun awam WeChat?
Apr 14, 2023 am 11:21 AMApabila akaun rasmi WeChat menjadi semakin popular, semakin ramai orang mula membuat akaun rasmi mereka sendiri. Antaranya, kebenaran halaman web adalah kaedah pembangunan biasa dalam pembangunan akaun awam. Artikel ini akan memperkenalkan cara menggunakan rangka kerja ThinkPHP5 untuk membenarkan halaman web akaun awam WeChat.
1. Daftar akaun awam dan dapatkan AppID dan AppSecret
Sebelum membenarkan halaman web akaun awam WeChat, anda perlu mendaftar akaun awam WeChat dan memohon kebenaran pembangun. Selepas aplikasi berjaya, anda boleh mendapatkan dua parameter penting AppID dan AppSecret dalam "Pusat Pembangun".
2. Konfigurasikan maklumat akaun awam
Dalam rangka kerja ThinkPHP5, kami boleh mencipta fail wechat.php baharu dalam direktori konfigurasi untuk menyimpan maklumat konfigurasi akaun awam kami. Dalam fail ini, kami perlu mengkonfigurasi maklumat berikut:
<?php return [ 'app_id' =>?'your?appid', ????'app_secret'?=>?'your?appsecret', ????'auth_redirect'?=>?'your?callback?url', ];
Antaranya:
-
app_id
danapp_secret
ialah parameter yang kami perolehi dalam pengurusan akaun rasmi antara muka. -
auth_redirect
ialah alamat panggilan balik selepas kebenaran halaman web WeChat Ia mestilah alamat URL yang boleh diakses daripada rangkaian awam.
3. Dapatkan url kebenaran halaman web
Sebelum kami memanggil antara muka kebenaran halaman web WeChat, kami perlu membina url kebenaran halaman web. Kami boleh menambah kod berikut dalam pengawal:
$config?=?config('wechat'); $url?=?'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' ????????.?$config['app_id'] ????????.?'&redirect_uri=' ????????.?urlencode($config['auth_redirect']) ????????.?'&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect';
Dalam kod di atas, kami memperoleh maklumat akaun awam yang dikonfigurasikan sebelum ini melalui fungsi konfigurasi dan membina URI yang dibenarkan oleh halaman web WeChat. Antaranya, response_type=code
menunjukkan penggunaan kod untuk kebenaran, dan scope=snsapi_userinfo
menunjukkan bahawa skop kebenaran adalah untuk mendapatkan maklumat pengguna asas.
4. Dapatkan kod kebenaran halaman web
Selepas membina URL kebenaran halaman web, kami perlu melompat ke URL untuk mendapatkan kebenaran. Selepas kebenaran berjaya, pelayan WeChat akan menghantar semula parameter kod melalui GET. Kita boleh menambah kod berikut dalam pengawal untuk mendapatkan kod.
if?(isset($_GET['code']))?{ ????$code?=?$_GET['code']; }?else?{ ????$this->redirect($url); }
Dalam kod di atas, kami mula-mula menentukan sama ada URL mengandungi parameter kod. Jika ada, ini bermakna pengguna telah diberi kuasa dengan jayanya, dan kami akan menyimpan kod yang diperoleh untuk kegunaan seterusnya. Jika tidak, anda perlu melompat dan melaksanakan kebenaran halaman web.
5. Dapatkan akses_token dan openId pengguna
Selepas kebenaran berjaya, access_token dan openId diperlukan untuk operasi seterusnya. Kita boleh menambah kod berikut dalam pengawal untuk mendapatkan akses_token dan openId pengguna.
$accessTokenUrl?=?'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' ????????????????????.?$config['app_id'] ????????????????????.?'&secret=' ????????????????????.?$config['app_secret'] ????????????????????.?'&code=' ????????????????????.?$code ????????????????????.?'&grant_type=authorization_code'; $accessTokenResponse?=?json_decode(file_get_contents($accessTokenUrl),?true); if?(isset($accessTokenResponse['errcode']))?{ ????throw?new?\Exception('ERROR?'?.?$accessTokenResponse['errcode']?.?':?'?.?$accessTokenResponse['errmsg']); } $accessToken?=?$accessTokenResponse['access_token']; $openId?=?$accessTokenResponse['openid'];
Dalam kod di atas, kami mula-mula membina URL yang meminta access_token, menghantar permintaan ke URL dan mendapatkan hasil respons. Jika hasil respons mengandungi errcode
, ini bermakna terdapat ralat dalam permintaan dan kami akan membuang pengecualian jika tidak, kami akan menyimpan access_token dan openId yang diperoleh untuk kegunaan seterusnya.
6. Dapatkan butiran pengguna
Selepas mendapatkan akses_token dan openId pengguna, kami boleh mendapatkan maklumat terperinci pengguna melalui kod berikut:
$userInfoUrl?=?'https://api.weixin.qq.com/sns/userinfo?access_token=' ????????????????.?$accessToken ????????????????.?'&openid=' ????????????????.?$openId ????????????????.?'&lang=zh_CN'; $userInfoResponse?=?json_decode(file_get_contents($userInfoUrl),?true); if?(isset($userInfoResponse['errcode']))?{ ????throw?new?\Exception('ERROR?'?.?$userInfoResponse['errcode']?.?':?'?.?$userInfoResponse['errmsg']); }
Dalam kod di atas , kami membina URL untuk meminta maklumat pengguna, menghantar permintaan ke URL dan memperoleh hasil respons. Jika respons mengandungi errcode
, ini bermakna terdapat ralat dengan permintaan dan kami akan membuang pengecualian.
Pada ketika ini, kami telah berjaya menyelesaikan proses membenarkan halaman web akaun rasmi WeChat!
Atas ialah kandungan terperinci Bagaimanakah rangka kerja ThinkPHP5 membenarkan halaman web akaun awam WeChat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)