php 微信登录手机网站,微信PC端登录和手机端登录逻辑分享
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端登录和手机端登录逻辑分享相关推荐
- 关于MultiActionController异步请求Ajax,pc端正常,手机端报error错误;此问题一般是通过setInterval,seTimeout,做Ajax轮询时会产生此问题;
此问题全网唯一! 关于MultiActionController异步请求Ajax,pc端正常,手机端报error问题:此问题一般是通过setInterval,seTimeout,做Ajax轮询时会产生 ...
- 通过UA区分微信PC端浏览器还是手机端浏览器
有时候需要限制用户访问页面在手机端, PC端不允许访问, 但是只做微信浏览器判断是不够的, 这个时候需要进一步判断. 通过tcpdump捉到两种浏览器的区分. PC端: 微信浏览器的UA标识 [Mic ...
- phpcms移动端和pc端_phpcms实现手机端与PC端双模板的方法
现在随着智能手机的兴起,我们网站开发移动端版本也显得越来重要了,但是现在phpcms还没有开发手机版,下面我们就教大家如何让phpcms实现手机版访问,一般正常情况下我们电脑版的域名为http://w ...
- phpcms移动端和pc端_phpcms实现手机端与PC端双模板的方法与详细教程
现在随着智能手机的兴起,我们网站开发移动端版本也显得越来重要了,但是现在phpcms还没有开发手机版,下面我们就教大家如何让phpcms实现手机版访问,一般正常情况下我们电脑版的域名为http://w ...
- thinkcmf5.1项目实现pc端和wap手机端自动切换
用thinkcmf5.1写项目的时候如何实现PC端和手机端自动切换? 1.首先找到data/config/template.php文件 复制 'cmf_admin_default_theme' ...
- 一段代码把PC端页面适配手机端
在PC端的代码中加入这段代码,及实现手机端页面的自适应,是个人目前觉得最好用的方法! <script type="text/javascript"> ...
- phpcms设置双模板 手机端和pc端 phpcms自定义手机端模板 phpcms手机端模板设置
文件下载链接 https://download.csdn.net/download/qq_39161501/11721012 \www\phpcms\modules\content\index.php ...
- 微信小程序wx.request电脑端正常,手机端失败解决方法。
开开心心在电脑端开发完微信小程序的功能,电脑端测试完全没问题,结果一上手机,无法获取内容,调试发现wx.request返回request:fail -2:net::ERR_FAILED错误. 查阅好多 ...
- TODO monkey笔记,PC端执行和手机端执行
微博不给力啊 吞我笔记,还好我有txt... 1.环境准备:安装Android sdk, 配置环境变量:platfrom_tools,tools,aapt;java: 2.查询当前apk信息: aa ...
- wordpress海报轮播插件Smart Slider3 多端自适应--解决手机端海报细长问题
网上找了一下发现目前没人提到这个问题,不清楚是用的人少,或者是分享的人少,还是我比较笨,大家都知道怎么解决这个问题...不管了,我就打算把自己探索的过程,解决的方法记录下来,希望能帮助到跟我一样遇到类 ...
最新文章
- Mac下安装PIL库
- jetson nano 实现车牌识别
- php管理员登录文件,快速的事情,只有管理员,PHP才能访问文件
- 牛人写SCI常用经典词和常用句型
- 【机器学习】一文速览机器学习的类别(Python代码)
- python和c混合编程 gil,如何在python中使用C扩展来解决GIL
- camera(23)---camera 客观测试 Imatest教程--白平衡测试
- 牛客网-《剑指offer》-跳台阶
- 怎么真正入行Web前端行业?JavaScript五大新特性是什么?
- python查看函数帮助文档的方法
- 通达信资金净流入公式_资金净流入公式——股票实战技术指标公式研究有缘看本博定多活30年——东方财富网博客...
- 使用golang实现对请求签名和验签
- 标签上的title属性和alt属性有什么区别
- 基于C++的图片压缩设计与实现
- 修复双系统的windows启动项找不到问题
- 如何解决取ADO的Recordset对象的RecordCount属性总是-1问题
- 智己让上汽的高端梦第一次落地
- 【埋点】是什么埋点?简述埋点的操作流程
- Win7交互式服务编程,不弹出交互式服务检测
- expand linux,Expand和Unexpand命令在Linux下的使用示例