// 游戏配置文件 const GameConfig = { // WebSocket配置 websocket: { baseUrl: 'ws://localhost:8501', reconnectAttempts: 5, reconnectDelay: 1000, heartbeatInterval: 30000, // 心跳间隔(毫秒) connectionTimeout: 10000, // 连接超时(毫秒) }, // 游戏配置 game: { maxDotsPerSquare: 100, // 每个方块最大圆点数 dotLifetime: 30000, // 圆点生命周期(毫秒) gridSize: { width: 400, height: 400 }, animationDuration: 300, // 动画持续时间(毫秒) }, // UI配置 ui: { showStatusBar: true, showKeyboardHints: true, autoHideHints: true, hintsHideDelay: 5000, // 提示自动隐藏延迟(毫秒) }, // 性能配置 performance: { enableAnimations: true, enableHoverEffects: true, enableBackdropFilter: true, maxFPS: 60, }, // 调试配置 debug: { enableLogging: true, logLevel: 'info', // 'debug', 'info', 'warn', 'error' showConnectionDetails: false, } }; // 环境检测 const isDevelopment = window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1'; const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); // 根据环境调整配置 if (isDevelopment) { GameConfig.debug.enableLogging = true; GameConfig.debug.logLevel = 'debug'; } else { GameConfig.debug.enableLogging = false; GameConfig.performance.enableAnimations = true; } if (isMobile) { GameConfig.ui.showKeyboardHints = false; GameConfig.performance.enableHoverEffects = false; GameConfig.game.maxDotsPerSquare = 50; // 移动端减少圆点数量 } // 导出配置 if (typeof module !== 'undefined' && module.exports) { module.exports = GameConfig; } else { window.GameConfig = GameConfig; }