from pydantic_settings import BaseSettings
from typing import List

class Settings(BaseSettings):
    # 项目信息
    PROJECT_NAME: str = "爱设计 API"
    VERSION: str = "1.0.0"
    API_PREFIX: str = "/api"
    
    # 数据库配置
    DATABASE_URL: str = "sqlite:///./test.db"  # 使用SQLite进行测试
    # DATABASE_URL: str = "mysql+pymysql://root:password@localhost:3306/aishej"  # MySQL配置
    
    # JWT 配置
    SECRET_KEY: str = "your-secret-key-change-this"
    ALGORITHM: str = "HS256"
    ACCESS_TOKEN_EXPIRE_MINUTES: int = 1440  # 24小时
    
    # 文件配置
    UPLOAD_DIR: str = "./uploads"
    MAX_FILE_SIZE: int = 52428800  # 50MB
    
    # 水印配置
    WATERMARK_TEXT: str = "爱设计 AiSheji.com"
    WATERMARK_OPACITY: int = 128
    
    # 缩略图配置
    THUMBNAIL_SIZE: int = 400
    THUMBNAIL_QUALITY: int = 85
    
    # CORS 配置（生产环境配置为具体域名）
    ALLOWED_ORIGINS: List[str] = [
        "https://backend.huijie168.uk",
        "https://app.huijie168.uk",
        "https://run.huijie168.uk",
        "https://huijie168.uk",
        "https://www.huijie168.uk"
    ]
    
    # 易收米支付配置
    YSM_APPID: str = "YSMcd16b45d"
    YSM_APPSECRET: str = "899850e778e8d2b53e4c4a4e88695688"
    YSM_NOTIFY_URL: str = "https://backend.huijie168.uk/api/payment/notify"  # 支付回调地址
    YSM_CALLBACK_URL: str = "https://run.huijie168.uk/payment/success"  # 支付成功跳转地址
    YSM_NOPAY_URL: str = "https://run.huijie168.uk/payment/cancel"  # 未支付跳转地址
    
    class Config:
        env_file = ".env"
        case_sensitive = True

settings = Settings()
