掃描二維碼實現一鍵登陸

      第一次寫博客,心情無比的激動,不知道怎麼樣寫,才能表達得通俗易懂......數據庫

      前段時間接到一個需求,說要在咱們的項目上面加一個掃碼登陸的功能,就像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

相關文章
相關標籤/搜索