修正任务清单
This commit is contained in:
		| @@ -7,7 +7,8 @@ | ||||
| - [x] **2. 控制器辅助函数 (最基础的依赖)** | ||||
|     - [x] **`internal/app/controller/response.go`** | ||||
|         - [x] 将 `*gin.Context` 参数全部替换为 `echo.Context`。 | ||||
|         - [x] 修改 `SendResponse` 和 `SendErrorResponse` 等函数,使其不再直接写入响应,而是返回 `error`,并在内部调用 `c.JSON(...)`。 | ||||
|         - [x] 修改 `SendResponse` 和 `SendErrorResponse` 等函数,使其不再直接写入响应,而是返回 `error`,并在内部调用 | ||||
|           `c.JSON(...)`。 | ||||
|     - [x] **`internal/app/controller/auth_utils.go`** | ||||
|         - [x] 将 `*gin.Context` 参数全部替换为 `echo.Context`。 | ||||
|         - [x] 适配 `Get...FromContext` 系列函数,使用 `c.Get("key")` 提取数据。 | ||||
| @@ -15,29 +16,47 @@ | ||||
| - [ ] **3. 中间件 (`internal/app/middleware`)** | ||||
|     - [ ] **`auth.go`** | ||||
|         - [ ] 将 `import "github.com/gin-gonic/gin"` 替换为 `import "github.com/labstack/echo/v4"`。 | ||||
|         - [ ] 将中间件函数签名从 `func AuthMiddleware(...) gin.HandlerFunc` 更新为 `func AuthMiddleware(...) echo.MiddlewareFunc`。 | ||||
|         - [ ] 适配中间件内部逻辑,将 `func(c *gin.Context)` 改造为 `func(next echo.HandlerFunc) echo.HandlerFunc { return func(c echo.Context) error { ... } }` 的结构。 | ||||
|         - [ ] 将 `c.AbortWithStatusJSON(...)` 调用替换为 `return c.JSON(...)`。 | ||||
|         - [ ] 将中间件函数签名从 `func AuthMiddleware(...) gin.HandlerFunc` 更新为 | ||||
|           `func AuthMiddleware(...) echo.MiddlewareFunc`。 | ||||
|         - [ ] 适配中间件内部逻辑,将 `func(c *gin.Context)` 改造为 | ||||
|           `func(next echo.HandlerFunc) echo.HandlerFunc { return func(c echo.Context) error { ... } }` 的结构。 | ||||
|         - [ ] 将 `c.AbortWithStatusJSON(...)` 调用替换为 `return controller.SendErrorResponse(...)`。 | ||||
|         - [ ] 在逻辑正常通过的末尾,调用 `return next(c)`。 | ||||
|     - [ ] **`audit.go`** | ||||
|         - [ ] 将 `import "github.com/gin-gonic/gin"` 替换为 `import "github.com/labstack/echo/v4"`。 | ||||
|         - [ ] 将中间件函数签名从 `func AuditMiddleware(...) gin.HandlerFunc` 更新为 | ||||
|           `func AuditMiddleware(...) echo.MiddlewareFunc`。 | ||||
|         - [ ] 适配中间件内部逻辑,将 `func(c *gin.Context)` 改造为 | ||||
|           `func(next echo.HandlerFunc) echo.HandlerFunc { return func(c echo.Context) error { ... } }` 的结构。 | ||||
|         - [ ] 在调用 `next(c)` 之前和之后,使用 `c.Get(...)` 来获取和处理审计信息。 | ||||
|         - [ ] 在逻辑正常通过的末尾,调用 `return next(c)`。 | ||||
|  | ||||
| - [ ] **4. 控制器 (`internal/app/controller/...`)** | ||||
|     - [ ] **通用修改**:对所有控制器文件执行以下操作: | ||||
|         - [ ] 将 `import "github.com/gin-gonic/gin"` 替换为 `import "github.com/labstack/echo/v4"`。 | ||||
|         - [ ] 将所有处理函数签名从 `func(c *gin.Context)` 修改为 `func(c echo.Context) error`。 | ||||
|         - [ ] 将 `c.ShouldBindJSON(&req)` 或 `c.ShouldBindQuery(&req)` 替换为 `if err := c.Bind(&req); err != nil { ... }`。 | ||||
|         - [ ] 将 `c.ShouldBindJSON(&req)` 或 `c.ShouldBindQuery(&req)` 替换为 | ||||
|           `if err := c.Bind(&req); err != nil { ... }`。 | ||||
|         - [ ] 将 `c.Param("id")` 替换为 `c.Param("id")` (用法相同,检查返回值即可)。 | ||||
|         - [ ] 将 `controller.SendResponse(c, ...)` 和 `controller.SendErrorResponse(c, ...)` 调用修改为 `return controller.SendResponse(c, ...)` 和 `return controller.SendErrorResponse(c, ...)`。 | ||||
|         - [ ] 将 `controller.SendResponse(c, ...)` 和 `controller.SendErrorResponse(c, ...)` 调用修改为 | ||||
|           `return controller.SendResponse(c, ...)` 和 `return controller.SendErrorResponse(c, ...)`。 | ||||
|     - [ ] **文件清单** (按依赖顺序建议): | ||||
|         - [ ] `internal/app/controller/management/controller_helpers.go` (注意此文件中的泛型辅助函数也需要适配) | ||||
|         - [ ] `internal/app/controller/management/controller_helpers.go` | ||||
|         - [ ] `internal/app/controller/device/device_controller.go` | ||||
|         - [ ] `internal/app/controller/management/pig_farm_controller.go` | ||||
|         - [ ] `internal/app/controller/management/pig_batch_controller.go` | ||||
|         - [ ] `internal/app/controller/management/pig_batch_health_controller.go` | ||||
|         - [ ] `internal/app/controller/management/pig_batch_trade_controller.go` | ||||
|         - [ ] `internal/app/controller/management/pig_batch_transfer_controller.go` | ||||
|         - [ ] `internal/app/controller/monitor/monitor_controller.go` | ||||
|         - [ ] `internal/app/controller/plan/plan_controller.go` | ||||
|         - [ ] `internal/app/controller/user/user_controller.go` | ||||
|  | ||||
| - [ ] **5. 核心 API 层 (`internal/app/api`)** | ||||
|     - [ ] **`router.go`** | ||||
|         - [ ] 将所有 `router.GET`, `router.POST` 等 Gin 路由注册方法替换为 Echo 的 `e.GET`, `e.POST` 等方法。 | ||||
|         - [ ] 将 Swagger 路由 `router.GET("/swagger/*", ginSwagger.WrapHandler(swaggerFiles.Handler))` 替换为 `e.GET("/swagger/*", echoSwagger.WrapHandler)`。 | ||||
|         - [ ] 将 Swagger 路由 `router.GET("/swagger/*", ginSwagger.WrapHandler(swaggerFiles.Handler))` 替换为 | ||||
|           `e.GET("/swagger/*", echoSwagger.WrapHandler)`。 | ||||
|         - [ ] 将 pprof 路由的 `gin.WrapH` 和 `gin.WrapF` 调用替换为 `echo.WrapHandler` 和 `echo.WrapFunc`。 | ||||
|     - [ ] **`api.go`** | ||||
|         - [ ] 将 `engine *gin.Engine` 替换为 `engine *echo.Echo`。 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user