微信小程序获取手机号授权实现用户登录功能实例解析

why 72 2024-09-23

小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写。本文主要给大家分享微信小程序获取手机号授权用户登录功能,需要的朋友参考下吧,希望能帮助到大家。

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

1

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

App({ 

  onLaunch: function () { 

    wx.login({ 

      success: function (res) { 

        if (res.code) { 

          //发起网络请求 

          console.log(res.code) 

        } else

          console.log(&#39;获取用户登录态失败!&#39; + res.errMsg) 

        

      

    }); 

  

})

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

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

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

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

image.png

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

getPhoneNumber: function(e) {  

  console.log(e.detail.errMsg)  

  console.log(e.detail.iv)  

  console.log(e.detail.encryptedData)  

  if (e.detail.errMsg == &#39;getPhoneNumber:fail user deny&#39;){ 

   wx.showModal({ 

     title: &#39;提示&#39;, 

     showCancel: false

     content: &#39;未授权&#39;, 

     success: function (res) { } 

   }) 

  } else

   wx.showModal({ 

     title: &#39;提示&#39;, 

     showCancel: false

     content: &#39;同意授权&#39;, 

     success: function (res) { } 

   }) 

  

 }

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

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

又学会一种小程序功能,希望能帮助到大家。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信小程序获取用户openid的方法与步骤详解
下一篇:微信小程序即日起可交由第三方开发管理的相关事宜
相关文章

 发表评论

暂时没有评论,来抢沙发吧~