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


Posted in Javascript onSeptember 29, 2017

 微信小程序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获取用户手机号

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.解密的方法可以去微信官方开发文档查看,有很详细说明。

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

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

Javascript 相关文章推荐
js 判断checkbox是否选中的实现代码
Nov 23 Javascript
用Juery网页选项卡实现代码
Jun 13 Javascript
基于jquery的滚动鼠标放大缩小图片效果
Oct 27 Javascript
使用jQuery实现input数值增量和减量的方法
Jan 24 Javascript
IE浏览器下PNG相关功能
Jul 05 Javascript
必备的JS调试技巧汇总
Jul 20 Javascript
浅谈EasyUI常用控件的禁用方法
Nov 09 Javascript
浅谈VUE单页应用首屏加载速度优化方案
Aug 28 Javascript
深入理解react-router 路由的实现原理
Sep 26 Javascript
关于Layui Table隐藏列问题
Sep 16 Javascript
解决vuex数据异步造成初始化的时候没值报错问题
Nov 13 Javascript
JavaScript实现模态对话框实例
Jan 13 Javascript
微信小程序中setInterval的使用方法
Sep 29 #Javascript
vue生成随机验证码的示例代码
Sep 29 #Javascript
JS设计模式之单例模式(一)
Sep 29 #Javascript
微信小程序的日期选择器的实例详解
Sep 29 #Javascript
JS设计模式之惰性模式(二)
Sep 29 #Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
Aug 09 #Javascript
详解用Node.js实现Restful风格webservice
Sep 29 #Javascript
You might like
PHP 图像尺寸调整代码
2010/05/26 PHP
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
通过DOM脚本去设置样式信息
2010/09/19 Javascript
javascript动态加载二
2012/08/22 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
JavaScript中实现单体模式分享
2015/01/29 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
一份超级详细的Vue-cli3.0使用教程【推荐】
2018/11/15 Javascript
vue.js的简单自动求和计算实例
2019/11/08 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
Python学习笔记(一)(基础入门之环境搭建)
2014/06/05 Python
python实现分析apache和nginx日志文件并输出访客ip列表的方法
2015/04/04 Python
简单介绍Python中的floor()方法
2015/05/15 Python
你真的了解Python的random模块吗?
2017/12/12 Python
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
python实现键盘控制鼠标移动
2020/11/27 Python
python使用装饰器作日志处理的方法
2019/07/11 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
如何写好优秀的创业计划书
2014/01/30 职场文书
学校三八妇女节活动情况总结
2014/03/09 职场文书
毕业生简历自我评价范文
2014/04/09 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
公司禁烟通知
2015/04/23 职场文书
五一放假通知怎么写
2015/08/18 职场文书
教师学习心得体会范文
2016/01/21 职场文书
浅谈@Value和@Bean的执行顺序问题
2021/06/16 Java/Android