feat(routes): 迁移管理员扫码/Cookie/操作记录端点

- web/routers/admin.py:admin/qr/create、admin/qr/check、admin/cookie/status、
  admin/cookie/delete、admin/logs
- 管理员闸用本地实现,文案与「无 error_code」包体与 Flask _verify_admin_password
  逐字对齐(与 auth_system.admin_required 的 forbidden 字段不同)
- QRLoginManager await;文件类操作(save_cookie/logout/_get_cookie_info) 走 to_thread
- Cookie 变更后同步清 VIP 与全局 MUSIC_U 缓存

契约奇偶校验:36 项全 OK(新增 admin:logs、admin:cookie_status、非管理员 403);
ruff All checks passed;pyright 0 errors;冒烟 10/10。
This commit is contained in:
snowy-yang committed 2026-09-26 09:59:04 +08:00
1 parent b7616e9831
commit 22f4d77abd
3 files changed
+207 -1

No files matched your search

+2
View File
@@ -24,6 +24,7 @@ from core.security import init_secret_key
from web.errors import install_error_handlers
from web.middleware import ResponseHygieneMiddleware
from web.routers import account as account_router
from web.routers import admin as admin_router
from web.routers import auth as auth_router
from web.routers import auth_status as auth_status_router
from web.routers import delivery as delivery_router
@@ -93,6 +94,7 @@ def create_app(serve_flask_fallback: bool = False) -> FastAPI:
app.include_router(auth_status_router.router, prefix='/api/v1', tags=['auth'])
app.include_router(auth_router.router, prefix='/api/v1', tags=['auth'])
app.include_router(user_router.router, prefix='/api/v1', tags=['user'])
app.include_router(admin_router.router, prefix='/api/v1', tags=['admin'])
# 首页与静态资源(迁移完成形态;fallback 模式下同路径也能由 Flask 提供)
app.include_router(index_router.router, tags=['index'])