微信網頁用戶登錄狀態思路

本章轉載自:https://www.cnblogs.com/xu-lei/p/5864766.html

3163714-a5981bdfb56a67c4.png

微信開發離不開openid(爲了識別用戶,每個用戶針對每個公衆號會產生一個安全的openid).而通常我們獲取openid,以及獲取用戶的基本信息是通過用戶授權的方式進行獲取。那麼ok,怎樣通過授權方式獲取呢,看上面的流程圖中的code(此code是由微信爲我們提供,只能使用一次),並且該code只有當我們點配置的菜單時(配置菜單要使用用戶授權的方式配置),才能獲取到。所以當用戶點擊菜單時:

一:我們先判斷該code,如果不爲null,通過該code獲取openid。

二:    拿到openid後,我們去數據庫通過openid查詢用戶信息,如果返回有結果說明該用戶已經登錄過,將用戶信息放置session中,跳轉到登錄後的頁面

三:拿到openid後,如果我們去數據庫沒有查詢到用戶信息,說明該用戶沒有登錄過,跳轉到登錄頁面,讓用戶登錄,登錄完將openid與用戶信息插入到數據庫,並放置session中,跳轉到登錄後的頁面。

四:如果code爲null,我們從session中直接取用戶信息(注意session過期的處理),如果取到用戶信息,進入到登錄後的頁面

五:如果code爲null,並且session過期,或者沒有獲取到用戶的信息,跳轉到微信授權的地址,重新走流程,形成循環。

這樣,我們就能保證用戶一次登錄,永久不用登錄的效果了,其實最主要還是要搞清openid,每個用戶針對同一個公衆號,此openid是永遠不會變的,哪怕是你取消了重新關注。

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