在微信小程序中获取用户的手机号码,需要先进行用户授权获取手机号的操作。以下是一个详细的示例代码:
1. 在小程序的页面中,添加一个获取手机号的按钮:
2. 在页面的 js 文件中,编写获取手机号的代码:
Page({ // 监听按钮点击事件 getPhoneNumber: function(e) { if (e.detail.errMsg === 'getPhoneNumber:ok') { const encryptedData = e.detail.encryptedData; const iv = e.detail.iv; // 调用解密手机号的接口 wx.login({ success: (res) => { if (res.code) { wx.request({ url: 'https://your-server.com/decode-phone-number', method: 'POST', data: { code: res.code, encryptedData: encryptedData, iv: iv }, success: (res) => { const phoneNumber = res.data.phoneNumber; console.log(phoneNumber); // 打印手机号 }, fail: (error) => { console.error(error); // 打印错误信息 } }); } else { console.error('登录失败!' + res.errMsg); } } }); } else { console.error('获取手机号失败!' + e.detail.errMsg); } } });
在上述示例中,当用户点击"获取手机号"按钮后,会调用`bindgetphonenumber`事件,
通过`e.detail`获取到用户的手机号码加密数据(`encryptedData`)和加密算法的初始向量(`iv`)。
然后,通过调用`wx.login`接口获取登录凭证(`code`),并将凭证、加密数据和初始向量发送给服务端进行解密操作。
最后,服务端返回解密后的手机号,我们将其打印在控制台上。
上一篇:小程序怎么进行分包管理