<?php
try {
    @session_start();
    $dir = str_replace('\\','/',__DIR__);
    $path = explode('/index.php',$_SERVER['PHP_SELF'])[0];
    $cfg = require_once($dir.'/../config/common.php');
    $dirArr = explode('/',$dir);
    $cfg['lang'] = 'zh_cn'; //语系, zh_cn简体,zh_tw繁体,en英语,ru俄语,fr法语,es西班牙语,de德语,ja日语,ko韩语
    $cfg['site'] = array_pop($dirArr); //站点名标识名
    $cfg['siteTitle'] = 'API'; //站点主标题
    $cfg['projectDir'] = implode('/',$dirArr);//工程目录，当前站点目录的上一级目录
    $cfg['project'] = array_pop($dirArr);//工程名
    $cfg['siteDir'] = $cfg['projectDir'].'/'.$cfg['site']; //站点目录
    $cfg['sitePath'] = $path; //站点网址路径(不含有语言版本)
	($cfg['lang']=='zh_cn') ? define('LG_NAME','cn_name') : define('LG_NAME',LANG.'_name');
	$Http = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';  
	$Http =  $Http.$_SERVER['HTTP_HOST'];
	define('HOST', $Http.$path);
	require_once($cfg['mvcDir'].'/mvc.php');
    if(!isset($argv)) $argv=null;
    \mvc::init($cfg,$argv);
    \mvc::execute();

} catch (Throwable $e) {
    json(['code' => 0 ,'msg' => $e->getMessage(),'data' => []]);
}

function json($data)
{
    // 返回JSON数据格式到客户端 包含状态信息
    $data = json_encode($data, JSON_UNESCAPED_UNICODE);

    if ($data === false) {
        throw new \InvalidArgumentException(json_last_error_msg());
    }
    header('Access-Control-Allow-Origin' , '*');
    header('Access-Control-Allow-Methods'  , 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
    header('Access-Control-Allow-Headers' , 'X-Requested-With,content-type');
    header('Access-Control-Allow-Credentials' ,  true);
    header('Content-Type','application/json');
    ob_clean();
    echo  $data;
    if (function_exists('fastcgi_finish_request')) {
        fastcgi_finish_request();
    }
    exit();
}