目标:通过简单几行代码,获取微信小程序微信步数。
- 创建云函数getOpenData,并按如下修改上传部署。
const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
return event;
}
- 页面wxml代码
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">getPhoneNumber</button>
<button bindtap="getWeRunData">getWeRunData</button>
- 页面js代码
Page({
async getPhoneNumber(e) {
const { cloudID } = e.detail;
if (cloudID) {
let { result } = await this.getOpenData(cloudID);
console.log(result);
}
},
async getWeRunData() {
let { cloudID } = await wx.getWeRunData().catch((error) => error);
if (cloudID) {
let { result } = await this.getOpenData(cloudID);
console.log(result);
}
},
async getOpenData(cloudID) {
return wx.cloud.callFunction({
name: "getOpenData",
data: {
openData: wx.cloud.CloudID(cloudID),
},
});
},
});
- 备注:需要先初始化云函数wx.cloud.init({}),以及勾选将JS编译成ES5。
- 可在result获取对应的号码或微信步数了。
- 通过云函数获取小程序开放数据,可避免频繁调用wx.login()导致sessionKey失效而获取失败。

