<?php
// 日志文件
$logFile = __DIR__ . '/user/user_list.json';
$package_name_OK = "com.fongmi.android.tv";

// 处理 package_name 参数
$package_name = isset($_GET['package_name']) ? trim($_GET['package_name']) : '';
if($package_name !== $package_name_OK){
	echo "参数错误！";
	exit;
}

// 处理 device_id 参数
$deviceId = isset($_GET['device_id']) ? trim($_GET['device_id']) : '';
$serverFile = ''; // 将要返回的文件名

if ($deviceId !== '') {
    // 读取日志
    $logs = [];
    if (file_exists($logFile)) {
        $content = file_get_contents($logFile);
        $logs = json_decode($content, true);
        if (!is_array($logs)) {
            $logs = [];
        }
    }

    $found = false;
    foreach ($logs as &$log) {
        if (isset($log['device_id']) && $log['device_id'] === $deviceId) {
            // 已存在，更新最后登录时间
            $log['last_login'] = date('Y-m-d H:i:s');
            $serverFile = trim($log['server']);
            $found = true;
            break;
        }
    }
    unset($log);

    // 如果是新 device_id，追加
    if (!$found) {
        $logs[] = [
            "device_id"   => $deviceId,
            "created_at"  => date('Y-m-d H:i:s'),
            "last_login"  => date('Y-m-d H:i:s'),
            "server"      => "", // 默认空，需后续手动配置
            "remark"      => "",  // 默认空，需后续手动配置
			"expire_at"      => ""  // 默认空，需后续手动配置
        ];
    }

    // 保存日志
    file_put_contents($logFile, json_encode($logs, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
}

// 设置响应头
header('Content-Type: application/json; charset=utf-8');

// 根据 server 字段返回对应的 JSON 文件（/json 子目录）
if ($serverFile !== '') {
    $targetFile = __DIR__ . '/duocang/' . $serverFile; // <-- 修改这里
    if (file_exists($targetFile)) {
        echo file_get_contents($targetFile);
        exit;
    } else {
        echo json_encode([
            "error" => "对应的 server 配置不存在",
            "server" => $serverFile
        ], JSON_UNESCAPED_UNICODE);
        exit;
    }
} else {
    echo json_encode([
        "error" => "未配置 server",
        "device_id" => $deviceId
    ], JSON_UNESCAPED_UNICODE);
    exit;
}
