Files
doc-forge/backend/main.py
T
zwt13703 e558733f05 init
2026-07-02 14:48:05 +08:00

47 lines
1.3 KiB
Python

import uvicorn
from contextlib import asynccontextmanager
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from database import init_db, engine
from config import settings
from routers import templates, models, generate, export
from services.minio_client import init_buckets
@asynccontextmanager
async def lifespan(app: FastAPI):
await init_db()
await init_buckets() # 初始化 MinIO 存储桶
yield
await engine.dispose()
app = FastAPI(title=settings.APP_NAME, version=settings.APP_VERSION, lifespan=lifespan)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
app.include_router(templates.router, prefix="/api/v1/templates", tags=["模板管理"])
app.include_router(models.router, prefix="/api/v1/models", tags=["模型管理"])
app.include_router(generate.router, prefix="/api/v1/generate", tags=["生成管理"])
app.include_router(export.router, prefix="/api/v1/export", tags=["导出管理"])
@app.get("/")
async def root():
return {"message": "AI 文档模板生成系统 API", "version": settings.APP_VERSION}
@app.get("/health")
async def health():
return {"status": "ok"}
if __name__ == "__main__":
uvicorn.run("main:app", host=settings.HOST, port=settings.PORT, reload=settings.DEBUG)