// Package controller 提供控制器层的公共功能 // 包含公共响应结构体和处理函数等 package controller import ( "net/http" "github.com/gin-gonic/gin" ) // APIResponse 通用API响应结构体 type APIResponse struct { Code int `json:"code"` Message string `json:"message"` Data interface{} `json:"data,omitempty"` } // 自定义状态码常量 const ( SuccessCode = 0 // 成功 InvalidParameterCode = 1001 // 参数无效 UnauthorizedCode = 1002 // 未授权 ForbiddenCode = 1003 // 禁止访问 NotFoundCode = 1004 // 资源未找到 InternalServerErrorCode = 1005 // 内部服务器错误 ) // SuccessResponseData 成功响应数据结构体 type SuccessResponseData struct { Message string `json:"message"` Data interface{} `json:"data,omitempty"` } // SendSuccessResponse 发送成功响应的公共函数 func SendSuccessResponse(ctx *gin.Context, message string, data interface{}) { response := APIResponse{ Code: SuccessCode, Message: message, Data: data, } ctx.JSON(http.StatusOK, response) } // SendErrorResponse 发送错误响应的公共函数 func SendErrorResponse(ctx *gin.Context, code int, message string) { response := APIResponse{ Code: code, Message: message, } ctx.JSON(http.StatusOK, response) } // SendHTTPErrorResponse 发送HTTP错误响应的公共函数 func SendHTTPErrorResponse(ctx *gin.Context, httpCode int, code int, message string) { response := APIResponse{ Code: code, Message: message, } ctx.JSON(httpCode, response) }