from typing import Any, Callable from .config import Config from .loader_config import ConfigLoader """配置模块初始化文件 该模块负责初始化配置加载器,并提供获取配置的接口。 """ # 创建全局配置加载器实例 config_loader = ConfigLoader() def get_config() -> Config: """获取配置实例 Returns: Config: 配置实例 Raises: RuntimeError: 配置加载失败时抛出 """ try: return config_loader._config except Exception as e: raise RuntimeError("获取配置失败") from e # 暴露配置实例 config: Config = get_config() def get_config_value(key: str, default=None) -> Any: """获取配置值 Args: key (str): 配置项key default (Any): 默认值 Returns: Any: 配置项值 Raises: RuntimeError: 配置加载失败时抛出 """ try: return config_loader.get(key, default) except Exception as e: raise RuntimeError(f"获取配置项{key}失败") from e def on_config_change(callback: Callable): """注册配置变更回调 Args: callback (Callable): 配置变更回调函数 Raises: RuntimeError: 回调注册失败时抛出 """ try: config_loader.on_config_change(callback) except Exception as e: raise RuntimeError("注册配置变更回调失败") from e __all__ = [ 'Config', 'ConfigLoader', 'config', 'get_config', 'get_config_value', 'on_config_change' ]