首頁 >後端開發 >php教程 >微信PC端登入與手機端登入邏輯分享

微信PC端登入與手機端登入邏輯分享

王雪芹
王雪芹原創
2020-06-29 10:38:372597瀏覽

PC端登入需要在微信開放平台申請,而行動端授權登入只需要有已經認證的服務號碼。然後同一個網站平台,用同一個微信用戶去登錄,會發現PC端獲取的微信用戶openid和行動端不同,這個問題如何解決?

一、官方做法

我們需要在微信開放平台綁定微信服務號,這個時候就有一個奇葩的事情出現,如果該微信服務號碼沒有申請微信小程序,那麼微信開放平台提示必須先開通小程序。

那麼在微信開放平台綁定微信服務號後,我們就可以獲取到統一的一個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端登入與手機端登入邏輯分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn