在小程序中获取用户手机号需要以下步骤:
-
首先需要授权用户手机号,即在小程序中调用
wx.login()
方法获取用户的登录凭证,在回调函数中调用wx.getUserInfo()
方法获取用户的个人信息,并且设置withCredentials
参数为 true。 -
在获取用户个人信息的回调函数中,可以得到
encryptedData
和iv
两个参数,这两个参数可以用来解密用户的手机号。 -
调用
wx.request()
方法发送请求,将登录凭证、encryptedData
和iv
传给后端,后端将根据登录凭证获取用户的 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)}}
})