当前位置:   article > 正文

微信小程序中获取用户微信运动信息_小程序获取运动步数

小程序获取运动步数

可以通过微信接口:wx.getWeRunData 获取用户过去三十天的微信运动步数。

前提:
使用这个接口有两个前提:

1. 需先调用wx.login接口进行登录  步数信息会在用户主动进入小程序时更新。
2. 调用前需要用户授权scope.werun

  1. Page({
  2.   data: {
  3.       runData:[],
  4.   },
  5.   /**
  6.    * 生命周期函数--监听页面加载
  7.    */
  8.   onLoad: function (options) {
  9.     //1、调用小程序API:wx.login获取code和sessionKey;
  10.     var that = this;
  11.     wx.login({
  12.       success: function (resLogin) {
  13.         if (resLogin.code) {
  14.           wx.request({
  15.             url: 'http://localhost:9281/wxapp/onlogin',
  16.             data: { //传给后台参数code
  17.               code: resLogin.code
  18.             },
  19.             success: function (resSession) {
  20.                 //2、调用小程序API: wx.getWeRunData获取微信运动数据(加密的);
  21.               wx.getWeRunData({
  22.                 success(resRun) {
  23.                   const encryptedData = resRun
  24.                   console.info(resRun);
  25.                   //3、解密步骤2的数据;
  26.                   wx.request({
  27.                     url: 'http://localhost:9281/wxapp/decrypt',
  28.                     data: { //传给后台加密参数
  29.                       encryptedData: resRun.encryptedData,
  30.                       iv: resRun.iv,
  31.                       code: resLogin.code
  32.                     },
  33.                     method: 'GET',
  34.                     success: function (resDecrypt) {
  35.                       var runData = JSON.parse(resDecrypt.data.data)
  36.                       if (runData.stepInfoList)
  37.                       {
  38.                         runData.stepInfoList = runData.stepInfoList.reverse()
  39.                         for (var i in runData.stepInfoList)
  40.                         {
  41.                           runData.stepInfoList[i].date = util.formatTime(new Date(runData.stepInfoList[i].timestamp*1000))
  42.                         }
  43.                         that.setData({ runData: runData.stepInfoList });
  44.                       }                      
  45.                     }
  46.                   });
  47.                 }
  48.               })
  49.             }
  50.           })
  51.         } else {
  52.           console.log('获取用户登录态失败!' + res.errMsg)
  53.         }
  54.       }
  55.     });
  56.   },
  57. })

 

步骤三中传递给后台加密参数后台解析加密数据传递给前台解密后json 

  1. {
  2. "stepInfoList": [
  3. {
  4. "timestamp": 1445866601,
  5. "step": 100
  6. },
  7. {
  8. "timestamp": 1445876601,
  9. "step": 120
  10. }
  11. ]
  12. }
timestampnumber时间戳,表示数据对应的时间
stepnumber微信运动步数

 

参考:https://blog.csdn.net/a389483637/article/details/79544645

参考:https://blog.csdn.net/joyce_lcy/article/details/83412426 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/308215
推荐阅读
相关标签
  

闽ICP备14008679号