1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 小程序获取用户信息(微信运动步数)

小程序获取用户信息(微信运动步数)

时间:2020-10-14 16:30:21

相关推荐

小程序获取用户信息(微信运动步数)

先获取当前用户对小程序的授权状态

使用wx.getSetting(Object object)先获取用户的当前设置。返回值是小程序已经向用户请求过的权限。(1)获取成功之后使用wx.authorize向用户发起微信步数(scope.werun)授权请求。

授权成功scope.werun的值为true

(2)如果用户拒绝授权,使用wx.showModa弹框提示用户必须授权才能获取微信运动数据,并提示在小程序右上角[设置]中开启授权

if(!res.authSetting['scope.werun']){//提醒用户授权wx.authorize({scope: 'scope.werun',success(){self.getWeRunData()},fail(){//如果用户拒绝授权,提示用户必须授权才能获取微信运动数据,并提示如何授权wx.showModal({title: '读取微信运动失败',content:'请在小程序右上角[设置]中开启授权'})}})}

授权成功读取用户的微信运动数据

创建自定义函数,调用微信步数的接口;调取成功后,再创建一个云函数,使用wx.cloud.callFunction调用云函数,将加密的数据进行解密(获取的数据是加密的)在云函数index.js中再新建函数,用于同步微信运动数据,将数据存入集合中(数据库)

需要注意的是:cloud.getWXContext()可以自动获取APPID和OPENID等

// 读取用户的微信运动数据getWeRunData(){wx.getWeRunData({success (res) {// 调用云函数,将加密的数据进行解密wx.cloud.callFunction({name: 'deswerundata', data: {weRunData: wx.cloud.CloudID(res.cloudID) // 这个 CloudID 值到云函数端会被替换 } }).then(res=>{console.log(res)})}})},

// 创建函数,用于同步微信运动数据// 当云函数中有对数据库的操作,需要加上await配合asyncfunction GrowthValue(weRunData) {const context = cloud.getWXContext()weRunData.forEach(async item => {await db.collection('user_growth_value').add({data: {_openid: context.OPENID,date: db.serverDate(), // 获取这条记录插入到数据库的时间changeGrowthValue: item.step,operation: '微信运动',timestamp: item.timestamp,orderId: '',noteId: ''}})}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。