微信二維碼掃描登錄流程詳解

在這里插入圖片描述

二維碼掃描登錄流程細節(項目經驗)

1: 獲取二維碼信息

  • PC會優先存放服務器生成的唯一密鑰: 比如 source、secret 以密文形式存儲
  • 大致發送字段:
    • source
    • secret
    • mac(mac 地址)
  • 服務器生成 二維碼信息:二維碼字符、二維碼過期時間、二維碼狀態。并將mac 與 二維碼信息綁定后

2: 獲取二維碼狀態、 校驗二維碼是否過期

  • 客戶端解析二維碼信息生成二維碼
  • 開啟定時器1: 輪詢檢測二維碼過期時間(二維碼過期 暫停定時器1 定時器2 登臺客戶刷新二維碼: 緩解服務器壓力)
  • 開啟定時器2:輪詢二維碼當前狀態

3: 手機掃描二維碼

  • 手機掃描二維碼 點擊登錄 (發送請求到服務端、服務端更新二維碼狀態:已登錄)
  • 手機掃描二維碼 點擊取消(部發送請求到服務端)

4:獲取二維碼狀態

  • 輪詢二維碼當前狀態
  • 狀態是登陸中, 繼續檢測
  • 狀態是已登錄, 關閉定時器1 定時器2, 二維碼界面關閉, 進入主界面

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/90026.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/90026.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/90026.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

日本上市IT企業|8月125日將在大連舉辦赴日it招聘會

株式會社GSD的核心戰略伙伴貝斯株式會社,將于2025年8月25日在大連香格里拉大酒店商務會議室隆重舉辦赴日技術人才專場招聘會。本次招聘會面向全國范圍內的優秀IT人才,旨在為貝斯株式會社東京本社長期發展招募優質的系統開發與管理人才。招聘計劃&#xf…

Python 數據分析與可視化:從基礎到進階的技術實現與優化策略

數據分析與可視化是數據科學領域的核心技能,Python 憑借其豐富的庫生態和靈活的編程范式,成為該領域的首選工具。本文將系統講解 Python 數據分析與可視化的技術棧實現,從基礎操作到性能優化,結合實戰場景提供可復用的解決方案。 數據分析核心庫技術解析 Pandas 數據處理…

Rust Web 全棧開發(十):編寫服務器端 Web 應用

Rust Web 全棧開發(十):編寫服務器端 Web 應用Rust Web 全棧開發(十):編寫服務器端 Web 應用創建成員庫:webappmodelshandlersrouterserrorsmodsvrstaticteachers.htmlregister.htmlbootstrap.m…

每日面試題11:JVM

深入理解JVM:Java的“心臟”如何驅動程序運行?為什么需要JVM?你是否想過,為什么用Java寫的程序,能在Windows、Linux、macOS上“無縫運行”?為什么開發者無需為不同操作系統重寫代碼?這背后的核心…

Linux網絡信息(含ssh服務和rsync)

73.telnet:測試端口連通性用法:telnet 主機名或IP 端口號測試目標主機的指定端口是否開放,檢查網絡服務連通性。eg:telnet www.baidu.com 80# 說明:# - 如果連接成功,顯示 "Connected to ..."。…

【PTA數據結構 | C語言版】我愛背單詞

本專欄持續輸出數據結構題目集,歡迎訂閱。 文章目錄題目代碼題目 作為一個勤奮的學生,你在閱讀一段英文文章時,是否希望有個程序能自動幫你把沒有背過的生詞列出來?本題就請你實現這個程序。 輸入格式: 輸入第 1 行給…

如何使用電腦連接小米耳機(紅米 redmi耳機)

如何使用電腦連接小米(紅米 redmi)耳機Redmi耳機連接電腦的具體步驟如下注意事項和常見問題解決方法:Redmi耳機連接電腦的具體步驟如下 打開耳機倉蓋: 首先,打開Redmi耳機的充電倉蓋,但不需要取出耳機。進…

排序算法—交換排序(冒泡、快速)(動圖演示)

目錄 十大排序算法分類?編輯 冒泡排序 算法步驟: 動圖演示: 性能分析: 代碼實現(Java): 快速排序(挖坑法) 算法步驟: 動圖演示: 性能分析&#xff1…

2023 年 5 月青少年軟編等考 C 語言八級真題解析

