# modules/config_loader.py import json from pathlib import Path from utils.logger import log class ConfigLoader: def __init__(self, config_dir: Path = Path("./config")): self.config_dir = config_dir self.cities = {} self.personas = {} self.interests = {} try: self._load_all() log.info("✅ 所有配置文件加载成功") except Exception as e: log.error(f"❌ 配置文件加载失败: {e}", exc_info=True) raise def _load_all(self): # 加载城市 with open(self.config_dir / "cities.json", 'r', encoding='utf-8') as f: cities_data = json.load(f) for city in cities_data['cities']: for alias in [city['name']] + city.get('aliases', []): self.cities[alias.lower()] = city # 加载 personas with open(self.config_dir / "personas.json", 'r', encoding='utf-8') as f: self.personas = json.load(f)['personas'] # 加载兴趣 with open(self.config_dir / "interests.json", 'r', encoding='utf-8') as f: self.interests = json.load(f)['interests']