微信小程序如何通过用户授权获取手机号(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 相关文章推荐
Raphael带文本标签可拖动的图形实现代码
Feb 20 Javascript
jquery 触发a链接点击事件解决方案
May 02 Javascript
$(&quot;&quot;).click与onclick的区别示例介绍
Sep 25 Javascript
JavaScript中扩展Array contains方法实例
Aug 23 Javascript
基于Css3和JQuery实现打字机效果
Aug 11 Javascript
angular.bind使用心得
Oct 26 Javascript
详解JavaScript中的事件流和事件处理程序
May 20 Javascript
使用Vue CLI创建typescript项目的方法
Aug 09 Javascript
JS Thunk 函数的含义和用法实例总结
Apr 08 Javascript
vue.js实现简单购物车功能
May 30 Javascript
微信小程序实现下拉加载更多商品
Dec 29 Javascript
开发一个封装iframe的vue组件
Mar 29 Vue.js
微信小程序如何实现精确的日期时间选择器
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使用百度ping服务代码实例
2014/06/19 PHP
php之可变变量的实例详解
2017/09/12 PHP
图像替换新技术 状态域方法
2010/01/28 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
AngularJS仿苹果滑屏删除控件
2016/01/18 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
2021/02/25 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
vue单页开发父子组件传值思路详解
2018/05/18 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
通过图带你深入了解vue的响应式原理
2019/06/21 Javascript
js 闭包深入理解与实例分析
2020/03/19 Javascript
python从入门到精通(DAY 2)
2015/12/20 Python
windows上安装Anaconda和python的教程详解
2017/03/28 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
Python随机函数random()使用方法小结
2018/04/29 Python
python3.5绘制随机漫步图
2018/08/27 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
Python中使用双下划线防止类属性被覆盖问题
2019/06/27 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
python 实现return返回多个值
2019/11/19 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
毕业生怎样写好自荐信
2013/11/11 职场文书
二手书店创业计划书
2014/01/16 职场文书
中国梦我的梦演讲稿
2014/04/23 职场文书
新闻发布会策划方案
2014/06/12 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
2014年公司工作总结
2014/11/22 职场文书
食品仓管员岗位职责
2015/04/01 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android