From 94d25b4ec489604673ddb383e7067b951be9be3a Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Fri, 30 Aug 2024 14:28:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=97=B6=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7=E5=92=8Copenid=E4=B8=BA=E5=BF=85?= =?UTF-8?q?=E5=A1=AB2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/Login.go | 43 ++++++++++++++++++++++++++--------------- api/requests/Login.go | 4 ++-- 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/api/controller/Login.go b/api/controller/Login.go index 65d31b4..afcf731 100644 --- a/api/controller/Login.go +++ b/api/controller/Login.go @@ -32,6 +32,33 @@ func (r *Login) Login(c *gin.Context) { return } + if req.OpenId == "" && req.Mobile == "" { + responses.FailWithMessage("登陆失败", c) + return + } + + // 检测参数 + if req.Mobile != "" { + if req.Code == "" { + responses.FailWithMessage("请输入手机号验证码", c) + return + } + + // 检测验证码 + if config.C.Env != "dev" { + code, _ := global.Redis.Get(c, "login_code_count_"+req.Mobile).Result() + if code == "" { + responses.FailWithMessage("验证码失效", c) + return + } + + if req.Code != code { + responses.FailWithMessage("验证码错误", c) + return + } + } + } + // 开始事务 tx := global.Db.Begin() defer func() { @@ -63,22 +90,6 @@ func (r *Login) Login(c *gin.Context) { user, _ := userDao.GetUser(maps) // 新用户处理方式 if user == nil { - // 检测验证码 - if req.Source == 1 { - if config.C.Env != "dev" { - code, _ := global.Redis.Get(c, "login_code_count_"+req.Mobile).Result() - if code == "" { - responses.FailWithMessage("验证码失效", c) - return - } - - if req.Code != code { - responses.FailWithMessage("验证码错误", c) - return - } - } - } - // 登录ip publicService := service.PublicService{} loginIp := publicService.GetUserIP(c.Request) diff --git a/api/requests/Login.go b/api/requests/Login.go index 2fda7d3..d303021 100644 --- a/api/requests/Login.go +++ b/api/requests/Login.go @@ -6,10 +6,10 @@ type LoginRequest struct { // Login 登录 type Login struct { - Mobile string `json:"mobile" form:"mobile" label:"手机号" validate:"required"` + Mobile string `json:"mobile" form:"mobile" label:"手机号"` Code string `json:"code" form:"code" label:"验证码"` Source int `json:"source" form:"source" label:"来源" validate:"required"` // (1:app 2:公众号) - OpenId string `json:"openid" form:"openid" label:"openid" validate:"required"` + OpenId string `json:"openid" form:"openid" label:"openid"` Nickname string `json:"nickname" form:"nickname" label:"用户昵称"` HeadImgUrl string `json:"headimgurl" form:"headimgurl" label:"头像"` UnionId string `json:"unionid" form:"unionid" label:"unionid"`