mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-08 21:30:01 +08:00
✨集成webui资源,可直接访问
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
from fastapi.responses import FileResponse
|
||||
from fastapi.staticfiles import StaticFiles
|
||||
from fastapi import APIRouter, FastAPI
|
||||
|
||||
from zhenxun.services.log import logger
|
||||
|
||||
from .config import PUBLIC_PATH
|
||||
from .data_source import update_webui_assets
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/")
|
||||
async def index():
|
||||
return FileResponse(PUBLIC_PATH / "index.html")
|
||||
|
||||
|
||||
@router.get("/favicon.ico")
|
||||
async def favicon():
|
||||
return FileResponse(PUBLIC_PATH / "favicon.ico")
|
||||
|
||||
|
||||
async def init_public(app: FastAPI):
|
||||
try:
|
||||
if not PUBLIC_PATH.exists():
|
||||
await update_webui_assets()
|
||||
app.include_router(router)
|
||||
for pathname in ["css", "js", "fonts", "img"]:
|
||||
app.mount(
|
||||
f"/{pathname}",
|
||||
StaticFiles(directory=PUBLIC_PATH / pathname, check_dir=True),
|
||||
name=f"public_{pathname}",
|
||||
)
|
||||
except Exception as e:
|
||||
logger.error(f"初始化 web ui assets 失败 e: {e}", "Web UI assets")
|
||||
Reference in New Issue
Block a user