from pathlib import Path from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from fastapi.staticfiles import StaticFiles from api import ai, image, ozon from config import get_settings # web/ 是 v1 工具台,留在仓库根,故上跳一级 WEB_DIR = Path(__file__).resolve().parents[1] / "web" app = FastAPI(title="Ozon Seller Kit", version="0.1.0") settings = get_settings() if settings.cors_origin_list: app.add_middleware( CORSMiddleware, allow_origins=settings.cors_origin_list, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.include_router(ai.router) app.include_router(image.router) app.include_router(ozon.router) @app.get("/api/health") async def health() -> dict[str, str]: return {"status": "ok"} if WEB_DIR.is_dir(): app.mount("/", StaticFiles(directory=str(WEB_DIR), html=True), name="web")