微信运动接口(获取自己的微信运动数据)

var pc = new WXBizDataCrypt(appid, session_key);

这段代码是使用微信官方提供的 WXBizDataCrypt 类来解密微信运动数据。

WXBizDataCrypt 是一个用于解密微信开放平台返回的加密数据的类,它需要传入两个参数:appid 和 session_key。其中,appid 是小程序的 AppID,session_key 是微信服务器返回的会话密钥。

在这段代码中,首先获取到了微信运动返回的加密数据(encryptedData)和初始向量(iv),然后创建了一个 WXBizDataCrypt 对象,将 appid 和 session_key 作为参数传入。最后,调用该对象的 decryptData 方法对加密数据进行解密,得到解密后的数据 data。
var DataCrypt = require('../../utils/DataCrypt.js');

Page({

	/**
	 * 页面的初始数据
	 */
	data: {
		stepInfoList: []
	},

	/*这段代码是使用微信小程序登录并获取用户步数的示例代码。
	首先,调用 wx.login() 方法获取用户的登录凭证(code)。
	然后,将 appid、secret 和 code 发送到微信服务器进行验证,获取 session_key。
	接着,将 appid 和 session_key 作为参数传递给 getWeRunData() 方法,获取用户的步数信息。
	最后,在控制台输出用户的步数信息。*/
	onLoad: function(options) {
		var that = this;
		wx.login({
			success: function(res) {
				var appid = "你的appid";
				var secret = "你的小程序密钥";
				if (res.code) {
					wx.request({
						url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appid + '&secret=' + secret + '&js_code=' + res.code + '&grant_type=authorization_code',
						header: {
							'content-type': 'json'
						},
						success: function(res) {
							var session_key = res.data.session_key;
							console.log("seccion_key:" + session_key);
							that.getWeRunData(appid, session_key);
						}
					})
				}
			}
		})
	},
	//获取encryptedData(没有解密的步数)和iv(加密算法的初始向量) 
	getWeRunData: function(appid, session_key) {
		var that = this
		wx.getSetting({
			success: function(res) {
				console.log(res);
				if (!res.authSetting['scope.werun']) {
					wx.authorize({
						scope: 'scope.werun',
						success: () => {
							console.log("授权测试成功!!!")
						}
					})
					wx.getWeRunData({
						success: function(res) {
							console.log(res);
							var encryptedData = res.encryptedData;
							var iv = res.iv;
							var pc = new DataCrypt(appid, session_key);
							console.log(pc);
							var data = pc.decryptData(encryptedData, iv)
							console.log("------" + data.stepInfoList[30].step)
							that.setData({
								stepInfoList: data.stepInfoList
							})
						},
						fail: function(res) {
							console.log("获取数据失败")
						}
					})
					//  wx.showModal
					// ({ 
					//    title: '权限提示', 
					//    content: '获取微信运动步数需要开启计步权限', 
					//    success: function (res) 
					//     { 
					//      if (res.confirm) { 
					//        //跳转去设置 
					//        wx.openSetting({ 
					//          success: function (res) 
					//          {
					//            console.log("authSetting:"+res.authSetting)
					//          }
					//      })
					//      } 
					//     }
					// })
				} else {
					wx.getWeRunData({
						success: function(res) {
							console.log(res);
							var encryptedData = res.encryptedData;
							var iv = res.iv;
							var pc = new DataCrypt(appid, session_key);
							console.log(pc);
							var data = pc.decryptData(encryptedData, iv)
							console.log("------" + data.stepInfoList[30].step)
							that.setData({
								stepInfoList: data.stepInfoList
							})
						},
						fail: function(res) {
							console.log("获取数据失败")
						}
					})
				}
			}
		})
	},





	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function() {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function() {

	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function() {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function() {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function() {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function() {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function() {

	}
})

以上代码中的 “你的小程序密钥”这个在哪里获取

“你的小程序密钥”是指小程序的 AppSecret,可以在微信公众平台中获取。具体步骤如下:

1. 登录微信公众平台(https://mp.weixin.qq.com/);
2. 进入“开发”-“基本配置”;
3. 在“服务器配置”中可以看到 AppID 和 AppSecret;
4. 将 AppSecret 复制到代码中的 secret 变量中即可。

参考:

https://cloud.tencent.com/developer/article/2225439
在这里插入图片描述
https://blog.csdn.net/weixin_60046761/article/details/137227944
在这里插入图片描述
在这里插入图片描述
https://huaweicloud.csdn.net/64eea6836ffa502025761830.html
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@阿猫阿狗~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值