diff --git a/main/manager-api/src/main/java/xiaozhi/modules/security/config/ShiroConfig.java b/main/manager-api/src/main/java/xiaozhi/modules/security/config/ShiroConfig.java index 663adca0..c015240f 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/security/config/ShiroConfig.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/security/config/ShiroConfig.java @@ -84,6 +84,7 @@ public class ShiroConfig { filterMap.put("/user/login", "anon"); filterMap.put("/user/pub-config", "anon"); filterMap.put("/user/register", "anon"); + filterMap.put("/user/retrieve-password", "anon"); // 将config路径使用server服务过滤器 filterMap.put("/config/**", "server"); filterMap.put("/agent/chat-history/report", "server"); diff --git a/main/manager-api/src/main/java/xiaozhi/modules/security/controller/LoginController.java b/main/manager-api/src/main/java/xiaozhi/modules/security/controller/LoginController.java index d0d84e66..47fd7b1b 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/security/controller/LoginController.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/security/controller/LoginController.java @@ -174,19 +174,19 @@ public class LoginController { // 验证用户是否是手机号码 boolean validPhone = ValidatorUtils.isValidPhone(dto.getPhone()); if (!validPhone) { - throw new RenException("用户名不是手机号码,无法提供找回密码服务"); + throw new RenException("输入的手机号码格式不正确"); } // 按照用户名获取用户 SysUserDTO userDTO = sysUserService.getByUsername(dto.getPhone()); if (userDTO == null) { - throw new RenException("用户名或验证码错误"); + throw new RenException("输入的手机号码未注册"); } // 验证短信验证码是否正常 boolean validate = captchaService.validateSMSValidateCode(dto.getPhone(), dto.getCode(), false); // 判断是否通过验证 if (!validate) { - throw new RenException("用户名或验证码错误"); + throw new RenException("输入的手机验证码错误"); } sysUserService.changePasswordDirectly(userDTO.getId(), dto.getPassword()); diff --git a/main/manager-api/src/main/java/xiaozhi/modules/security/service/impl/CaptchaServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/security/service/impl/CaptchaServiceImpl.java index 121e3492..c6f8f490 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/security/service/impl/CaptchaServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/security/service/impl/CaptchaServiceImpl.java @@ -119,7 +119,7 @@ public class CaptchaServiceImpl implements CaptchaService { // 更新今日发送次数 if (todayCount == 0) { - redisUtils.increment(todayCountKey,RedisUtils.DEFAULT_EXPIRE); + redisUtils.increment(todayCountKey, RedisUtils.DEFAULT_EXPIRE); } else { redisUtils.increment(todayCountKey); } diff --git a/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysUserServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysUserServiceImpl.java index 54048fe0..9f35836f 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysUserServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysUserServiceImpl.java @@ -133,6 +133,10 @@ public class SysUserServiceImpl extends BaseServiceImpl
新用户注册
-
忘记密码?
+
忘记密码?
登录
-
+
- -
-
- - - - -
-
- -
-
- - -
- 验证码 -
- - -
-
- - -
- - - {{ countdown > 0 ? `${countdown}秒后重试` : '发送验证码' }} - - -
- - -
- - + +
+
+ + + +
+
- -
- - +
+
+ +
+ 验证码 +
- -
-
返回登录
+ +
+
+ +
+ + + {{ countdown > 0 ? `${countdown}秒后重试` : '发送验证码' }} + + +
+ + +
+ + +
+ + +
+ + +
+ + +
+
返回登录
+
@@ -171,6 +171,7 @@ export default { // 验证图形验证码 if (!this.validateInput(this.form.captcha, '请输入图形验证码')) { + this.fetchCaptcha(); return; } @@ -225,18 +226,18 @@ export default { return; } - Api.user.resetPassword({ + Api.user.retrievePassword({ phone: this.form.areaCode + this.form.mobile, - newPassword: this.form.newPassword, - smsCode: this.form.mobileCaptcha, - captcha: this.form.captcha, - captchaId: this.form.captchaId + password: this.form.newPassword, + code: this.form.mobileCaptcha }, (res) => { showSuccess('密码重置成功'); goToPage('/login'); }, (err) => { showDanger(err.data.msg || '重置失败'); - this.fetchCaptcha(); + if (err.data != null && err.data.msg != null && err.data.msg.indexOf('图形验证码') > -1) { + this.fetchCaptcha() + } }); },