31 lines
879 B
Go
31 lines
879 B
Go
package controller
|
||
|
||
import (
|
||
"net/http"
|
||
|
||
"github.com/gin-gonic/gin"
|
||
)
|
||
|
||
// Response 定义统一的API响应结构体
|
||
type Response struct {
|
||
Code int `json:"code"` // 业务状态码
|
||
Message string `json:"message"` // 提示信息
|
||
Data interface{} `json:"data"` // 业务数据
|
||
}
|
||
|
||
// SendResponse 发送统一格式的JSON响应
|
||
// httpStatus 参数现在将几乎总是 http.StatusOK,业务状态码通过 Response.Code 传递
|
||
func SendResponse(ctx *gin.Context, code int, message string, data interface{}) {
|
||
ctx.JSON(http.StatusOK, Response{
|
||
Code: code,
|
||
Message: message,
|
||
Data: data,
|
||
})
|
||
}
|
||
|
||
// SendErrorResponse 发送统一格式的错误响应
|
||
// 错误响应通常不包含业务数据,因此 data 参数固定为 nil
|
||
func SendErrorResponse(ctx *gin.Context, code int, message string) {
|
||
SendResponse(ctx, code, message, nil)
|
||
}
|