一、官方做法
我們需要在微信開放平台系結微信服務號,這個時候就有一個奇葩的事情出現,如果該微信服務號沒有申請微信小程式,那麼微信開放平台提示必須先開通小程式。
那麼在微信開放平台系結微信服務號後,我們就可以獲取到統一的一個UnionID,這個UnionID無論是Pc端微信登入還是行動端微信登入,都是統一的。
我們看下官方的解釋:
UnionID機制的作用說明:如果開發者擁有多個移動應用、網站應用和公眾帳號,可通過獲取使用者基本資訊中的unionid來區分使用者的唯一性,因為同一使用者,對同一個微信開放平台下的不同應用(移動應用、網站應用和公眾帳號),unionid是相同的。
二、另闢蹊徑的做法
場景1、
1、手機號註冊-》成功。
2、該使用者第一次使用PC端微信登陸,則到達系結手機號頁面,如果該手機號已經註冊,則更新資料表欄位weixin_open_id。
3、該使用者第二次使用PC端微信登陸,更新最後一次登入時間。
場景2、
1、手機號註冊-》成功。
2、該使用者第一次使用行動端微信登陸,則到達系結手機號頁面,如果該手機號已經註冊,則更新資料表欄位weixin_open_id_m。
3、該使用者第二次使用行動端微信登陸,更新最後一次登入時間。
場景3、
1、該使用者第一次使用PC端微信登陸,則到達系結手機號頁面,係結手機號,插入記錄。
2、該使用者第二次使用PC端微信登陸,更新最後一次登入時間。
場景4、
1、該使用者第一次使用行動端微信登陸,則到達系結手機號頁面,係結手機號,插入記錄。
2、該使用者第二次使用行動端微信登陸,更新最後一次登入時間。
總之,無論使用者第一次是手機號註冊還是PC端微信登陸、行動端微信登陸,只要是第一次登陸,我們都會拿到使用者的手機號,那麼手機號作為該使用者憑證。
三、需要注意
我們可以用如下程式碼判斷是PC微信登入還是行動端微信登入:
if(request()->isMobile()){ //行動端 }else{ //PC端 }
PC微信登入和行動端微信登入需要分別處理。
最後
我們還是建議大家用官方做法,如果遇到某些情況可以使用第二種。另外對於大型網站來說,PC端和行動端單獨分開,不適合自適應網站開發。
以上就是微信PC端登入和手機端登入邏輯分享的詳細內容,更多請關注TW511.COM其它相關文章!