#!/usr/bin/env python """ @Contact : liuyuqi.gov@msn.cn @Time : 2024/03/22 09:27:16 @License : Copyright © 2017-2022 liuyuqi. All Rights Reserved. @Desc : """ from fastapi import APIRouter, FastAPI, Request, HTTPException, status from fastapi.responses import ( StreamingResponse, JSONResponse, HTMLResponse, FileResponse, RedirectResponse, Response, ) from pathlib import Path router = APIRouter() @router.get("/") async def index(): return {"code": 200, "message": "this is backend api"} # @router.get("/{full_path:path}", include_in_schema=False) # def spa(full_path: str): # dist_dir = Path(__file__).parent.parent.parent / "dist" # # TODO: hacky way to only serve index.html on root urls # files = [entry.name for entry in dist_dir.iterdir() if entry.is_file()] # if full_path in files: # return FileResponse(dist_dir / full_path) # if "." in full_path: # raise HTTPException(status_code=404, detail="Asset not found") # return HTMLResponse((dist_dir / "index.html").read_bytes())