ui.py 592 B

123456789101112131415161718192021
  1. import os
  2. from fastapi import FastAPI
  3. from fastapi.responses import FileResponse
  4. from fastapi.staticfiles import StaticFiles
  5. def register(app: FastAPI):
  6. ui_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), "ui")
  7. if not os.path.isdir(ui_dir):
  8. return
  9. for name in ["css", "js", "static"]:
  10. app.mount(
  11. f"/{name}",
  12. StaticFiles(directory=os.path.join(ui_dir, name)),
  13. name=name,
  14. )
  15. @app.get("/", include_in_schema=False)
  16. async def index():
  17. return FileResponse(os.path.join(ui_dir, "index.html"))