2
0

fix:重置密码界面接通

This commit is contained in:
zhongzm
2025-01-16 19:48:12 +08:00
parent adc5ca37b1
commit 4162ec4c54
5 changed files with 41 additions and 11 deletions

View File

@@ -207,7 +207,8 @@ const local: any = {
registerSuccess:'Register successfully',
welcomeBack: 'Welcome back, {username} !',
checkCode: 'Please check the verification code',
emailPlaceholder:'Please enter the email'
emailPlaceholder:'Please enter the email',
getCodeFailed: 'Failed to get verification code, please try again'
},
pwdLogin: {
title: 'Password Login',
@@ -218,7 +219,8 @@ const local: any = {
otherLoginMode: 'Other Login Mode',
superAdmin: 'Super Admin',
admin: 'Admin',
user: 'User'
user: 'User',
loginFailed: 'Login failed, please check your username and password'
},
codeLogin: {
title: 'Verification Code Login',
@@ -278,8 +280,8 @@ const local: any = {
newPassword: 'New Password',
passwordSameAsOld: 'New password cannot be the same as current password',
passwordLength: 'Password must be at least 6 characters',
byPassword: 'Reset by Password',
byEmail: 'Reset by Email Code'
resetSuccess: 'Password reset successfully',
resetFailed: 'Password reset failed, please try again'
},
bindWeChat: {
title: 'Bind WeChat'

View File

@@ -207,7 +207,8 @@ const local:any = {
registerSuccess:'注册成功',
welcomeBack: '欢迎回来,{username} ',
checkCode: '请输入验证码',
emailPlaceholder:'请输入邮箱'
emailPlaceholder:'请输入邮箱',
getCodeFailed: '获取验证码失败,请重试'
},
pwdLogin: {
title: '密码登录',
@@ -218,7 +219,8 @@ const local:any = {
otherLoginMode: '其他登录方式',
superAdmin: '超级管理员',
admin: '管理员',
user: '普通用户'
user: '普通用户',
loginFailed: '登录失败,请检查用户名和密码'
},
codeLogin: {
title: '验证码登录',
@@ -279,7 +281,9 @@ const local:any = {
passwordSameAsOld: '新密码不能与原密码相同',
passwordLength: '密码长度不能小于6位',
byPassword: '通过原密码重置',
byEmail: '通过邮箱验证码重置'
byEmail: '通过邮箱验证码重置',
resetSuccess: '密码重置成功',
resetFailed: '密码重置失败,请重试'
},
bindWeChat: {
title: '绑定微信'

View File

@@ -190,6 +190,15 @@ export function uploadFile(file: File) {
data: formData
});
}
/** Reset password */
export function resetPassword(data: { oldPassword: string; newPassword: string }) {
return request({
url: `/u/user/profile/updatePwd`,
method: 'put',
params: data
});
}

View File

@@ -194,6 +194,7 @@ declare global {
const refThrottled: typeof import('@vueuse/core')['refThrottled']
const refWithControl: typeof import('@vueuse/core')['refWithControl']
const removeEmptyChildren: typeof import('../utils/menu')['removeEmptyChildren']
const resetPassword: typeof import('../service/api/auth')['resetPassword']
const resolveComponent: typeof import('vue')['resolveComponent']
const resolveRef: typeof import('@vueuse/core')['resolveRef']
const resolveUnref: typeof import('@vueuse/core')['resolveUnref']

View File

@@ -13,6 +13,7 @@ import {
Radio,
} from 'ant-design-vue';
import { useRouter } from 'vue-router';
import { resetPassword } from '@/service/api/auth';
const AInputPassword = Input.Password;
const ARadioGroup = Radio.Group;
@@ -98,10 +99,23 @@ async function handleCaptcha() {
async function handleSubmit() {
try {
await formRef.value?.validate();
//
window.$message?.success(t('common.success'));
if (resetType.value === 'password') {
// 通过原密码重置
await resetPassword({
oldPassword: formModel.oldPassword,
newPassword: formModel.password
});
} else {
// TODO: 通过邮箱验证码重置的接口
}
window.$message?.success(t('page.login.resetPwd.resetSuccess'));
// 重置成功后返回个人信息页面
router.push('/userInfo/usercard');
} catch (error) {
console.error('Form validation failed:', error);
console.error('Reset password failed:', error);
window.$message?.error(t('page.login.resetPwd.resetFailed'));
}
}
@@ -123,7 +137,7 @@ const handleBack = () => {
<a-radio-group v-model:value="resetType" class="mb-24px">
<a-radio value="password">{{ t('page.login.resetPwd.byPassword') }}</a-radio>
<a-radio value="email">{{ t('page.login.resetPwd.byEmail') }}</a-radio>
<!-- <a-radio value="email">{{ t('page.login.resetPwd.byEmail') }}</a-radio>-->
</a-radio-group>
<a-form