이 글은 주로 WeChat 애플릿의 WeChat 연습 단계의 예제 코드를 소개합니다. 편집자가 꽤 좋다고 생각해서 지금 공유하고 참고용으로 제공하겠습니다. 에디터를 따라가서 살펴볼까요
이제는 Ant Forest든 WeChat이든 스포츠 걸음수 계산이 매우 인기가 높습니다. 이 글에서는 WeChat 미니 프로그램 WeChat 스포츠 걸음수 계산의 예제 코드를 소개하고 모두와 공유합니다
WeChat 미니 프로그램 API - WeChat Sports
아이디어: wx.login에서 얻은 코드는 얻은 session_key, wx.getWeRunData에서 얻은 iv 및 encryptData를 요청하며, 암호 해독을 위해 함께 백그라운드로 전송됩니다.
보안상의 문제는 예시일 뿐이므로 session_key를 직접 전달하는 것이 보안을 위해서는 아래 그림과 같이 암호화하여 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!