feat(ui): add favicon.ico route and link tag in base template

This commit is contained in:
2026-07-18 09:21:07 +08:00
parent b0e69fc123
commit e7396de1a4
4 changed files with 9 additions and 1 deletions
+8 -1
View File
@@ -1,6 +1,7 @@
from pathlib import Path from pathlib import Path
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.responses import FileResponse
from fastapi.staticfiles import StaticFiles from fastapi.staticfiles import StaticFiles
from app.config import UPLOAD_DIR from app.config import UPLOAD_DIR
@@ -10,6 +11,7 @@ from app.routers import web, api
app = FastAPI(title="Mailova 星笺") app = FastAPI(title="Mailova 星笺")
UPLOAD_DIR.mkdir(exist_ok=True) UPLOAD_DIR.mkdir(exist_ok=True)
STATIC_DIR = Path(__file__).resolve().parent / "static"
# Cache-Control for uploaded images (30 days, immutable — filenames contain UUID) # 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 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.mount("/uploads", StaticFiles(directory=str(UPLOAD_DIR)), name="uploads")
app.include_router(web.router) app.include_router(web.router)
Binary file not shown.

After

Width:  |  Height:  |  Size: 135 B

+1
View File
@@ -2,6 +2,7 @@
<html lang="zh-CN"> <html lang="zh-CN">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}星笺{% endblock %}</title> <title>{% block title %}星笺{% endblock %}</title>
<link rel="stylesheet" href="/static/style.css"> <link rel="stylesheet" href="/static/style.css">
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB