From 518d45d29606d865f17304bbef9b4e63e7be66e1 Mon Sep 17 00:00:00 2001 From: qhd <1766646056@qq.com> Date: Wed, 22 Apr 2026 14:52:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=90=AF=E7=94=A8API=E5=93=8D=E5=BA=94?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- http/http.go | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/http/http.go b/http/http.go index dbd585a..fe98596 100644 --- a/http/http.go +++ b/http/http.go @@ -2,6 +2,7 @@ package http import ( "context" + "errors" "fmt" "net/http" "reflect" @@ -129,28 +130,28 @@ func doRequest(ctx context.Context, method string, url string, headers map[strin return } defer response.Close() - //result := response.ReadAll() - // - //// 统一处理内部API响应格式:{code:200,message:"",data:{...}} - //resultStrut := &ghttp.DefaultHandlerResponse{} - // - //if err = gconv.Struct(result, &resultStrut); err != nil { // 修复:增加err检查 - // return errors.New("响应解析失败: " + err.Error()) - //} - // - //// 添加调试日志:打印解析后的结构 - //g.Log().Debugf(ctx, "[HTTP] 解析后结构: Code=%d, Message=%s, Data类型=%T, Data值=%+v", - // resultStrut.Code, resultStrut.Message, resultStrut.Data, resultStrut.Data) - // - //if resultStrut.Code == 200 || resultStrut.Code == 0 { - // if err = gconv.Struct(resultStrut.Data, target); err != nil { // 修复:增加err检查 - // return errors.New("数据解析失败: " + err.Error()) - // } - // // 添加调试日志:打印最终的target - // g.Log().Debugf(ctx, "[HTTP] 最终target: %+v", target) - //} else { - // err = errors.New(resultStrut.Message) - //} + result := response.ReadAll() + + // 统一处理内部API响应格式:{code:200,message:"",data:{...}} + resultStrut := &ghttp.DefaultHandlerResponse{} + + if err = gconv.Struct(result, &resultStrut); err != nil { // 修复:增加err检查 + return errors.New("响应解析失败: " + err.Error()) + } + + // 添加调试日志:打印解析后的结构 + g.Log().Debugf(ctx, "[HTTP] 解析后结构: Code=%d, Message=%s, Data类型=%T, Data值=%+v", + resultStrut.Code, resultStrut.Message, resultStrut.Data, resultStrut.Data) + + if resultStrut.Code == 200 || resultStrut.Code == 0 { + if err = gconv.Struct(resultStrut.Data, target); err != nil { // 修复:增加err检查 + return errors.New("数据解析失败: " + err.Error()) + } + // 添加调试日志:打印最终的target + g.Log().Debugf(ctx, "[HTTP] 最终target: %+v", target) + } else { + err = errors.New(resultStrut.Message) + } return } func Get(ctx context.Context, url string, headers map[string]string, target any, data ...any) (err error) {