国产又猛又爽又黄视频|在线观看人成视频免费|少妇高潮太爽了在线视频|911国产免费无码专区|特黄做受又大又粗又长大片|欧美一级二级免费在线观看|日日夜人人澡人人澡人人看免|欧洲午夜精品一级毛片在线播放

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

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

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

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

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

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

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

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

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

QQ截圖20220318125135

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

小程序前端請(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,//通過(guò)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í)期待你的聲音

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

轉(zhuǎn)載請(qǐng)注明出處:使用微信小程序wx.getWeRunData獲取近30天步數(shù)信息 - 微構(gòu)網(wǎng)絡(luò)
分享:
蚌埠市| 武夷山市| 开化县| 石河子市| 尖扎县| 什邡市| 红桥区| 于都县| 冕宁县| 河曲县| 东台市| 鱼台县| 清苑县| 闸北区| 黄山市| 洛扎县| 通州市| 东乌珠穆沁旗| 鄄城县| 无棣县| 陈巴尔虎旗| 友谊县| 林西县| 红河县| 十堰市| 鄂州市| 福贡县| 瑞安市| 张家川| 武陟县| 普定县| 崇明县| 陆河县| 秦安县| 杭锦后旗| 隆昌县| 新河县| 乌海市| 扬州市| 阜新市| 社会|