亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

淺析微信掃碼登錄原理(小結)

2019-11-19 12:37:15
字體:
來源:轉載
供稿:網友

微信掃碼登錄原理解析

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

掃碼登錄流程

原理

獲取唯一的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 }

瀏覽器輪詢服務器,獲取掃碼狀態

// 查看掃碼狀態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}

根據服務器返回的掃碼狀態,進行相應的操作

408 掃碼超時 如果手機沒有掃碼或沒有授權登錄,服務器會阻塞約25s,然后返回狀態碼 408 -> 前端繼續輪詢


400 二維碼失效 大約5分鐘的時間內不掃碼,二維碼失效

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

200 已授權 如果手機點擊了確認登錄,服務器返回200及token -> 前端停止輪詢, 獲取到token,重定向到目標頁

// 根據服務器返回的掃碼狀態,進行相應的操作function o(c) { switch (c.code) { case 200:  t.newLoginPage(c.redirect_uri).then(function(t) {   var o = t.match(/<ret>(.*)<//ret>/)    , r = t.match(/<script>(.*)<//script>/)    , c = t.match(/<skey>(.*)<//skey>/)    , s = t.match(/<wxsid>(.*)<//wxsid>/)    , l = t.match(/<wxuin>(.*)<//wxuin>/)    , d = t.match(/<pass_ticket>(.*)<//pass_ticket>/)    , f = t.match(/<message>(.*)<//message>/)    , u = t.match(/<redirecturl>(.*)<//redirecturl>/);   return u ? void (window.location.href = u[1]) : o && "0" != o[1] ? (alert(f && f[1] || "登陸失敗"),   i.report(i.AUTH_FAIL_COUNT, 1),   void location.reload()) : (e.$emit("newLoginPage", {    Ret: o && o[1],    SKey: c && c[1],    Sid: s && s[1],    Uin: l && l[1],    Passticket: d && d[1],    Code: r   }),   void (a.getCookie("webwx_data_ticket") || n.report(n.ReportType.cookieError, {    text: "webwx_data_ticket 票據丟失",    cookie: document.cookie   })))  });  break; case 201:  e.isScan = !0,  n.report(n.ReportType.timing, {   timing: {    scan: Date.now()   }  }),  t.checkLogin(e.uuid).then(o, function(t) {   !t && window.checkLoginPromise && (e.isBrokenNetwork = !0)  });  break; case 408:  t.checkLogin(e.uuid).then(o, function(t) {   !t && window.checkLoginPromise && (e.isBrokenNetwork = !0)  });  break; case 400: case 500: case 0:  var s = a.getCookie("refreshTimes") || 0;  s < 5 ? (s++,  a.setCookie("refreshTimes", s, .5),  document.location.reload()) : e.isNeedRefresh = !0;  break; case 202:  e.isScan = !1,  e.isAssociationLogin = !1,  a.setCookie("login_frequency", 0, 2),  window.checkLoginPromise && (window.checkLoginPromise.abort(),  window.checkLoginPromise = null ),  r() } e.code = c.code, e.userAvatar = c.userAvatar, a.log("get code", c.code)}

