一、PC端的邏輯web
用戶點擊二維碼按鈕,向後臺發送建立二維碼的ajax異步請求,後臺生成二維碼後以二進制數據流的形式返回給前臺,再把以base64編碼的圖片放到<imge>中,顯示到頁面上。在生成二維碼的同時也把二維碼中的請求Id:req_Id和建立時間插入wait_login表中。ajax
將圖片顯示在頁面後發起ajax異步請求,把req_id放在請求中傳到後臺,,建立callable線程開始輪詢wait_login表,看是否有數據變化,若是有,就獲取用戶Id,並查詢用戶頭像,放在返回值當中,傳到前臺顯示。服務器
顯示頭像後再次發起ajax異步請求,把用戶Id和req_id放在請求中傳到後臺,建立callable線程開始輪詢web_token表,看是否有req_id和用戶Id的變化,若是有,則獲取token Id,跳轉到用戶主頁,登陸完成。異步
二、移動端邏輯編碼
掃描二維碼後調用服務器接口,判斷該掃描的二維碼是否有效,若是有效則把手機的信息更新在wait_login表中,並返回狀態碼,顯示肯定登陸頁面。線程
點擊肯定登陸後,調用服務器端接口,生成tokenId,插入web_login中。token
登陸完成接口