二維碼掃描登錄流程細節(項目經驗)
1: 獲取二維碼信息
- PC會優先存放服務器生成的唯一密鑰: 比如 source、secret 以密文形式存儲
- 大致發送字段:
- source
- secret
- mac(mac 地址)
- 服務器生成 二維碼信息:二維碼字符、二維碼過期時間、二維碼狀態。并將mac 與 二維碼信息綁定后
2: 獲取二維碼狀態、 校驗二維碼是否過期
- 客戶端解析二維碼信息生成二維碼
- 開啟定時器1: 輪詢檢測二維碼過期時間(二維碼過期 暫停定時器1 定時器2 登臺客戶刷新二維碼: 緩解服務器壓力)
- 開啟定時器2:輪詢二維碼當前狀態
3: 手機掃描二維碼
- 手機掃描二維碼 點擊登錄 (發送請求到服務端、服務端更新二維碼狀態:已登錄)
- 手機掃描二維碼 點擊取消(部發送請求到服務端)
4:獲取二維碼狀態
- 輪詢二維碼當前狀態
- 狀態是登陸中, 繼續檢測
- 狀態是已登錄, 關閉定時器1 定時器2, 二維碼界面關閉, 進入主界面