1010from fastapi_pagination import add_pagination
1111from starlette .middleware .authentication import AuthenticationMiddleware
1212
13- from backend .app .router import route
1413from backend .common .exception .exception_handler import register_exception
1514from backend .common .log import set_customize_logfile , setup_logging
1615from backend .core .conf import settings
2019from backend .middleware .jwt_auth_middleware import JwtAuthMiddleware
2120from backend .middleware .opera_log_middleware import OperaLogMiddleware
2221from backend .middleware .state_middleware import StateMiddleware
22+ from backend .plugin .tools import plugin_router_inject
2323from backend .utils .demo_site import demo_site
2424from backend .utils .health_check import ensure_unique_route_names , http_limit_callback
2525from backend .utils .openapi import simplify_operation_ids
@@ -39,7 +39,9 @@ async def register_init(app: FastAPI):
3939 await redis_client .open ()
4040 # 初始化 limiter
4141 await FastAPILimiter .init (
42- redis = redis_client , prefix = settings .REQUEST_LIMITER_REDIS_PREFIX , http_callback = http_limit_callback
42+ redis = redis_client ,
43+ prefix = settings .REQUEST_LIMITER_REDIS_PREFIX ,
44+ http_callback = http_limit_callback ,
4345 )
4446
4547 yield
@@ -156,7 +158,11 @@ def register_router(app: FastAPI):
156158 dependencies = [Depends (demo_site )] if settings .DEMO_MODE else None
157159
158160 # API
159- app .include_router (route , dependencies = dependencies )
161+ plugin_router_inject ()
162+
163+ from backend .app .router import router # 必须在插件路由注入后导入
164+
165+ app .include_router (router , dependencies = dependencies )
160166
161167 # Extra
162168 ensure_unique_route_names (app )
0 commit comments