导航
当前位置:首页>>小程序

微信小程序获取手机号授权怎么实现

2023-11-11 围观 : 4次

微信小程序获取手机号授权是常用的小程序开放能力之一,对小程序制作开发人员来说怎么实现该功能呢?

要想获取微信用户绑定的手机号,需要先调用wx.login接口。而且因为需要用户主动触发才能发起获取手机号接口,所以该功能不由API来调用,需用button组件的点击来触发。

使用方法:

将button组件open-type的值设置为getPhoneNumber,当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到微信服务器返回的加密数据, 然后在第三方服务端结合 session_key 以及 app_id 进行解密获取手机号。

注意事项:

在回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录态。

代码示例如下:

<button open-type=”getPhoneNumber” bindgetphonenumber=”getPhoneNumber”></button>

JS内getPhoneNumbe组件函数(该事件中最重要的就是在wx.login登录后发起接口请求),这里需要配置参数来给接口:

这些是必不可少的参数,这些齐备才能算一个合法的请求。

appid: “你的小程序APPID”,secret: “你的小程序appsecret”,code: res.code,encryptedData: telObj,iv: ivObj

//通过绑定手机号登录  getPhoneNumber: function (e) {var ivObj = e.detail.ivvar telObj = e.detail.encryptedDatavar codeObj = “”;var that = this;//——执行Login———wx.login({success: res => {console.log(‘code转换’, res.code);

      //用code传给服务器调换session_keywx.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’,})}}});},

得到的最终效果展示:

以上就是微信小程序获取手机号授权怎么实现的具体步骤,具体参考官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html

相关文章
  • 退出小程序开发工具

    小程序开发工具是开发小程序的重要工具,开发者可以在开发工具中进行代码编写、调试、调整样式和进行模拟器测试等操作。在使用小程序开发工具时,有时需要退出工具,这可能是因为需要关闭工具进行系统维护、需要升级软件版本或者需要退出并重新登录等。本文将介绍退出小程序开发工具的原理和详细步骤。1. 退出小程序开发...

    2023-11-27
  • 网站一键转微信小程序

    1、创建打开网页:http://www.appbsl.cn/lessenprog/32 2、写入业务域名小程序管理平台,开发管理---开发设置,业务域名内点“修改”,微信管理员扫码确认身份。把你要封装的小程序域名写入业务域名点“+”号,增加你网站域名。下载校验文件,放入服务器指定目录。腾讯帮助3、授权微信授权绑定变色龙云平台。...

    2023-05-13
  • 红包雨小程序开发工具

    红包雨小程序是一种非常有趣的小程序,它模拟了人们在过年或者节日时撒红包的场景。红包雨小程序可以让用户通过点击屏幕来获取红包,获得的红包金额随机,给用户带来一种刺激的体验。开发一个红包雨小程序,需要用到一些技术手段,接下来将为大家介绍一下红包雨小程序的开发工具以及其原理。红包雨小程序的基本原理是通过开...

    2023-10-30
  • 山西旅游小程序开发工具

    随着旅游行业的不断发展和普及,越来越多的人喜欢通过旅游小程序来完成旅游预订并获取旅游信息。对于旅游机构、旅游从业者来说,开发一个旅游小程序,不仅可以提高旅游预订效率,还能打造一个良好的品牌形象。山西旅游小程序开发工具是一款专门针对山西旅游行业开发的小程序,它可以帮助旅游从业者快速高效地开发自己的旅游...

    2023-11-27
  • 微信小程序如何引入扩展组件库

    扩展组件是微信平台对微信小程序内置组件能力的补充,包括了一些常见的功能组件。微信小程序如何引入扩展组件库?下面小编以选项卡组件tabs为例,为大家带来引入操作教程。微信小程序引入扩展组件库操作教程1、在微信开发者工具中,点击详情–>本地设置,勾选使用npm模块;2、在微信开发者工具中点击工具–...

    2023-11-11