getUserInfo(input('param.code'));//获取openid和access_token $userinfo = session('WST_WX_USERINFO'); if(empty($userinfo['openid'])){ $userinfo = $we->UserInfo($wdata); session('WST_WX_USERINFO',$userinfo); } WSTSigninfo($userinfo,$USER); $users = new Users(); if($userinfo['openid']!=''){ session('WST_WX_OPENID',$userinfo['openid']); $rs = Db::name('users')->where(['wxOpenId'=>$userinfo['openid'],'dataFlag'=>1])->field('wxOpenId')->select(); if(count($rs)==0 && session('WST_WX_OPENID')!=''){ if($type==1){ header("location:".url('wechat/users/login')); exit; } }else{ $users->accordLogin(); $url = session('WST_WX_WlADDRESS'); if($url){ header("location:".$url); exit; } } } } WSTSigninfo(0,$USER); } //获取subscribe(是否关注公众号) function WSTSigninfo($info,$user){ if(!empty($info['openid'])){ $we = WSTWechat(); $openid = ($user['wxOpenId'])?$user['wxOpenId']:$info['openid']; $signinfo = $we->wxUserInfo($openid); session('WST_WX_SIGNINFO',$signinfo); } } function WSTIsWeixin(){ if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) { return true; } $isLimit = false; $limitArr[] = array("controller"=>"Payments","action"=>"notify"); for($i=0;$icontroller()==$obj["controller"] && request()->action()==$obj["action"]){ $isLimit = true; break; } } if($isLimit){ return true; } $url=urlencode($_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]); $url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.WSTConf('CONF.wxAppId').'&redirect_uri=http%3a%2f%2f'.$url.'&response_type=code&scope=snsapi_userinfo&state='.WSTConf('CONF.wxAppCode').'#wechat_redirect'; header("location:".$url); exit; return false; }