init: 通用库抽离——httpx/logger/wsc/wscclient/jwtx(合并分叉副本); 顶层包布局; module path git.zeroonesoft.cn/golib/zogo
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
package httpx
|
||||
|
||||
import "github.com/gin-gonic/gin"
|
||||
|
||||
// Handle 泛型 handler 收口: Parse 取参 → 调 logic → 统一出参。
|
||||
// 试点新约定: 替代旧模板逐 handler 复制 Parse/OkJson/ErrorJson 的样板。
|
||||
func Handle[TReq any, TResp any](c *gin.Context, fn func(req *TReq) (*TResp, error)) {
|
||||
var req TReq
|
||||
if err := Parse(c, &req); err != nil {
|
||||
ErrorJson(c, err)
|
||||
return
|
||||
}
|
||||
resp, err := fn(&req)
|
||||
if err != nil {
|
||||
ErrorJson(c, err)
|
||||
return
|
||||
}
|
||||
OkJson(c, resp)
|
||||
}
|
||||
|
||||
// HandleResult 统一收口:err 非 nil 走 ErrorJson,否则 OkJson(data)。
|
||||
func HandleResult(c *gin.Context, data any, err error) {
|
||||
if err != nil {
|
||||
ErrorJson(c, err)
|
||||
return
|
||||
}
|
||||
OkJson(c, data)
|
||||
}
|
||||
Reference in New Issue
Block a user