微信小程序如何通过用户授权获取手机号(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的原生方法获取数组中的最大(最小)值
Dec 19 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
Nov 28 Javascript
jQuery siblings()用法实例详解
Apr 26 Javascript
JavaScript事件处理的方式(三种)
Apr 26 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
May 25 Javascript
JavaScript数据结构之广义表的定义与表示方法详解
Apr 12 Javascript
Vue组件中的data必须是一个function的原因浅析
Sep 03 Javascript
layui字体图标 loading图标静止不旋转的解决方法
Sep 23 Javascript
Vue+abp微信扫码登录的实现代码示例
Jan 06 Javascript
mapboxgl实现带箭头轨迹线的代码
Jan 04 Javascript
js实现有趣的倒计时效果
Jan 19 Javascript
js 实现Material UI点击涟漪效果示例
Sep 23 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中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
解析centos中Apache、php、mysql 默认安装路径
2013/06/25 PHP
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
在Linux系统下一键重新安装WordPress的脚本示例
2015/06/30 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
JS随即打乱数组实现代码
2012/12/03 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
Jquery简单实现GridView行高亮的方法
2015/06/15 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
centos 上快速搭建ghost博客方法分享
2018/05/23 Javascript
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
详解详解Python中writelines()方法的使用
2015/05/25 Python
浅谈对yield的初步理解
2017/05/29 Python
Python中的元组介绍
2019/01/28 Python
python求最大值,不使用内置函数的实现方法
2019/07/09 Python
python小程序实现刷票功能详解
2019/07/17 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
python二元表达式用法
2019/12/04 Python
python中如何设置代码自动提示
2020/07/15 Python
CSS3实现王者荣耀匹配人员加载页面的方法
2019/04/16 HTML / CSS
html5 touch事件实现页面上下滑动效果【附代码】
2016/03/10 HTML / CSS
雅诗兰黛香港官网:Estee Lauder香港
2017/09/26 全球购物
工程力学专业毕业生求职信
2013/10/06 职场文书
2014教师个人自我评价范文
2014/09/13 职场文书
自愿离婚协议书范本
2014/09/13 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
机关作风建设整改方案
2014/10/27 职场文书
年会主持人开场白台词
2015/05/29 职场文书
英语演讲开场白
2015/05/29 职场文书
浅谈JavaScript作用域
2021/12/06 Javascript
德生BCL3000抢先使用感受和评价
2022/04/07 无线电
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技