小程序
小游戏
企业微信
微信支付
扫描小程序码分享
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
① 确认当前基础库版本是否为 2.21.2 及以上。
② 目前开发者工具未兼容此表现(近期应该会同步),目前以真机调试为准。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
是的,开发工具必须得最新版本,然后真机上不能获取code是因为手机上的微信版本号是8.0.16以下的,要做旧版本兼容,所以还是得用上旧版本的接口,如果没有code则使用iv和encryptedData,建议使用云函数
云函数名称:login
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
return {
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
}
return里的event里面就包含了手机号码
调用:
<button open-type="getPhoneNumber" @getphonenumber="onPhoneNumber"></button>
//获取微信绑定手机号(云函数获取)
async onPhoneNumber(e){
console.log(e.detail);
if (e.detail.errMsg == "getPhoneNumber:ok") {
const result = await wx.cloud.callFunction({
name: 'login',
data: {
type: 'login',
id: wx.cloud.CloudID(e.detail.cloudID)
});
console.log(result); //这个结果中就包含有手机号(云函数登录就有了)
this.dCall.phoneNumber = result.event.id.data.phoneNumber;
},
更新下工具版本
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
① 确认当前基础库版本是否为 2.21.2 及以上。
② 目前开发者工具未兼容此表现(近期应该会同步),目前以真机调试为准。
是的,开发工具必须得最新版本,然后真机上不能获取code是因为手机上的微信版本号是8.0.16以下的,要做旧版本兼容,所以还是得用上旧版本的接口,如果没有code则使用iv和encryptedData,建议使用云函数
云函数名称:login
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
return {
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
}
}
return里的event里面就包含了手机号码
调用:
<button open-type="getPhoneNumber" @getphonenumber="onPhoneNumber"></button>
//获取微信绑定手机号(云函数获取)
async onPhoneNumber(e){
console.log(e.detail);
if (e.detail.errMsg == "getPhoneNumber:ok") {
const result = await wx.cloud.callFunction({
name: 'login',
data: {
type: 'login',
id: wx.cloud.CloudID(e.detail.cloudID)
}
});
console.log(result); //这个结果中就包含有手机号(云函数登录就有了)
this.dCall.phoneNumber = result.event.id.data.phoneNumber;
}
},
更新下工具版本