init: 通用库抽离——httpx/logger/wsc/wscclient/jwtx(合并分叉副本); 顶层包布局; module path git.zeroonesoft.cn/golib/zogo
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
// Package httpx 提供 Gin 服务的统一出入参收口:统一 JSON 响应格式、
|
||||
// 错误码透出(CodeMsg)与请求参数绑定校验(Parse)。
|
||||
package httpx
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// OkJson 以 200 OK 返回成功响应,统一格式:{code:0, msg:"OK", data:...}
|
||||
func OkJson(c *gin.Context, data any) {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"msg": "OK",
|
||||
"data": data,
|
||||
})
|
||||
}
|
||||
|
||||
// ErrorJson 统一错误出参: CodeMsg 携带的错误码透出(如 401), 其余折叠为 code 1。
|
||||
func ErrorJson(c *gin.Context, err error) {
|
||||
code := 1
|
||||
msg := err.Error()
|
||||
var cm *CodeMsg
|
||||
if errors.As(err, &cm) {
|
||||
code = cm.Code
|
||||
msg = cm.Msg
|
||||
}
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": code,
|
||||
"msg": msg,
|
||||
"data": nil,
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user