49 lines
1.2 KiB
Python
49 lines
1.2 KiB
Python
"""
|
||
基础配置类
|
||
"""
|
||
from pydantic_settings import BaseSettings
|
||
from enum import Enum
|
||
|
||
|
||
class EnvironmentEnum(str, Enum):
|
||
"""环境枚举"""
|
||
DEVELOPMENT = "development"
|
||
PRODUCTION = "production"
|
||
|
||
|
||
class BaseConfig(BaseSettings):
|
||
"""基础配置类"""
|
||
|
||
# 应用基本信息
|
||
APP_NAME: str = "西安项目算法"
|
||
APP_VERSION: str = "1.0.0"
|
||
ENVIRONMENT: EnvironmentEnum = EnvironmentEnum.DEVELOPMENT
|
||
|
||
# 调试模式
|
||
DEBUG: bool = True
|
||
|
||
# API配置
|
||
API_HOST: str = "127.0.0.1" # 默认只监听本地
|
||
API_PORT: int = 8000
|
||
|
||
# CORS配置(默认只允许localhost)
|
||
CORS_ORIGINS: list = ["http://localhost", "http://127.0.0.1"]
|
||
|
||
# 日志配置
|
||
LOG_LEVEL: str = "INFO"
|
||
LOG_DIR: str = "logs"
|
||
|
||
class Config:
|
||
env_file = ".env.development" # 默认使用开发环境配置
|
||
case_sensitive = True
|
||
|
||
@property
|
||
def is_development(self) -> bool:
|
||
"""是否为开发环境"""
|
||
return self.ENVIRONMENT == EnvironmentEnum.DEVELOPMENT
|
||
|
||
@property
|
||
def is_production(self) -> bool:
|
||
"""是否为生产环境"""
|
||
return self.ENVIRONMENT == EnvironmentEnum.PRODUCTION
|