diff --git a/app/main.py b/app/main.py index 50a48de..d2e48a1 100644 --- a/app/main.py +++ b/app/main.py @@ -1,6 +1,7 @@ from pathlib import Path from fastapi import FastAPI +from fastapi.responses import FileResponse from fastapi.staticfiles import StaticFiles from app.config import UPLOAD_DIR @@ -10,6 +11,7 @@ from app.routers import web, api app = FastAPI(title="Mailova 星笺") UPLOAD_DIR.mkdir(exist_ok=True) +STATIC_DIR = Path(__file__).resolve().parent / "static" # Cache-Control for uploaded images (30 days, immutable — filenames contain UUID) @@ -21,7 +23,12 @@ async def cache_control_middleware(request, call_next): return response -app.mount("/static", StaticFiles(directory=str(Path(__file__).resolve().parent / "static")), name="static") +@app.get("/favicon.ico") +async def favicon(): + return FileResponse(STATIC_DIR / "favicon.ico", media_type="image/x-icon") + + +app.mount("/static", StaticFiles(directory=str(STATIC_DIR)), name="static") app.mount("/uploads", StaticFiles(directory=str(UPLOAD_DIR)), name="uploads") app.include_router(web.router) diff --git a/app/static/favicon.ico b/app/static/favicon.ico new file mode 100644 index 0000000..9c66e66 Binary files /dev/null and b/app/static/favicon.ico differ diff --git a/app/templates/base.html b/app/templates/base.html index 2ce08fc..af1e2d9 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -2,6 +2,7 @@ + {% block title %}星笺{% endblock %} diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..71daceb Binary files /dev/null and b/favicon.ico differ