From 0f31e298d49e6c04ba5fa6b5b06f1d8ec7d78677 Mon Sep 17 00:00:00 2001 From: eson <9673575+githubcontent@user.noreply.gitee.com> Date: Mon, 12 Jun 2023 17:28:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=AC=E5=85=B1=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E4=B8=BAbasic=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- goctl_template/api/handler.tpl | 10 ++-- goctl_template/api/logic.tpl | 2 +- .../handler/useraddresslisthandler.go | 8 ++-- .../internal/handler/userbasicinfohandler.go | 8 ++-- .../internal/handler/userfontshandler.go | 8 ++-- .../internal/handler/usergettypehandler.go | 8 ++-- .../internal/handler/userloginhandler.go | 2 +- .../handler/usersavebasicinfohandler.go | 8 ++-- .../handler/userstatusconfighandler.go | 8 ++-- .../internal/logic/userfontslogic.go | 2 +- .../internal/logic/userloginlogic.go | 2 +- utils/basic/basic.go | 46 +++++++++++++++++++ 12 files changed, 79 insertions(+), 33 deletions(-) diff --git a/goctl_template/api/handler.tpl b/goctl_template/api/handler.tpl index 987750da..3da5520e 100644 --- a/goctl_template/api/handler.tpl +++ b/goctl_template/api/handler.tpl @@ -8,7 +8,8 @@ import ( "github.com/zeromicro/go-zero/rest/httpx" "fusenapi/utils/auth" - + "fusenapi/utils/basic" + {{.ImportPackages}} ) @@ -18,7 +19,7 @@ func {{.HandlerName}}(svcCtx *svc.ServiceContext) http.HandlerFunc { claims, err := svcCtx.ParseJwtToken(r) // 如果解析出错,则返回未授权的JSON响应并记录错误消息 if err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 401, Message: "unauthorized", }) @@ -30,7 +31,7 @@ func {{.HandlerName}}(svcCtx *svc.ServiceContext) http.HandlerFunc { userinfo, err := auth.GetUserInfoFormMapClaims(claims) // 如果获取用户信息出错,则返回未授权的JSON响应并记录错误消息 if err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 401, Message: "unauthorized", }) @@ -41,7 +42,7 @@ func {{.HandlerName}}(svcCtx *svc.ServiceContext) http.HandlerFunc { {{if .HasRequest}}var req types.{{.RequestType}} // 如果端点有请求结构体,则使用httpx.Parse方法从HTTP请求体中解析请求数据 if err := httpx.Parse(r, &req); err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 510, Message: "parameter error", }) @@ -60,6 +61,5 @@ func {{.HandlerName}}(svcCtx *svc.ServiceContext) http.HandlerFunc { httpx.ErrorCtx(r.Context(), w, err) logx.Error(err) } - return } } diff --git a/goctl_template/api/logic.tpl b/goctl_template/api/logic.tpl index 57cadfdf..09147e36 100644 --- a/goctl_template/api/logic.tpl +++ b/goctl_template/api/logic.tpl @@ -21,7 +21,7 @@ func New{{.logic}}(ctx context.Context, svcCtx *svc.ServiceContext) *{{.logic}} } } -func (l *{{.logic}}) {{.function}}({{.request}}, userinfo *auth.UserInfo) (resp *types.Response) { +func (l *{{.logic}}) {{.function}}({{.request}}, userinfo *auth.UserInfo) (resp *basic.Response) { // 返回值必须调用Set重新返回, resp可以空指针调用 resp.SetStatus(basic.CodeOK, data) // userinfo 传入值时, 一定不为null diff --git a/server/home-user-auth/internal/handler/useraddresslisthandler.go b/server/home-user-auth/internal/handler/useraddresslisthandler.go index 9bc2e636..5682aed8 100644 --- a/server/home-user-auth/internal/handler/useraddresslisthandler.go +++ b/server/home-user-auth/internal/handler/useraddresslisthandler.go @@ -8,6 +8,7 @@ import ( "github.com/zeromicro/go-zero/rest/httpx" "fusenapi/utils/auth" + "fusenapi/utils/basic" "fusenapi/server/home-user-auth/internal/logic" "fusenapi/server/home-user-auth/internal/svc" @@ -20,7 +21,7 @@ func UserAddressListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { claims, err := svcCtx.ParseJwtToken(r) // 如果解析出错,则返回未授权的JSON响应并记录错误消息 if err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 401, Message: "unauthorized", }) @@ -32,7 +33,7 @@ func UserAddressListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { userinfo, err := auth.GetUserInfoFormMapClaims(claims) // 如果获取用户信息出错,则返回未授权的JSON响应并记录错误消息 if err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 401, Message: "unauthorized", }) @@ -43,7 +44,7 @@ func UserAddressListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { var req types.Request // 如果端点有请求结构体,则使用httpx.Parse方法从HTTP请求体中解析请求数据 if err := httpx.Parse(r, &req); err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 510, Message: "parameter error", }) @@ -62,6 +63,5 @@ func UserAddressListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { httpx.ErrorCtx(r.Context(), w, err) logx.Error(err) } - return } } diff --git a/server/home-user-auth/internal/handler/userbasicinfohandler.go b/server/home-user-auth/internal/handler/userbasicinfohandler.go index f01f0b25..8a0245b8 100644 --- a/server/home-user-auth/internal/handler/userbasicinfohandler.go +++ b/server/home-user-auth/internal/handler/userbasicinfohandler.go @@ -8,6 +8,7 @@ import ( "github.com/zeromicro/go-zero/rest/httpx" "fusenapi/utils/auth" + "fusenapi/utils/basic" "fusenapi/server/home-user-auth/internal/logic" "fusenapi/server/home-user-auth/internal/svc" @@ -20,7 +21,7 @@ func UserBasicInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { claims, err := svcCtx.ParseJwtToken(r) // 如果解析出错,则返回未授权的JSON响应并记录错误消息 if err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 401, Message: "unauthorized", }) @@ -32,7 +33,7 @@ func UserBasicInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { userinfo, err := auth.GetUserInfoFormMapClaims(claims) // 如果获取用户信息出错,则返回未授权的JSON响应并记录错误消息 if err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 401, Message: "unauthorized", }) @@ -43,7 +44,7 @@ func UserBasicInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { var req types.Request // 如果端点有请求结构体,则使用httpx.Parse方法从HTTP请求体中解析请求数据 if err := httpx.Parse(r, &req); err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 510, Message: "parameter error", }) @@ -62,6 +63,5 @@ func UserBasicInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { httpx.ErrorCtx(r.Context(), w, err) logx.Error(err) } - return } } diff --git a/server/home-user-auth/internal/handler/userfontshandler.go b/server/home-user-auth/internal/handler/userfontshandler.go index 9fd1137c..b7c1a6c2 100644 --- a/server/home-user-auth/internal/handler/userfontshandler.go +++ b/server/home-user-auth/internal/handler/userfontshandler.go @@ -8,6 +8,7 @@ import ( "github.com/zeromicro/go-zero/rest/httpx" "fusenapi/utils/auth" + "fusenapi/utils/basic" "fusenapi/server/home-user-auth/internal/logic" "fusenapi/server/home-user-auth/internal/svc" @@ -20,7 +21,7 @@ func UserFontsHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { claims, err := svcCtx.ParseJwtToken(r) // 如果解析出错,则返回未授权的JSON响应并记录错误消息 if err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 401, Message: "unauthorized", }) @@ -32,7 +33,7 @@ func UserFontsHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { userinfo, err := auth.GetUserInfoFormMapClaims(claims) // 如果获取用户信息出错,则返回未授权的JSON响应并记录错误消息 if err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 401, Message: "unauthorized", }) @@ -43,7 +44,7 @@ func UserFontsHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { var req types.Request // 如果端点有请求结构体,则使用httpx.Parse方法从HTTP请求体中解析请求数据 if err := httpx.Parse(r, &req); err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 510, Message: "parameter error", }) @@ -62,6 +63,5 @@ func UserFontsHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { httpx.ErrorCtx(r.Context(), w, err) logx.Error(err) } - return } } diff --git a/server/home-user-auth/internal/handler/usergettypehandler.go b/server/home-user-auth/internal/handler/usergettypehandler.go index dc7fb41f..21271e41 100644 --- a/server/home-user-auth/internal/handler/usergettypehandler.go +++ b/server/home-user-auth/internal/handler/usergettypehandler.go @@ -8,6 +8,7 @@ import ( "github.com/zeromicro/go-zero/rest/httpx" "fusenapi/utils/auth" + "fusenapi/utils/basic" "fusenapi/server/home-user-auth/internal/logic" "fusenapi/server/home-user-auth/internal/svc" @@ -20,7 +21,7 @@ func UserGetTypeHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { claims, err := svcCtx.ParseJwtToken(r) // 如果解析出错,则返回未授权的JSON响应并记录错误消息 if err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 401, Message: "unauthorized", }) @@ -32,7 +33,7 @@ func UserGetTypeHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { userinfo, err := auth.GetUserInfoFormMapClaims(claims) // 如果获取用户信息出错,则返回未授权的JSON响应并记录错误消息 if err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 401, Message: "unauthorized", }) @@ -43,7 +44,7 @@ func UserGetTypeHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { var req types.Request // 如果端点有请求结构体,则使用httpx.Parse方法从HTTP请求体中解析请求数据 if err := httpx.Parse(r, &req); err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 510, Message: "parameter error", }) @@ -62,6 +63,5 @@ func UserGetTypeHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { httpx.ErrorCtx(r.Context(), w, err) logx.Error(err) } - return } } diff --git a/server/home-user-auth/internal/handler/userloginhandler.go b/server/home-user-auth/internal/handler/userloginhandler.go index 3b926823..919f92d7 100644 --- a/server/home-user-auth/internal/handler/userloginhandler.go +++ b/server/home-user-auth/internal/handler/userloginhandler.go @@ -21,7 +21,7 @@ func UserLoginHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { var req types.RequestUserLogin // 如果端点有请求结构体,则使用httpx.Parse方法从HTTP请求体中解析请求数据 if err := httpx.Parse(r, &req); err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 510, Message: "parameter error", }) diff --git a/server/home-user-auth/internal/handler/usersavebasicinfohandler.go b/server/home-user-auth/internal/handler/usersavebasicinfohandler.go index b3738ab3..a5894ff7 100644 --- a/server/home-user-auth/internal/handler/usersavebasicinfohandler.go +++ b/server/home-user-auth/internal/handler/usersavebasicinfohandler.go @@ -8,6 +8,7 @@ import ( "github.com/zeromicro/go-zero/rest/httpx" "fusenapi/utils/auth" + "fusenapi/utils/basic" "fusenapi/server/home-user-auth/internal/logic" "fusenapi/server/home-user-auth/internal/svc" @@ -20,7 +21,7 @@ func UserSaveBasicInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { claims, err := svcCtx.ParseJwtToken(r) // 如果解析出错,则返回未授权的JSON响应并记录错误消息 if err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 401, Message: "unauthorized", }) @@ -32,7 +33,7 @@ func UserSaveBasicInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { userinfo, err := auth.GetUserInfoFormMapClaims(claims) // 如果获取用户信息出错,则返回未授权的JSON响应并记录错误消息 if err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 401, Message: "unauthorized", }) @@ -43,7 +44,7 @@ func UserSaveBasicInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { var req types.RequestBasicInfoForm // 如果端点有请求结构体,则使用httpx.Parse方法从HTTP请求体中解析请求数据 if err := httpx.Parse(r, &req); err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 510, Message: "parameter error", }) @@ -62,6 +63,5 @@ func UserSaveBasicInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { httpx.ErrorCtx(r.Context(), w, err) logx.Error(err) } - return } } diff --git a/server/home-user-auth/internal/handler/userstatusconfighandler.go b/server/home-user-auth/internal/handler/userstatusconfighandler.go index 91d7b99d..942b53f1 100644 --- a/server/home-user-auth/internal/handler/userstatusconfighandler.go +++ b/server/home-user-auth/internal/handler/userstatusconfighandler.go @@ -8,6 +8,7 @@ import ( "github.com/zeromicro/go-zero/rest/httpx" "fusenapi/utils/auth" + "fusenapi/utils/basic" "fusenapi/server/home-user-auth/internal/logic" "fusenapi/server/home-user-auth/internal/svc" @@ -20,7 +21,7 @@ func UserStatusConfigHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { claims, err := svcCtx.ParseJwtToken(r) // 如果解析出错,则返回未授权的JSON响应并记录错误消息 if err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 401, Message: "unauthorized", }) @@ -32,7 +33,7 @@ func UserStatusConfigHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { userinfo, err := auth.GetUserInfoFormMapClaims(claims) // 如果获取用户信息出错,则返回未授权的JSON响应并记录错误消息 if err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 401, Message: "unauthorized", }) @@ -43,7 +44,7 @@ func UserStatusConfigHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { var req types.Request // 如果端点有请求结构体,则使用httpx.Parse方法从HTTP请求体中解析请求数据 if err := httpx.Parse(r, &req); err != nil { - httpx.OkJsonCtx(r.Context(), w, &types.Response{ + httpx.OkJsonCtx(r.Context(), w, &basic.Response{ Code: 510, Message: "parameter error", }) @@ -62,6 +63,5 @@ func UserStatusConfigHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { httpx.ErrorCtx(r.Context(), w, err) logx.Error(err) } - return } } diff --git a/server/home-user-auth/internal/logic/userfontslogic.go b/server/home-user-auth/internal/logic/userfontslogic.go index 88ba81b1..44e83111 100644 --- a/server/home-user-auth/internal/logic/userfontslogic.go +++ b/server/home-user-auth/internal/logic/userfontslogic.go @@ -26,7 +26,7 @@ func NewUserFontsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UserFon } } -func (l *UserFontsLogic) UserFonts(req *types.Request, userinfo *auth.UserInfo) (resp *types.Response) { +func (l *UserFontsLogic) UserFonts(req *types.Request, userinfo *auth.UserInfo) (resp *basic.Response) { data, err := model.NewFsFontModel(l.svcCtx.MysqlConn).FindAllOrderSortByDesc(l.ctx) if err != nil { logx.Error(err) diff --git a/server/home-user-auth/internal/logic/userloginlogic.go b/server/home-user-auth/internal/logic/userloginlogic.go index 289b6f08..91dd916b 100644 --- a/server/home-user-auth/internal/logic/userloginlogic.go +++ b/server/home-user-auth/internal/logic/userloginlogic.go @@ -27,7 +27,7 @@ func NewUserLoginLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UserLog } } -func (l *UserLoginLogic) UserLogin(req *types.RequestUserLogin) (resp *types.Response, jwtToken string) { +func (l *UserLoginLogic) UserLogin(req *types.RequestUserLogin) (resp *basic.Response, jwtToken string) { // 创建一个 FsUserModel 对象 m 并实例化之,该对象用于操作 MySQL 数据库中的用户数据表。 m := model.NewFsUserModel(l.svcCtx.MysqlConn) diff --git a/utils/basic/basic.go b/utils/basic/basic.go index 197832fb..b6875e31 100644 --- a/utils/basic/basic.go +++ b/utils/basic/basic.go @@ -15,3 +15,49 @@ var ( CodeUpdateErr = &StatusResponse{5000, "update database error"} // update database logic 错误 ) + +type Response struct { + Code int `json:"code"` + Message string `json:"msg"` + Data interface{} `json:"data"` +} + +// Set 设置Response的Code和Message值 +func (resp *Response) Set(Code int, Message string) *Response { + return &Response{ + Code: Code, + Message: Message, + } +} + +// Set 设置整个Response +func (resp *Response) SetWithData(Code int, Message string, Data interface{}) *Response { + return &Response{ + Code: Code, + Message: Message, + Data: Data, + } +} + +// SetStatus 设置默认StatusResponse(内部自定义) 默认msg, 可以带data, data只使用一个参数 +func (resp *Response) SetStatus(sr *StatusResponse, data ...interface{}) *Response { + newResp := &Response{ + Code: sr.Code, + } + if len(data) == 1 { + newResp.Data = data[0] + } + return newResp +} + +// SetStatusWithMessage 设置默认StatusResponse(内部自定义) 非默认msg, 可以带data, data只使用一个参数 +func (resp *Response) SetStatusWithMessage(sr *StatusResponse, msg string, data ...interface{}) *Response { + newResp := &Response{ + Code: sr.Code, + Message: msg, + } + if len(data) == 1 { + newResp.Data = data[0] + } + return newResp +}