| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- """
- 路由注册:集中管理所有路由和中间件。
- """
- import datetime
- from fastapi import FastAPI, HTTPException
- from fastapi.responses import JSONResponse
- from fastapi.middleware.cors import CORSMiddleware
- from views.construction_review.file_upload import file_upload_router
- from views.construction_review.review_results import review_results_router
- from views.construction_review.launch_review import launch_review_router
- from views.construction_review.task_control import task_control_router
- from views.construction_review.desensitize_api import desensitize_router
- from views.construction_write.outline_views import outline_router
- from views.construction_write.content_completion import content_completion_router
- from views.construction_write.regenerate_views import regenerate_outline_router
- from views.construction_write.task_cancel_views import task_cancel_router
- def register_routes(app: FastAPI):
- """在 app 上注册所有路由和中间件。"""
- app.add_middleware(
- CORSMiddleware,
- allow_origins=["*"],
- allow_credentials=True,
- allow_methods=["*"],
- allow_headers=["*"],
- )
- app.include_router(file_upload_router)
- app.include_router(review_results_router)
- app.include_router(launch_review_router)
- app.include_router(task_control_router)
- app.include_router(desensitize_router)
- app.include_router(outline_router)
- app.include_router(content_completion_router)
- app.include_router(regenerate_outline_router)
- app.include_router(task_cancel_router)
- @app.exception_handler(HTTPException)
- async def http_exception_handler(request, exc):
- return JSONResponse(status_code=exc.status_code, content=exc.detail)
- @app.get("/health", tags=["系统状态"])
- async def health_check():
- return {"status": "healthy", "timestamp": datetime.datetime.now().isoformat()}
- @app.get("/celery/status", tags=["系统状态"])
- async def get_celery_status():
- from server.app import app_factory
- status = app_factory.celery_manager.get_status()
- return {"celery_worker": status, "timestamp": datetime.datetime.now().isoformat()}
- @app.get("/api/docs/info", tags=["系统状态"])
- async def api_info():
- return {
- "title": "Agent API - 施工方案审查系统",
- "version": "0.3",
- "docs_urls": {"swagger_ui": "/docs", "redoc": "/redoc", "openapi_json": "/openapi.json"},
- }
|