微信小程序如何通过微信绑定的手机号进行快速登录

来源:互联网 发布:开发板与单片机 编辑:程序博客网 时间:2024/04/30 12:07

1.首先wxml布局文件这么写。   open-type是固定的。   bindgetPhonenumber后面跟的是自定的方法名

open-type="getPhoneNumber"bindgetphonenumber="getPhoneNumber"

<view class="btn-submit">        <button class="btn-block btn-green" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">微信用户快速登录</button></view>



2. js文件。写法  需要把获取的js_code,  iv, encryptedData传给服务器,开发者需要在开发者服务器后台调用 api,使用 code 换取 openid 和 session_key 等信息

getPhoneNumber: function (e) {    var that = this    // console.log("errMsg:" + e.detail.errMsg)    console.log("iv:" + e.detail.iv)    console.log("未转 encryptedData:" + e.detail.encryptedData)    // console.log("encryptedData:" + encodeURIComponent(e.detail.encryptedData))    console.log("js_code:" + encodeURIComponent(app.data.js_code))    wx.request({      url: url1,      data: {        act: "binding_little_program",        code: encodeURIComponent(app.data.js_code),        encryptedData: encodeURIComponent(e.detail.encryptedData),        iv: encodeURIComponent(e.detail.iv),      },      method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT      header: {        'content-type': 'application/json'      },      success: function (res) {        // success        console.log(res)        console.log("result_msg:"+res.data.result_msg)        if (res.data.result_code == 0) {          util.showAlert(res.data.result_msg)        } else {          console.log(res.data.uid)          util.showAlert1(res.data.result_msg, 'success')          app.globalData.uid = res.data.uid          app.globalData.card_id = res.data.card_id          app.globalData.fullname = res.data.fullname          app.globalData.photo_img = res.data.photo_img          app.globalData.usertel = res.data.telephone          app.globalData.sex = res.data.sex          console.log('aaphoto = ' + app.globalData.usertel)          wx.setStorage({            key: "uid",            data: res.data.uid,            success: function (res) { console.log(res) },            fail: function (res) { console.log(res) },            complete: function (res) { console.log(res) },          })          wx.setStorage({            key: "usertel",            data: res.data.telephone,            success: function (res) { console.log(res) },            fail: function (res) { console.log(res) },            complete: function (res) { console.log(res) },          })          wx.setStorage({            key: "card_id",            data: res.data.card_id,            success: function (res) { console.log(res) },            fail: function (res) { console.log(res) },            complete: function (res) { console.log(res) },          })          wx.setStorage({            key: "fullname",            data: res.data.fullname,            success: function (res) { console.log(res) },            fail: function (res) { console.log(res) },            complete: function (res) { console.log(res) },          })          wx.setStorage({            key: "photo_img",            data: res.data.photo_img,            success: function (res) { console.log(res) },            fail: function (res) { console.log(res) },            complete: function (res) { console.log(res) },          })          wx.setStorage({            key: "sex",            data: res.data.sex,            success: function (res) { console.log(res) },            fail: function (res) { console.log(res) },            complete: function (res) { console.log(res) },          })          var pages = getCurrentPages();          console.log("length" + pages.length);          //更新ui          that.setData({            uid: res.data.uid          })          if (that.data.uid > 0)          { that.getUserInfo(); }        }      },      fail: function () {        // fail        util.showAlert('操作失败')      },      complete: function () {        // complete      }    })  },


原创粉丝点击