## Why 本项目当前使用 Gin 作为核心 Web 框架。Gin 的路由系统存在一些限制,例如无法优雅地支持类似 `/:id/action` 和 `/:other_id/other-action` 这种在同一层级使用不同动态参数的路由模式。为了解决此问题并利用更现代、灵活的路由和中间件系统,我们计划将框架迁移到 Echo (v4)。本次变更仅进行框架替换,暂不修改现有路由结构。 ## What Changes - **核心框架替换**: 将 `github.com/gin-gonic/gin` 的所有引用替换为 `github.com/labstack/echo/v4`。 - **API 路由重写**: 更新 `internal/app/api/router.go` 以使用 Echo 的路由注册方式。 - **上下文对象适配**: 在所有 Controller 和 Middleware 中,将 `*gin.Context` 替换为 `echo.Context`,并调整相关方法调用。 - **中间件迁移**: 将现有的 Gin 中间件 (`AuthMiddleware`, `AuditLogMiddleware`) 适配为 Echo 的中间件格式。 - **Swagger 文档适配**: 将 `gin-swagger` 替换为 Echo 兼容的 `echo-swagger`,确保 API 文档能够正常生成和访问。 - **Pprof 路由适配**: 确保性能分析工具 pprof 的路由在 Echo 框架下正常工作。 **BREAKING**: 这是一项纯粹的技术栈重构,**不应该**对外部 API 消费者产生任何破坏性影响。所有 API 端点、请求/响应格式将保持完全兼容。 ## Impact - **Affected specs**: 无。此变更是技术实现层面的重构,不改变任何已定义的功能规约。 - **Affected code**: - `go.mod` / `go.sum`: 依赖项变更。 - `config.yml` / `config.example.yml`: 更新 `mode` 配置项的注释。 - `internal/app/api/api.go` - `internal/app/api/router.go` - `internal/app/middleware/auth.go` - `internal/app/middleware/audit.go` - `internal/app/controller/**/*.go`: 所有控制器及其辅助函数。