總結

  • 輪詢采用的是JSONP的形式,排除了跨域問題
  • 輪詢采用的后臺根據掃碼情況阻塞前臺請求,優化輪詢及減少前端的無效輪詢

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区亚洲二区亚洲三区| 国产亚洲精品久久久优势| 高清在线视频日韩欧美| 亚洲一区二区中文字幕| 欧美激情视频一区二区| 中文字幕日韩有码| 精品国产欧美成人夜夜嗨| 亚洲欧美一区二区三区情侣bbw| 欧美极品在线视频| 国产精品美女免费看| 国产精品久久久久久av福利| 国产精品视频久久久久| 国产成人一区二| 国产精品自在线| …久久精品99久久香蕉国产| 国内精品一区二区三区四区| 久久久亚洲天堂| www日韩中文字幕在线看| 欧美成人精品激情在线观看| 亚洲国产日韩一区| 久久韩国免费视频| 国产大片精品免费永久看nba| 欧美在线视频免费观看| 欧美高清视频在线播放| 欧美一区二区大胆人体摄影专业网站| 久久亚洲精品国产亚洲老地址| 国产精品久久久久久久久久久不卡| 日韩欧美精品中文字幕| 欧美野外猛男的大粗鳮| 亚洲天堂网站在线观看视频| 亚洲www视频| 8090理伦午夜在线电影| 91精品久久久久久综合乱菊| 亚洲国产日韩欧美在线图片| 亚洲老头老太hd| 日韩中文字幕av| 国产精品丝袜一区二区三区| 情事1991在线| 欧美在线视频一区| 国产成人极品视频| 欧美成aaa人片在线观看蜜臀| 欧美激情手机在线视频| 日韩视频―中文字幕| 91久久久久久久久久| 日韩国产欧美精品一区二区三区| 国产精品久久精品| 亚洲精品中文字| 777午夜精品福利在线观看| 欧美激情2020午夜免费观看| 欧美日韩国产999| 欧美激情精品久久久| 欧美另类第一页| 亚洲风情亚aⅴ在线发布| 日韩av电影手机在线| 国产成人综合精品| 久热国产精品视频| 亚洲精品网站在线播放gif| 久久av红桃一区二区小说| 亚洲国产另类久久精品| 国产在线拍偷自揄拍精品| 永久免费精品影视网站| 日韩欧美999| 日韩av大片在线| 日韩av快播网址| 亚洲韩国欧洲国产日产av| 欧美激情一区二区三级高清视频| 91国产视频在线| 国产在线观看精品一区二区三区| 在线国产精品视频| 日韩精品免费综合视频在线播放| 日韩黄在线观看| 青草成人免费视频| x99av成人免费| 亚洲天堂网在线观看| 欧美日韩免费区域视频在线观看| 成人精品久久av网站| 亚洲国产精品电影在线观看| 欧美一级视频免费在线观看| 亚洲级视频在线观看免费1级| 亚洲国产欧美自拍| 成人福利网站在线观看11| 亚洲欧美激情精品一区二区| 亚洲嫩模很污视频| 91精品国产91久久久久久| 久久久人成影片一区二区三区观看| 欧美色视频日本版| 欧美电影在线观看完整版| 91九色精品视频| 久久久精品国产一区二区| 欧美激情国内偷拍| 91网在线免费观看| 日韩在线免费观看视频| 欧美一区二区影院| 26uuu亚洲伊人春色| 亚洲国产高清自拍| 成人免费福利在线| 亚洲色图偷窥自拍| 日韩av综合中文字幕| 欧美日韩亚洲精品内裤| 红桃视频成人在线观看| 久久久亚洲国产天美传媒修理工| 欧美日韩在线观看视频小说| 国产91精品久久久久久| 亚洲精品国产综合区久久久久久久| 精品福利视频导航| 国产97免费视| 午夜精品一区二区三区av| 久久91超碰青草是什么| 欧美激情免费观看| 91成人在线视频| 欧美成人h版在线观看| 亚洲精品v天堂中文字幕| 丁香五六月婷婷久久激情| 8x海外华人永久免费日韩内陆视频| 亚洲免费中文字幕| 久久综合国产精品台湾中文娱乐网| 2020国产精品视频| 91香蕉嫩草神马影院在线观看| 日韩中文字幕免费视频| 国产精品第一页在线| 国产精品免费久久久久久| 国产一区二区三区在线播放免费观看| 国产成人鲁鲁免费视频a| 成人乱人伦精品视频在线观看| 欧美一级淫片丝袜脚交| 日韩av中文在线| 日韩av在线免费看| 91a在线视频| 亚洲国产精品高清久久久| 日韩av手机在线| 91人成网站www| 98午夜经典影视| 欧洲亚洲妇女av| 国产精品久久久久久久久久新婚| 欧美成人三级视频网站| 欧美交受高潮1| 91精品国产亚洲| 亚洲国产精品大全| 国产精品人成电影| 成人有码视频在线播放| 欧美激情国产高清| 色777狠狠综合秋免鲁丝| 久久99久久99精品免观看粉嫩| 蜜月aⅴ免费一区二区三区| 日韩av最新在线观看| 九九久久久久99精品| 国产成人精品在线| 久久久久国产一区二区三区| 一区二区三区视频在线| 欧美剧在线观看| 欧美日本啪啪无遮挡网站| 欧洲午夜精品久久久| 日韩亚洲欧美成人| 亚洲自拍偷拍网址| 狠狠做深爱婷婷久久综合一区| 深夜精品寂寞黄网站在线观看| 久久网福利资源网站| 亚洲三级 欧美三级| 日韩在线视频免费观看| 欧美一区二区三区艳史| 91精品国产高清久久久久久久久| 8090理伦午夜在线电影| 亚洲黄色在线观看| 国产亚洲人成a一在线v站|