微信小程序中获取用户手机号

注: 首先获取用户需要用户主动触发才能获取手机接口,不能由API调用

1.申请测试账号

申请成功获取appid(小程序ID),AppSecret(小程序密钥)

在project.config.json中进行修改

 2.获取手机号

视图中

js逻辑部分

封装一个事件,判断用户是否授权,未授权需要给提示授权

获取手机号
  getPhone(e){
    如果用户点击了拒绝授权,我们就,结束给了提示
    if(e.detail.errMsg== "getPhoneNumber:fail user deny"){
      wx.showToast({
        title: '你没有给相关授权',
        icon:'none'
      })
    }

已经授权的话进行加密和传参获取真正的数据 

注意: 出现无法获取,显示当前手机号未绑定的bug
        一、你的手机号 跟你的微信不是一个,未绑定,你要解绑,绑定你现在用的手机号
        二、手机号和微信号是一个,但是你没有绑定
        如何解决:
        模拟一下:利用手机点击确定,它给你的手机号发验证码。绑定就可以了

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序获取用户手机号的步骤如下: 1. 首先,客户端调用wx.login方法获取到jscode,用于后续获取openid和sessionkey。 2. 将jscode发送给服务器端,服务器端使用jscode调用微信提供的接口获取openid和sessionkey。 3. 客户端调用wx.getPhoneNumber方法,传入encryptedData(加密的用户信息)和iv(加密算法的初始向量),同时传入获取到的sessionkey。 4. 服务器端使用sessionkey对encryptedData进行解密,获取用户手机号。 以下是一个示例代码: ```javascript // 客户端代码 wx.login({ success: function(res) { if (res.code) { // 发送res.code到服务器端获取openid和sessionkey wx.request({ url: 'https://example.com/getOpenidAndSessionkey', data: { code: res.code }, success: function(res) { var openid = res.data.openid; var sessionkey = res.data.sessionkey; // 调用wx.getPhoneNumber方法获取用户手机号 wx.getPhoneNumber({ success: function(res) { var encryptedData = res.encryptedData; var iv = res.iv; // 发送encryptedData和iv到服务器端解密获取手机号 wx.request({ url: 'https://example.com/decryptPhoneNumber', data: { encryptedData: encryptedData, iv: iv, sessionkey: sessionkey }, success: function(res) { var phoneNumber = res.data.phoneNumber; console.log('用户手机号为:', phoneNumber); } }); } }); } }); } else { console.log('登录失败!' + res.errMsg); } } }); ``` 请注意,以上代码仅为示例,实际使用时需要替换为自己的服务器接口地址和逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值