微信网页授权开发实例--esay版

php 
namespace home\Controller;

class Test{

	function index(){
		$appid = '****';
		$appsecret = '****';
		if( $code = i('code') ){
			// 获取OpenID
			$re = $this->curl('https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code');
			$re = json_decode($re,true);
                        
                        $re = $this->curl('https://api.weixin.qq.com/sns/userinfo?access_token='.$re['access_token'].'&openid='.$re['openid'].'&lang=zh_CN');
			$re = json_decode($re,true);
			co($re);
		}else{
			$callback = urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
			$url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={$appid}&redirect_uri={$callback}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
			jump($url);
		}
	}

	function curl($url,$param=null){
		$post_data = http_build_query ( $param, '&' );
		$ch = curl_init () ;
		curl_setopt($ch, CURLOPT_URL , $url ) ; 
		if( $param != null ){
			curl_setopt($ch, CURLOPT_POST , 1 ) ; 
			curl_setopt($ch, CURLOPT_POSTFIELDS , $post_data ) ; 
		}
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
		// curl_setopt($ch, CURLOPT_HEADER , 0 ) ; 
		$output = curl_exec($ch) ;
		curl_close($ch);
		//打印获得的数据
		return $output;
	}

}
?>

你可能感兴趣的:(微信开发)