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)
 | ||
| }
 |