php 小程序 运动步数_【小程序+ thinkphp5】 获取微信运动数据
配置。请参看上篇文章。这里直接上代码
PHP 代码:
//获取微信运动数据:
public functiontest(){$code = input("code");$signature = input("signature"); //数据签名
$rawDate = $_GET['rawData']; //记住不应该用TP中的input方法,会过滤掉必要的数据
$encryptedData = $_GET['encryptedData']; //微信运动数据
$iv = $_GET['iv']; //初始向量
$nickname = input("nickname"); //用户昵称
$avatarurl = input("avatarurl"); //用户头像
if(empty($code) || empty($signature) || empty($rawDate) ||empty($encryptedData) || empty($iv) || empty($nickname) || empty($avatarurl) ){return json(['code'=>'2','message'=>"参数错误","result"=>null]);
}//开发者使用登陆凭证 code 获取 session_key 和 openid
$APPID = config::get("config.wx_appid");$AppSecret = config::get("config.wx_appsecret");$wx_request_url = config::get("wechat.wx_request_url");$param = array('appid' => $APPID,
'secret' => $AppSecret,
'js_code' => $code,
'grant_type' => 'authorization_code');//一个使用curl实现的get方法请求
$arr = http_send($wx_request_url, $param, 'post');$arr = json_decode($arr,true);if(isset($arr['errcode']) && !empty($arr['errcode'])){return json(['code'=>'2','message'=>$arr['errmsg'],"result"=>null]);
}$openid = $arr['openid'];$session_key = $arr['session_key'];//数据签名校验
$signature2 = sha1($rawDate.$session_key);if ($signature != $signature2) {$msg = "shibai 1";return json(['code'=>'2','message'=>'获取失败',"result"=>$msg]);
}//开发者如需要获取敏感数据,需要对接口返回的加密数据( encryptedData )进行对称解密
include_once (EXTEND_PATH. 'Wxdev/wxBizDataCrypt.php');$pc = new \WXBizDataCrypt($APPID, $session_key);$errCode = $pc->decryptData($encryptedData, $iv, $data); //其中$data包含用户的所有数据
if ($errCode != 0) {return json(['code'=>'2','message'=>'获取失败',"result"=>null]);
}if(empty($data)){return json(['code'=>'2','message'=>'暂无数据',"result"=>null]);
}$data = json_decode($data,true);$list = $data["stepInfoList"];foreach ($list as $key => $value) {$list[$key]['time'] = date("Y-m-d H:i:s",$value['timestamp']);
}return json(['code'=>'1','message'=>'获取成功',"result"=>$list]);
}
小程序代码:
//获取微信运动
wx.login({
success: loginres=>{
let code = loginres.code;
if(code){
wx.getWeRunData({
success: runres => {
let encryptedData = runres.encryptedData
let iv = runres.iv
wx.getUserInfo({
success: infores => {
let userinfo = infores.userInfo
let signature = infores.signature;
let rawData = infores.rawData;
wx.request({
url: 'https://www.test.com/wechat/index/test',
data: {
"code": code,
"signature": signature,
"rawData": rawData,
"nickname": userinfo.nickName,
"avatarurl": userinfo.avatarUrl,
'iv': iv,
'encryptedData': encryptedData
},
header:{
"content-type" : "application/x-www-form-urlencoded"
},
success: function (info) {
console.log(info);
},
fail:function(res){
console.log(res);
},
complete:function(res){
console.log(res);
}
})//request结束
}
}) //userinfo结束
}
})//微信运动结束
}else{
that.alert("获取用户登陆失败" + loginres.errMsg)
}
}
})
授权代码:
// 获取用户信息
wx.getSetting({
success: res => {
var code = res.code; //获取code
//访问用户权限
if (res.authSetting['scope.userInfo']) {
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
}
//访问微信运动
if (!res.authSetting['scope.werun']) {
wx.authorize({
scope: 'scope.werun',
success() {
// 用户已经同意小程序使用微信运动,后续调用 wx.getWeRunData 接口不会弹窗询问
}
})
}
php 小程序 运动步数_【小程序+ thinkphp5】 获取微信运动数据相关推荐
- php 小程序 运动步数_小程序同步微信步数 - xiangqian1的个人空间 - OSCHINA - 中文开源技术交流社区...
小程序获取微信运动步数,咱们看文档:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeRunDat ...
- 两个苹果手机共享步数_实测:iPhone上“微信运动”步数可以作弊
几个月前,微信开通"微信运动"公众号,iPhone手机关注该公众号即可看到自己每天走的步数,还能和好友PK. 不过这个功能也害苦了不少网友,有的建了微信群,步数最少的人要发红包,原 ...
- 微信小程序获取微信运动数据并解密
官方API 官方API 步骤 1,APP端拉起微信小程序 2,小程序端获取微信运动数据 3,后台解密获取的微信运动数据 实现 1,APP端调起微信小程序 准备工作: 1)微信开放平台,微信公众平台注册 ...
- php 小程序 运动步数_【永久会员专享】运动步数宝换购小程序源码包更新【更新至V9.6.7】...
源码介绍 步数换购小程序V9.6.9完整全开源源码包+小程序前端[包更新],优化重构首页邀请按钮.邀请头像显示的开关功能! 步数换购模块技术解决方案"3.0.0版本"已上线--完成 ...
- ios11修改微信步数_小程序同步微信步数
文章正文 小程序获取微信运动步数,咱们看文档:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeR ...
- 获取this_小程序获取微信运动步数并集成echarts报表显示
需求 现在运动计步非常的火,大家常用的计步工具一般有keep.咕咚.微信运动和其他移动设备等,本文是基于微信小程序获取用户的微信运动数据并可视化呈现出来. 先看一下最终实现效果: 微信运动规则 在开发 ...
- 微信运动步数:小程序+Java后端,源码可下载
微信运动步数:小程序+Java后端 更多资源:www.jeeweixin.com 功能说明: 1.获取和展示用户的微信运动步数,计算卡路里: 2.用户打开小程序即可实现步数打卡入库: 3.通过日历展示 ...
- 小程序获取微信运动步数并集成echarts报表显示
需求 现在运动计步非常的火,大家常用的计步工具一般有keep.咕咚.微信运动和其他移动设备等,本文是基于微信小程序获取用户的微信运动数据并可视化呈现出来. 先看一下最终实现效果: 微信运动规则 在开发 ...
- t微信小程序开发-获取微信运动步数
官方API https://mp.weixin.qq.com/debug/wxadoc/dev/api/we-run.html#wxgetwerundataobject 步骤 最近做一个微信小程序需用 ...
最新文章
- 【Axure原型图】—— 4. Tab Control(选项卡)
- Asp.net core使用IIS在windows上进行托管
- JS中 let 和var的区别
- 【python图像处理】两幅图像的合成一幅图像(blending two images)
- Android开发之Android studio自动签名打包release 版本的正确姿势(完整版) | 文末尾附有Google官方签名教程
- Strategy(策略)--对象行为型模式
- 阿里云视频点播解决方案使用教程
- 前端笔记-thymeleaf获取及回显select数据(combox)
- bootstrap,datetimepicker日期时间选择器-限制时间段,以及中文显示问题
- js整理 03-18
- VSCode Python Tutorial
- 曾经的那些绝世电脑高手们
- matlab支持向量回归,支持向量回归 MATLAB代码
- Simscape/Fluids液压元件 -- Pressure Reducing Valve(减压阀)
- 小型产生式系统——昆虫识别
- 2022.7-8文献笔记
- PHP基础知识系统复习
- 为什么.TM明明不便宜,却还是备受业界大佬们青睐?
- hadoop之大数据生态系统的前世今生
- 最新 | Windows和信创终端都能顺滑使用宁盾802.1X账密认证了
热门文章
- 计算机的组成及其功能
- SAP可配置(VC)的特性相关性简介
- 什么是令牌桶(Token Bucket)?
- Win10 外接显示屏字体模糊
- Suzy找到实习了吗Day 17 | 二叉树进行中:110. 平衡二叉树,257 二叉树的所有路径,404. 左叶子之和
- 2020 China Collegiate Programming Contest Weihai Site H.Message Bomb
- easyexcel处理合并单元格数据
- 【阅读器】caj格式及其转换为PDF格式
- 蚂蚁链开发者实验室:开放全栈工具助力开发者低代码开发
- 蔡丹红老师刁酒集团《基层管理人员综合能力提升培训班》企业内训开讲