第一次寫博客,心情無比的激動,不知道怎麼樣寫,才能表達得通俗易懂......數據庫
前段時間接到一個需求,說要在咱們的項目上面加一個掃碼登陸的功能,就像QQ、微信同樣,我立刻就上網查了一些資料,感受和咱們的系統不搭,後來通過幾位大神的指點終於實現了該功能。微信
一、首先用你的微信綁定要登陸的那個帳號post
掃描二維碼跳轉到綁定帳號那個頁面,注意,只能使用微信掃描,由於要受權,這個時候須要傳兩個參數過去,一個是guid,還有一個是你要綁定的這個帳號的id,傳這兩個參數的意義在與,guid能夠找到是用哪臺電腦綁定,由於咱們的系統,一個帳號能夠在多臺電腦上同時登陸。id是爲了找到你要綁定的那個帳號,點擊確認,往數據庫插入一條數據,成功以後顯示綁定成功。ui
二、開始登陸spa
在登陸頁面裏面加入一個定時器code
$(function () { var interval; //點擊展現二維碼 $(".login-2wm").click(function () { $(".login_formdiv").toggle(); $(".login-2wm span").toggle(); $(".login_title p.login_title_p").toggle(); if (interval == undefined) { interval = setInterval(Qrcode, "3000"); } }); }); //監控 function Qrcode() { $.get('/WxWeb/QRCodeLogin/Check',//要驗證的連接 { guid: '<%=guid %>'//防止登陸出錯 }, function (res) { if (res.Code) { $.post('../tools/QrLogin.ashx',//進行驗證模擬用戶登陸 { mid: res.MId,//驗證成功後,傳回來的帳號id guid: res.Guid }, function (testData) { if (testData.agentLevel == -1000) { $.dialog.alert(testData.description); } else if (testData.agentLevel > 0) { window.location.href = "xxx.aspx"; } else { window.location.href = "xxx.aspx"; } }, "JSON" ); } }, "JSON"); }; </script>
定時器的意義在於,實時監控驗證那個頁面,驗證頁只須要受權拿到openid以後,到數據庫裏面去匹配,匹配成功以後返回帳號的id,當我獲得我須要的參數以後,我再post一個請求去模擬用戶登陸,這樣就登陸成功了,是否是很簡單,第一次寫,寫的很差,不喜勿噴哦!orm