微信公众号获取网页授权前端和后端方法


	public function getoppId(){
			header("Access-Control-Allow-Origin:*");
			header('Access-Control-Allow-Methods:*');
			header('Access-Control-Allow-Headers:x-requested-with, content-type');
			$code = input('code');			
			if($code==''){ //没有传code时去获取code
				$APPID=''; //APPid
				$REDIRECT_URI='http://www.xxxx.com/index.html'; //返回前端网址
				$scope='snsapi_base';
				$url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$APPID.'&redirect_uri='.urlencode($REDIRECT_URI).'&response_type=code&scope='.$scope.'&state=wx'.'#wechat_redirect';
				header("Location:".$url);
			}else{
				$appid = ""; //APPid
				$secret = ""; //secret 				
				$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';
				$ch = curl_init();
				curl_setopt($ch,CURLOPT_URL,$get_token_url);
				curl_setopt($ch,CURLOPT_HEADER,0);
				curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
				curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
				$res = curl_exec($ch);
				curl_close($ch);
				$json_obj = json_decode($res,true);
				//根据openid和access_token查询用户信息
				$access_token = $json_obj['access_token'];
				$openid = $json_obj['openid'];
				$get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';
				
				$ch = curl_init();
				curl_setopt($ch,CURLOPT_URL,$get_user_info_url);
				curl_setopt($ch,CURLOPT_HEADER,0);
				curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
				curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
				$res = curl_exec($ch);
				curl_close($ch);				
				//解析json				
				$data['code'] = 0;
				$data['msg'] = '拉取微信用户信息成功';
				$data['data'] = json_decode($res,true);
				exit(json_encode($data));
		}
	}

前端实现



	
		
		
		首页
		
		
	
	
		

 

你可能感兴趣的:(前端H5,PHP,JQUERY,+,JS,+,CSS)