from pydantic_settings import BaseSettings class Settings(BaseSettings): API_V1_STR: str = "/api/v1" PROJECT_NAME: str = "FastAPI 项目" # 数据库配置 DATABASE_URL: str = "sqlite:///./sql_app.db" # JWT 配置 SECRET_KEY: str = "your-secret-key-here" ACCESS_TOKEN_EXPIRE_MINUTES: int = 30 REDIS_HOST: str = "101.36.120.145" REDIS_PORT: int = 6379 REDIS_DB: int = 0 REDIS_PASSWORD: str = "redis_rJRMHr" VERIFICATION_CODE_EXPIRE_SECONDS: int = 300 # 验证码5分钟后过期 # 短信配置 UNI_APP_ID: str = "kFb5kA5EDXpnzUReadaRNpDTFf6rNmXEc45jwS2C1Mvh9Erj2" UNI_SMS_TEMPLATE_ID: str = "pub_verif_basic" # 验证码短信模板ID UNI_SMS_SIGN: str = "BAISIJI" # 短信签名 # MySQL配置 MYSQL_HOST: str = "101.36.120.145" MYSQL_PORT: int = 3306 MYSQL_USER: str = "root" MYSQL_PASSWORD: str = "mariadb_4rMwpT" MYSQL_DB: str = "deliveryman" @property def SQLALCHEMY_DATABASE_URL(self) -> str: return f"mysql+pymysql://{self.MYSQL_USER}:{self.MYSQL_PASSWORD}@{self.MYSQL_HOST}:{self.MYSQL_PORT}/{self.MYSQL_DB}?charset=utf8mb4" class Config: case_sensitive = True settings = Settings()