微信小程序如何通过用户授权获取手机号(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 相关文章推荐
清除网页历史记录,屏蔽后退按钮!
Dec 22 Javascript
一步一步教你写一个jQuery的插件教程(Plugin)
Sep 03 Javascript
JQuery index()方法使用代码
Jun 02 Javascript
在每个匹配元素的外部插入新元素的方法
Dec 20 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
Oct 17 Javascript
JavaScript整除运算函数ceil和floor的区别分析
Apr 14 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
Jun 22 Javascript
JS简单获取及显示当前时间的方法
Aug 03 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
Mar 07 Javascript
vuex操作state对象的实例代码
Apr 25 Javascript
微信小程序实现发红包功能
Jul 11 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
Aug 25 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
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
jquery Moblie入门—hello world的示例代码学习
2013/01/08 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
js实现单击图片放大图片的方法
2015/02/17 Javascript
javascript实现判断鼠标的状态
2015/07/10 Javascript
jQuery 1.9.1源码分析系列(十四)之常用jQuery工具
2015/12/02 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
react PropTypes校验传递的值操作示例
2020/04/28 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
微信小程序获取当前时间及星期几的实例代码
2020/09/20 Javascript
vue+springboot+element+vue-resource实现文件上传教程
2020/10/21 Javascript
详解node.js创建一个web服务器(Server)的详细步骤
2021/01/15 Javascript
深入Python解释器理解Python中的字节码
2015/04/01 Python
python中 chr unichr ord函数的实例详解
2017/08/06 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
Python之csv文件从MySQL数据库导入导出的方法
2018/06/21 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
Python这样操作能存储100多万行的xlsx文件
2019/04/16 Python
python 三种方法实现对Excel表格的读写
2020/11/19 Python
Python爬取网站图片并保存的实现示例
2021/02/26 Python
关于box-sizing的全面理解
2016/07/28 HTML / CSS
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
EM Cosmetics官网:由彩妆大神Michelle Phan创办的独立品牌
2020/04/27 全球购物
机械化及自动化毕业生的自我评价分享
2013/11/06 职场文书
煤矿机修工岗位职责
2014/02/07 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
P站美图推荐——变身女主角特辑
2022/03/20 日漫