微信小程序如何通过用户授权获取手机号(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 相关文章推荐
firefox插件Firebug的使用教程
Jan 02 Javascript
JavaScript改变HTML元素的样式改变CSS及元素属性
Nov 12 Javascript
js实现获取焦点后光标在字符串后
Sep 17 Javascript
关于JavaScript的变量的数据类型的判断方法
Aug 14 Javascript
jQuery给指定的table动态添加删除行的操作方法
Oct 12 Javascript
BootStrap 实现各种样式的进度条效果
Dec 07 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
Mar 02 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
Sep 05 Javascript
Vue响应式原理深入解析及注意事项
Dec 11 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
Feb 26 Javascript
js中关于Blob对象的介绍与使用
Nov 29 Javascript
vue项目实现减少app.js和vender.js的体积操作
Nov 12 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 压缩文件夹的类代码
2009/11/05 PHP
学习php笔记 字符串处理
2010/10/19 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
简单谈谈favicon
2015/06/10 PHP
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
YII框架批量插入数据的方法
2017/03/18 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
扩展String功能方法
2006/09/22 Javascript
十个优秀的Ajax/Javascript实例网站收集
2010/03/31 Javascript
js 走马灯简单实例
2013/11/21 Javascript
jquery 操作css样式、位置、尺寸方法汇总
2014/11/28 Javascript
基于javascript如何传递特殊字符
2015/11/30 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
2017/09/02 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
Vue项目自动转换 px 为 rem的实现方法
2018/10/29 Javascript
小程序页面动态配置实现方法
2019/02/05 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
2020/10/09 Javascript
[01:01:18]VP vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python自动连接ssh的方法
2015/03/07 Python
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
Python批量合并有合并单元格的Excel文件详解
2018/04/05 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
python 多进程和协程配合使用写入数据
2020/10/30 Python
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
纽约香氛品牌:NEST Fragrance
2018/10/15 全球购物
大学生简单自荐信
2013/11/10 职场文书
毕业生怎样写好自荐信
2013/11/11 职场文书
前台接待员岗位职责
2014/01/02 职场文书
python中对列表的删除和添加方法详解
2022/02/24 Python
Golang解析JSON对象
2022/04/30 Golang