u
This commit is contained in:
1 parent
be8eaae7c5
commit
d6dd5b032d
11 files changed
+202
-112
No files matched your search
@@ -8,6 +8,7 @@ import (
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// Result 响应结构
|
||||
type Result struct {
|
||||
Code int `json:"code"`
|
||||
Message string `json:"message"`
|
||||
@@ -15,6 +16,7 @@ type Result struct {
|
||||
TrackId string `json:"trackId,omitempty"`
|
||||
}
|
||||
|
||||
// HttpCode 响应状态码
|
||||
var HttpCode = struct {
|
||||
Success int
|
||||
Unauthorized int
|
||||
@@ -27,31 +29,37 @@ var HttpCode = struct {
|
||||
RefreshToken: 402,
|
||||
}
|
||||
|
||||
// Builder 响应构建器
|
||||
type Builder struct {
|
||||
c *router.Context
|
||||
result Result
|
||||
c *router.Context
|
||||
result Result
|
||||
statusCode int // 可自定义 HTTP 状态码
|
||||
}
|
||||
|
||||
// Success 构造成功响应
|
||||
func Success(c *router.Context) *Builder {
|
||||
return &Builder{
|
||||
c: c,
|
||||
result: Result{
|
||||
Code: HttpCode.Success,
|
||||
Message: "请求成功",
|
||||
},
|
||||
c: c,
|
||||
result: Result{Code: HttpCode.Success, Message: "请求成功"},
|
||||
statusCode: http.StatusOK,
|
||||
}
|
||||
}
|
||||
|
||||
// Fail 构造失败响应
|
||||
func Fail(c *router.Context) *Builder {
|
||||
return &Builder{
|
||||
c: c,
|
||||
result: Result{
|
||||
Code: HttpCode.Fail,
|
||||
Message: "请求失败",
|
||||
},
|
||||
c: c,
|
||||
result: Result{Code: HttpCode.Fail, Message: "请求失败"},
|
||||
statusCode: http.StatusOK,
|
||||
}
|
||||
}
|
||||
|
||||
// Status 设置自定义 HTTP 状态码
|
||||
func (b *Builder) Status(code int) *Builder {
|
||||
b.statusCode = code
|
||||
return b
|
||||
}
|
||||
|
||||
func (b *Builder) Code(code int) *Builder {
|
||||
b.result.Code = code
|
||||
return b
|
||||
@@ -67,6 +75,7 @@ func (b *Builder) Data(data interface{}) *Builder {
|
||||
return b
|
||||
}
|
||||
|
||||
// Send 发送响应
|
||||
func (b *Builder) Send() error {
|
||||
if b.result.Data == nil {
|
||||
b.result.Data = ""
|
||||
@@ -74,5 +83,5 @@ func (b *Builder) Send() error {
|
||||
if trackId := routinex.Get(logx.TrackID); trackId != nil {
|
||||
b.result.TrackId = strutil.ToString(trackId)
|
||||
}
|
||||
return b.c.JSON(http.StatusOK, b.result)
|
||||
return b.c.JSON(b.statusCode, b.result)
|
||||
}
|
||||
Reference in new issue
Block a user