帝国第三方登陆:微信内部登陆+扫码登陆2.0安装说明与使用方法

ECMSPLUS | 2020-11-17 |

摘要:
1、无需微信开放平台接口,只需一个微信公众号oauth2网页授权接口即可实现。
2、无需粉丝关注,均可实现登录。
3、无需用户输入密码,,一键登录,不需要用户再填写注册信息,密码等等,当然用户也无法更改密码。...

 插件说明:

本插件整合微信公众号oauth2网页授权接口,实现网页端扫码登录及微信内部浏览器快捷登录,只需简单安装即可使用。lmHECMSPLUS
作品优点:lmHECMSPLUS
1、无需微信开放平台接口,只需一个微信公众号oauth2网页授权接口即可实现。lmHECMSPLUS
2、无需粉丝关注,均可实现登录。lmHECMSPLUS
3、无需用户输入密码,,一键登录,不需要用户再填写注册信息,密码等等,当然用户也无法更改密码。

安装说明:

*本插件使用需获得微信公众号oauth2网页授权接口 (查看是否获得接口方式:登录微信公众号后台接口权限找到“网页授权获取用户基本信息” 点击后面的修改,将授权回调域名 设置为你的域名) 。lmHECMSPLUS
1、 将本插件内 e 文件夹 插件文件夹上传到网站根目录。lmHECMSPLUS
2、 登录你的网站后台lmHECMSPLUS
3、使用同浏览器访问  http://你的网址 /e/extend/wechat/install/  进行安装。lmHECMSPLUS
4、登陆后台  用户  外部接口  管理外部登陆接口  配置微信登陆接口 将 appid 与 appkey 修改为你的公众号APPID 与 APPSECRET 接口参数lmHECMSPLUS
(微信查看APPID 与 APPSECRET方式:登录微信公众号后台基本配置开发者ID与开发者密码就是)lmHECMSPLUS
5、打开 /e/member/class/member_loginfun.php 将  代码.txt 里面的代码复制到 ------登录函数-----下面。lmHECMSPLUS
6、在需要的地方设置触发按钮lmHECMSPLUS
(1)扫码登录触发按钮lmHECMSPLUS
     <a href="/e/extend/wechat/pclogin.php" >微信扫码登录</a>lmHECMSPLUS
(2)微信内部登录触发按钮(可将连接设置在微信自定义菜单内来实现直接登录)lmHECMSPLUS
    <a href="/e/extend/wechat/"  >微信内部登录</a>lmHECMSPLUS
或者lmHECMSPLUS
(3)制作自动判断如果用户使用微信访问则使用快捷登录而不使用扫码登录,如用户使用其它浏览器则使用扫码登录的方式:lmHECMSPLUS
     <?if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {?>lmHECMSPLUS
       <a href="/e/extend/wechat/"  >微信内部登录</a>        lmHECMSPLUS
     <?}else{?>lmHECMSPLUS
       <a href="/e/extend/wechat/pclogin.php" >微信扫码登录</a>lmHECMSPLUS
     <?}?>lmHECMSPLUS
lmHECMSPLUS
lmHECMSPLUS
lmHECMSPLUS
lmHECMSPLUS
 

如下示例代码:

