微信小程序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 相关文章推荐
javascript实现unicode和字符的互相转换
Jul 18 Javascript
web 页面分页打印的实现
Jun 22 Javascript
Prototype 学习 工具函数学习($方法)
Jul 12 Javascript
二叉树先序遍历的非递归算法具体实现
Jan 09 Javascript
Javascript的严格模式strict mode详细介绍
Jun 06 Javascript
javascript日期操作详解(脚本之家整理)
Sep 05 Javascript
jQuery中的ajax async同步和异步详解
Sep 29 Javascript
js微信支付实现代码
Dec 22 Javascript
jquery精度计算代码 jquery指定精确小数位
Feb 06 Javascript
JavaScript数组push方法使用注意事项
Oct 30 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
Nov 05 Javascript
二维码条形码生成的JavaScript脚本库
Jul 07 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 session有效期问题
2009/04/26 PHP
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
js 固定悬浮效果实现思路代码
2013/08/02 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
Jquery自定义button按钮的几种方法
2014/06/11 Javascript
jquery 为a标签绑定click事件示例代码
2014/06/23 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
Vue AST源码解析第一篇
2017/07/19 Javascript
详解JS数值Number类型
2018/02/07 Javascript
JS中promise化微信小程序api
2018/04/12 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
2020/06/17 Javascript
ReactRouter的实现方法
2021/01/25 Javascript
Python 异步协程函数原理及实例详解
2019/11/13 Python
深入了解NumPy 高级索引
2020/07/24 Python
python mock测试的示例
2020/10/19 Python
纽约JewelryAffairs珠宝店:精细金银时尚首饰
2017/02/05 全球购物
统计员岗位职责
2013/11/14 职场文书
十八大闭幕感言
2014/01/22 职场文书
数控技术专业毕业自荐书范文
2014/02/05 职场文书
市场营销专业毕业生求职信
2014/03/26 职场文书
大学毕业寄语大全
2014/04/10 职场文书
2014年幼儿园国庆主题活动方案
2014/09/16 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
领导班子遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
庆六一宣传标语
2014/10/08 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
2015最新民情日记范文
2015/06/26 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
vue生命周期钩子函数以及触发时机
2022/04/26 Vue.js