46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
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() |