获取小程序微信步数等开放数据。

1,090 阅读1分钟

目标:通过简单几行代码,获取微信小程序微信步数。

  1. 创建云函数getOpenData,并按如下修改上传部署。
// 云函数 index.js
const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
  return event;
}
  1. 页面wxml代码
<!-- index.wxml -->
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">getPhoneNumber</button>
<button bindtap="getWeRunData">getWeRunData</button>
  1. 页面js代码
// index.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),
      },
    });
  },
});
  1. 备注:需要先初始化云函数wx.cloud.init({}),以及勾选将JS编译成ES5。
  2. 可在result获取对应的号码或微信步数了。
  3. 通过云函数获取小程序开放数据,可避免频繁调用wx.login()导致sessionKey失效而获取失败。

手机号码.png

微信步数.png