目錄 T1. 道路 思路分析 T2. Rainbow 的商店 思路分析 T3. 冰闊落 I 思路分析 T4. 青蛙的約會 思路分析 T1. 道路 題目鏈接:SOJ D1216 N N N 個以 1 ~ N 1 \sim N 1~N 標號的城市通過單向的道路相連,每條道路包含兩個參數:道路的長度和需要為該路付的通行費(以金幣的數…

【vue-4】深入理解 Vue 3 中的 v-for 指令

Vue.js 作為現代前端框架的代表之一,其模板指令系統提供了強大的數據綁定和渲染能力。其中,v-for 指令是 Vue 中最常用且最重要的指令之一,它允許我們基于數據源循環渲染元素或組件。在 Vue 3 中,v-for 保留了一貫的簡潔語法&…

《R for Data Science (2e)》免費中文翻譯 (第1章) --- Data visualization(1)

寫在前面 本系列推文為《R for Data Science (2)》的中文翻譯版本。所有內容都通過開源免費的方式上傳至Github,歡迎大家參與貢獻,詳細信息見: Books-zh-cn 項目介紹: Books-zh-cn:開源免費的中文書籍社區 r4ds-zh-cn …

界面組件DevExpress WPF中文教程:Grid - 如何完成節點排序和移動?

DevExpress WPF擁有120個控件和庫,將幫助您交付滿足甚至超出企業需求的高性能業務應用程序。通過DevExpress WPF能創建有著強大互動功能的XAML基礎應用程序,這些應用程序專注于當代客戶的需求和構建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件…

【Prometheus+Grafana篇】監控通過Keepalived實現的MySQL HA高可用架構

💫《博主主頁》:    🔎 CSDN主頁__奈斯DB    🔎 IF Club社區主頁__奈斯、 🔥《擅長領域》:擅長阿里云AnalyticDB for MySQL(分布式數據倉庫)、Oracle、MySQL、Linux、prometheus監控;并對…

k8s:利用kubectl部署postgis:17-3.5

1.離線環境CPU:Hygon C86 7285 32-core Processor 操作系統:麒麟操作系統 containerd:1.7.27 Kubernetes:1.26.12 KubeSphere:4.1.2 kubekey:3.1.10 Harbor:2.13.1 Postgis:17-3.52.創建并執行postgresql-headless.yaml2.1創建apiVersion: v1…

Mysql(存儲過程)

目錄 介紹 特點 存儲過程創建 系統變量(不重要) 用戶變量 局部變量 if 判斷 參數(in, out, inout) case while repeat loop 游標和條件處理程序-handler 存儲函數 為了防止以后忘記,反復去看視頻浪費時間,特寫一篇 介紹 存儲過程…

Effective Python 第14條: 用sort方法的key參數來表示復雜的排序邏輯

一、引言:Python排序功能的重要性 在Python開發中,排序功能是一個常見的需求。無論是處理數據、優化算法,還是提升用戶體驗,排序都是不可或缺的一部分。Python的列表內置了sort方法,提供了靈活的排序功能。然而&#…

react+antd 可拖拽模態框組件

DraggableModal 可拖拽模態框組件使用說明 概述 DraggableModal 是一個基于 dnd-kit/core 實現的可拖拽模態框組件,允許用戶通過拖拽標題欄來移動模態框位置。該組件具有智能邊界檢測功能,確保模態框始終保持在可視區域內。 功能特性 ? 可拖拽移動&…

MySQL的基本操作及相關python代碼

下面為你介紹 MySQL 的基本操作,以及對應的 Python 代碼實現。我會先介紹 SQL 基本操作,再展示如何用 Python 連接 MySQL 并執行這些操作。 一、MySQL 基本操作(SQL 語句) 1. 連接數據庫 bash mysql -u root -p2. 創建數據庫 sql CREATE DATABASE testdb;3. 使用數據…

Armbian(斐訊N1)安裝xfce桌面以及遠程環境

安裝xfce桌面以及vncserver(遠程連接) 安裝xfce桌面 apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils ubuntu的安裝gdm3, apt install gdm3 debian安裝lightdm。 apt install lightdm 安裝vnc server apt-get install tightvncserver 中文字體…

【Oracle】Oracle 11g打補丁時遇到opatch apply命令無法識別

?? 1. 使用完整路徑執行命令 問題原因:若未將$ORACLE_HOME/OPatch加入系統PATH環境變量,直接輸入opatch apply會因系統無法定位命令而報錯。 解決方案: 改用絕對路徑執行: $ORACLE_HOME/OPatch/opatch apply例如: /u…