""" WQ_GUI FastAPI 后端入口 ======================= 应用启动与全局中间件配置: - CORS:开发阶段允许所有来源,方便本地前端(Vite / Webpack dev server)联调 - 路由:通过 include_router 挂载 app/api/endpoints.py 中的业务接口 业务接口说明: POST /api/process/deglint 提交去耀斑处理任务,立即返回 task_id GET /api/tasks/{task_id} 查询指定任务的状态与结果 """ from typing import Dict from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from app.api.endpoints import router as deglint_router from app.api.modeling import router as modeling_router from app.api.modeling import models_router # --------------------------------------------------------------------------- # FastAPI 应用实例 # --------------------------------------------------------------------------- app = FastAPI( title="WQ_GUI Backend", description="高光谱影像去耀斑处理 API", version="0.2.0", ) # --------------------------------------------------------------------------- # CORS 中间件 # --------------------------------------------------------------------------- # 开发阶段:放开所有来源、方法和头部,方便本地前端(任意端口)联调。 # 生产环境务必收敛 allow_origins 为前端真实域名,避免安全风险。 # --------------------------------------------------------------------------- app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # --------------------------------------------------------------------------- # 路由注册 # --------------------------------------------------------------------------- # 统一以 /api 为前缀,便于将来做版本管理(如 /api/v1、/api/v2)。 # --------------------------------------------------------------------------- app.include_router(deglint_router, prefix="/api") app.include_router(modeling_router, prefix="/api") app.include_router(models_router, prefix="/api") # --------------------------------------------------------------------------- # 根路径健康检查(方便本地调试,非业务必需) # --------------------------------------------------------------------------- @app.get("/") async def root() -> Dict[str, str]: return {"service": "WQ_GUI Backend", "status": "ok"}