如今运动计步很火,不管是蚂蚁森林,仍是微信上都很火爆,本文介绍了微信小程序微信运动步数的实例代码,分享给你们php

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

安全顾虑,由于只是示例因此直接传递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实现的微信公众号获取微信用户信息示例

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

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

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

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

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

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

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

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

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

  6. 微信小程序获取用户运动步数后端返回-41003

    最近在做一个运动步数兑换的小程序,记录下自己遇到的一些问题:1.授权流程(需要获取用户信息的授权和获取运动步数的授权)2.在获取运动步数时后端一直返回-41003 一.授权流程 由于微信的一些授权接口 ...

  7. php 小程序 运动步数_【永久会员专享】运动步数宝换购小程序源码包更新【更新至V9.6.7】...

    源码介绍 步数换购小程序V9.6.9完整全开源源码包+小程序前端[包更新],优化重构首页邀请按钮.邀请头像显示的开关功能! 步数换购模块技术解决方案"3.0.0版本"已上线--完成 ...

  8. 微信小程序与微信登陆的交互、微信登录、获取微信信息

    已有的互联网产品在接入小程序会面临一些和登录态相关的问题:怎么获取微信登录态:怎么把微信帐号和自己的帐号进行打通.我们来介绍一下如何把微信登录应用到你的小程序中. 我们先来看看微信登录的整个过程,如图 ...

  9. 微信小程序登录方法,授权登录及获取微信用户手机号

    ✅作者简介: 大家好五一快乐,我是痴心阿文,你们的学友哥,今天给大家分享微信小程序登录方法!

  10. 微信、QQ、支付宝运动步数自定义小工具

    前言 冬天了,外面寒风刺骨,给不少朋友带来很多困扰 天冷.风大.下雪都不想出门,又想给蚂蚁森林浇水.捐步数怎么办~ 今天再次分享给你们一个可以在恶劣天气下偷偷懒的小工具,可以自由定义自己V.Q.ZFB ...

最新文章

  1. IT界惊现文豪!华为领导及阿里P10遭吐槽
  2. 网络推广专员如何通过社交能力扩宽外链渠道助力网络推广?
  3. winpcap编程 解析数据包
  4. mysql什么情况下使用索引
  5. 《Hive编程指南》14.3 投影变换的实践出错原因分析
  6. Prime Number Aizu - 0009(素数筛)
  7. 程序员的进阶课-架构师之路(2)-数组
  8. Spring Cloud 微服务的那点事
  9. 超全的JS重新加载当前页面的几种方式
  10. 在Latex如何添加Visio绘图
  11. 小米笔记本怎么进入pe系统?
  12. java 程序员职业规划,详细说明
  13. 下载抖音无水印视频的微信小程序
  14. Retina屏兼容处理
  15. 萌爪医生微信小程序内部服务器错误,企业微信提示网络错误怎么回事
  16. 低代码和零代码火了,十大利器推荐
  17. 狗狗的年龄的python编程_狗狗与人年龄换算表,终于知道狗狗多大了!
  18. MS Office for Mac的Clipart错误
  19. 操作系统--Linux操作实验报告
  20. 童年修复系列-PC Engine/TurboGrafx-16介绍及FPGA实现

热门文章

  1. symfony配置文件之三:routing和路由配置
  2. Day4—自制操作系统
  3. android模拟器安装
  4. 百度女程序员半夜打车被司机嘲讽:加班到一点,收入不如我,图啥
  5. php ci CodeIgniter框架图片缩略图处理类优化 缩放到固定大小
  6. Andromeda 源码解析 (同步获取服务)
  7. linux怎么添加跃点数,Windows 7修改静态路由表的跃点数
  8. 嵌入式知识-ARM裸机-学习笔记(2):利用GPIO来控制LED(附mkv210_image.c文件解析)
  9. 机器学习理论之(1):概率分布,信息熵,朴素贝叶斯
  10. python找不到指定模块sklearn怎么办_python中sklearn找不到指定模块怎么办