微信小程序如何通过用户授权获取手机号(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 面向对象编程 function也是类
Sep 17 Javascript
计算世界完全对称日的js代码,粗糙版
Nov 04 Javascript
自己编写的类似JS的trim方法
Oct 09 Javascript
用javascript对一个json数组深度赋值示例
Jul 27 Javascript
基于jquery实现的自动补全功能
Mar 12 Javascript
利用js实现禁止复制文本信息
Jun 03 Javascript
JS实现根据密码长度显示安全条功能
Mar 08 Javascript
详解Node.js开发中的express-session
May 19 Javascript
vue-router+nginx 非根路径配置方法
Jun 30 Javascript
webpack中如何使用雪碧图的示例代码
Nov 11 Javascript
微信小程序激励式视频广告组件使用详解
Dec 06 Javascript
js异步接口并发数量控制的方法示例
Nov 22 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默认安装产生系统漏洞
2006/10/09 PHP
PHP使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
2016/04/30 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
为jQuery增加join方法的实现代码
2010/11/28 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
jquery改变disabled的boolean状态的三种方法
2013/12/13 Javascript
javascript页面倒计时实例
2015/07/25 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
基于easyui checkbox 的一些操作处理方法
2017/07/10 Javascript
Javascript中的getter和setter初识
2017/08/17 Javascript
详解webpack中的hash、chunkhash、contenthash区别
2018/01/05 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
python微信跳一跳系列之棋子定位像素遍历
2018/02/26 Python
python发送邮件脚本
2018/05/22 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
通过实例了解python property属性
2019/11/01 Python
Python实时监控网站浏览记录实现过程详解
2020/07/14 Python
如何把python项目部署到linux服务器
2020/08/26 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
发现两个有趣的CSS3动画效果
2013/08/14 HTML / CSS
师范生实习个人的自我评价
2013/09/28 职场文书
市场营销管理制度
2014/01/29 职场文书
小学生美德少年事迹
2014/02/02 职场文书
新闻报道策划方案
2014/06/11 职场文书
合理化建议书
2015/02/04 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
python实现简单反弹球游戏
2021/04/12 Python
TS 类型收窄教程示例详解
2022/09/23 Javascript