<?php
/**
*qq登录
*/
class qqAction extends baseAction
{

	/**
	  * @method 生成获取微信用户信息的链接[登录、绑定.....]  http://wiki.connect.qq.com/%E4%BD%BF%E7%94%A8implicit_grant%E6%96%B9%E5%BC%8F%E8%8E%B7%E5%8F%96access_token
	  * @http	get
	  * @param  token              string [必填] 调用接口凭证 (post|get)
	  * @param  app                enum   [必填] 应用标识 web_yp || app_pjl
	  * @param  backUrl            string [必填] http://xxx/login/check 获取成功后需要跳转的URL
	  * @param  scope              string [可填] get_user_info,list_album,upload_pic,do_like
	  * @param  display            string [可填] pc||wap
												  
	  * @author soul
	  * @copyright 2018/3/5
	  * @return 
	  {"status":true,"data": url}
	  {"status":false,"data":'失败原因',"code":''}
	  */
	public function getQQUserUrl()
	{
		$Params = mvc::$URL_PARAMS;
		if(isset($Params['app']) && !empty(mvc::$cfg['QQ'][$Params['app']]) && !empty($Params['backUrl']))
		{
			$cof = mvc::$cfg['QQ'][$Params['app']];
			$redirect_uri = urlencode($cof['redirect_url'].'&backurl='.base64_encode($Params['backUrl']));
			if(empty($Params['scope'])) $Params['scope'] = 'get_user_info';
			if(empty($Params['display'])) $Params['display'] = 'pc';
			$url = 'https://graph.qq.com/oauth2.0/authorize?display='.$Params['display'].'&response_type=code&client_id='.$cof['appid'].'&state='.md5(time()).'&redirect_uri='.$redirect_uri.'&scope='.$Params['scope'];
			LibFc::ReturnJson(true, $url);
		}
		else
		{
			LibFc::ReturnJson(false, 'getQqUserUrl 提供的参数不正确！');
		}
	}


	/**
	  * @method 获取微信用户信息
	  * @http	get
	  * @param  token              string [必填] 调用接口凭证 (post|get)
	  * @param  app                string [必填] 应用标识 gzh_app || app_pjl....
	  * @param  access_token	string [必填] 						  					  
	  * @author soul
	  * @copyright 2018/9/20
	  * @return 
	   {"status":false,"data":
			{ "openid":"6DE380153BDAE183A4CCBE95AE202400","unionid":"UID_857947D6876930F79F8F271B8D2269E3", "ret": 0, "msg": "", "is_lost":0, "nickname": "soul", "gender": "男", "province": "广东", "city": "广州", "year": "1987", "constellation": "", "figureurl": "http:\/\/qzapp.qlogo.cn\/qzapp\/101534400\/6DE380153BDAE183A4CCBE95AE202400\/30", "figureurl_1": "http:\/\/qzapp.qlogo.cn\/qzapp\/101534400\/6DE380153BDAE183A4CCBE95AE202400\/50", "figureurl_2": "http:\/\/qzapp.qlogo.cn\/qzapp\/101534400\/6DE380153BDAE183A4CCBE95AE202400\/100", "figureurl_qq_1": "http:\/\/thirdqq.qlogo.cn\/qqapp\/101534400\/6DE380153BDAE183A4CCBE95AE202400\/40", "figureurl_qq_2": "http:\/\/thirdqq.qlogo.cn\/qqapp\/101534400\/6DE380153BDAE183A4CCBE95AE202400\/100", "is_yellow_vip": "0", "vip": "0", "yellow_vip_level": "0", "level": "0", "is_yellow_year_vip": "0" }
		,"code":''}
	  {"status":false,"data":'失败原因',"code":''}
	  */
	public function getQQUserByToken()
	{
		$Params = mvc::$URL_PARAMS;
		if(isset($Params['app']) && !empty(mvc::$cfg['QQ'][$Params['app']]) && !empty($Params['access_token']))
		{
			$MainQQ = new MainQQ();
			$res = $MainQQ->getAppUser($Params['app'], $Params['access_token']);
			echo json_encode($res);
		}
		else
		{
			LibFc::ReturnJson(false, 'getWxUserByCode 提供的参数不正确！');
		}
	}


	/**
	  * @method 获取QQ用户信息
	  * @http	get
	  * @param  token              string [必填] 调用接口凭证 (post|get)
	  * @param  app                string [必填] 应用标识 gzh_app || app_pjl....
	  * @param  code			   string [必填] 微信授权后返回的标识										  
	  * @param  backUrl			   string [必填] 									  
	  * @author soul
	  * @copyright 2018/9/20
	  * @return 
	  {"status":false,"data":
			{ "openid":"6DE380153BDAE183A4CCBE95AE202400","unionid":"UID_857947D6876930F79F8F271B8D2269E3", "ret": 0, "msg": "", "is_lost":0, "nickname": "soul", "gender": "男", "province": "广东", "city": "广州", "year": "1987", "constellation": "", "figureurl": "http:\/\/qzapp.qlogo.cn\/qzapp\/101534400\/6DE380153BDAE183A4CCBE95AE202400\/30", "figureurl_1": "http:\/\/qzapp.qlogo.cn\/qzapp\/101534400\/6DE380153BDAE183A4CCBE95AE202400\/50", "figureurl_2": "http:\/\/qzapp.qlogo.cn\/qzapp\/101534400\/6DE380153BDAE183A4CCBE95AE202400\/100", "figureurl_qq_1": "http:\/\/thirdqq.qlogo.cn\/qqapp\/101534400\/6DE380153BDAE183A4CCBE95AE202400\/40", "figureurl_qq_2": "http:\/\/thirdqq.qlogo.cn\/qqapp\/101534400\/6DE380153BDAE183A4CCBE95AE202400\/100", "is_yellow_vip": "0", "vip": "0", "yellow_vip_level": "0", "level": "0", "is_yellow_year_vip": "0" }
		,"code":''}
	  {"status":false,"data":'失败原因',"code":''}
	  */
	public function getQQUserByCode()
	{
		$Params = mvc::$URL_PARAMS;
		if(isset($Params['app']) && !empty(mvc::$cfg['QQ'][$Params['app']]) && !empty($Params['code']))
		{
			$MainQQ = new MainQQ();
			$res = $MainQQ->getUserByCode($Params['app'], $Params['code'], $Params['backUrl']);
			echo json_encode($res);
		}
		else
		{
			LibFc::ReturnJson(false, 'getWxUserByCode 提供的参数不正确！');
		}
	}
}