首頁  >  文章  >  微信小程式  >  小程式如何取得手機號碼訊息

小程式如何取得手機號碼訊息

angryTom
angryTom原創
2020-03-26 11:16:527133瀏覽

小程式如何取得手機號碼訊息

小程式如何取得手機號碼資訊    

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 == &#39;getPhoneNumber:ok&#39;) {
      wx.checkSession({
        success:function(){
          that.deciyption(sessionID,encryptedDataStr,iv);
        },
        fail:function(){
          wx.login({
            success: res => {
              console.log(res,&#39;sessionkey过期&#39;)
              wx.request(&#39;url&#39;,{code:res.code},function(res){
                var userinfo=res.data.data;
                wx.setStorageSync(&#39;userinfo&#39;,userinfo);
                that.setData({
                  userinfo:userinfo
                });
                that.deciyption(userinfo.Session_key,encryptedDataStr,iv);
              })
            }
          })
        }
      })
    }
  },
 deciyption(sessionID,encryptedDataStr,iv){
    wx.request(&#39;url&#39;, {
      sessionID: sessionID,
      encryptedDataStr:encryptedDataStr,
      iv: iv
    }, function (res) {
    //这个res即可返回用户的手机号码
    })
  },

以上是小程式如何取得手機號碼訊息的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn