一、官方做法

我们须要在微信开放平台绑定微信服务号,这个时候就有一个奇葩的事情涌现,如果该微信服务号没有申请微信小程序,那么微信开放平台提示必须先开通小程序。

那么在微信开放平台绑定微信服务号后,我们就可以获取到统一的一个UnionID,这个UnionID无论是Pc端微信登录还是移动端微信登录,都是统一的。

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

我们看下官方的阐明:

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端和移动端单独分开,不适宜自适应网站开拓。