400-800-9385
网站建设资讯详细

简单介绍手机微信登录及PC端网页实现微信扫码登录的流程

发表日期:2018-07-16 16:41:26   作者来源:方维网络   浏览:8143   标签:手机微信    
在网上查到很多种微信扫码的方法,有些思路讲的很好,跟我的思路差不多,但没给出具体操作流程,有些则给出一部分代码,实际用起来比较困难,下面介绍一种非官方的微信扫码的方法。
 
首先需要在微信公众平台注册微信公众号,然后需要认证后才能获得开发者ID(AppID)和开发者密码(AppSecret),然后开通 “开发”->“接口权限”->“网页授权”,如下图所示:

微信网页授权

开通这个功能后才能获得用户的openid,这样才可以记录用户唯一标识的字符,实现微信登录的功能。然后在微信公众平台里找到“设置”->“公众号设置”->”功能设置”->”网页授权域名”里设置需要授权的域名(不能加上http://),这步是必须的,否则微信登录时无法回调地址导致出现错误,如图片所示:


公众号设置


接下来就可以写代码了,先介绍手机微信登录的代码,如下图所示:


手机微信登录代码
$scope='snsapi_userinfo';//需要用户授权
$url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$APPID.'&redirect_uri='.urlencode($REDIRECT_URI).'&response_type=code&scope='.$scope.'&state=1#wechat_redirect'; 是验证手机登录的关键,这个地址也是二维码的地址,二维码显示在PC网页里,用户打开微信扫码后,授权同意登录,然后跳转到返回地址:
$REDIRECT_URI='http://online.china-longgong.com/fxlonggong/weixin_login/Weixin/login_return?return_url='.$rand_code;
通过下面的代码:


代码2


就可以获得用户的openid = $info[‘openid’]和随机字符串$rand_code,然后再根据openid判断该用户是否已经登录过该网站了,如果登录,则更新$rand_code的字段,如果第一次登录,则将用户的信息录入到数据库的会员表里,包括随机的字符串$rand_code,然后在扫码登录的页面,即显示二维码的页面里,每隔两秒判断一次用户是否已经用手机扫码登录,判断的方法是查找$rand_code的值是否等于会员表的某个rand_code值,JS代码如果下图所示:


代码3


一旦用户通过网站扫码确定登录,就更新该会员的rand_code值,这样该值便与JS传递过去的值一样,然后就可以获取该会员的所有数据了。
 
关于生成二维码的问题,可以使用thinkphp中的phpqrcode类,由于文件有些多,大家可以通过搜索”phpqrcode”就可以下载这个功能类
代码4 二维码
 
网上也有人跟我使用差不多的方法,我觉得这个虽然是非官方的微信扫码登录方法,但还算是可以用的,因为使用了手机微信的登录功能,然后加个小调整,即可完成PC网页扫码登录的方法。

作者:方维网络陈应信
 
 
如没特殊注明,文章均为方维网络原创,转载请注明来自https://www.szfangwei.cn/news/4432.html