Files

37 lines
1.2 KiB
Python

"""
配置文件 - 从 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))