微信小程序獲取手機號碼看這篇文章就夠了

前言

微信小程序獲取手機號碼,從官方文檔到其他博主的文檔 零零散散的 (我就是這樣看過來 沒有一篇滿意的 也許是我搜索姿勢不對) 依舊是前人栽樹 後人乘涼 系列。保證看完 就可以實現獲取手機號碼功能

1.認證(有資格)

獲取手機號碼接口權限,只對認證的小程序開發(非個人)

 

 

2.身份牌

需要第三方服務端(你們的後端童鞋)的友情支持

  • 前端同學的工作
 // 登錄 一定要在現在app.js 登陸(後面解密需要用到)
    wx.login({
      success: res => {
        // 發送 res.code 到後臺換取 openId, sessionKey, unionId
        this.globalData.code =  res.code
        http.authCode2Session({ // 調用接口,傳入參數 這個接口就是自家後臺給你提供的 post請求
          data: {
            jsCode: res.code,
            grantType: 'getPhoneNumber',
          },
          success: res => {
            this.globalData.openid = res.openid // 存入 globalData 
          },
          fail: err => {
            console.log(err)
          }
        })
      }
    })
  • 後端工作 (我不是後端 沒有這個代碼 但是根據小程序文檔來做是可以的)

 

 

入口

拿到了openid sessionkey 之後,然後再寫一個入口 button

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

回調

在頁面寫函數getPhoneNumber()

Page({
  getPhoneNumber (e) {
    console.log(e.detail.errMsg)
    console.log(e.detail.iv)
    console.log(e.detail.encryptedData)
  }
})

真機調試

開發工具是不可以的,真機調試 拿自己的手機調試一下

 

 

就是這樣子的

解密

前端拿到的數據是加密的。只好後端做一個保存接口 傳給後端,後端再去解密 才能真的拿到用戶的手機號碼

解密後的數據是這樣子的

 

 

Fannie總結

應該是寫的明明白白 清清楚楚了 如果你還不明白 就是我的鍋 沒有寫清楚 那就來問我吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章