""" 系统配置模块 """ from pydantic_settings import BaseSettings from typing import Optional from functools import lru_cache class Settings(BaseSettings): """系统配置""" # 应用配置 APP_NAME: str = "医院绩效考核管理系统" APP_VERSION: str = "1.0.0" DEBUG: bool = True API_PREFIX: str = "/api/v1" # 数据库配置 DATABASE_URL: str = "postgresql+asyncpg://postgres:postgres@localhost:5432/hospital_performance" DATABASE_POOL_SIZE: int = 20 DATABASE_MAX_OVERFLOW: int = 10 # JWT配置 SECRET_KEY: str = "your-secret-key-change-in-production-min-32-chars" ALGORITHM: str = "HS256" ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 8 # 8小时 # 跨域配置 CORS_ORIGINS: list[str] = ["http://localhost:3000", "http://localhost:5173"] # 分页配置 DEFAULT_PAGE_SIZE: int = 20 MAX_PAGE_SIZE: int = 100 class Config: env_file = ".env" case_sensitive = True @lru_cache() def get_settings() -> Settings: """获取配置单例""" return Settings() settings = get_settings()