使用新的接口获取手机号,没有返回code啊

小程序 文章 2022-02-10 17:40 258 0 全屏看文

AI助手支持GPT4.0

使用新的接口获取手机号,没有返回code啊Use the new interface to get the mobile phone number, but no code is returned.

使用新的接口获取手机号,没有返回code啊
框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug getPhoneNumber 工具 8.0.17 2.22.0

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html

Framework type problem type API / component name terminal type wechat version basic library version applet bug getphonenumber tool 8.0.17 2.22.0 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html Code snippet < button open type = "getphonenumber" bindetphonenumber = "getphonenumber" > < / button > getphonenumber (E) {console. Log (e.detail. Code)}

回答:

社区技术运营专员-horanzhou:

① 确认当前基础库版本是否为 2.21.2 及以上。


② 目前开发者工具未兼容此表现(近期应该会同步),目前以真机调试为准。

Mr.Zhao:

更新下工具版本

Haney Yasuo:

是的,开发工具必须得最新版本,然后真机上不能获取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;

}

},

Haney Yasuo:忘了哪里看到的,微信版本号在8.0.16及之后的版本基础库才有2.21.2 ,所以旧版本微信得做兼容

-EOF-

AI助手支持GPT4.0