小程序之获取手机号码

本文介绍了在小程序开发中如何获取用户手机号码。首先,检查AppID是否通过微信认证,接着在WXML页面使用getPhoneNumber()方法,并关注其重要参数encryptedData、iv和sessionKey。通过wx.login获取sessionKey,然后将这些信息传递给后端进行解密处理。务必确保后端正确配置了AppID和密钥。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题(业务描述)。
在做小程序开发中,获取用户的信息是基本操作,需要获取到用户手机等信息。而手机号码则不能直接从小程序的getUserInfo这个api直接获得,需要后端配合解密才能获取。

二、实施步骤。
1、先查看用来开发的AppID是否已通过微信认证(个人号无法认证也就是个人号无法获取别人的手机号码)。登录到微信公众号基本信息查看,如图:
在这里插入图片描述
2、在wxml页面实现
<button wx:if="{ {!phone}}" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber" class="phone">手机授权</button>
记得一定要使用getPhoneNumber()点击来触发,被举报过多腾讯会收回这个获取手机号码授权的功能。
3、getPhoneNumber()有3个重要参数,是encryptedData,iv,sessionKey。sessionKey是调用wx.login后返回的密钥(还有一个是openid)。

// 解密用户手机号码
  getPhoneNumber: function (e) {
    if (e.detail.errMsg == "getPhoneNumber:ok") {
      var that = this;
      wx.login({
        success: res => {
          // 发送 res.code 到后台换取 openId, sessionKey, 
          // console.log(res.code)
          if (res.code) {
            wx.request({
              url: apiUrl.login,
             
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值