fix: 短信登录不再校验图形验证码

发送短信时已经验证过图形验证码,登录时无需再次验证。
避免用户输入两次图形验证码,提升体验。
This commit is contained in:
神码-方晓辉 2026-02-03 19:01:04 +08:00
parent d543b868b1
commit 5de0f3ed50
2 changed files with 4 additions and 8 deletions

View File

@ -23,11 +23,9 @@ public class H5SmsLoginDto {
@NotBlank(message = "短信验证码不能为空") @NotBlank(message = "短信验证码不能为空")
private String smsCode; private String smsCode;
@Schema(description = "图形验证码答案", requiredMode = Schema.RequiredMode.REQUIRED, example = "5") @Schema(description = "图形验证码答案(短信登录时可不传,发送短信时已验证)", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "5")
@NotBlank(message = "图形验证码不能为空")
private String captchaCode; private String captchaCode;
@Schema(description = "图形验证码标识(从/captcha接口获取", requiredMode = Schema.RequiredMode.REQUIRED, example = "abc123def456") @Schema(description = "图形验证码标识(短信登录时可不传)", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "abc123def456")
@NotBlank(message = "验证码标识不能为空")
private String uuid; private String uuid;
} }

View File

@ -272,10 +272,8 @@ public class H5AuthServiceImpl implements H5AuthService {
@Override @Override
public H5LoginVo loginBySms(H5SmsLoginDto dto) { public H5LoginVo loginBySms(H5SmsLoginDto dto) {
// 校验图形验证码 // 短信登录不再校验图形验证码发送短信时已校验过避免用户输入两次
validateCaptcha(dto.getUuid(), dto.getCaptchaCode()); // 只校验短信验证码
// 校验短信验证码
validateSmsCode(dto.getPhone(), dto.getSmsCode(), "login"); validateSmsCode(dto.getPhone(), dto.getSmsCode(), "login");
// 查询会员 // 查询会员