""" 配置文件 - 从 config.json 读取配置,支持环境变量覆盖 """ import json import os _config = {} def _load_config(): global _config config_path = os.path.join(os.path.dirname(__file__), 'config.json') defaults = { 'backend_url': 'http://localhost:5000', 'browser_type': 'edge', 'headless_mode': False, 'page_load_timeout': 30 } if os.path.exists(config_path): with open(config_path, 'r', encoding='utf-8') as f: _config = {**defaults, **json.load(f)} else: _config = defaults def get(key, default=None): if not _config: _load_config() return _config.get(key.upper(), _config.get(key, default)) # 兼容旧接口 BACKEND_URL = os.environ.get('BACKEND_URL') or get('backend_url', 'http://localhost:5000') BROWSER_TYPE = os.environ.get('BROWSER_TYPE') or get('browser_type', 'edge') HEADLESS_MODE = os.environ.get('HEADLESS_MODE') or get('headless_mode', False) if isinstance(HEADLESS_MODE, str): HEADLESS_MODE = HEADLESS_MODE.lower() in ('true', '1', 'yes') CHECK_INTERVAL = int(os.environ.get('CHECK_INTERVAL') or get('check_interval', 30)) PAGE_LOAD_TIMEOUT = int(os.environ.get('PAGE_LOAD_TIMEOUT') or get('page_load_timeout', 30))