我们在浏览小程序商城的时候,进入商城首页经常遇到点击授权允许小程序商城获取手机号码,小程序商城是如何做到获取用户在微信绑定的手机号码的呢?
下面安菲云给您分享一下小程序商城是如何自动获取用户的手机号码的实现的思路。
首先,小程序商城需要让用户授权获取基础信息,用户同意授权后收集用户的基础信息和sessionKey,将sessionKey保存到缓存。
然后,通过小程序的button组件来让用户授权获取手机号,button组件的open-type需设置成:“getPhoneNumber”。当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到微信服务器返回的加密数据, 然后在服务端结合 sessionKey 以及 app_id 进行解密获取手机号。
注意:
在小程序商城的回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录态。
安菲云分享小程序商城获取用户号码的代码示例:
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>
Page({
getPhoneNumber (e) {
console.log(e.detail.errMsg)
console.log(e.detail.iv)
console.log(e.detail.encryptedData)
// 向服务端请求进行解密的代码写在这里
...
}})
解密成功获得以下数据:
这样就可以自动获取到用户绑定的手机号码phoneNumber了。
以上是安菲云为大家分享的小程序商城自动获取微信用户手机号码的实例,如果有什么疑问可以在文章底部给留言我们一起探讨。

声明:安菲科技文章如需转载请注明原创来源。本站部分文章和图片来源网络编辑,如存在版权问题请及时沟通处理。文章观点仅代表作者本人,不代表安菲科技立场。
安菲科技www.cqanfei.com多用户商城系统是一款可以满足B2B2C、S2B2C、B2B、O2O、B2C等多种电商模式的新零售商城系统,覆盖PC端+微商城+小程序+APP,将多端数据打通并同步,并且基于社交电商的用户优势,实现多场景营销,打造一个真正的生态化电商平台。