欢迎来到 商淘云

商淘云商城系统演示网址

平台演示 演示地址 账号密码
B2B2C多用户商城系统 http://test.wstmart.net/

扫码添加立即咨询

多语言商城系统 http://dyy.wstmart.net/
订单管理系统 https://b2b.hehuobao.net/admin
订货管理系统 https://b2b.hehuobao.net/admin
O2O商城系统 http://test.wstmall.net
B2C管理系统 http://test.wstshop.net
  • 安卓APP(用浏览器打开)

  • 苹果APP

  • 小程序商城

  • 微信商城

小程序商城如何自动获取用户号码

2020-01-14 11:11:43 4474

分类:常见问题

小程序商城需要让用户授权获取基础信息,用户同意授权后收集用户的基础信息和sessionKey,将sessionKey保存到缓存。然后,通过小程序的button组件来让用户授权获取手机号。。。

我们在浏览小程序商城的时候,进入商城首页经常遇到点击授权允许小程序商城获取手机号码,小程序商城是如何做到获取用户在微信绑定的手机号码的呢?

下面商淘云给您分享一下小程序商城是如何自动获取用户的手机号码的实现的思路。

 

首先,小程序商城需要让用户授权获取基础信息,用户同意授权后收集用户的基础信息和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了。

 

以上是商淘云为大家分享的小程序商城自动获取微信用户手机号码的实例,如果有什么疑问可以在文章底部给留言我们一起探讨。

商淘云公众号

发表评论

昵称:

评论列表 (0)

New最新资讯

扫描二维码

添加客服咨询详情

添加微信立即咨询

咨询热线:13422009949

—— 专业电商系统及解决方案提供服务商 ——

多用户
商城系统

订单
管理系统

订货
管理系统

多语言
商城系统