WeChat パブリック アカウント開発の人気に伴い、開発プロセス中に WeChat JS-SDK を使用して WeChat API を便利に操作できます。最も重要なステップは、JS-SDK の署名を実装することです。この記事では、ThinkPHP6 フレームワークを使用して WeChat JS-SDK 署名の実装を効率的に完了する方法を紹介します。
1. WeChat JS-SDK に必要なパラメータを取得する
JS-SDK を使用する前に、WeChat サーバーから appid
などのいくつかのパラメータを申請する必要があります。 timestamp
、nonceStr
、signature
、取得方法は次のとおりです。
$appId = "wxxxxxxxxxxxxxxx"; //正确的微信AppID $jsTicket = "kgt8ON7yVITDhtdwci0qed6Q8tW6ozAAAAAAAAAABw0VFbV6GMpGqzPJHxhUW1Xa"; //正确的jsTicket $url = "http://tocacar.com/wechat/index/index"; //当前网页的URL,不包含#及其后面部分 $timestamp = time(); //当前时间戳 $nonceStr = md5(uniqid(mt_rand(), true)); $signature = sha1("jsapi_ticket={$jsTicket}&noncestr={$nonceStr}×tamp={$timestamp}&url={$url}"); // $signature 即为所需要的签名值
2. 署名の取得方法を定義します
ThinkPHP6 では、次のように WeChat JS-SDK 署名を取得するメソッドがコントローラーで定義されています。
// 定义获取微信JS-SDK签名的方法 public function getJsSdkSign() { $appId = "wxxxxxxxxxxxxxxx"; //正确的微信AppID $jsTicket = "kgt8ON7yVITDhtdwci0qed6Q8tW6ozAAAAAAAAAABw0VFbV6GMpGqzPJHxhUW1Xa"; //正确的jsTicket $url = "http://tocacar.com/wechat/index/index"; //当前网页的URL,不包含#及其后面部分 $timestamp = time(); //当前时间戳 $nonceStr = md5(uniqid(mt_rand(), true)); $signature = sha1("jsapi_ticket={$jsTicket}&noncestr={$nonceStr}×tamp={$timestamp}&url={$url}"); $res = [ 'appId' => $appId, 'timestamp' => $timestamp, 'nonceStr' => $nonceStr, 'signature' => $signature, 'jsApiList' => ['onMenuShareTimeline', 'onMenuShareAppMessage', 'chooseWXPay'] //需要使用的JS接口列表 ]; return json($res); //返回JSON格式的数据 }
3. ページで署名を取得するメソッドを呼び出します
JS-SDK を呼び出す必要があるページでは、AJAX を使用して上記で定義したメソッドを呼び出して署名を取得し、署名パラメーターを取得した後、WeChat API を呼び出します。サンプル コードは次のとおりです。
$.ajax({ type: 'get', url: '/index/getJsSdkSign', //定义的获取微信JS-SDK签名的方法的URL dataType: 'json', success: function(data) { //获取到签名参数后,再调用微信API wx.config({ debug: false, appId: data.appId, timestamp: data.timestamp, nonceStr: data.nonceStr, signature: data.signature, jsApiList: data.jsApiList }); wx.ready(function () { // 在这里调用需要使用JS-SDK的微信API }); } });
4. 概要
この記事では、ThinkPHP6 フレームワークを使用して WeChat JS-SDK 署名の実装を効率的に完了する方法を紹介します。署名の取得方法を定義することで、WeChat JS-SDK の署名パラメーターをより簡単かつ効率的に取得できるようになりますので、WeChat 公式アカウントを開発する場合は、上記の方法を参考にして開発効率を向上させるとよいでしょう。
以上がThinkPHP6 を使用して WeChat JS-SDK 署名を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。