From 50ece505c51aa5599aa8c906184df8514c035d2a Mon Sep 17 00:00:00 2001 From: qhd <1766646056@qq.com> Date: Wed, 18 Mar 2026 12:44:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E4=BB=A3=E7=90=86?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E7=9A=84=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E4=BC=A0=E9=80=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/main.go b/main.go index fca5c65..fe5c0cf 100644 --- a/main.go +++ b/main.go @@ -12,8 +12,10 @@ import ( "gitea.com/red-future/common/http" "gitea.com/red-future/common/middleware" _ "gitea.com/red-future/common/swagger" + "gitea.com/red-future/common/utils" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" + "github.com/gogf/gf/v2/util/gconv" ) func StartServerProxy() { @@ -64,6 +66,21 @@ func StartServerProxy() { proxy.ErrorHandler = func(writer netHttp.ResponseWriter, request *netHttp.Request, e error) { writer.WriteHeader(netHttp.StatusBadGateway) } + + user, err := utils.GetUserInfo(r.GetCtx()) + if err != nil { + g.Log().Errorf(r.GetCtx(), "获取用户信息失败: %v", err) + r.Response.Status = 500 + r.Response.WriteJsonExit(map[string]interface{}{ + "success": false, + "code": 500, + "message": "获取用户信息失败", + }) + return + } + // 将用户信息通过 Header 传递给下游服务 + r.Request.Header.Set("X-User-Info", gconv.String(&user)) + proxy.ServeHTTP(r.Response.Writer, r.Request) }) }