小程序模板网

微信小程序getPhoneNumber快速获取用户手机号组件

小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写。1.getPhoneNumber这个组件通过button来实现(别的标签无效)。将button中的open-t ...

 
 
 

小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写。

1.getPhoneNumber这个组件通过button来实现(别的标签无效)。将button中的open-type=“getPhoneNumber”,并且绑定bindgetphonenumber事件获取回调。

 

		
  1. style="font-size:14px;"> open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">button>span>

2.在使用这个组件之前必须先调用login接口,如果没有调用login点击button时会提示先调用login。

 

		
  1. App({
  2. onLaunch: function () {
  3. wx.login({
  4. success: function (res) {
  5. if (res.code) {
  6. //发起网络请求
  7. console.log(res.code)
  8. } else {
  9. console.log('获取用户登录态失败!' + res.errMsg)
  10. }
  11. }
  12. });
  13. }
  14. })

3.通过bindgetphonenumber绑定的事件来获取回调。回调的参数有三个,  errMsg:用户点击取消或授权的信息回调。  iv:加密算法的初始向量(如果用户没有同意授权则为undefined)。  encryptedData: 用户信息的加密数据(如果用户没有同意授权同样返回undefined)

 

		
  1. getPhoneNumber: function(e) {
  2. console.log(e.detail.errMsg)
  3. console.log(e.detail.iv)
  4. console.log(e.detail.encryptedData)
  5. if (e.detail.errMsg == 'getPhoneNumber:fail user deny'){
  6. wx.showModal({
  7. title: '提示',
  8. showCancel: false,
  9. content: '未授权',
  10. success: function (res) { }
  11. })
  12. } else {
  13. wx.showModal({
  14. title: '提示',
  15. showCancel: false,
  16. content: '同意授权',
  17. success: function (res) { }
  18. })
  19. }
  20. }

4.最后我们需要根据自己的业务逻辑来进行处理,如果用户不同意授权的话可能我们会有一个让他手动输入的界面,如果不是强制获取手机号的话可以直接跳转页面进行下一步。(用户不同意授权errMsg返回‘getPhoneNumber:fail user deny’)  5.用户同意授权,我们可以根据login时获取到的code来通过后台以及微信处理拿到session_key,最后通过app_id,session_key,iv,encryptedData(用户同意授权errMsg返回‘getPhoneNumber:ok’)  6.解密的方法可以去微信官方开发文档查看,有很详细说明。



易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/18305.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询