deliveryman-api/app/core/config.py
2025-01-02 16:33:39 +08:00

39 lines
1.2 KiB
Python

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()