美文网首页前端之美-小程序小程序学习
微信小程序getPhoneNumber快速获取用户手机号组件

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

作者: 神木惊蛰 | 来源:发表于2018-03-06 15:23 被阅读21次

本文转自:原文

小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,

      有了这个组件可以快速获取微信绑定手机号码,无须用户填写。

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

[html] view plain copy

  

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

[html] view plain copy

App({  

    onLaunch: function () {  

        wx.login({  

            success: function (res) {  

                if (res.code) {  

                    //发起网络请求  

                    console.log(res.code)  

                } else {  

                    console.log('获取用户登录态失败!' + res.errMsg)  

                }  

            }  

        });  

    }  

})  

3.通过bindgetphonenumber绑定的事件来获取回调。回调的参数有三个,

errMsg:用户点击取消或授权的信息回调。

iv:加密算法的初始向量(如果用户没有同意授权则为undefined)。

encryptedData: 用户信息的加密数据(如果用户没有同意授权同样返回undefined)

[html] view plain copy

getPhoneNumber: function(e) {   

    console.log(e.detail.errMsg)   

    console.log(e.detail.iv)   

    console.log(e.detail.encryptedData)   

if (e.detail.errMsg == 'getPhoneNumber:fail user deny'){  

      wx.showModal({  

          title: '提示',  

          showCancel: false,  

          content: '未授权',  

          success: function (res) { }  

      })  

    } else {  

      wx.showModal({  

          title: '提示',  

          showCancel: false,  

          content: '同意授权',  

          success: function (res) { }  

      })  

    }  

  }  

4.最后我们需要根据自己的业务逻辑来进行处理,如果用户不同意授权的话可能我们会有一个让他手动输入的界面,如果不是强制获取手机号的话可以直接跳转页面进行下一步。(用户不同意授权errMsg返回‘getPhoneNumber:fail user deny’)

5.用户同意授权,我们可以根据login时获取到的code来通过后台以及微信处理拿到session_key,最后通过app_id,session_key,iv,encryptedData(用户同意授权errMsg返回‘getPhoneNumber:ok’)

6.解密的方法可以去微信官方开发文档查看,有很详细说明。

加密数据解密算法(官方文档)


相关文章

  • 微信小程序如何获取用户手机号 ?

    微信小程序如何获取用户手机号 ? 本篇文章将教会你,使用微信小程序快速、有效获取用户手机号的方法。微信小程序获取手...

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

    本文转自:原文 小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等, 有了这个组件可以快速获...

  • 微信小程序获取用户信息

    微信小程序获取用户手机号码(类似膜拜手机号授权),自己写的程序也用到了,查看微信小程序文档,原来微信提供了方法, ...

  • 小程序微信登录

    旧方案 1.手机号+验证码登录 2.微信授权登录 1.用户点击微信授权,小程序端获取手机号。2.小程序端将手机号和...

  • 微信如何获取手机号

    基础用法 小程序没有直接获取手机号的API,微信官方说必须让用户主动调用,在button组件中调用它。用法如下: ...

  • 微信小程序登录

    小程序登录 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。小程...

  • 小程序验证码倒计时

    现在好多小程序都没有用到手机号的登录,因为可以直接调用微信的接口,getPhoneNumber,因为我们为了保持公...

  • 微信小程序-新用户获取微信手机号登录服务端获取不到unionid

    需求:微信小程序进行获取手机号登录时,登录失败 微信小程序button apihttps://developers...

  • 消息推送

    微信小程序消息推送 获取formId的方式 页面 组件 微信支付成功 推送规则 当用户在小程序内发生过提交表单行为...

  • 【微信小程序】企业微信中的获取用户信息

    企业微信小程序登录获取用户信息和微信小程序获取用户信息步骤不太一样,其中微信小程序获取用户信息需要做低版本兼容,具...

网友评论

    本文标题:微信小程序getPhoneNumber快速获取用户手机号组件

    本文链接:https://www.haomeiwen.com/subject/pjaqtxtx.html