一、用户授权
需要分三个情况来处理。
**第一步:获取用户授权设置。**
调用一下 wx.getSetting 获取用户当前的授权,在这里我们获取一下微信运动的授权。
1)首先创建函数,用于读取为用户的微信运动数据。
2)先获取用户对当前小程序的授权状态。
3)提醒用户授权:1.成功以后也就是允许的状态,我们读取用户的微信运动数据,2.假设用户拒绝了授权:应该提示用户必须授权才能获取微信运动数据,并提示如何开启授权。
代码如下:
// miniprogram/pages/walking/walking.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.getUserRun()
},
//创建函数,用于读取为用户的微信运动数据
getUserRun(){
let self=this
//先获取用户对当前小程序的授权状态
wx.getSetting({
success(res){
console.log(res)
if(!res.authSetting['scope.werun']){
//提醒用户授权
wx.authorize({
scope: 'scope.werun',//scope.werun微信运动步数
success(){
//读取用户的微信运动数据
self.getWeRunData()
},
fail(){
//如果用户禁止授权,应该提示用户必须授权才能获取微信运动数据,并提示如何开启授权
wx.showModal({
title:'读取微信运动失败',
content:'请在小程序右上角[设置]中开启授权'
})
}
})
}else{
// 直接读取用户的微信运动数据
self.getWeRunData()
}
}
})
},
//读取用户的微信运动数据
getWeRunData(){
wx.getWeRunData({
success (res){
console.log(res)
//调用云函数,将加密的数据进行解密
wx.cloud.callFunction({
name:'deswerundata',
data:{
weRunData:wx.cloud.CloudID(res.cloudID) //这个cloudID值到云函数端会被替换
}
}).then(res=>{
console.log(res)
})
}
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
页面展示状态:
点击允许,就获取了这个微信运动的权限,我们允许了必须先清除状态,重新编译。即可重新获取
先清后译
拒绝以后:
这样也可以允许微信运动权限。