From 5ff573f8fcf83eba228848f813bddb0e610863c4 Mon Sep 17 00:00:00 2001 From: zetaloop Date: Fri, 3 Apr 2026 17:46:08 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=BB=9F=E4=B8=80=E8=AE=A4?= =?UTF-8?q?=E8=AF=81=E5=93=8D=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/internal/handler/auth/loginHandler.go | 4 +--- .../internal/handler/auth/registerHandler.go | 4 +--- .../api/internal/logic/auth/loginLogic.go | 14 +++++------ .../api/internal/logic/auth/registerLogic.go | 23 ++++++++----------- app/users/api/internal/types/types.go | 8 ++----- desc/api/docs/user-api.json | 12 ---------- desc/api/users.api | 8 ++----- 7 files changed, 22 insertions(+), 51 deletions(-) diff --git a/app/users/api/internal/handler/auth/loginHandler.go b/app/users/api/internal/handler/auth/loginHandler.go index fbb671c..49251b2 100644 --- a/app/users/api/internal/handler/auth/loginHandler.go +++ b/app/users/api/internal/handler/auth/loginHandler.go @@ -23,12 +23,10 @@ func LoginHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { } l := auth.NewLoginLogic(r.Context(), svcCtx) - resp, err := l.Login(&req) + resp, token, err := l.Login(&req) if err != nil { httpx.ErrorCtx(r.Context(), w, err) } else { - token := resp.RefreshToken - resp.RefreshToken = "" http.SetCookie(w, &http.Cookie{ Name: "JToken", Value: token, diff --git a/app/users/api/internal/handler/auth/registerHandler.go b/app/users/api/internal/handler/auth/registerHandler.go index 13d96e1..cee9a8c 100644 --- a/app/users/api/internal/handler/auth/registerHandler.go +++ b/app/users/api/internal/handler/auth/registerHandler.go @@ -23,12 +23,10 @@ func RegisterHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { } l := auth.NewRegisterLogic(r.Context(), svcCtx) - resp, err := l.Register(&req) + resp, token, err := l.Register(&req) if err != nil { httpx.ErrorCtx(r.Context(), w, err) } else { - token := resp.RefreshToken - resp.RefreshToken = "" http.SetCookie(w, &http.Cookie{ Name: "JToken", Value: token, diff --git a/app/users/api/internal/logic/auth/loginLogic.go b/app/users/api/internal/logic/auth/loginLogic.go index c54d14a..62ab8fd 100644 --- a/app/users/api/internal/logic/auth/loginLogic.go +++ b/app/users/api/internal/logic/auth/loginLogic.go @@ -29,10 +29,10 @@ func NewLoginLogic(ctx context.Context, svcCtx *svc.ServiceContext) *LoginLogic } } -func (l *LoginLogic) Login(req *types.LoginReq) (resp *types.LoginResp, err error) { +func (l *LoginLogic) Login(req *types.LoginReq) (*types.LoginResp, string, error) { // todo: add your logic here and delete this line if len(req.Username) < 3 || len(req.Password) < 8 || len(req.Password) > 20 { - return nil, errors.New("the information is illegal") + return nil, "", errors.New("the information is illegal") } res, err := l.svcCtx.UserRpc.Login(l.ctx, &usercenter.LoginReq{ @@ -42,17 +42,15 @@ func (l *LoginLogic) Login(req *types.LoginReq) (resp *types.LoginResp, err erro logx.Infof("res:%v", res) if err != nil { logx.Errorf("rpc login err: %v", err) - return nil, errors.New("login fail") + return nil, "", errors.New("login fail") } if res == nil || res.Id <= 0 || res.Username == "" || res.Token == "" { logx.Errorf("rpc login returned empty payload, username=%s, resp=%+v", req.Username, res) - return nil, errors.New("login fail") + return nil, "", errors.New("login fail") } return &types.LoginResp{ - AccessToken: "", - RefreshToken: res.Token, - User: types.User{}, - }, nil + User: types.User{}, + }, res.Token, nil } diff --git a/app/users/api/internal/logic/auth/registerLogic.go b/app/users/api/internal/logic/auth/registerLogic.go index 7217ee1..437e378 100644 --- a/app/users/api/internal/logic/auth/registerLogic.go +++ b/app/users/api/internal/logic/auth/registerLogic.go @@ -36,33 +36,33 @@ func NewRegisterLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Register var usernameRegex = regexp.MustCompile("^[a-zA-Z0-9_]+$") -func (l *RegisterLogic) Register(req *types.RegisterReq) (resp *types.RegisterResp, err error) { +func (l *RegisterLogic) Register(req *types.RegisterReq) (*types.RegisterResp, string, error) { existingUser, err := l.svcCtx.UserRpc.GetUserByUsername(l.ctx, &pb.GetUserByUsernameReq{ Username: req.Username, }) if len(req.Username) < 3 { - return nil, errors.New("username must be at least 3 characters long") + return nil, "", errors.New("username must be at least 3 characters long") } if len(req.Username) > 20 { - return nil, errors.New("username must be at most 20 characters long") + return nil, "", errors.New("username must be at most 20 characters long") } if !usernameRegex.MatchString(req.Username) { - return nil, errors.New("username can only contain letters, numbers, and underscores") + return nil, "", errors.New("username can only contain letters, numbers, and underscores") } if err == nil && existingUser != nil { - return nil, errors.New("user already exists") + return nil, "", errors.New("user already exists") } hashedPassword, err := pwdUtils.HashPassword(req.Password) if err != nil { - return nil, errors.New("hash password failed") + return nil, "", errors.New("hash password failed") } requestId, err := contextj.RIdFrom(l.ctx) logx.Infof("requestId: %s", requestId) if err != nil { logx.Errorf("contextj.RequestIdFrom failed: %v", err) - return nil, errors.New("contextj.RequestIdFrom failed") + return nil, "", errors.New("contextj.RequestIdFrom failed") } res, err := l.svcCtx.UserRpc.Register(l.ctx, &usercenter.RegisterReq{ @@ -75,13 +75,10 @@ func (l *RegisterLogic) Register(req *types.RegisterReq) (resp *types.RegisterRe }) if err != nil { logx.Error("failed to register user: ", err) - return nil, errors.New(fmt.Sprintf("failed to register user: %v", err.Error())) + return nil, "", errors.New(fmt.Sprintf("failed to register user: %v", err.Error())) } - // 返回响应 return &types.RegisterResp{ - AccessToken: "", - RefreshToken: res.Res, - User: types.User{}, - }, nil + User: types.User{}, + }, res.Res, nil } diff --git a/app/users/api/internal/types/types.go b/app/users/api/internal/types/types.go index 02db594..59813fc 100644 --- a/app/users/api/internal/types/types.go +++ b/app/users/api/internal/types/types.go @@ -48,9 +48,7 @@ type LoginReq struct { } type LoginResp struct { - AccessToken string `json:"accessToken"` - RefreshToken string `json:"refreshToken"` - User User `json:"user"` + User User `json:"user"` } type LogoutReq struct { @@ -72,9 +70,7 @@ type RegisterReq struct { } type RegisterResp struct { - AccessToken string `json:"accessToken"` - RefreshToken string `json:"refreshToken"` - User User `json:"user"` + User User `json:"user"` } type RejectVerificationReq struct { diff --git a/desc/api/docs/user-api.json b/desc/api/docs/user-api.json index 9ecc396..403ed91 100644 --- a/desc/api/docs/user-api.json +++ b/desc/api/docs/user-api.json @@ -302,12 +302,6 @@ "schema": { "type": "object", "properties": { - "accessToken": { - "type": "string" - }, - "refreshToken": { - "type": "string" - }, "user": { "type": "object", "required": [ @@ -447,12 +441,6 @@ "schema": { "type": "object", "properties": { - "accessToken": { - "type": "string" - }, - "refreshToken": { - "type": "string" - }, "user": { "type": "object", "required": [ diff --git a/desc/api/users.api b/desc/api/users.api index a7dd342..1874814 100644 --- a/desc/api/users.api +++ b/desc/api/users.api @@ -95,9 +95,7 @@ type ( Vcode string `json:"vcode,omitempty"` // 验证码 } RegisterResp { - AccessToken string `json:"accessToken"` - RefreshToken string `json:"refreshToken"` - User User `json:"user"` + User User `json:"user"` } LoginReq { Phone string `json:"phone,omitempty,optional"` // 手机号登录 @@ -106,9 +104,7 @@ type ( Remember bool `json:"remember,optional"` } LoginResp { - AccessToken string `json:"accessToken"` - RefreshToken string `json:"refreshToken"` - User User `json:"user"` + User User `json:"user"` } LogoutReq {} ForgotPasswordReq {