天天看點

掃碼登入

最近項目上的一個新增功能,---->使用APP進行掃碼登入PC用戶端。

然後各種百度掃碼登入的原理,有道是貨比三家,結果,原理果然是 一!樣!的!

然後這兩天項目又不是太趕,就和背景,原生通力協作,終實作之。

具體步驟:

1.背景,通過伺服器生成一個二維碼圖檔,将二維碼圖檔的連結url傳回到前台頁面上;生成一個特殊的辨別字段值,并将該辨別字段拼接到連結裡,隐藏在二維碼裡。同時也要将該特殊辨別符通過接口傳回給前端。PS:此處有兩個連結,一個是圖檔(二維碼)的連結;一個是掃碼之後解析出來的連結位址(包含生成特殊辨別的)。不要弄混。

2.前端,接收到接口傳回的圖檔位址,将其指派給img的src,在頁面上,顯示出來 二維碼 圖檔。同時用另外一個變量接收住接口傳回的特殊辨別符。然後進行輪詢,輪詢的時候将該辨別符發送給接口,用以判斷是這個二維碼,而不是另外其他的碼。通過傳回值判斷APP上是否進行了掃碼并授權登入。如果是,則跳轉到首頁,或者其他的地方,如個人中心之類的;如果否,則繼續輪詢;

3.原生,通過調用手機的掃碼功能,掃描前端頁面上顯示的二維碼。解析出來該二維碼裡面隐藏的包含特殊辨別符的連結位址,并彈出彈窗,詢問是否授權登入。點選确定的時候,請求授權的接口位址。

如下圖

掃碼登入

繼續閱讀