From 8dd77eec2ffed9a9044f6fce5f702e933007c7df Mon Sep 17 00:00:00 2001 From: ychao_1983 Date: Mon, 20 Jun 2022 17:00:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/auth/user_form.go | 4 ++-- routers/user/auth.go | 39 ++++++++++++++++++++------------------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/modules/auth/user_form.go b/modules/auth/user_form.go index b7c2c5ff3..8575e7344 100755 --- a/modules/auth/user_form.go +++ b/modules/auth/user_form.go @@ -107,7 +107,7 @@ func (f RegisterForm) IsEmailDomainWhitelisted() bool { } domain := strings.ToLower(f.Email[n+1:]) - + //support edu.cn if strings.HasSuffix(domain, "edu.cn") { return true @@ -371,7 +371,7 @@ func (f *U2FDeleteForm) Validate(ctx *macaron.Context, errs binding.Errors) bind type PhoneNumberForm struct { PhoneNumber string `binding:"Required;MaxSize(20)"` - IsSignUp bool `binding:"Required"` + Mode int `binding:"Required"` SlideID string `binding:"Required;MaxSize(100)"` } diff --git a/routers/user/auth.go b/routers/user/auth.go index c0c715c31..6d77468e1 100755 --- a/routers/user/auth.go +++ b/routers/user/auth.go @@ -1796,7 +1796,7 @@ func SendVerifyCode(ctx *context.Context, slideImage *slideimage.SlideImage, for return } - if !ctx.IsSigned { + if form.Mode != 2 { has, err := models.IsUserByPhoneNumberExist(phoneNumber) if err != nil { log.Warn("sql err", err) @@ -1804,13 +1804,13 @@ func SendVerifyCode(ctx *context.Context, slideImage *slideimage.SlideImage, for return } - if form.IsSignUp { //注册 + if form.Mode==0 || form.Mode==3{ //注册或绑定 if has { ctx.JSON(http.StatusOK, models.BaseErrorMessage(ctx.Tr("phone.already_register"))) return } - } else { //手机号验证码登录 + } else { //手机号验证码登录 mode=1 if !has { ctx.JSON(http.StatusOK, models.BaseErrorMessage(ctx.Tr("phone.not_register"))) return @@ -1818,27 +1818,28 @@ func SendVerifyCode(ctx *context.Context, slideImage *slideimage.SlideImage, for } - } else { //修改手机号 - u, err := models.GetUserByPhoneNumber(phoneNumber) - if err != nil && !models.IsErrUserNotExist(err) { - log.Warn("sql err", err) - ctx.JSON(http.StatusOK, models.BaseErrorMessage(ctx.Tr("phone.query_err"))) - return - } - - if u != nil { - - if u.ID == ctx.User.ID { //没有修改手机号 - ctx.JSON(http.StatusOK, models.BaseErrorMessage(ctx.Tr("phone.not_modify"))) - return - } else { //修改的手机已经被别的用户注册 - ctx.JSON(http.StatusOK, models.BaseErrorMessage(ctx.Tr("phone.already_register"))) + } else { + //修改手机号 mode=2 + u, err := models.GetUserByPhoneNumber(phoneNumber) + if err != nil && !models.IsErrUserNotExist(err) { + log.Warn("sql err", err) + ctx.JSON(http.StatusOK, models.BaseErrorMessage(ctx.Tr("phone.query_err"))) return } + if u != nil { + + if u.ID == ctx.User.ID { //没有修改手机号 + ctx.JSON(http.StatusOK, models.BaseErrorMessage(ctx.Tr("phone.not_modify"))) + return + } else { //修改的手机已经被别的用户注册 + ctx.JSON(http.StatusOK, models.BaseErrorMessage(ctx.Tr("phone.already_register"))) + return + } + + } } - } redisConn := labelmsg.Get() defer redisConn.Close()