Dengan populariti dan perkembangan WeChat, akaun rasmi WeChat telah menjadi platform pilihan bagi banyak syarikat dan individu untuk menjalankan pemasaran dan publisiti. WeChat JS-SDK ialah bahagian penting dalam pembangunan akaun awam WeChat. Ia boleh membantu kami melaksanakan beberapa fungsi yang lebih interaktif dan menarik, seperti berkongsi ke Moments, memanggil pembayaran WeChat, dsb. Artikel ini akan memperkenalkan cara untuk melaksanakan tandatangan WeChat JS-SDK dalam PHP untuk memudahkan semua orang menggunakan fungsi ini dalam pembangunan.
1. Pengenalan kepada WeChat JS-SDK
WeChat JS-SDK ialah alat pembangunan yang disediakan oleh akaun rasmi WeChat, yang membolehkan kami menggunakan pelbagai fungsi WeChat dalam akaun rasmi. Melalui WeChat JS-SDK, kami boleh memanggil antara muka API WeChat dalam halaman web untuk merealisasikan perkongsian, pembayaran, pengimbasan kod QR, muat turun dan fungsi lain WeChat, membawa pengalaman pengguna yang lebih baik kepada pengguna.
2. Prinsip tandatangan WeChat JS-SDK
Sebelum menggunakan WeChat JS-SDK, kami perlu menghubungi antara muka yang disediakan oleh WeChat untuk menandatangani. Prinsip tandatangan WeChat JS-SDK ialah: berdasarkan akses_token dan jsapi_ticket yang telah diperoleh sebelumnya, URL yang diminta pada masa ini disulitkan dan tandatangan dijana. Selepas memperkenalkan fail JS ke halaman hujung hadapan, sahkannya melalui wx.config Fail JS secara automatik akan meminta bahagian belakang untuk pengesahan tandatangan Jika pengesahan berjaya, anda boleh meneruskan ke langkah seterusnya.
3. Langkah menandatangani WeChat JS-SDK
Sebelum menggunakan WeChat JS-SDK untuk menandatangani, kita perlu mendapatkan access_token dan jsapi_ticket jsapi_ticket kedua-dua parameter ini. Antaranya, access_token ialah satu-satunya kelayakan yang digunakan oleh platform awam WeChat apabila memanggil setiap antara muka, dan jsapi_ticket ialah tiket sementara yang digunakan dalam js-sdk untuk memanggil antara muka WeChat JS. Ia boleh diperolehi dengan cara berikut:
(1) access_token
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid =". $appid."&secret=".$appsecret;
$res = json_decode(file_get_contents($url));
$access_token = $res->access_token;
(2 ) jsapi_ticket
$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=".$access_token;
$res = json_decode(file_get_contents ($url ));
$ticket = $res->ticket;
noncestr dan timestamp adalah rentetan dan masa yang dijana secara rawak setem. Boleh diperolehi menggunakan kod berikut:
$nonceStr = createNonceStr();
$timeStamp = time();
//Jana rentetan rawak
fungsi createNonceStr($ panjang = 16) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $str = ""; for ($i = 0; $i < $length; $i++) { $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); } return $str;
}
Isih semua parameter mengikut kod ASCII daripada kecil ke besar dan kemudian sambungkan menjadi tali. Perhatikan penyambungan mengikut keperluan dalam algoritma tandatangan, seperti yang ditunjukkan dalam contoh berikut:
string1 = "jsapi_ticket=" "&noncestr=" "×tamp=" timeStamp . "&url =" . $url;
Sulitkan rentetan yang disambung dengan SHA1 untuk menjana tandatangan. Parameter ini kemudiannya dikembalikan ke hujung hadapan bersama-sama. Seperti yang ditunjukkan dalam contoh berikut:
$signature = sha1($string1);
$data = array(
"appId" => $appid, "nonceStr" => $nonceStr, "timestamp" => $timeStamp, "url" => $url, "signature" => $signature, "jsApiList" => array( "onMenuShareTimeline", "onMenuShareAppMessage", "onMenuShareQQ", "onMenuShareWeibo", "hideMenuItems", "showMenuItems", "chooseWXPay" )
);
$signPackage = json_encode ($data);
Perkenalkan fail JS yang disediakan oleh WeChat pada bahagian hadapan halaman dan hubungi wx.config untuk pengesahan Selepas pengesahan berjaya, anda boleh menggunakan fungsi yang disediakan oleh WeChat JS-SDK.
4. Kesimpulan
Artikel ini memperkenalkan cara melaksanakan tandatangan WeChat JS-SDK dalam PHP. Apabila menggunakan WeChat JS-SDK, anda juga perlu membuat konfigurasi dan panggilan yang berkaitan berdasarkan keperluan sebenar. Saya harap artikel ini dapat membantu anda menggunakan akaun awam WeChat dengan lebih baik untuk promosi pemasaran.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan tandatangan WeChat JS-SDK dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!