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

php 微信登录手机网站,微信PC端登录和手机端登录逻辑分享相关推荐

  1. 关于MultiActionController异步请求Ajax,pc端正常,手机端报error错误;此问题一般是通过setInterval,seTimeout,做Ajax轮询时会产生此问题;

    此问题全网唯一! 关于MultiActionController异步请求Ajax,pc端正常,手机端报error问题:此问题一般是通过setInterval,seTimeout,做Ajax轮询时会产生 ...

  2. 通过UA区分微信PC端浏览器还是手机端浏览器

    有时候需要限制用户访问页面在手机端, PC端不允许访问, 但是只做微信浏览器判断是不够的, 这个时候需要进一步判断. 通过tcpdump捉到两种浏览器的区分. PC端: 微信浏览器的UA标识 [Mic ...

  3. phpcms移动端和pc端_phpcms实现手机端与PC端双模板的方法

    现在随着智能手机的兴起,我们网站开发移动端版本也显得越来重要了,但是现在phpcms还没有开发手机版,下面我们就教大家如何让phpcms实现手机版访问,一般正常情况下我们电脑版的域名为http://w ...

  4. phpcms移动端和pc端_phpcms实现手机端与PC端双模板的方法与详细教程

    现在随着智能手机的兴起,我们网站开发移动端版本也显得越来重要了,但是现在phpcms还没有开发手机版,下面我们就教大家如何让phpcms实现手机版访问,一般正常情况下我们电脑版的域名为http://w ...

  5. thinkcmf5.1项目实现pc端和wap手机端自动切换

    用thinkcmf5.1写项目的时候如何实现PC端和手机端自动切换? 1.首先找到data/config/template.php文件 复制    'cmf_admin_default_theme'  ...

  6. 一段代码把PC端页面适配手机端

    在PC端的代码中加入这段代码,及实现手机端页面的自适应,是个人目前觉得最好用的方法!     <script type="text/javascript">       ...

  7. phpcms设置双模板 手机端和pc端 phpcms自定义手机端模板 phpcms手机端模板设置

    文件下载链接 https://download.csdn.net/download/qq_39161501/11721012 \www\phpcms\modules\content\index.php ...

  8. 微信小程序wx.request电脑端正常,手机端失败解决方法。

    开开心心在电脑端开发完微信小程序的功能,电脑端测试完全没问题,结果一上手机,无法获取内容,调试发现wx.request返回request:fail -2:net::ERR_FAILED错误. 查阅好多 ...

  9. TODO monkey笔记,PC端执行和手机端执行

    微博不给力啊 吞我笔记,还好我有txt... 1.环境准备:安装Android sdk,  配置环境变量:platfrom_tools,tools,aapt;java: 2.查询当前apk信息: aa ...

  10. wordpress海报轮播插件Smart Slider3 多端自适应--解决手机端海报细长问题

    网上找了一下发现目前没人提到这个问题,不清楚是用的人少,或者是分享的人少,还是我比较笨,大家都知道怎么解决这个问题...不管了,我就打算把自己探索的过程,解决的方法记录下来,希望能帮助到跟我一样遇到类 ...

最新文章

  1. Mac下安装PIL库
  2. jetson nano 实现车牌识别
  3. php管理员登录文件,快速的事情,只有管理员,PHP才能访问文件
  4. 牛人写SCI常用经典词和常用句型
  5. 【机器学习】一文速览机器学习的类别(Python代码)
  6. python和c混合编程 gil,如何在python中使用C扩展来解决GIL
  7. camera(23)---camera 客观测试 Imatest教程--白平衡测试
  8. 牛客网-《剑指offer》-跳台阶
  9. 怎么真正入行Web前端行业?JavaScript五大新特性是什么?
  10. python查看函数帮助文档的方法
  11. 通达信资金净流入公式_资金净流入公式——股票实战技术指标公式研究有缘看本博定多活30年——东方财富网博客...
  12. 使用golang实现对请求签名和验签
  13. 标签上的title属性和alt属性有什么区别
  14. 基于C++的图片压缩设计与实现
  15. 修复双系统的windows启动项找不到问题
  16. 如何解决取ADO的Recordset对象的RecordCount属性总是-1问题
  17. 智己让上汽的高端梦第一次落地
  18. 【埋点】是什么埋点?简述埋点的操作流程
  19. Win7交互式服务编程,不弹出交互式服务检测
  20. expand linux,Expand和Unexpand命令在Linux下的使用示例

热门文章

  1. “单细胞”中研究APC/CCDH1失活调控细胞周期起始的分子机制
  2. cpi 计算机体系结构 转移指令,高等计算机体系结构基本概念总结
  3. 计组cpi与mips的计算方法
  4. AutoCAD2014的安装
  5. 计算机里的文件中的桌面不见了,电脑重启桌面文件不见了怎么办
  6. JSP内置对象response常见用法
  7. 我是如何学习游戏引擎的?
  8. iPhone12mini 参数配置曝光
  9. 用vs code 搭建stm32 开发环境(详细)
  10. Frame Relay - 简单介绍及基本配置