fix:修改密码相关功能

dev_1.0.2
jiangpeng 2026-06-05 15:15:16 +08:00
parent 2aaccc1193
commit 1545771196
3 changed files with 78 additions and 69 deletions

View File

@ -29,7 +29,6 @@ export function login(username, password, code, rememberMe) {
export function resetLoginPwd(data) {
const formData = createLoginFormData({
username: data.username,
oldPassword: data.oldPassword,
newPassword: data.newPassword,
confirmPassword: data.confirmPassword,
emailCode: data.emailCode

View File

@ -37,7 +37,10 @@
<img :src="codeUrl" @click="getCode" class="login-code-img"/>
</div>
</el-form-item>
<el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;"></el-checkbox>
<div class="login-options">
<el-checkbox v-model="loginForm.rememberMe"></el-checkbox>
<span class="link-type forgot-password" @click="openResetPwdDialog"></span>
</div>
<el-form-item style="width:100%;">
<el-button
:loading="loading"
@ -64,8 +67,8 @@
append-to-body
>
<el-form ref="resetPwdForm" :model="resetPwdForm" :rules="resetPwdRules" label-width="100px">
<el-form-item label="旧密码" prop="oldPassword">
<el-input v-model="resetPwdForm.oldPassword" type="password" placeholder="请输入旧密码" show-password />
<el-form-item label="用户名" prop="username">
<el-input v-model="resetPwdForm.username" placeholder="请输入用户名" />
</el-form-item>
<el-form-item label="新密码" prop="newPassword">
<el-input v-model="resetPwdForm.newPassword" type="password" placeholder="请输入新密码" show-password />
@ -111,7 +114,6 @@ export default {
},
resetPwdForm: {
username: "",
oldPassword: "",
newPassword: "",
confirmPassword: "",
emailCode: ""
@ -122,8 +124,8 @@ export default {
emailCodeCountdown: 0,
emailCodeTimer: null,
resetPwdRules: {
oldPassword: [
{ required: true, trigger: "blur", message: "请输入旧密码" }
username: [
{ required: true, trigger: "blur", message: "请输入用户名" }
],
newPassword: [
{ required: true, trigger: "blur", message: "请输入新密码" },
@ -201,7 +203,6 @@ export default {
this.clearEmailCodeTimer()
this.resetPwdForm = {
username: this.loginForm.username,
oldPassword: "",
newPassword: "",
confirmPassword: "",
emailCode: ""
@ -213,8 +214,8 @@ export default {
})
},
sendEmailCode() {
if (!this.resetPwdForm.username) {
this.$modal.msgError("请输入用户名")
this.$refs.resetPwdForm.validateField('username', (errorMessage) => {
if (errorMessage) {
return
}
this.emailCodeLoading = true
@ -224,6 +225,7 @@ export default {
}).finally(() => {
this.emailCodeLoading = false
})
})
},
startEmailCodeCountdown() {
this.clearEmailCodeTimer()
@ -279,7 +281,6 @@ export default {
this.$store.dispatch("Login", this.loginForm).then((res) => {
if (res && res.code === 301) {
this.resetPwdForm.username = this.loginForm.username
this.resetPwdForm.oldPassword = this.loginForm.password
this.resetPwdForm.newPassword = ""
this.resetPwdForm.confirmPassword = ""
this.resetPwdForm.emailCode = ""
@ -342,6 +343,19 @@ export default {
margin-left: 2px;
}
}
.login-options {
display: flex;
align-items: center;
justify-content: space-between;
margin: 0px 0px 25px 0px;
}
.forgot-password {
cursor: pointer;
font-size: 14px;
}
.forgot-password:hover {
text-decoration: underline;
}
.login-tip {
font-size: 13px;
text-align: center;

View File

@ -92,11 +92,11 @@ public class SysLoginController extends BaseController
try
{
subject.login(token);
// if (!passwordService.isStrongPassword(password))
// {
// subject.logout();
// return AjaxResult.warn("当前密码不符合安全规则,请修改密码后重新登录");
// }
if (!passwordService.isStrongPassword(password))
{
subject.logout();
return AjaxResult.warn("当前密码不符合安全规则,请修改密码后重新登录");
}
return success();
}
catch (AuthenticationException e)
@ -153,7 +153,7 @@ public class SysLoginController extends BaseController
@PostMapping("/login/resetPwd")
@ResponseBody
public AjaxResult resetPwd(String username, String oldPassword, String newPassword, String confirmPassword, String emailCode)
public AjaxResult resetPwd(String username, String newPassword, String confirmPassword, String emailCode)
{
if (StringUtils.isEmpty(username))
{
@ -185,10 +185,6 @@ public class SysLoginController extends BaseController
{
return emailCodeValidateResult;
}
if (!passwordService.matches(user, oldPassword))
{
return error("修改密码失败,旧密码错误");
}
if (passwordService.matches(user, newPassword))
{
return error("新密码不能与旧密码相同");