微信小程序用云函数获取绑定的手机号

  1. 首先,在页面里写个获取手机号的专用button,(这是小程序官方规定的)

  2. 然后在该页面同目录的js文件写对应方法:
getPhoneNumber(e) {
    let self = this;
    wx.cloud.callFunction({
      name: 'getMobileNumber',
      data: {
        code: e.detail.code, // 基础库最低2.21.2,否则获取不到
      }
    }).then(res => {
      self.setData({
        userPhoneNumber: res.result.phoneInfo.phoneNumber
      })
    })
  },
  1. 在cloudfunctions文件夹上右键新建云函数getMobileNumber,如下图
    微信小程序用云函数获取绑定的手机号_第1张图片
    其中,config.json的内容如下:
{
  "permissions": {
    "openapi": [
      "templateMessage.send"
    ]
  }
}

index.js的内容如下:

const cloud = require('wx-server-sdk')

// cloud.init() 
cloud.init({
  env: '云函数的环境id' // 传不传都行,app.js里已经配置过了的
})

exports.main = async (event, context) => {
  const phoneResult = await cloud.openapi.phonenumber.getPhoneNumber({code:event.code})
  return phoneResult
}

package.json的内容是生成的,大致如下:

{
  "name": "getMobileNumber",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "wx-server-sdk": "~2.6.1"
  }
}

app.js的配置如下:

App({
  onLaunch: function () {
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力');
    } else {
      wx.cloud.init({
        env: "云函数的环境id",
        traceUser: true,
      });
    }
  }
})

你可能感兴趣的:(微信小程序云服务手机)