收藏
回答

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

回答关注问题邀请回答
收藏

3 个回答

  • Demons
    Demons
    2022-02-10

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


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

    2022-02-10
    有用
    回复
  • Haney Yasuo
    Haney Yasuo
    2022-02-10

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

    }

    },

    2022-02-10
    有用 1
    回复 1
    • Haney Yasuo
      Haney Yasuo
      2022-02-10
      忘了哪里看到的,微信版本号在8.0.16及之后的版本基础库才有2.21.2 ,所以旧版本微信得做兼容
      2022-02-10
      回复
  • Mr.Zhao
    Mr.Zhao
    2022-02-10

    更新下工具版本

    2022-02-10
    有用 1
    回复
登录 后发表内容