Spaces:
Runtime error
Runtime error
| from contextlib import asynccontextmanager | |
| from fastapi import FastAPI | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from fastapi.staticfiles import StaticFiles | |
| from fastapi.responses import FileResponse | |
| from packages.core.logger import app_logger | |
| # 我们将之前写好的 trade 接口引入 | |
| from apps.api.routers import trade, entity, export, subscription, bi | |
| async def lifespan(app: FastAPI): | |
| # 启动时初始化 | |
| app_logger.info("Initializing API Service...") | |
| yield | |
| # 关闭时 | |
| app_logger.info("Closing API Service...") | |
| app = FastAPI( | |
| title="Customs Data API", | |
| description="海关数据查询服务 API", | |
| version="1.0.0", | |
| lifespan=lifespan | |
| ) | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| # 挂载静态文件 | |
| app.mount("/static", StaticFiles(directory="apps/api/static"), name="static") | |
| async def serve_ui(): | |
| return FileResponse("apps/api/static/index.html") | |
| async def health_check(): | |
| return {"status": "ok", "service": "Customs Data API"} | |
| app.include_router(trade.router, prefix="/api/v1/trade", tags=["Trade Search"]) | |
| app.include_router(entity.router, prefix="/api/v1/entity", tags=["Entity Search"]) | |
| app.include_router(export.router, prefix="/api/v1/export", tags=["Export"]) | |
| app.include_router(subscription.router, prefix="/api/v1/subscription", tags=["Subscription"]) | |
| app.include_router(bi.router, prefix="/api/v1/bi", tags=["BI Dashboard"]) | |