getRow("SELECT * FROM pre_user WHERE wxid='{$openId}' LIMIT 1"); if($userrow){ $uid=$userrow['uid']; $key=$userrow['key']; if($islogin2==1){ exit('{"code":-1,"msg":"当前微信已绑定商户ID:'.$uid.',请勿重复绑定!"}'); } $session=md5($uid.$key.$password_hash); $expiretime=time()+604800; $token=authcode("{$uid}\t{$session}\t{$expiretime}", 'ENCODE', SYS_KEY); setcookie("user_token", $token, time() + 604800); $DB->exec("update `pre_user` set `lasttime` ='$date' where `uid`='$uid'"); $result=array("code"=>0,"msg"=>"登录成功!正在跳转到用户中心","url"=>"./"); }elseif($islogin2==1){ $sds=$DB->exec("update `pre_user` set `wxid` ='$openId' where `uid`='$uid'"); $result=array("code"=>0,"msg"=>"已成功绑定微信账号!","url"=>"./editinfo.php"); }else{ $_SESSION['Oauth_wx_uid']=$openId; $result=array("code"=>0,"msg"=>"请输入商户ID和密钥完成绑定和登录","url"=>"./login.php?connect=true"); } }else{ $result=array("code"=>1); } exit(json_encode($result)); } if(!empty($conf['localurl_wxpay']) && !strpos($conf['localurl_wxpay'],$_SERVER['HTTP_HOST'])){ $code_url = $conf['localurl_wxpay'].'user/wxlogin.php?sid='.session_id(); }else{ $code_url = $siteurl.'user/wxlogin.php?sid='.session_id(); } if(isset($_GET['bind'])){ $code_url .= '&bind=1'; } if($islogin2==1 && isset($_GET['unbind'])){ $DB->exec("update `pre_user` set `wxid` =NULL where `uid`='$uid'"); @header('Content-Type: text/html; charset=UTF-8'); exit(""); }elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger')!==false){ $redirect_url = isset($_GET['url'])?$_GET['url']:null; if($islogin2==1 && !isset($_GET['bind']) && !isset($_GET['code'])){ exit(""); } if(!$conf['login_wx'])sysmsg("未开启微信快捷登录"); $channel = \lib\Channel::get($conf['login_wx']); if(!$channel)exit('{"code":-1,"msg":"当前支付通道信息不存在"}'); define("PAY_ROOT", PLUGIN_ROOT.'wxpay/'); require_once PAY_ROOT."inc/WxPay.Api.php"; require_once PAY_ROOT."inc/WxPay.JsApiPay.php"; $tools = new JsApiPay(); $openId = $tools->GetOpenid(); if(!$openId)sysmsg('OpenId获取失败'); $_SESSION['openid'] = $openId; $userrow=$DB->getRow("SELECT * FROM pre_user WHERE wxid='{$openId}' limit 1"); if($userrow){ $uid=$userrow['uid']; $key=$userrow['key']; $DB->exec("insert into `pre_log` (`uid`,`type`,`date`,`ip`,`city`) values ('".$uid."','微信快捷登录','".$date."','".$clientip."','".$city."')"); $session=md5($uid.$key.$password_hash); $expiretime=time()+604800; $token=authcode("{$uid}\t{$session}\t{$expiretime}", 'ENCODE', SYS_KEY); setcookie("user_token", $token, time() + 604800); @header('Content-Type: text/html; charset=UTF-8'); exit(""); }elseif($islogin2==1){ $sds=$DB->exec("update `pre_user` set `wxid` ='$openId' where `uid`='$uid'"); @header('Content-Type: text/html; charset=UTF-8'); exit(""); }else{ $_SESSION['Oauth_wx_uid']=$openId; exit(""); } }elseif($islogin2==1 && !isset($_GET['bind'])){ exit(""); } ?>