温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

小程序怎样获取手机号信息

发布时间:2020-12-17 14:10:24 来源:亿速云 阅读:221 作者:小新 栏目:移动开发

小编给大家分享一下小程序怎样获取手机号信息,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

小程序如何获取手机号信息    

1、在获取手机号码之前,要先进行登陆。

使用wx.login进行登录,登录成功会返回一个code,将code传给后台,获取登录密钥session_key等信息。将这些信息存入data。

推荐学习:小程序开发

2、使用type="getPhoneNumber"的button获取encryptedData,iv将这两个信息和session_key传给后台,通过解密返回正确的手机号码。

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">
   手机号领取
</button>

通过点击之后获取到的信息为

小程序怎样获取手机号信息

在 请求后台接口之前要先用wx.checkSession判断登录状态是否过期,如果过期就需要获取新的session_key。

 getPhoneNumber(e) {
    var msg = e.detail.errMsg, that = this;
    var that = this;
    var sessionID=that.data.userinfo.Session_key,
    encryptedDataStr=e.detail.encryptedData,
    iv= e.detail.iv;
    if (msg == 'getPhoneNumber:ok') {
      wx.checkSession({
        success:function(){
          that.deciyption(sessionID,encryptedDataStr,iv);
        },
        fail:function(){
          wx.login({
            success: res => {
              console.log(res,'sessionkey过期')
              wx.request('url',{code:res.code},function(res){
                var userinfo=res.data.data;
                wx.setStorageSync('userinfo',userinfo);
                that.setData({
                  userinfo:userinfo
                });
                that.deciyption(userinfo.Session_key,encryptedDataStr,iv);
              })
            }
          })
        }
      })
    }
  },
 deciyption(sessionID,encryptedDataStr,iv){
    wx.request('url', {
      sessionID: sessionID,
      encryptedDataStr:encryptedDataStr,
      iv: iv
    }, function (res) {
    //这个res即可返回用户的手机号码
    })
  },

看完了这篇文章,相信你对小程序怎样获取手机号信息有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI