微信小程序获取微信运动步数的实例代码

发布时间 - 2026-01-11 02:26:11    点击率:

现在运动计步很火,无论是蚂蚁森林,还是微信上都很火爆,本文介绍了微信小程序微信运动步数的实例代码,分享给大家

微信小程序API-微信运动
https://mp.weixin.qq.com/debug/wxadoc/dev/api/we-run.html#wxgetwerundataobject

思路:wx.login获取的code请求获取的session_key,wx.getWeRunData获取的iv,encryptData,将它们一起发送到后台解密就行了。

安全顾虑,因为只是示例所以直接传递session_key了,为了安全最好按照下图的方式加密后存储到Redis中再传递key。

小程序端代码

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版本Demo:先处理login的请求,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");
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# 微信小程序运动步数  # 微信小程序  # 步数  # 小程序获取微信运动  # 微信小程序实现运动步数排行功能(可删除)  # 微信小程序仿微信运动步数排行(交互)  # 的是  # 给大家  # 都很  # 然后再  # 发送到  # 大家多多  # 信上  # 中再  # 就行了  # style  # text  # center  # align  # Redis  # HEAD  # key  # js  # pre  # localhost  # url 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何使用Collections进行数据处理?(实用方法示例)  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  iOS正则表达式验证手机号、邮箱、身份证号等  Laravel观察者模式如何使用_Laravel Model Observer配置  Linux后台任务运行方法_nohup与&使用技巧【技巧】  微信小程序 闭包写法详细介绍  Laravel怎么判断请求类型_Laravel Request isMethod用法  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  北京专业网站制作设计师招聘,北京白云观官方网站?  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  MySQL查询结果复制到新表的方法(更新、插入)  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  中国移动官方网站首页入口 中国移动官网网页登录  如何在建站宝盒中设置产品搜索功能?  如何挑选高效建站主机与优质域名?  独立制作一个网站多少钱,建立网站需要花多少钱?  Linux系统命令中tree命令详解  长沙企业网站制作哪家好,长沙水业集团官方网站?  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  Internet Explorer官网直接进入 IE浏览器在线体验版网址  如何在Ubuntu系统下快速搭建WordPress个人网站?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  详解Huffman编码算法之Java实现  制作旅游网站html,怎样注册旅游网站?  香港服务器选型指南:免备案配置与高效建站方案解析  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Laravel如何配置Horizon来管理队列?(安装和使用)  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何在阿里云完成域名注册与建站?  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  如何在万网自助建站中设置域名及备案?  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  HTML 中动态设置元素 name 属性的正确语法详解  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  如何在云指建站中生成FTP站点?  高端企业智能建站程序:SEO优化与响应式模板定制开发  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  Python数据仓库与ETL构建实战_Airflow调度流程详解  如何在IIS中新建站点并解决端口绑定冲突?  如何在阿里云服务器自主搭建网站?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  长沙做网站要多少钱,长沙国安网络怎么样?  智能起名网站制作软件有哪些,制作logo的软件?  Linux安全能力提升路径_长期防护思维说明【指导】