<!--?php
header('Content-Type: application/json');

$path = $_SERVER['REQUEST_URI'];
$method = $_SERVER['REQUEST_METHOD'];
$body = file_get_contents('php://input');

// 记录所有请求到日志
$log = date('Y-m-d H:i:s') . " | $method | $path";
if ($body) {
    $log .= " | BODY: " . substr($body, 0, 500);
}
file_put_contents(__DIR__ . '/api_debug.log', $log . "\n", FILE_APPEND);

// 1. 管理类接口 (启动时最先调用的核心接口)
if (strpos($path, '/manage/server_url') !== false) {
    // 这个接口最重要！必须返回一个看似可用的服务器地址，可以是本地或公网地址
    // 这里用你的公网域名，让游戏认为服务器仍然在运行
    echo json_encode([
        "code" => "S200",
        "message" => "success",
        "data" => [
            "server_url" => "https://ashangduvrapi.gf.xunsy.cn", // 让游戏连回你这台服务器
            "token" => "fake_token_bypass_1c4a9b3a8af38500d02fb58d5c3883fc",
            "expireTime" => 86400
        ]
    ]);
}
elseif (strpos($path, '/manage/auth') !== false) {
    echo json_encode(["code" => "S200", "message" => "success", "data" => ["token" => "fake_auth_token"]]);
}
elseif (strpos($path, '/manage/shot') !== false) {
    echo json_encode(["code" => "S200", "message" => "success", "data" => []]);
}

// 2. 单机模式核心接口
elseif (strpos($path, '/single/is_user_unique') !== false) {
    echo json_encode(["code" => "S200", "message" => "success", "data" => ["unique" => true]]);
}

// 3. 单机地图/用户相关接口 (根据日志优化的关键数据)
elseif (strpos($path, '/single_map/get_user') !== false) {
    echo json_encode([
        "code" => "S200",
        "message" => "success",
        "data" => [
            "playerName" => "Player",  // 默认玩家名
            "level" => 1,             // 当前等级
            "score" => 0,             // 最高分
            "rank" => 1,              // 排名
            "map_id" => 0             // 当前地图ID
        ]
    ]);
}
elseif (strpos($path, '/single_map/update_user') !== false) {
    echo json_encode(["code" => "S200", "message" => "success", "data" => []]);
}
elseif (strpos($path, '/single_map/toplist') !== false) {
    // 返回一个空的排行榜列表，游戏才能正常渲染
    echo json_encode([
        "code" => "S200",
        "message" => "success",
        "data" => [
            "toplist" => []  // 关键：必须是包含空数组的对象
        ]
    ]);
}
elseif (strpos($path, '/single_map/get_score_rank') !== false) {
    echo json_encode([
        "code" => "S200",
        "message" => "success",
        "data" => [
            "rank" => 1,
            "score" => 0,
            "playerName" => "Player"
        ]
    ]);
}

// 4. 在线模式接口 (返回空数据，避免连接超时)
elseif (strpos($path, '/online/update_user') !== false) {
    echo json_encode(["code" => "S200", "message" => "success", "data" => []]);
}
elseif (strpos($path, '/online/get_user') !== false) {
    echo json_encode(["code" => "S200", "message" => "success", "data" => ["playerName" => "Player", "score" => 0]]);
}
elseif (strpos($path, '/online/toplist') !== false) {
    echo json_encode(["code" => "S200", "message" => "success", "data" => ["toplist" => []]]);
}

// 5. 挑战模式接口
elseif (strpos($path, '/challenge/') !== false) {
    // 挑战相关的所有接口都返回统一空数据
    echo json_encode(["code" => "S200", "message" => "success", "data" => []]);
}

// 6. 兜底处理：其他未知请求
else {
    file_put_contents(__DIR__ . '/api_unknown.log', date('Y-m-d H:i:s') . " | $method | $path | BODY: $body\n", FILE_APPEND);
    echo json_encode(["code" => "S200", "message" => "success", "data" => []]);
}
?-->

{"code":"S200","message":"success","data":{}}