微信小程序如何通过用户授权获取手机号(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_05_原型继承原理
Oct 13 Javascript
jQuery拖拽div实现思路
Feb 19 Javascript
jQuery中scrollTop()方法用法实例
Jan 16 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
Feb 23 Javascript
jquery实现表格本地排序的方法
Mar 11 Javascript
Javascript函数式编程语言
Oct 11 Javascript
基于JavaScript实现瀑布流布局(二)
Jan 26 Javascript
angularjs表格ng-table使用备忘录
Mar 09 Javascript
IE和Firefox之间在JavaScript语法上的差异
Apr 22 Javascript
AngularJS入门教程之ng-class 指令用法
Aug 01 Javascript
JS调用某段SQL语句的方法
Oct 20 Javascript
快速了解vue-cli 3.0 新特性
Feb 28 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代码
2007/03/03 PHP
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
PHP中的多行字符串传递给JavaScript的两种方法
2014/06/19 PHP
php编写批量生成不重复的卡号密码代码
2015/05/14 PHP
PHP实现网站应用微信登录功能详解
2019/04/11 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
永不消失的title提示代码
2007/02/15 Javascript
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
js中设置元素class的三种方法小结
2011/08/28 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
2017/03/21 Javascript
layui 设置table 行的高度方法
2018/08/17 Javascript
对angular 实时更新模板视图的方法$apply详解
2018/10/09 Javascript
解决vue 子组件修改父组件传来的props值报错问题
2019/11/09 Javascript
Python3实现从文件中读取指定行的方法
2015/05/22 Python
Python入门_浅谈for循环、while循环
2017/05/16 Python
Python自定义简单图轴简单实例
2018/01/08 Python
python3爬取各类天气信息
2018/02/24 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
Python如何输出整数
2020/06/07 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
CSS3实现线性渐变用法示例代码详解
2020/08/07 HTML / CSS
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
盛大笔试题
2016/11/05 面试题
大学旷课检讨书
2014/01/28 职场文书
一体化教学实施方案
2014/05/10 职场文书
2014年党员整改措施范文
2014/09/21 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
优秀班主任推荐材料
2014/12/17 职场文书
python获取淘宝服务器时间的代码示例
2021/04/22 Python