2024国产成人精品免费视频|日本免费一区二区三区毛片|久久97超碰色中文字幕|亚洲天堂a中文字幕

使用微信小程序wx.getWeRunData獲取近30天步數(shù)信息

2022-03-18 13:07 欄目:技術(shù)開發(fā) 查看(12936)

根據(jù)近期微構(gòu)網(wǎng)絡(luò)受到的長(zhǎng)沙小程序開發(fā)需求來看,當(dāng)前越來越多的小程序有獲取步數(shù)的需求,往往就是用于小程序某個(gè)用戶互動(dòng)模塊。比如捐贈(zèng)步數(shù)做公益(平臺(tái)直接補(bǔ)貼)、步數(shù)兌換積分等等。微信官方文檔中描述可以通過wx.getWeRunData獲取到encryptedData、iv等返回參數(shù)值,那么如何完整地實(shí)現(xiàn)獲取微信運(yùn)動(dòng)的信息呢。根據(jù)官方文件可知,其實(shí)跟其他的信息獲取是類似的流程,比如微信綁定的手機(jī)號(hào)碼獲取。基本步驟如下:

1、通過wx.login獲取到code(小程序客戶端)。

2、通過wx.getWeRunData獲取到encryptedData、iv(小程序客戶端)。

3、向后臺(tái)服務(wù)端發(fā)送code、encryptedData、iv(通過小程序客戶端的wx.request)。

4、通過jscode2session把code交換得到解密sessionKey(后臺(tái)服務(wù)端)。

5、通過sessionKey、encryptedData、iv解密得到明文數(shù)據(jù)(后臺(tái)服務(wù)端)。

通過以上步驟我們就可以獲取到我們需要得到的步數(shù)信息,timestamp為時(shí)間(如2022-03-20的時(shí)間戳)、step為步數(shù),可以獲取最近30天的(含當(dāng)天的)。

QQ截圖20220318125135

有了上面的步驟,就可以快速寫出前后端的實(shí)現(xiàn)代碼了,當(dāng)然為了方便理解這里直接采用未經(jīng)過封裝的源代碼。

小程序前端請(qǐng)求代碼:

getWeRunData:function(){
    wx.login({
      success(res) {
        wx.getWeRunData({
          success (r) {
            wx.request({
              method:'POST',
              url: 'getWeRunData.php',//后臺(tái)接口
              data: {
                code:res.code,//通過wx.login獲取到code
                encryptedData:r.encryptedData,
                iv:r.iv
              },
              success (d) {
                console.log(d);//得到后臺(tái)返回的明文數(shù)據(jù)
              }
            })
          }
        })
      }
    })  
}

后臺(tái)服務(wù)端解密代碼:

$post=input('param.');
$params = [
	'appid' =>'appid', //小程序appid
	'secret' => 'secret', //小程序app secret
	'js_code' => $post['code'], 
	'grant_type' => 'authorization_code' //grant_type
];
$res = $this->http('https://api.weixin.qq.com/sns/jscode2session', $params);//獲取sessionKey 
$reqData = json_decode($res['result'], true);
$sessionKey = $reqData['session_key'];
$pc= new WXBizDataCrypt($params['appid'],$sessionKey);
$errCode = $pc->decryptData($post['encryptedData'], $post['iv'],$data);//解密密文
$data = json_decode($data, true);
print_r($data);

此外需要注意的是wx.getWeRunData需要獲得用戶授權(quán)(scope.werun),如果首次請(qǐng)求需要用戶同意授權(quán)獲取微信運(yùn)動(dòng)數(shù)據(jù)。

QQ截圖20220318130544

以上就是獲取微信運(yùn)動(dòng)近30天數(shù)據(jù)的基本流程和簡(jiǎn)易demo,如果你有這方面場(chǎng)景需求,歡迎與我們一起溝通交流。

與我們的項(xiàng)目經(jīng)理聯(lián)系
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流

轉(zhuǎn)載請(qǐng)注明出處:使用微信小程序wx.getWeRunData獲取近30天步數(shù)信息 - 微構(gòu)網(wǎng)絡(luò)
分享:
博爱县| 罗源县| 澄迈县| 沧州市| 新河县| 朝阳市| 绿春县| 平度市| 盐池县| 图木舒克市| 张家川| 黄龙县| 聂荣县| 嘉义县| 大理市| 隆子县| 长垣县| 长汀县| 颍上县| 建德市| 平遥县| 勐海县| 龙里县| 鞍山市| 青州市| 平江县| 静宁县| 浪卡子县| 将乐县| 诏安县| 文登市| 镇江市| 固始县| 门源| 临澧县| 大城县| 平阴县| 洛浦县| 疏附县| 虎林市| 宁强县|