网页手机号抓取程序(微信开放平台绑定微信服务号获取微信用户openid和移动端不同)
优采云 发布时间: 2022-02-16 04:01网页手机号抓取程序(微信开放平台绑定微信服务号获取微信用户openid和移动端不同)
PC端登录需要在微信开放平台申请,而手机端授权登录只需要经过认证的服务号。然后在同一个网站平台,用同一个微信用户登录,你会发现PC端获取的微信用户的openid和移动端不一样。如何解决这个问题呢?
一、官方练习
我们需要在微信开放平台上绑定微信服务号。这时,奇怪的事情发生了。如果微信服务号还没有申请微信小程序,则微信开放平台提示必须先打开小程序。
然后在微信开放平台上绑定微信服务号后,就可以得到一个统一的UnionID。无论是PC端微信登录还是手机端微信登录,这个UnionID都是统一的。
我们来看看官方的解释:
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端和移动端是分开的,不适合自适应网站开发。