实例讲解微信小程序获取手机号授权用户登录功能
1.getPhoneNumber这个组件通过button来实现(别的标签无效)。将button中的open-type=“getPhoneNumber”,并且绑定bindgetphonenumber事件获取回调。
<span style="font-size:14px;"><button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button></span>
2.在使用这个组件之前必须先调用login接口,如果没有调用login点击button时会提示先调用login。
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)
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')
又学会一种小程序功能,希望能帮助到大家。
相关推荐:
以上就是实例讲解微信小程序获取手机号授权用户登录功能的详细内容,更多请关注其它相关文章!
上一篇: 小程序页面间传递数据的方式
下一篇: 最小化以centos make
推荐阅读
-
php实现微信小程序授权登录功能(实现流程)
-
微信小程序手机号码验证功能的实例代码
-
微信小程序学习笔记之登录API与获取用户信息操作图文详解
-
微信小程序获取用户信息及手机号(后端TP5.0)
-
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
-
微信小程序如何再次获取用户授权的方法
-
微信小程序用户授权,以及判断登录是否过期的方法
-
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
-
微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。
-
微信小程序--获取用户地理位置名称(无须用户授权)的方法