掃描二維碼實現一鍵登錄


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

      前段時間接到一個需求,說要在我們的項目上面加一個掃碼登錄的功能,就像QQ、微信一樣,我馬上就上網查了一些資料,感覺和我們的系統不搭,后來經過幾位大神的指點終於實現了該功能。

      1、首先用你的微信綁定要登錄的那個賬號

                                                   

掃描二維碼跳轉到綁定賬號那個頁面,注意,只能使用微信掃描,因為要授權,這個時候需要傳兩個參數過去,一個是guid,還有一個是你要綁定的這個賬號的id,傳這兩個參數的意義在與,guid可以找到是用哪台電腦綁定,因為我們的系統,一個賬號可以在多台電腦上同時登錄。id是為了找到你要綁定的那個賬號,點擊確認,往數據庫插入一條數據,成功之后顯示綁定成功。

       2、開始登錄

       在登錄頁面里面加入一個定時器

        $(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一個請求去模擬用戶登錄,這樣就登錄成功了,是不是很簡單,第一次寫,寫的不好,不喜勿噴哦!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM