1. 程式人生 > 其它 >一對一原始碼,選擇手機號登入併發送驗證碼

一對一原始碼,選擇手機號登入併發送驗證碼

一對一原始碼,選擇手機號登入併發送驗證碼實現的相關程式碼

1使用button按鈕,

 

並新增屬性open-type=“getPhoneNumber” bindgetphonenumber=“bindgetphonenumber”
  <button class="login-title" open-type="getPhoneNumber" bindgetphonenumber="bindgetphonenumber">
    <text class="login-click">點選登入</text>
    <view class="login-vip">登入享受更多專屬特權</view>
  </button>

2. 在js新增對應的方法bindgetphonenumber()

 


//獲取使用者資訊    ①第一步通過login登入獲取code
  bindgetphonenumber(e) {
    let telThat = this;
    wx.login({
      success(res) {
        if (e.detail.errMsg == "getPhoneNumber:ok") { //允許授權
        //res.code是通過login獲取的,傳遞給後端,後端會通過code獲取session_key、unionid
        //e.detail.iv通過使用者點選允許授權獲取到的
        //e.detail.encryptedData通過使用者點選授權獲取到的,加密的使用者資訊(包含使用者暱稱、手機號等)
          telThat.getPho(res.code, e.detail.iv, e.detail.encryptedData);
        }
      }
    })
  },
  //獲取解密後的使用者手機號  ②第二步通過後端介面獲取解密後的使用者資訊(包含使用者暱稱、手機號等)
  getPho(code, iv, encryptedData) {
    let thatCo = this;
    var date = util.getDate(new Date());
    var str = 'hdH7trswgIJJbKCV6ppmcCIU8C0etXmI';
    var tokenWx = md5.hex_md5('get_decode_userinfo' + date + str);
    http.req('/api/index_wx.php', { //自己的介面路徑
      act: 'get_decode_userinfo',   //自己介面的引數
      token: tokenWx,               //自己介面的引數
      wxcode: code,                 //上方login獲取到的code
      iv: iv,        //允許授權獲取到的iv
      encryptedData: encryptedData, //允許授權獲取到的encryptedData
    }, (res) => {
      if (res && res.code == 200) {
          //解密後的資料為res
          // 將手機號儲存到本地
          wx.setStorage({
            key: "phos",
            data: this.data.pho
          })
      }
    })
  },

 

 

3. 獲取storage中的手機號,此時的key要和setStorage中的key屬性值要一致

 

let loThat = this;
var returnPho1 = setTimeout(function () {
   wx.getStorage({
      key: 'phos',
      success(res) {
      loThat.setData({
          pho: res.data
        })
       }
    })
      clearTimeout(returnPho1)
    }, 500);

 

以上就是 一對一原始碼,選擇手機號登入併發送驗證碼實現的相關程式碼,更多內容歡迎關注之後的文章