真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

微信掃碼登錄原理的示例分析

小編給大家分享一下微信掃碼登錄原理的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

在延平等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站建設(shè),延平網(wǎng)站建設(shè)費(fèi)用合理。

微信掃碼登錄原理解析

掃碼登錄是現(xiàn)在流行的登錄方式,使用這種方式及其方便,而且安全

掃碼登錄流程

微信掃碼登錄原理的示例分析

原理

獲取唯一的uuid, 以及包含uid信息的二維碼

微信掃碼登錄原理的示例分析

// 獲取uuid
 getUUID: function() {
  var e = t.defer();
  return window.QRLogin = {},
  $.ajax({
   url: i.API_jsLogin,
   dataType: "script"
  }).done(function() {
   200 == window.QRLogin.code ? e.resolve(window.QRLogin.uuid) : e.reject(window.QRLogin.code)
  }).fail(function() {
   e.reject()
  }),
  e.promise
 }

瀏覽器輪詢服務(wù)器,獲取掃碼狀態(tài)

// 查看掃碼狀態(tài)
checkLogin: function(e, a) {
 var n = t.defer()
  , a = a || 0;
 return window.code = 0,
 window.checkLoginPromise = $.ajax({
  url: i.API_login + "?loginicon=true&uuid=" + e + "&tip=" + a + "&r=" + ~new Date,
  dataType: "script",
  timeout: 35e3
 }).done(function() {
  new RegExp("/" + location.host + "/");
  if (window.redirect_uri && window.redirect_uri.indexOf("/" + location.host + "/") < 0)
   return void (location.href = window.redirect_uri);
  var e = {
   code: window.code,
   redirect_uri: window.redirect_uri,
   userAvatar: window.userAvatar
  };
  n.resolve(e)
 }).fail(function() {
  n.reject()
 }),
 n.promise
}

根據(jù)服務(wù)器返回的掃碼狀態(tài),進(jìn)行相應(yīng)的操作

408 掃碼超時(shí) 如果手機(jī)沒有掃碼或沒有授權(quán)登錄,服務(wù)器會(huì)阻塞約25s,然后返回狀態(tài)碼 408 -> 前端繼續(xù)輪詢

微信掃碼登錄原理的示例分析

微信掃碼登錄原理的示例分析

400 二維碼失效 大約5分鐘的時(shí)間內(nèi)不掃碼,二維碼失效

微信掃碼登錄原理的示例分析

201 已掃碼 如果手機(jī)已經(jīng)掃碼,服務(wù)器立即返回狀態(tài)碼和用戶的基本信息 (window.code=201,window.code.userAvator="..."),-> 前端繼續(xù)輪詢

微信掃碼登錄原理的示例分析

200 已授權(quán) 如果手機(jī)點(diǎn)擊了確認(rèn)登錄,服務(wù)器返回200及token -> 前端停止輪詢, 獲取到token,重定向到目標(biāo)頁

微信掃碼登錄原理的示例分析

// 根據(jù)服務(wù)器返回的掃碼狀態(tài),進(jìn)行相應(yīng)的操作
function o(c) {
 switch (c.code) {
 case 200:
  t.newLoginPage(c.redirect_uri).then(function(t) {
   var o = t.match(/(.*)<\/ret>/)
    , r = t.match(/