""" 配置管理模块 """ import os import json class Settings: """应用配置""" def __init__(self, config_file: str = "config.json"): """初始化配置,从JSON文件加载""" self.config_file = config_file self._load_config() def _load_config(self): """从JSON文件加载配置""" if not os.path.exists(self.config_file): raise FileNotFoundError(f"配置文件 {self.config_file} 不存在") try: with open(self.config_file, 'r', encoding='utf-8') as f: config_data = json.load(f) self._set_config_from_dict(config_data) except Exception as e: raise Exception(f"加载配置文件失败: {e}") def _set_config_from_dict(self, config_data: dict): """从字典设置配置""" # 数据库配置 self.database_url = config_data["database"]["url"] # Redis配置 self.redis_url = config_data["redis"]["url"] # E云管家配置 ecloud_config = config_data["ecloud"] self.ecloud_base_url = ecloud_config["base_url"] self.ecloud_authorization = ecloud_config["authorization"] self.ecloud_w_id = ecloud_config["w_id"] # DifyAI配置 dify_config = config_data["dify"] self.dify_base_url = dify_config["base_url"] self.dify_api_key = dify_config["api_key"] self.dify_streaming_enabled = dify_config["streaming_enabled"] self.dify_streaming_timeout = dify_config["streaming_timeout"] # 服务配置 server_config = config_data["server"] self.server_host = server_config["host"] self.server_port = server_config["port"] self.debug = server_config["debug"] # 日志配置 logging_config = config_data["logging"] self.log_level = logging_config["level"] self.log_file = logging_config["file"] # 消息处理配置 msg_config = config_data["message_processing"] self.max_retry_count = msg_config["max_retry_count"] self.retry_delay = msg_config["retry_delay"] self.queue_timeout = msg_config["queue_timeout"] # 客服配置 customer_service_config = config_data["customer_service"] self.customer_service_names = customer_service_config["names"] # 好友忽略配置 friend_ignore_config = config_data["friend_ignore"] self.friend_ignore_enabled = friend_ignore_config["enabled"] self.friend_ignore_whitelist = friend_ignore_config["whitelist"] # 全局配置实例 settings = Settings()