>  기사  >  위챗 애플릿  >  WeChat 애플릿이 WeChat 운동 단계를 획득하는 방법의 예(그림)

WeChat 애플릿이 WeChat 운동 단계를 획득하는 방법의 예(그림)

黄舟
黄舟원래의
2017-09-13 09:47:329694검색

이 글은 주로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.