微信PC端登录和手机端登录逻辑分享

王雪芹
Freigeben: 2023-04-09 06:04:01
Original
2454 Leute haben es durchsucht

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端 }
Nach dem Login kopieren

PC微信登录和移动端微信登录需要分别处理。

最后

我们还是建议大家用官方做法,如果遇到某些情况可以使用第二种。另外对于大型网站来说,PC端和移动端单独分开,不适合自适应网站开发。

Das obige ist der detaillierte Inhalt von微信PC端登录和手机端登录逻辑分享. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!