隨著微信的快速發(fā)展,微信已成為了人們生活中的一部分。通過微信去挖掘客戶,服務客戶也漸漸被很多公司所應用。其中服務號推廣而又最為廣泛。下面樓主介紹一下公眾號內網頁涉及到登錄,保證一次登錄,下次用戶進來不用登錄。
首先看一個流程圖
我們知道,微信開發(fā)離不開openid(為了識別用戶,每個用戶針對每個公眾號會產生一個安全的openid).而通常我們獲取openid,以及獲取用戶的基本信息是通過用戶授權的方式進行獲取。那么ok,怎樣通過授權方式獲取呢,看上面的流程圖中的code(此code是由微信為我們提供,只能使用一次),并且該code只有當我們點配置的菜單時(配置菜單要使用用戶授權的方式配置),才能獲取到。所以當用戶點擊菜單時:
一:我們先判斷該code,如果不為null,通過該code獲取openid。
二:拿到openid后,我們去數據庫通過openid查詢用戶信息,如果返回有結果說明該用戶已經登錄過,將用戶信息放置session中,跳轉到登錄后的頁面
三:拿到openid后,如果我們去數據庫沒有查詢到用戶信息,說明該用戶沒有登錄過,跳轉到登錄頁面,讓用戶登錄,登錄完將openid與用戶信息插入到數據庫,并放置session中,跳轉到登錄后的頁面。
四:如果code為null,我們從session中直接取用戶信息(注意session過期的處理),如果取到用戶信息,進入到登錄后的頁面
五:如果code為null,并且session過期,或者沒有獲取到用戶的信息,跳轉到微信授權的地址,重新走流程,形成循環(huán)。
這樣,我們就能保證用戶一次登錄,永久不用登錄的效果了,其實最主要還是要搞清openid,每個用戶針對同一個公眾號,此openid是永遠不會變的,哪怕是你取消了重新關注。