//微信快捷登陆
function wxlogin($openid,$url){
		global $empire,$dbtbpre,$public_r,$ecms_config;
	if($ecms_config['member']['loginurl'])
	{
		Header("Location:".$ecms_config['member']['loginurl']);
		exit();
	}
	$dopr=1;
	if($_POST['prtype'])
	{
		$dopr=9;
	}

	if (!$openid) {
		printerror("EmptyLogin","history.go(-1)",$dopr);
	}
	$num=0;
	$ur=$empire->fetch1("select userid from ".eReturnMemberTable()."add where wx_openid='$openid' limit 1");
	if (!$ur['userid']) {
		printerror('NotCheckedUser','history.go(-1)',$dopr);
	}
	$r=$empire->fetch1("select ".eReturnSelectMemberF('*')." from ".eReturnMemberTable()." where userid='$ur[userid]' limit 1");
	if(!$r['userid'])
	{
		printerror("FailPassword","history.go(-1)",$dopr);
	}
	$username=$r['username'];


	if($r['checked']==0)
	{
		if($public_r['regacttype']==1)
		{
			printerror('NotCheckedUser','../member/register/regsend.php',1);
		}
		else
		{
			printerror('NotCheckedUser','',1);
		}
	}

	$rnd=make_password(20);//取得随机密码
	//默认会员组
	if(empty($r['groupid']))
	{
		$r['groupid']=eReturnMemberDefGroupid();
	}
	$r['groupid']=(int)$r['groupid'];
	$lasttime=time();
	//IP
	$lastip=egetip();
	$usql=$empire->query("update ".eReturnMemberTable()." set ".egetmf('rnd')."='$rnd',".egetmf('groupid')."='$r[groupid]' where ".egetmf('userid')."='$r[userid]'");
	$empire->query("update {$dbtbpre}enewsmemberadd set lasttime='$lasttime',lastip='$lastip',loginnum=loginnum+1 where userid='$r[userid]'");
	//设置cookie
	$add['lifetime']=315360000;
	$lifetime=(int)$add['lifetime'];
	$logincookie=0;
	if($lifetime)
	{
		$logincookie=time()+$lifetime;
	}
	$set1=esetcookie("mlusername",$username,$logincookie);
	$set2=esetcookie("mluserid",$r['userid'],$logincookie);
	$set3=esetcookie("mlgroupid",$r['groupid'],$logincookie);
	$set4=esetcookie("mlrnd",$rnd,$logincookie);
	//验证符
	qGetLoginAuthstr($r['userid'],$username,$rnd,$r['groupid'],$logincookie);
	//登录附加cookie
	AddLoginCookie($r);
	$location="/e/member/cp/";
	$returnurl=getcvar('returnurl');
	if($returnurl)
	{
		$location=$returnurl;
	}
	if(strstr($_SERVER['HTTP_REFERER'],"e/member/iframe"))
	{
		$location="../member/iframe/";
	}
	if(strstr($location,"enews=exit")||strstr($location,"e/member/register")||strstr($_SERVER['HTTP_REFERER'],"e/member/register"))
	{
		$location="/e/member/cp/";
		$_POST['ecmsfrom']='';
	}
	ecmsEmptyShowKey($keyvname);//清空验证码
	$set6=esetcookie("returnurl","");
	if($set1&&$set2)
	{
		//易通行系统
		DoEpassport('login',$r['userid'],$username,$password,$r['salt'],$r['email'],$r['groupid'],$r['registertime']);
		$location=DoingReturnUrl($location,$_POST['ecmsfrom']);
		$location=$_COOKIE['gourl'];
		if (!$location) {
			$location="/e/member/cp/";
		}
		if ($url) {
			$urlone=substr( $url, 0, 1 );
			if ($urlone=='/') {
				$location=$url;
			}else{
				$location='http://'.$url;
			}
		}

		if ($_COOKIE['gourl']) {
			$location=$_COOKIE['gourl'];
		}

		  header("Location:".$location);
    }
	else
	{
		printerror("NotCookie","history.go(-1)",$dopr);
	}
}
下载地址

免责/版权声明:

1、所有来源标注为 ECMSPLUS/ecmsplus.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可,如涉及大面积转载,请来信告知,获取授权。

2、本站所提供的文章资讯、软件资源、素材源码等内容均为作者提供、网友推荐、互联网整理而来(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考,如有侵犯您的版权,请联系我们,本站将在三个工作日内改正。

3、若您的网站或机构从本站获取的一切资源进行商业使用,除来源为本站的资料需与本站协商外,其他资源请自行联系版权所有人。

4、 ECMSPLUS/ecmsplus.com不保证资源的准确性、安全性和完整性,请您在阅读、下载及使用过程中自行确认,本站亦不承担上述资源对您或您的网站造成的任何形式的损失或伤害

5、未经 ECMSPLUS/ecmsplus.com允许,不得盗链、盗用本站资源;不得复制或仿造本网站,不得在非 ECMSPLUS/ecmsplus.com所属的服务器上建立镜像, ECMSPLUS/ecmsplus.com对其自行开发的或和他人共同开发的所有内容、技术手段和服务拥有全部知识产权,任何人不得侵害或破坏,也不得擅自使用。

6、互联网的本质是自由与分享,我们真诚的希望,每一份有价值的正能量能够在互联网中自由传播,能够为每一个网站提供动力。

标签:
精品源码
  • 种子溯源系统,一物一码防伪验证查询(单用户版) 支持定制开发

    惊爆价¥1500.00

    立即购买
    种子溯源系统,一物一码防伪验证查询(单用户版) 支持定制开发
看点推荐
精选文章

站长交流群

互联网站长技术交流群
共同学习,共同进步,共同成长!

QQ交流群

推荐文章

帝国cms通过用灵动标签的SQL语句查询来调用栏目导航

帝国cms图片集字段morepic分割,自定义图片集显示

帝国cms 技巧整理笔记,持续更新中

帝国cms 技巧整理笔记:常用变量,COOKIE获取和系统模板

最新文章

热门标签

关注我们

微信扫一扫,关注更多精彩

  • 公众号
    全面掌握源码一手资讯

  • 服务号
    精彩活动,推送提醒

垂询热线:18680688182

商务合作:0769-8700 9090
文章投稿: