Browse Source

登录优化

hsun 1 year ago
parent
commit
80753cf2e3
1 changed files with 17 additions and 64 deletions
  1. 17 64
      controllers/user_login.go

+ 17 - 64
controllers/user_login.go

@@ -250,13 +250,12 @@ func (this *UserLoginController) Login() {
 
 	// 入参
 	type UserLoginReq struct {
-		LoginType         int    `description:"登录方式: 1-账号; 2-手机号; 3-邮箱"`
-		AbnormalCheckType int    `description:"异常登陆校验方式: 1-手机号; 2-邮箱"`
-		Username          string `description:"账号"`
-		Password          string `description:"密码"`
-		Mobile            string `description:"手机号"`
-		Email             string `description:"邮箱"`
-		VerifyCode        string `description:"验证码"`
+		LoginType  int    `description:"登录方式: 1-账号; 2-手机号; 3-邮箱"`
+		Username   string `description:"账号"`
+		Password   string `description:"密码"`
+		Mobile     string `description:"手机号"`
+		Email      string `description:"邮箱"`
+		VerifyCode string `description:"验证码"`
 	}
 	var req UserLoginReq
 	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
@@ -298,63 +297,14 @@ func (this *UserLoginController) Login() {
 			br.Msg = "请输入密码"
 			return
 		}
-		// 判断账号是否为异常登录
+
+		// 判断账号是否为异常登录, 算作异常的话就需要换另外的方式去登录了
 		abnormalKey := fmt.Sprint(utils.CACHE_ABNORMAL_LOGIN, req.Username)
 		isAbnormal, _ := utils.Rc.RedisString(abnormalKey)
 		if isAbnormal != "" {
-			if req.AbnormalCheckType != 1 && req.AbnormalCheckType != 2 {
-				br.Ret = models.BaseRespCodeAbnormalLogin
-				br.Msg = "账号异常, 请进行手机号/邮箱校验"
-				br.ErrMsg = fmt.Sprintf("账号异常, 请进行手机号/邮箱校验, CheckType: %d", req.AbnormalCheckType)
-				return
-			}
-			recordCond := ` AND source = ?`
-			recordPars := make([]interface{}, 0)
-			recordPars = append(recordPars, system.AdminVerifyCodeRecordSourceAbnormal)
-			if req.AbnormalCheckType == 1 {
-				if req.Mobile == "" {
-					br.Msg = "请输入手机号"
-					return
-				}
-				if !utils.ValidateMobileFormatat(req.Mobile) {
-					br.Msg = "您的手机号输入有误, 请检查"
-					return
-				}
-				recordCond += ` AND mobile = ?`
-				recordPars = append(recordPars, req.Mobile)
-			}
-			if req.AbnormalCheckType == 2 {
-				if req.Email == "" {
-					br.Msg = "请输入邮箱"
-					return
-				}
-				if !utils.ValidateEmailFormatat(req.Email) {
-					br.Msg = "您的邮箱输入有误, 请检查"
-					return
-				}
-				recordCond += ` AND email = ?`
-				recordPars = append(recordPars, req.Email)
-			}
-			if req.VerifyCode == "" {
-				br.Msg = "请输入验证码"
-				return
-			}
-			expiredTime := time.Now().Add(utils.VerifyCodeExpireMinute * time.Minute).Format(utils.FormatDateTime)
-			recordCond += ` AND code = ? AND expired_time <= ?`
-			recordPars = append(recordPars, req.VerifyCode, expiredTime)
-
-			// 校验验证码
-			recordOb := new(system.AdminVerifyCodeRecord)
-			_, e := recordOb.GetItemByCondition(recordCond, recordPars)
-			if e != nil {
-				if e.Error() == utils.ErrNoRow() {
-					br.Msg = "验证码错误, 请重新输入"
-					return
-				}
-				br.Msg = "验证码错误, 请重新输入"
-				br.ErrMsg = "获取异常登陆验证码失败, Err: " + e.Error()
-				return
-			}
+			br.Ret = models.BaseRespCodeAbnormalLogin
+			br.Msg = "账号异常, 请进行手机号/邮箱校验"
+			return
 		}
 
 		// 账号密码校验
@@ -408,9 +358,6 @@ func (this *UserLoginController) Login() {
 			}
 		}
 
-		// 登录成功, 清除异常标记
-		_ = utils.Rc.Delete(abnormalKey)
-		_ = utils.Rc.Delete(errPassKey)
 		sysUser = accountUser
 	}
 
@@ -510,6 +457,12 @@ func (this *UserLoginController) Login() {
 		sysUser = emailUser
 	}
 
+	// 登录成功(无论哪种方式登录), 清除异常标记
+	abnormalCache := fmt.Sprint(utils.CACHE_ABNORMAL_LOGIN, sysUser.AdminName)
+	errPassCache := fmt.Sprint(utils.CACHE_LOGIN_ERR_PASS, sysUser.AdminName)
+	_ = utils.Rc.Delete(abnormalCache)
+	_ = utils.Rc.Delete(errPassCache)
+
 	account := utils.MD5(sysUser.AdminName)
 	token := utils.GenToken(account)
 	sysSession := new(system.SysSession)