from pydantic_settings import BaseSettings from typing import List import json class Settings(BaseSettings): MYSQL_HOST: str = "43.240.221.214" MYSQL_PORT: int = 3306 MYSQL_USER: str = "ns2.0" MYSQL_PASSWORD: str = "5B3kdCyx2ya3XhrC" MYSQL_DATABASE: str = "ns2.0" API_PREFIX: str = "/api" API_TITLE: str = "鸿蒙应用展示平台API" API_VERSION: str = "1.0.0" DEBUG: bool = False CORS_ORIGINS: str = '["http://localhost:5173", "http://localhost:3000"]' @property def cors_origins_list(self) -> List[str]: """解析 CORS_ORIGINS 字符串为列表""" if isinstance(self.CORS_ORIGINS, str): try: return json.loads(self.CORS_ORIGINS) except: return [self.CORS_ORIGINS] return self.CORS_ORIGINS @property def database_url(self) -> str: return f"mysql+aiomysql://{self.MYSQL_USER}:{self.MYSQL_PASSWORD}@{self.MYSQL_HOST}:{self.MYSQL_PORT}/{self.MYSQL_DATABASE}" class Config: env_file = ".env" settings = Settings()