From 4ec8dbfe7fb301c142494a647cc24d30751fc042 Mon Sep 17 00:00:00 2001 From: zyj <18107291228@163.com> Date: Thu, 11 Sep 2025 18:15:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=B3=A8=E5=86=8C=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/user.go | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ router/user.go | 1 + 2 files changed, 56 insertions(+) diff --git a/api/user.go b/api/user.go index fbe2b00..593a69d 100644 --- a/api/user.go +++ b/api/user.go @@ -21,6 +21,14 @@ type LoginRequestParams struct { Password string `form:"password" json:"password" uri:"password" xml:"password" binding:"required"` } +type RegisterRequestParams struct { + Username string `form:"username" json:"username" uri:"username" xml:"username" binding:"required"` + Password string `form:"password" json:"password" uri:"password" xml:"password" binding:"required"` + Email string `form:"email" json:"email" uri:"email" xml:"email" binding:"required"` + Nickname string `form:"nickname" json:"nickname" uri:"nickname" xml:"nickname" binding:"required"` + Phone string `form:"phone" json:"phone" uri:"phone" xml:"phone" binding:"required"` +} + func (*User) Login(ctx *gin.Context) { var res *libs.ErrorInfo var paramsJson LoginRequestParams @@ -43,7 +51,14 @@ func (*User) Login(ctx *gin.Context) { Password: paramsJson.Password, }) if err != nil { + res = libs.ErrorCode["LoginError"] log.Fatalf("登录失败: %v", err) + ctx.JSON(http.StatusBadRequest, gin.H{ + "code": res.Code, + "msg": res.Msg, + "data": res.Data, + }) + return } ctx.JSON(http.StatusBadRequest, gin.H{ "code": 200, @@ -51,3 +66,43 @@ func (*User) Login(ctx *gin.Context) { "data": loginResp, }) } + +func (*User) Register(ctx *gin.Context) { + var res *libs.ErrorInfo + var paramsJson RegisterRequestParams + if err := ctx.ShouldBindJSON(¶msJson); err != nil { + res = libs.ErrorCode["ParamsError"] + fmt.Println(err) + ctx.JSON(http.StatusBadRequest, gin.H{ + "code": res.Code, + "msg": res.Msg, + "data": res.Data, + }) + return + } + client := grpcClient.GetUserClient() + ctx1, cancel := context.WithTimeout(context.Background(), time.Second*5) + defer cancel() + registerResp, err := client.Register(ctx1, &userpb.RegisterRequest{ + Username: paramsJson.Username, + Password: paramsJson.Password, + Email: paramsJson.Email, + Nickname: paramsJson.Nickname, + Phone: paramsJson.Phone, + }) + if err != nil { + res = libs.ErrorCode["RegistrationFailed"] + log.Fatalf("注册失败: %v", err) + ctx.JSON(http.StatusBadRequest, gin.H{ + "code": res.Code, + "msg": res.Msg, + "data": res.Data, + }) + return + } + ctx.JSON(http.StatusBadRequest, gin.H{ + "code": 200, + "msg": "注册成功", + "data": registerResp, + }) +} diff --git a/router/user.go b/router/user.go index df10d81..f8c0496 100644 --- a/router/user.go +++ b/router/user.go @@ -13,4 +13,5 @@ var ApiUser api.User func (*User) Init(app *gin.Engine) { group := app.Group("/user") group.POST("/login", ApiUser.Login) + group.POST("/register", ApiUser.Register) }