from pydantic_settings import BaseSettings from pydantic import Field from config.env_loader import load_env # 先加载 ENV & .env load_env() class Settings(BaseSettings): # 环境 ENV: str = Field("dev") DEBUG: bool = Field(True) TIMEZONE: str = Field("UTC") APP_NAME: str = Field("MemeApp") # 日志 LOG_LEVEL: str = Field("LOG_LEVEL") LOG_FILE_PATH: str = Field("logs") LOG_TYPE: str = Field("console") # 数据库 DB_HOST: str DB_PORT: int DB_USER: str DB_PASS: str DB_NAME: str # TTS 配置 TTS_ENGINE: str = Field("edge-tts", description="使用的 TTS 引擎 (edge-tts)") TTS_LANGUAGE: str = Field("zh-CN", description="TTS 默认语言") TTS_VOICE: str = Field("", description="TTS 默认声音,为空则使用引擎默认声音") TTS_RATE: float = Field(1.0, description="TTS 语速,1.0 为正常速度") TTS_PITCH: float = Field(1.0, description="TTS 音调,1.0 为正常音调") # 阿里云百炼服务API密钥 DASHSCOPE_API_KEY: str # 输出路径 OUTPUT_PATH: str = Field("./outputs", description="输出文件保存路径") class Config: env_file = ".env" env_file_encoding = "utf-8" # 全局唯一配置实例 settings = Settings()