小程序获取用户手机号

在小程序中获取用户手机号需要以下步骤:

  1. 首先需要授权用户手机号,即在小程序中调用 wx.login() 方法获取用户的登录凭证,在回调函数中调用 wx.getUserInfo() 方法获取用户的个人信息,并且设置 withCredentials 参数为 true。

  2. 在获取用户个人信息的回调函数中,可以得到 encryptedDataiv 两个参数,这两个参数可以用来解密用户的手机号。

  3. 调用 wx.request() 方法发送请求,将登录凭证、encryptedDataiv 传给后端,后端将根据登录凭证获取用户的 session_key,并用 session_key 对 encryptedData 进行解密,得到用户的手机号。

以下是获取用户手机号的代码示例:

// 获取用户手机号
wx.login({
  success: function (res) {
    if (res.code) {
      // 登录成功,获取用户的个人信息,包括手机号
      wx.getUserInfo({
        withCredentials: true,
        success: function (userInfoRes) {
          // 解密用户手机号
          wx.request({
            url: 'https://example.com/decryptPhone',
            data: {
              code: res.code,
              encryptedData: userInfoRes.encryptedData,
              iv: userInfoRes.iv
            },
            success: function (phoneRes) {
              console.log(phoneRes.data.phoneNumber);
            }
          })
        }
      })
    } else {
      console.log('登录失败!' + res.errMsg)
    }
  }
})

你可能感兴趣的:(小程序)