外观
中间件
中间件统一定义在 src/middlewares 目录下。
16 个中间件按顺序执行:
| 中间件 | 职责 | 文件 |
|---|---|---|
| ClientIp | 识别客户端真实 IP | middlewares/ClientIpMiddleware.mts |
| BlockIp | IP 封禁检查 | middlewares/BlockIpMiddleware.mts |
| RateLimit | 请求限流 | middlewares/RateLimitMiddleware.mts |
| Helmet | 安全 HTTP 头 | middlewares/HelmetMiddleware.mts |
| CORS | 跨域控制 | middlewares/CorsMiddleware.mts |
| Session | 会话管理 | middlewares/SessionMiddleware.mts |
| Performance | 性能监控 | middlewares/PerformanceMiddleware.mts |
| Auth | 身份验证 | middlewares/AuthMiddleware.mts |
| Response | 统一响应格式 | middlewares/ResponseMiddleware.mts |
| BodyValidate | 请求体验证 | middlewares/BodyValidateMiddleware.mts |
| Multipart | 文件上传 | middlewares/MultipartMiddleware.mts |
| ServerAuth | 服务端认证 | middlewares/ServerAuthMiddleware.mts |
| SiteDown | 站点维护模式 | middlewares/SiteDownMiddleware.mts |
| NotFound | 404 处理 | middlewares/NotFoundMiddleware.mts |
| User | 用户身份识别 | middlewares/UserMiddleware.mts |
| Error | 错误处理 | middlewares/ErrorMiddleware.mts |
bodyValidateMiddleware
用于校验请求体参数是否符合定义的 schema,支持校验 req.query、req.body 和 req.params。
userMiddleware
用于从请求中提取用户信息,将其挂载到请求对象上(可通过 req.user 访问)。
authMiddleware
用于校验用户是否登录,以及对应角色是否有访问该路由的权限。