微信小程序如何通过用户授权获取手机号(getPhoneNumber)


Posted in Javascript onJanuary 21, 2020

这篇文章主要介绍了微信小程序如何通过用户授权获取手机号(getPhoneNumber),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

小程序有一个获取用户很便捷的api,就是通过getPhoneNumber获取用户的已经绑定微信的手机号码。有一点要大家注意,现在微信和注重用户体验,有些方法都是需要用户主动去触发才能调用的,比如getPhoneNumber。

官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html

实现思路:

微信小程序如何通过用户授权获取手机号(getPhoneNumber)

直接上干货:

1、

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

2、JS内getPhoneNumbe组件函数(该事件中最重要的就是在wx.login登录后发起接口请求),这里需要配置参数来给接口:

这些是必不可少的参数,这些齐备才能算一个合法的请求。

appid: “你的小程序APPID”,
secret: “你的小程序appsecret”,
code: res.code,
encryptedData: telObj,
iv: ivObj
//通过绑定手机号登录
getPhoneNumber: function (e) {
   var ivObj = e.detail.iv
   var telObj = e.detail.encryptedData
   var codeObj = "";
   var that = this;
   //------执行Login---------
   wx.login({
    success: res => {
     console.log('code转换', res.code);
 



//用code传给服务器调换session_key
     wx.request({
      url: 'https://你的接口文件路径', //接口地址
      data: {
       appid: "你的小程序APPID",
       secret: "你的小程序appsecret",
       code: res.code,
       encryptedData: telObj,
       iv: ivObj
      },
      success: function (res) {
       phoneObj = res.data.phoneNumber;
       console.log("手机号=", phoneObj)
       wx.setStorage({  //存储数据并准备发送给下一页使用
        key: "phoneObj",
        data: res.data.phoneNumber,
       })
      }
     })
 
     //-----------------是否授权,授权通过进入主页面,授权拒绝则停留在登陆界面
     if (e.detail.errMsg == 'getPhoneNumber:user deny') { //用户点击拒绝
      wx.navigateTo({
       url: '../index/index',
      })
     } else { //允许授权执行跳转
      wx.navigateTo({
       url: '../test/test',
      })
     }
    }
   });
},

最终结果展示:

微信小程序如何通过用户授权获取手机号(getPhoneNumber)

点击"拒绝",开发者能捕捉到该事件 ,此时getPhoneNumber 函数返回 e.detail.errMsg 为 getPhoneNumber:user deny

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript深入理解js闭包
Jul 03 Javascript
一个Action如何调用两个不同的方法
May 22 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
Jun 08 Javascript
AngularJS教程之MVC体系结构详解
Aug 16 Javascript
有趣的bootstrap走动进度条
Dec 01 Javascript
清除js缓存的多种方法总结
Dec 09 Javascript
AngularJS中$apply方法和$watch方法用法总结
Dec 13 Javascript
微信小程序 navbar实例详解
May 11 Javascript
JavaScript严格模式下关于this的几种指向详解
Jul 12 Javascript
让bootstrap的carousel支持滑动滚屏的实现代码
Nov 27 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
Mar 06 Javascript
如何手写简易的 Vue Router
Oct 10 Javascript
微信小程序如何实现精确的日期时间选择器
Jan 21 #Javascript
微信小程序如何实现点击图片放大功能
Jan 21 #Javascript
微信小程序修改checkbox的样式代码实例
Jan 21 #Javascript
微信小程序全选多选效果实现代码解析
Jan 21 #Javascript
js判断在哪个浏览器打开项目的方法
Jan 21 #Javascript
浅谈Vue.use到底是什么鬼
Jan 21 #Javascript
ant-design-vue 快速避坑指南(推荐)
Jan 21 #Javascript
You might like
聊天室php&amp;mysql(三)
2006/10/09 PHP
PHP 数组入门教程小结
2009/05/20 PHP
PHP 采集程序中常用的函数
2009/12/09 PHP
php中防止伪造跨站请求的小招式
2011/09/02 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
php+mysqli实现批量替换数据库表前缀的方法
2014/12/29 PHP
试用php中oci8扩展
2015/06/18 PHP
php封装的smartyBC类完整实例
2016/10/19 PHP
thinkphp实现附件上传功能
2017/05/26 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
JS控制表单提交的方法
2015/07/09 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
Node.js文件操作方法汇总
2016/03/22 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
jquery 实现拖动文件上传加载进度条功能
2018/03/18 jQuery
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
pandas.dataframe按行索引表达式选取方法
2018/10/30 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
八一建军节活动方案
2014/02/10 职场文书
工程建设实施方案
2014/03/14 职场文书
2015公司年度工作总结
2015/05/14 职场文书
永远是春天观后感
2015/06/12 职场文书
西游记读书笔记
2015/06/25 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
2016年优秀少先队辅导员事迹材料
2016/02/26 职场文书
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript