<?php
class userAction extends baseAction
{
	function login()
	{
		if(!empty($_POST['name']) && !empty($_POST['password']))
		{
			$LibEncry = new LibEncry();
			$_POST['password'] = $LibEncry->decode($_POST['password']);
			$_POST['passtype'] = 'dbmd5';
			$LibYpApi = new LibYpApi();
			$res = $LibYpApi->Get('user/login', [], ['type'=>'password', 'data'=>$_POST]);
			$this->initLogin($res['data'], 0);
			header("Location: ".mvc::$cfg['SELF_URI']);
			exit;
		}
		if(!empty($_SESSION['_shopid'])) header("Location: ".mvc::$cfg['SELF_URI']);
		unset($_SESSION['_pjltoken']);
		LibTpl::Set('title', '品牌目录');
		LibTpl::Put();
	}

	function loginByQQ()
	{
		$Params = MVC::$URL_PARAMS;
		$LibYpApi = new LibYpApi();
		if(!empty($Params['udata']))
		{
			$QQUserArr = json_decode(base64_decode($Params['udata']), true);
			if(!empty($QQUserArr['unionid']))
			{
				$PostData = [
					'type'=>'qq',
					'data'=>['unionid'=>$QQUserArr['unionid']],
					'ip'=>LibFc::GetClientIp(),
					'from'=>mvc::$cfg['FROM'],
					'lang'=>'cn'
				];
				$res = $LibYpApi->Get('user/login', [], $PostData, true);
				if($res['status'] && !empty($res['data']['u_id']))
				{
					$this->initLogin($res['data'], 0);
					LibFc::Go(mvc::$cfg['SELF_URI']);
				}else{
					LibTpl::Error($res['data'], mvc::$cfg['SELF_URI'].'user/login');
				}
			}
		}
		$res = $LibYpApi->get('qq/getQQUserUrl', ['app'=>'web_yp', 'backUrl'=>mvc::$cfg['SELF_URI'].'user/loginByQQ?by=qq', 'scope'=>'']);
		header("Location: ".$res['data']);
	}

	function loginByWx()
	{
		$Params = MVC::$URL_PARAMS;
		$LibYpApi = new LibYpApi();
		if(!empty($Params['udata']))
		{
			$WXUserArr = json_decode(base64_decode($Params['udata']), true);
			if(!empty($WXUserArr['unionid']))
			{
				$PostData = [
					'type'=>'weixin',
					'data'=>['unionid'=>$WXUserArr['unionid']],
					'ip'=>LibFc::GetClientIp(),
					'from'=>mvc::$cfg['FROM'],
					'lang'=>'cn'
				];
				$res = $LibYpApi->Get('user/login', [], $PostData, true);
				if($res['status'] && !empty($res['data']['u_id']))
				{
					$this->initLogin($res['data'], 0);
					LibFc::Go(mvc::$cfg['SELF_URI']);
				}else{
					LibTpl::Error($res['data'], mvc::$cfg['SELF_URI'].'user/login');
				}
			}
		}
		$res = $LibYpApi->get('wx/getWxUserUrl', ['app'=>'gzh_app', 'backUrl'=>mvc::$cfg['SELF_URI'].'user/loginByWx?by=weixin', 'scope'=>'snsapi_login']);
		header("Location: ".$res['data']);
	}

	function ajaxLogin()
	{
		$LibPjlApi = new LibPjlApi();
		$res = $LibPjlApi->Get('base/login', [], $_POST);
		$this->initLogin($res['data'], $_POST['remember']);
		unset($_SESSION['imgcode']);
		LibFc::ajaxJsonEncode($res);
	}
	

	/**
	  * @method 退出登录
	  * @author soul 2017/5/10
	  */
	function logout()
	{
		$this->clearLogin();
		header("Location: ".mvc::$cfg['SELF_URI'].'user/login');
	}


	/**
	 * 获取登陆的二维码
	 */
	function getLoginEwm()
	{
		$LibYpApi = new LibYpApi();
		$res = $LibYpApi->get('index/getLoginEwmInfo',['from'=>mvc::$cfg['FROM']]);
		LibFc::ajaxJsonEncode($res);
	}

	/**
	 * 检查二维码状态
	 */
	function checkEwmIsLogin()
	{
		$LibYpApi = new LibYpApi();
		$arr = ['status'=>true, 'data'=>0];
		$ewmres = $LibYpApi->get('index/getLoginEwmStatus', [],['code'=>urldecode($_POST['code'])]);
		if($ewmres['data']['ule_status'] == '2' && (int) $ewmres['data']['ule_uid'] > 0)
		{
			$postData = [
				'type'=>'unitag',
				'data'=>['unitag'=>$ewmres['data']['unitag']],
				'ip'=>LibFc::GetClientIp(),
				'from'=>mvc::$cfg['FROM'],
				'lang'=>'cn'
			];

			$res = $LibYpApi->Get('user/login', [], $postData);
			if($res['status'] && !empty($res['data']['u_id']))
			{
				$this->initLogin($res['data'], 0);
				$ewmres['data']['uid'] = $_SESSION['_userid'];
			}
		}
		LibFc::ajaxJsonEncode($ewmres);
	}

	/**
	 *@method ajax获取地址
	 * @author 卢 2017/6/7
	 */
	function ajaxGetAddr()
	{
		// $OthCheck = new OthCheck();
		// $OthCheck->mustLogin();
		$Params = mvc::$URL_PARAMS;
		$Pid = isset($Params['pid']) ? (int) $Params['pid']: 0;
		$YpwBase = new YpwBase();
		$Res = $YpwBase->get('yp_province_city', ['pc_id as id', 'pc_name as name'], sprintf(" and pc_pid=%d", $Pid));
		LibFc::ajaxJsonEncode($Res);
	}

	//通过用户ID获取TOKEN
	function getToken()
	{
		$Params = MVC::$URL_PARAMS;
		// $OthCheck = new OthCheck();
		// $OthCheck->mustLogin();
		$LibYpApi = new LibYpApi();
		$res = $LibYpApi->Get('user/getToken', ['uid'=>md5('yp'.$_SESSION['_userid']), 'uname'=>$_SESSION['_username']]);
		$arr = $res['data'];
		$arr['to'] = '';
		if(!empty($Params['t']) && $Params['t'] > 0)
		{
			$YpwBase = new YpwBase();
			$tres = $YpwBase->get('yp_user', ['u_name'], sprintf(" and u_id = %d", $Params['t']), true);
			if(!empty($tres['data'])) $arr['to'] = $tres['data']['u_name'];
		}
		LibFc::ajaxJsonEncode(['status'=>true,'data'=>$arr]);
	}
}