from pathlib import Path from typing import Dict, List from enum import Enum import json class Settings: BASE_PATH = Path(__file__).parent.parent.parent.absolute() CONFIG_PATH = BASE_PATH / 'Config.json' API_PREFIX: str = "/api" # 通用前缀 DATA_DIR = BASE_PATH / "Data" SCORE_CONFIG_PATH = BASE_PATH / "app/core/scoring_config.json" # 分数计算接口url SCORE_UPDATE_SERVER_URL = "http://127.0.0.1:7744" SCORE_RECALCULATE_ENDPOINT = f"{SCORE_UPDATE_SERVER_URL}/api/card_score/score_recalculate" # --- 数据库配置 --- DB_NAME = 'card_score_database' # 从 Config.json 读取的旧表名, 我们将不再使用它, 但保留以兼容旧文件 # 建议直接在代码中定义新表名, 避免混淆 DB_CARD_TABLE_NAME = 'cards' DB_IMAGE_TABLE_NAME = 'card_images' # 新的图片表名 DATABASE_CONFIG: Dict[str, str] = { 'user': 'root', 'password': '123456', 'host': '127.0.0.1', } # 连接到指定数据库的配置 DATABASE_CONFIG_WITH_DB: Dict[str, str] = { **DATABASE_CONFIG, 'database': DB_NAME } def set_config(self): with open(self.CONFIG_PATH, 'r') as f: config_json = json.load(f) self.DATABASE_CONFIG = config_json["mysql_config"] self.DB_NAME = config_json["database_name"] settings = Settings() print(f"项目根目录: {settings.BASE_PATH}") print(f"数据存储目录: {settings.DATA_DIR}")