diff --git a/backend/app/.env.example b/backend/app/.env.example index 004816d5..b1bf8e0d 100644 --- a/backend/app/.env.example +++ b/backend/app/.env.example @@ -1,11 +1,11 @@ -# env: test、dev、pro +# Env: dev、pro ENVIRONMENT='pro' -# mysql +# MySQL DB_HOST='127.0.0.1' DB_PORT=3306 DB_USER='root' DB_PASSWORD='' -# redis +# Redis REDIS_HOST='127.0.0.1' REDIS_PORT=6379 REDIS_PASSWORD='' @@ -14,8 +14,9 @@ REDIS_DATABASE=0 APS_REDIS_HOST='127.0.0.1' APS_REDIS_PORT=6379 APS_REDIS_PASSWORD='' -# token +APS_REDIS_DATABASE=1 +# Token TOKEN_SECRET_KEY='1VkVF75nsNABBjK_7-qz7GtzNy3AMvktc9TCPwKczCk' -# email +# Email EMAIL_USER='xxxx-nav@qq.com' EMAIL_PASSWORD='' diff --git a/backend/app/core/conf.py b/backend/app/core/conf.py index 93cde31a..0da4fc45 100644 --- a/backend/app/core/conf.py +++ b/backend/app/core/conf.py @@ -7,10 +7,37 @@ from pydantic import BaseSettings, root_validator class Settings(BaseSettings): + # Env Config ENVIRONMENT: str + + # Env MySQL + DB_HOST: str + DB_PORT: int + DB_USER: str + DB_PASSWORD: str + + # Env Redis + REDIS_HOST: str + REDIS_PORT: int + REDIS_PASSWORD: str + REDIS_DATABASE: int + + # Env APScheduler Redis + APS_REDIS_HOST: str + APS_REDIS_PORT: int + APS_REDIS_PASSWORD: str + APS_REDIS_DATABASE: int + + # Env Token + TOKEN_SECRET_KEY: str # 密钥 secrets.token_urlsafe(32)) + + # Env Email + EMAIL_USER: str + EMAIL_PASSWORD: str # 授权密码,非邮箱密码 + # FastAPI TITLE: str = 'FastAPI' - VERSION: str = 'v0.0.1' + VERSION: str = '0.0.1' DESCRIPTION: str = "FastAPI Best Architecture" DOCS_URL: Optional[str] = '/v1/docs' REDOCS_URL: Optional[str] = '/v1/redocs' @@ -32,25 +59,13 @@ class Settings(BaseSettings): # MySQL DB_ECHO: bool = False - DB_HOST: str - DB_PORT: int - DB_USER: str - DB_PASSWORD: str DB_DATABASE: str = 'fba' DB_CHARSET: str = 'utf8mb4' # Redis - REDIS_HOST: str - REDIS_PORT: int - REDIS_PASSWORD: str - REDIS_DATABASE: int REDIS_TIMEOUT: int = 5 - # APScheduler DB - APS_REDIS_HOST: str - APS_REDIS_PORT: int - APS_REDIS_PASSWORD: str - APS_REDIS_DATABASE: int = 1 + # APScheduler Redis APS_REDIS_TIMEOUT: int = 10 # APScheduler Default @@ -60,7 +75,6 @@ class Settings(BaseSettings): # Token TOKEN_ALGORITHM: str = 'HS256' # 算法 - TOKEN_SECRET_KEY: str # 密钥 secrets.token_urlsafe(32)) TOKEN_EXPIRE_MINUTES: int = 60 * 24 * 1 # token 时效 60 * 24 * 1 = 1 天 TOKEN_URL: str = '/v1/users/login' @@ -68,12 +82,7 @@ class Settings(BaseSettings): EMAIL_DESCRIPTION: str = 'fastapi_sqlalchemy_mysql' # 默认发件说明 EMAIL_SERVER: str = 'smtp.qq.com' EMAIL_PORT: int = 465 - EMAIL_USER: str - EMAIL_PASSWORD: str # 授权密码,非邮箱密码 - EMAIL_SSL: bool = True # 是否使用ssl - - # 邮箱登录验证码过期时间 - EMAIL_LOGIN_CODE_MAX_AGE: int = 60 * 2 # 时效 60 * 2 = 2 分钟 + EMAIL_SSL: bool = True # Cookies COOKIES_MAX_AGE: int = 60 * 5 # cookies 时效 60 * 5 = 5 分钟