小程序實現網頁登錄

前言

發現一個小程序 - 婚禮現場 (婚禮紀) 可以網頁登錄,研究一下操作。微信官方是沒有提供網頁登錄的接口。

大家可以登錄他的小程序後,創建婚禮現場,然後點擊電腦管理與投屏來看他的小程序網頁登錄流程。

微信小程序: 婚禮現場(婚禮紀) -> 然後創建一個現場。->f返回到主頁面,點擊剛剛創建的婚禮。->點擊下方的管理婚禮 -> 上方有個電腦端管理與投屏 -> 複製網址 -> 網頁打開 -> 用它下方的二維碼登錄。


小程序實現網頁登錄

1.PC 獲取登錄的二維碼 :

https://live.haicaoyun.com/hms/hcyWeddingWall/appApi/webLogin/getQrCode?current_time=1571723998231

服務器返回兩個數據 1.二維碼的圖片。2.客戶端的標識 key。

這個二維碼是客戶端發送請求後,服務器調用小程序的接口生成的。我們知道微信小程序的二維碼生成跳轉到指定頁面並且攜帶參數。

因此,在小程序內引導用戶掃描 PC 端的二維碼 ,如下圖爲小程序內的頁面:

用戶掃描後,相當於微信讓用戶跳轉到小程序的一個頁面,我們可以僞造一個授權登錄頁面 ( 這個頁面是我們前端做的,不是微信自己的 )。如下圖,用戶被微信跳轉到了我們僞造的登錄頁面 :

用戶點擊登錄後,將 key ( 這個key是掃描二維碼後,微信傳遞的 ) 傳遞給服務器,意思是客戶端已經準備好了。

同時 PC 端不斷的帶 key 輪訓服務器登錄接口,等服務器接收到客戶端準備好的信息後,給 PC 端返回登錄成功的信息。如下圖爲 PC 端的輪詢 :

因爲我們實際上利用微信小程序二維碼的跳轉功能來做僞網頁登錄。

PC 端輪詢會給服務器造成一定壓力,因此可以設計輪詢的時間/次數,過期讓用戶刷新二維碼,如下圖:


小結

到這裏基本實現了小程序網頁登錄功能。注意到它還有一個投屏功能,實際上是利用 websocket 來進行數據通信,比較簡單,這裏就不再贅述了。


引用

婚禮現場小程序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章