File size: 1,197 Bytes
2b20519
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 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']