php 小程序 运动步数_微信小程序获取微信运动步数的实例代码
现在运动计步很火,无论是蚂蚁森林,还是微信上都很火爆,本文介绍了微信小程序微信运动步数的实例代码,分享给大家
微信小程序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 小程序 运动步数_微信小程序获取微信运动步数的实例代码相关推荐
- java 微信自定义菜单开发_微信公众号开发之设置自定义菜单实例代码【java版】...
本实例是为了实现在管理后台实现微信菜单的添加删除管理. 1.首先我们需要新建一个数据库表用于存放menu菜单项 可包含的字段有id.父类id.name.排序.是否显示.类型(view.click).链 ...
- java根据手机号获取微信信息_Java实现的微信公众号获取微信用户信息示例
本文实例讲述了Java实现的微信公众号获取微信用户信息.分享给大家供大家参考,具体如下: 注: 这里获取用户信息方式和网页授权获取用户信息方式不同.两个access_token不同,返回的结果也不同. ...
- php创建菜单_php实现微信公众号创建自定义菜单功能的实例代码
目的 创建自定义菜单,实现菜单事件. 首先获取Access_Token 接口: 我用的是测试号,修改APPID和APPSECRET,然后浏览器访问上面这个Url即可生成Access_Token 然后配 ...
- springboot+h5页面+微信公众号获取微信用户信息
springboot项目,h5页面通过微信公众号获取微信用户信息 最近本人有一个项目需求,微信公众号里点击一个菜单进入一个商城购物系统. 对于在微信公众号还是小白的我来说难度有点大,但是做完后发现也就 ...
- 微信公众平台—— 获取微信服务器IP地址
微信公众平台-- 获取微信服务器IP地址 const ServerIpUrl = 'https://api.weixin.qq.com/cgi-bin/getcallbackip?&acces ...
- php 小程序 运动步数_【小程序+ thinkphp5】 获取微信运动数据
配置.请参看上篇文章.这里直接上代码 PHP 代码: //获取微信运动数据: public functiontest(){$code = input("code");$signat ...
- 微信小程序浮动按钮_操作按钮悬浮固定在微信小程序底部的实现代码
本章节主要介绍了如何将操作按钮悬浮固定在微信小程序底部?操作起来也比较简单,还不会的朋友一起跟着小编学习一下吧,希望对你们有所帮助. 常见的有加入购物车按钮.结算按钮.收货列表添加地址按钮. 以收货地 ...
- 小程序 input自动换行_直播 | 最实用的微信小程序自动化测试技术独家揭秘
随着微信小程序的功能和生态日益完善,很多企业级小程序项目的页面越来越多,业务逻辑也越来越复杂.如何做好微信小程序的自动化测试成为测试同学面临的一大难题. 如何合理构建多端架构和自动化测试体系? 如何深 ...
- 小程序 实名信息_【小程序】实名认证流程
健康服务云平台 | 第2664期 为了让患者少跑腿,减少排队等候时间,让就医更加舒适便捷.我院依托微信公众平台.微信小程序开发建设我院健康服务云平台,逐步上线自助就医功能,全面推行网络便民服务.现已 ...
- java小程序源码_【小程序源码分享】基于Java开发的物业管理系统!
前言 大家好,我是it分享师,今天给大家带来一个基于Springmvc开发的物业管理系统,微信小程序的源码! 使用技术 本套系统有两个入口,一个是微信小程序端主要是面向用户,另一个是基于spring, ...
最新文章
- [转帖]在SQL SERVER中实现RSA加密算法
- Delphi FastReport动态加载图片
- Understanding JVM Internals---不得不转载呀
- linux下Vim和Terminal配色
- 农村信用社招聘考试计算机,农村信用社招聘考试题:计算机(一)
- C++ this指针初步使用,与链式编程
- 印象笔记mac版 同步问题_印象笔记表示 今年将大幅提升产品体验
- 图解 RoIAlign 以及在 PyTorch 中的使用(含代码示例)
- 低代码开发平台_如何挑选最适合你的低代码开发平台
- 公告:下载频道C币系统上线(暂行版)
- 拼写的能力和重要性英语作文_拼写很重要吗? 我认为是的。
- 计算机组成原理实验箱教程,计算机组成原理实验箱介绍.ppt
- 【学术 | 比赛】比赛?论文?先收藏!29个学术网站,比赛论文不再困难
- NLP定义和机器翻译
- 同济大学计算机科学系下设几个专业,同济大学计算机科学与技术工程系简介
- qq服务器怎么修复不了,qq可以上网其他不能联网如何修复
- 数字电路反相器符号_数字电路知识总结
- 手游《六大门派》 武侠MMORPG手机游戏全套源码下载
- 什么是云管平台?一个正在兴起的市场!
- 语音质量指标Python(PESQ、STOI、SegSNR、LLR、WSS、CD、LSD、CSIG、CBAK、COVL)