この記事では、主に WeChat アプレットの WeChat 演習ステップのサンプル コードを紹介します。編集者はそれが非常に優れていると考えたので、参考として共有します。編集者をフォローして見てみましょう
今、Ant ForestでもWeChatでも、スポーツ歩数計が非常に人気があります。この記事では、WeChatミニプログラムWeChatスポーツ歩数計のサンプルコードを紹介し、みんなと共有します
WeChatミニプログラム。 API - WeChat Sports
アイデア: wx.login によって取得されたコードは、取得された session_key、wx.getWeRunData によって取得された iv および encryptData を要求し、それらは復号化のためにバックグラウンドに一緒に送信されます。
セキュリティ上の懸念。これは単なる例であるため、セキュリティを確保するには、次の図に示すように暗号化して Redis に保存してからキーを渡すのが最善です。
小さなターミナルコード
get3rdSession: function () { let that = this wx.request({ url: 'https://localhost/login.php', data: { code: this.data.code }, method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT success: function (res) { var sessionId = res.data; that.setData({ sessionId: sessionId }) wx.setStorageSync('sessionId', sessionId) that.decodeUserInfo() } }) }, decodeUserInfo: function () { let that = this wx.request({ url: 'https://localhost/decrypt.php', data: { encryptedData: that.data.encryptedData, iv: that.data.iv, session: wx.getStorageSync('sessionId') }, method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT // header: {}, // 设置请求的 header success: function (res) { let todayStep = res.data.stepInfoList.pop() that.setData({ step: todayStep.step }); } }) }, onLoad: function () { let that = this wx.login({ success: function (res) { let code = res.code that.setData({ code: code }) wx.getWeRunData({//解密微信运动 success(res) { const wRunEncryptedData = res.encryptedData that.setData({ encryptedData: wRunEncryptedData }) that.setData({ iv: res.iv }) that.get3rdSession()//解密请求函数 } }) } }) }
背景は公式PHPバージョンのデモを使用しています: 最初にログインリクエストを処理し、login.phpがsession_keyを直接返し、次に復号化のためにdecrypt.phpを一緒にリクエストします。
login.php パーツ コード
$appid = '你的appid'; $appsecret = '你的appsecret'; $url = 'https://api.weixin.qq.com/sns/jscode2session?appid='.$appid.'&secret='.$appsecret.'&js_code='.$_GET['code'].'&grant_type=authorization_code'; $content = file_get_contents($url); $content = json_decode($content); echo $content->session_key;
decrypt.php パーツ コード
$pc = new WXBizDataCrypt($appid, $sessionKey); $errCode = $pc->decryptData($encryptedData, $iv, $data ); if ($errCode == 0) { print($data . "\n"); } else { print($errCode . "\n"); }
以上がWeChat アプレットが WeChat 演習ステップを取得する方法の例 (写真)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。