微信小程序getPhoneNumber获取用户手机号

 更新时间:2017年09月29日 11:33:03   作者:Abby_shi  
这篇文章主要介绍了 微信小程序getPhoneNumber获取用户手机号的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下

 微信小程序getPhoneNumber获取用户手机号

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

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

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">

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')

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

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

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • npm脚本库组织在项目中的地位详解

    npm脚本库组织在项目中的地位详解

    这篇文章主要为大家介绍了npm脚本库组织在项目中的地位详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • JavaScript的单线程和异步详细

    JavaScript的单线程和异步详细

    这篇文章要给大家分享的是JavaScript的单线程和异步,其实单线程和异步确实不能同时成为一个语言的特性,js选择了成为单线程的语言,所以它本身不可能是异步的,但js宿主环境是多线程,宿主环境通过某种方式使js具备了异步属性,下面就来具体介绍,需要的朋友可以参考一下
    2021-10-10
  • Three.js Interpolant实现动画插值

    Three.js Interpolant实现动画插值

    这篇文章主要为大家介绍了Three.js Interpolant实现动画插值示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • 微前端之 js隔离 样式隔离 元素隔离问题详解

    微前端之 js隔离 样式隔离 元素隔离问题详解

    这篇文章主要为大家介绍了微前端之 js隔离 样式隔离 元素隔离问题详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 超越Node.js的JavaScript运行环境Bun.js功能特性详解

    超越Node.js的JavaScript运行环境Bun.js功能特性详解

    这篇文章主要为大家介绍了超越Node.js的JavaScript运行环境Bun.js功能特性详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 动态引入DynamicImport实现原理

    动态引入DynamicImport实现原理

    这篇文章主要为大家介绍了动态引入DynamicImport实现原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • 漂亮的仿flash菜单,来自蓝色经典

    漂亮的仿flash菜单,来自蓝色经典

    漂亮的仿flash菜单,来自蓝色经典...
    2006-06-06
  • 微信小程序 wxapp画布 canvas详细介绍

    微信小程序 wxapp画布 canvas详细介绍

    这篇文章主要介绍了微信小程序 wxapp画布 canvas的相关资料,需要的朋友可以参考下
    2016-10-10
  • 微信小程序 上传头像的实例详解

    微信小程序 上传头像的实例详解

    这篇文章主要介绍了微信小程序 上传头像的实例详解的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
    2017-10-10
  • 微信小程序 获取当前地理位置和经纬度实例代码

    微信小程序 获取当前地理位置和经纬度实例代码

    这篇文章主要介绍了微信小程序 获取当前地理位置和经纬度实例代码的相关资料,这里附有实例代码,及实现效果图,需要的朋友可以参考下
    2016-12-12

最新评论