"""FastAPI 应用入口""" from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from app.config import settings from app.middleware.rate_limit import RateLimitMiddleware from app.api import health, auth, upload, scripts, videos, tasks, rules, ai_config, sse, projects, briefs, organizations, dashboard # 创建应用 app = FastAPI( title=settings.APP_NAME, version=settings.APP_VERSION, description="AI 营销内容合规审核平台 API", docs_url="/docs" if settings.DEBUG else None, redoc_url="/redoc" if settings.DEBUG else None, ) # CORS 配置 app.add_middleware( CORSMiddleware, allow_origins=["*"] if settings.DEBUG else ["https://miaosi.ai"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Rate limiting app.add_middleware(RateLimitMiddleware, default_limit=60, window_seconds=60) # 注册路由 app.include_router(health.router, prefix="/api/v1") app.include_router(auth.router, prefix="/api/v1") app.include_router(upload.router, prefix="/api/v1") app.include_router(scripts.router, prefix="/api/v1") app.include_router(videos.router, prefix="/api/v1") app.include_router(tasks.router, prefix="/api/v1") app.include_router(rules.router, prefix="/api/v1") app.include_router(ai_config.router, prefix="/api/v1") app.include_router(sse.router, prefix="/api/v1") app.include_router(projects.router, prefix="/api/v1") app.include_router(briefs.router, prefix="/api/v1") app.include_router(organizations.router, prefix="/api/v1") app.include_router(dashboard.router, prefix="/api/v1") @app.get("/") async def root(): """根路径""" return { "message": f"Welcome to {settings.APP_NAME}", "version": settings.APP_VERSION, "docs": "/docs" if settings.DEBUG else "disabled", }