<?php
/**
 * 嘉盛酒水门市 - API入口文件
 * 
 * @package     JiashengWine
 * @author      Your Name
 * @version     1.0.0
 */

// 加载配置
require_once __DIR__ . '/../config/config.php';

// 获取请求路径
$path = isset($_SERVER['PATH_INFO']) ? trim($_SERVER['PATH_INFO'], '/') : '';

if (!$path) {
    $path = 'index/index';
}

// 解析控制器和方法
$parts = explode('/', $path);
$controller = ucfirst($parts[0]);
$method = isset($parts[1]) ? $parts[1] : 'index';

// 加载控制器
$controllerFile = APP_PATH . 'controller/' . $controller . '.php';

if (!file_exists($controllerFile)) {
    header('Content-Type: application/json; charset=utf-8');
    echo json_encode([
        'code' => 404,
        'msg' => '接口不存在',
        'data' => []
    ], JSON_UNESCAPED_UNICODE);
    exit;
}

require_once $controllerFile;

$className = 'App\\Controller\\' . $controller;

try {
    $instance = new $className();
    
    if (!method_exists($instance, $method)) {
        header('Content-Type: application/json; charset=utf-8');
        echo json_encode([
            'code' => 404,
            'msg' => '方法不存在',
            'data' => []
        ], JSON_UNESCAPED_UNICODE);
        exit;
    }
    
    // 调用方法
    $instance->$method();
    
} catch (\Exception $e) {
    header('Content-Type: application/json; charset=utf-8');
    
    if (APP_DEBUG) {
        echo json_encode([
            'code' => 500,
            'msg' => $e->getMessage(),
            'data' => [
                'file' => $e->getFile(),
                'line' => $e->getLine()
            ]
        ], JSON_UNESCAPED_UNICODE);
    } else {
        echo json_encode([
            'code' => 500,
            'msg' => '服务器错误',
            'data' => []
        ], JSON_UNESCAPED_UNICODE);
    }
}