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

微信小程序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");

}

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

php 小程序 运动步数_微信小程序获取微信运动步数的实例代码相关推荐

  1. java 微信自定义菜单开发_微信公众号开发之设置自定义菜单实例代码【java版】...

    本实例是为了实现在管理后台实现微信菜单的添加删除管理. 1.首先我们需要新建一个数据库表用于存放menu菜单项 可包含的字段有id.父类id.name.排序.是否显示.类型(view.click).链 ...

  2. java根据手机号获取微信信息_Java实现的微信公众号获取微信用户信息示例

    本文实例讲述了Java实现的微信公众号获取微信用户信息.分享给大家供大家参考,具体如下: 注: 这里获取用户信息方式和网页授权获取用户信息方式不同.两个access_token不同,返回的结果也不同. ...

  3. php创建菜单_php实现微信公众号创建自定义菜单功能的实例代码

    目的 创建自定义菜单,实现菜单事件. 首先获取Access_Token 接口: 我用的是测试号,修改APPID和APPSECRET,然后浏览器访问上面这个Url即可生成Access_Token 然后配 ...

  4. springboot+h5页面+微信公众号获取微信用户信息

    springboot项目,h5页面通过微信公众号获取微信用户信息 最近本人有一个项目需求,微信公众号里点击一个菜单进入一个商城购物系统. 对于在微信公众号还是小白的我来说难度有点大,但是做完后发现也就 ...

  5. 微信公众平台—— 获取微信服务器IP地址

    微信公众平台-- 获取微信服务器IP地址 const ServerIpUrl = 'https://api.weixin.qq.com/cgi-bin/getcallbackip?&acces ...

  6. php 小程序 运动步数_【小程序+ thinkphp5】 获取微信运动数据

    配置.请参看上篇文章.这里直接上代码 PHP 代码: //获取微信运动数据: public functiontest(){$code = input("code");$signat ...

  7. 微信小程序浮动按钮_操作按钮悬浮固定在微信小程序底部的实现代码

    本章节主要介绍了如何将操作按钮悬浮固定在微信小程序底部?操作起来也比较简单,还不会的朋友一起跟着小编学习一下吧,希望对你们有所帮助. 常见的有加入购物车按钮.结算按钮.收货列表添加地址按钮. 以收货地 ...

  8. 小程序 input自动换行_直播 | 最实用的微信小程序自动化测试技术独家揭秘

    随着微信小程序的功能和生态日益完善,很多企业级小程序项目的页面越来越多,业务逻辑也越来越复杂.如何做好微信小程序的自动化测试成为测试同学面临的一大难题. 如何合理构建多端架构和自动化测试体系? 如何深 ...

  9. 小程序 实名信息_【小程序】实名认证流程

    健康服务云平台  | 第2664期 为了让患者少跑腿,减少排队等候时间,让就医更加舒适便捷.我院依托微信公众平台.微信小程序开发建设我院健康服务云平台,逐步上线自助就医功能,全面推行网络便民服务.现已 ...

  10. java小程序源码_【小程序源码分享】基于Java开发的物业管理系统!

    前言 大家好,我是it分享师,今天给大家带来一个基于Springmvc开发的物业管理系统,微信小程序的源码! 使用技术 本套系统有两个入口,一个是微信小程序端主要是面向用户,另一个是基于spring, ...

最新文章

  1. [转帖]在SQL SERVER中实现RSA加密算法
  2. Delphi FastReport动态加载图片
  3. Understanding JVM Internals---不得不转载呀
  4. linux下Vim和Terminal配色
  5. 农村信用社招聘考试计算机,农村信用社招聘考试题:计算机(一)
  6. C++ this指针初步使用,与链式编程
  7. 印象笔记mac版 同步问题_印象笔记表示 今年将大幅提升产品体验
  8. 图解 RoIAlign 以及在 PyTorch 中的使用(含代码示例)
  9. 低代码开发平台_如何挑选最适合你的低代码开发平台
  10. 公告:下载频道C币系统上线(暂行版)
  11. 拼写的能力和重要性英语作文_拼写很重要吗? 我认为是的。
  12. 计算机组成原理实验箱教程,计算机组成原理实验箱介绍.ppt
  13. 【学术 | 比赛】比赛?论文?先收藏!29个学术网站,比赛论文不再困难
  14. NLP定义和机器翻译
  15. 同济大学计算机科学系下设几个专业,同济大学计算机科学与技术工程系简介
  16. qq服务器怎么修复不了,qq可以上网其他不能联网如何修复
  17. 数字电路反相器符号_数字电路知识总结
  18. 手游《六大门派》 武侠MMORPG手机游戏全套源码下载
  19. 什么是云管平台?一个正在兴起的市场!
  20. 语音质量指标Python(PESQ、STOI、SegSNR、LLR、WSS、CD、LSD、CSIG、CBAK、COVL)

热门文章

  1. 从入门到精通 Discuz模版风格制作…
  2. 谷粒商城分布式高级篇(中)
  3. TeeChart横轴显示为时间或整数
  4. 歌曲matlab代码,MATLAB程序编写歌曲《世上只有妈妈好》
  5. Fixing Pathfinding Once and For All (个人翻译)
  6. 9种炫酷loading加载cssjs特效
  7. 《大话设计模式》java实现之责任链模式
  8. 【PMP】PMBOK第六版项目管理5大过程组10大知识领域知识点汇总
  9. 使用FileStream读写文件
  10. cocos2dx掼蛋_cocos2dx入门