在page/新建my文件夹/新建walking文件夹/创建page/这时或出现4个文件,walking.js逻辑层, walking.json配置层,walking.wxml视图层,walking.wxss样式层。在逻辑层加入以下代码。
// miniprogram/pages/my/walking/walking.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.getUserRun()
},
//创建函数用于授权
getUserRun(){
let self=this
//获取用户当前对小乘许的授权状态
wx.getSetting({
success (res) {
if(!res.authSetting['scope.werun']){
//提醒用户授权
wx.authorize({
scope: '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)
})
}
})
},
})
创建云函数
在cloudfunctions文件夹下创建云函数deswerundata里边也会生成四个相应的文件在index.js中添加以下代码。
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
//根据用户提交的cloudid获取对应的运动数据
let weRunData=event.weRunData
return weRunData.data.stepInfoList
})
目前只是获取了数据,后面会加入视图层的代码。