getRow("SELECT * FROM pre_user WHERE wx_uid='{$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()+2592000; $token=authcode("{$uid}\t{$session}\t{$expiretime}", 'ENCODE', SYS_KEY); setcookie("user_token", $token, time() + 2592000); $DB->exec("update `pre_user` set `lasttime`=NOW() where `uid`='$uid'"); $result=array("code"=>0,"msg"=>"登录成功!正在跳转到用户中心","url"=>"./"); }elseif($islogin2==1){ $sds=$DB->exec("update `pre_user` set `wx_uid`='$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"); } unset($_SESSION['openid']); }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 `wx_uid`=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']==0)sysmsg("未开启微信快捷登录"); $wxinfo = \lib\Channel::getWeixin($conf['login_wx']); if(!$wxinfo)sysmsg("当前微信公众号不存在"); try{ $tools = new \WeChatPay\JsApiTool($wxinfo['appid'], $wxinfo['appsecret']); $openId = $tools->GetOpenid(); }catch(Exception $e){ sysmsg($e->getMessage()); } $_SESSION['openid'] = $openId; $userrow=$DB->getRow("SELECT * FROM pre_user WHERE wx_uid='{$openId}' limit 1"); if($userrow){ $uid=$userrow['uid']; $key=$userrow['key']; $DB->insert('log', ['uid'=>$uid, 'type'=>'微信快捷登录', 'date'=>'NOW()', 'ip'=>$clientip, 'city'=>$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 `wx_uid`='$openId' where `uid`='$uid'"); @header('Content-Type: text/html; charset=UTF-8'); exit(""); }else{ if(!isset($_GET['bind'])){ $_SESSION['Oauth_wx_uid']=$openId; exit(""); }else{ exit(""); } } }elseif($islogin2==1 && !isset($_GET['bind'])){ exit(""); } ?>