用传统的方法获取手机号码,可能需要后端的朋友配合验证解密数据才能获取成功,不多说,直接上代码
一、首先是要开通一下小程序的云开发(自己名称啥的就行)
二、获取 cloudID(getphonenumber是通过button设置获取手机号码获取回来的值)
// 获取手机号码
async getphonenumber(e) {
if (e.type == "getphonenumber") {
if (!e.detail.cloudID) {
console.log('点了拒绝',e)
return 0
} else {
console.log('点了', e)
let cloudID = e.detail.cloudID
const result = await wx.cloud.callFunction({
name: 'getNumber',
data: {
weRunData: wx.cloud.CloudID(cloudID), // 这个 CloudID 值到云函数端会被替换
}
})
console.log('手机号码的参数', result)
return result.result.event.weRunData.data.phoneNumber //这里直接获取到的是手机号码
}
}
},
云函数部分代码
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
console.log(event)
return {
event
}
}
贴上官网地址:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html
在这么不得不吐槽微信官方,文档更新的这项功能,可是手机端无法使用。