<?php
/**
*开放接口
*/
class openAction extends baseAction
{
	/**
	 * @method 通过用户唯一标码获取 api的token
	 * @http  get
	 * @param unitag     string [必填]       用户唯一标码（登录成功会返回），有效期30天，可以通过此唯一标码进行登录、获取api token
	 * @param from       string [必填]       来源 YP(宜配网)|YPAPP|YPGZG|IM|YPYPC|PJD(跑街的)|PJDAPP|PJDZS(跑街的助手)|PJDGZH|PJDSGZH(商城店铺公众号)|PJL(跑街令)|CRM|BMTSR|CLIENT(客户网)
	 * @param devcode    string [必填]       移动设备号 或者web sessionid
	 * @author soul 2018/10/30
	 * @return
	 	成功：{"status":true,"data":{"uid":149894,"devcode":"c905b218685c253c66315d61e95d6350","from":"PJD","btime":1540890434,"etime":1540897634,"token":"a5015bf0863845a8c81ab52f4e3781da"},"code":0}
		失败：{"status":false,"data":"错误信息","code":"错误代码"}
	 */
	public function getToken()
	{
		$params = mvc::$URL_PARAMS;
		if(!empty($params['unitag']) && !empty($params['from']) && !empty($params['devcode']))
		{
			$YpwUser = new YpwUser();
			$res = $YpwUser->decodeUnitag($params['unitag']);
			
			$url = mvc::$cfg['HOST']['apiToken'];
			$urlParamArr = [
				'fun'=>'addToken',
				'uid'=>$res['data']['u_id'],
				'devcode'=>$params['devcode'],
				'from'=>$params['from']
			];
			$url .= '?'.http_build_query($urlParamArr);
			$LibCurl = new LibCurl();
			echo $LibCurl->fetch($url);
			exit;
		}
		LibFc::ReturnJson(false, '生成api token 参数不正确！', 'apitoken');
	}


	/**
	 * @method 检测token是否有效
	 * @http  get
	 * @param apitoken     string [必填]   api token
	 * @author soul 2018/10/30
	 * @return
	 	成功：{"status":true,"data":{"uid":149894,"devcode":"c905b218685c253c66315d61e95d6350","from":"PJD","btime":1540890434,"etime":1540897634,"token":"a5015bf0863845a8c81ab52f4e3781da"},"code":0}
		失败：{"status":false,"data":"错误信息","code":"错误代码"}
	 */
	public function checkToken()
	{
		$params = mvc::$URL_PARAMS;
		$url = mvc::$cfg['HOST']['apiToken'];
		$urlParamArr = [
			'fun'=>'checkToken',
			'token'=>$params['apitoken']
		];
		$url .= '?'.http_build_query($urlParamArr);
		$LibCurl = new LibCurl();
		echo $LibCurl->fetch($url);
	}


	/**
	 * @method 删除用户的token
	 * @http  post
	 * @param uids string [必填] 多个逗号分隔
	 * @author soul 2020/8/20
	 * @return
	 */
	public function delTokenByUid()
	{
		$params = mvc::$URL_PARAMS;
		$url = mvc::$cfg['HOST']['apiToken'];
		$LibCurl = new LibCurl();
		foreach(explode(',', $_POST['uids']) as $uid)
		{
			$uid = (int) $uid;
			if($uid > 0)
			{
				$urlParamArr = [
					'fun'=>'delToken',
					'uid'=>$uid
				];
				$url .= '?'.http_build_query($urlParamArr);
				$LibCurl->fetch($url);
			}
		}
		LibFc::ReturnJson(true, true);
	}
}