微信小程序如何通过用户授权获取手机号(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 相关文章推荐
对联广告js flash激活
Oct 19 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
Nov 12 Javascript
jquery如何获取复选框的值
Dec 12 Javascript
javascript获取当前的时间戳的方法汇总
Jul 26 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
May 18 Javascript
简易的JS计算器实现代码
Oct 18 Javascript
详解JavaScript中this的指向问题
Jan 20 Javascript
详解Vue-cli代理解决跨域问题
Sep 27 Javascript
JS实现对json对象排序并删除id相同项功能示例
Apr 18 Javascript
浅谈super-vuex使用体验
Jun 25 Javascript
mpvue 单文件页面配置详解
Dec 02 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
Oct 31 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
上海牌131型七灯四波段四喇叭一级收音机
2021/03/02 无线电
社区(php&amp;&amp;mysql)六
2006/10/09 PHP
php面向对象全攻略 (十七) 自动加载类
2009/09/30 PHP
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
javascript学习网址备忘
2007/05/29 Javascript
JavaScript 题型问答有答案参考
2010/02/17 Javascript
可以将word转成html的js代码
2010/04/11 Javascript
基于jQuery的输入框无值自动显示指定数据的实现代码
2011/01/24 Javascript
jQuery$命名冲突怎么办如何解决
2014/01/16 Javascript
Javascript 按位与运算符 (&amp;)使用介绍
2014/02/04 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
JS基于面向对象实现的放烟花效果
2015/05/07 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
javascript简单实现深浅拷贝过程详解
2019/10/08 Javascript
全面解析JavaScript Module模式
2020/07/24 Javascript
python调用java的Webservice示例
2014/03/10 Python
利用Python如何实现一个小说网站雏形
2018/11/23 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
2018/12/20 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
Python正则表达式匹配数字和小数的方法
2019/07/03 Python
Python面向对象之Web静态服务器
2019/09/03 Python
详解Scrapy Redis入门实战
2020/11/18 Python
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
医学求职信
2014/05/28 职场文书
羽毛球社团活动总结
2014/06/27 职场文书
公司周年庆典标语
2014/10/07 职场文书
党性分析自查总结
2014/10/14 职场文书
满月酒邀请函
2015/01/30 职场文书
瘦西湖导游词
2015/02/03 职场文书
环卫个人总结
2015/03/03 职场文书
法院执行局工作总结
2015/08/11 职场文书