48 lines
1.2 KiB
Go
48 lines
1.2 KiB
Go
package controller
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// --- 业务状态码 ---
|
|
const (
|
|
// 成功状态码 (2000-2999)
|
|
CodeSuccess = 2000 // 操作成功
|
|
CodeCreated = 2001 // 创建成功
|
|
|
|
// 客户端错误状态码 (4000-4999)
|
|
CodeBadRequest = 4000 // 请求参数错误
|
|
CodeUnauthorized = 4001 // 未授权
|
|
CodeNotFound = 4004 // 资源未找到
|
|
CodeConflict = 4009 // 资源冲突
|
|
|
|
// 服务器错误状态码 (5000-5999)
|
|
CodeInternalError = 5000 // 服务器内部错误
|
|
CodeServiceUnavailable = 5003 // 服务不可用
|
|
)
|
|
|
|
// --- 通用响应结构 ---
|
|
|
|
// Response 定义统一的API响应结构体
|
|
type Response struct {
|
|
Code int `json:"code"` // 业务状态码
|
|
Message string `json:"message"` // 提示信息
|
|
Data interface{} `json:"data"` // 业务数据
|
|
}
|
|
|
|
// SendResponse 发送统一格式的JSON响应
|
|
func SendResponse(ctx *gin.Context, code int, message string, data interface{}) {
|
|
ctx.JSON(http.StatusOK, Response{
|
|
Code: code,
|
|
Message: message,
|
|
Data: data,
|
|
})
|
|
}
|
|
|
|
// SendErrorResponse 发送统一格式的错误响应
|
|
func SendErrorResponse(ctx *gin.Context, code int, message string) {
|
|
SendResponse(ctx, code, message, nil)
|
|
}
|