diff --git a/ui/src/views/login/forgot-password/index.vue b/ui/src/views/login/forgot-password/index.vue
index 8592943b0..19355b67a 100644
--- a/ui/src/views/login/forgot-password/index.vue
+++ b/ui/src/views/login/forgot-password/index.vue
@@ -29,12 +29,15 @@
placeholder="请输入验证码"
>
+
获取验证码
+ {{ isDisabled ? `重新发送(${time}s)` : '获取验证码' }}
@@ -89,6 +92,8 @@ const rules = ref>({
code: [{ required: true, message: '请输入验证码' }]
})
const loading = ref(false)
+const isDisabled = ref(false)
+const time = ref(60)
const checkCode = () => {
resetPasswordFormRef.value
@@ -108,5 +113,16 @@ const sendEmail = () => {
}
})
}
+const handleTimeChange = () => {
+ if (time.value <= 0) {
+ isDisabled.value = false
+ time.value = 60
+ } else {
+ setTimeout(() => {
+ time.value--
+ handleTimeChange()
+ }, 1000)
+ }
+}
diff --git a/ui/src/views/login/register/index.vue b/ui/src/views/login/register/index.vue
index ce1a449d0..e8bf7587b 100644
--- a/ui/src/views/login/register/index.vue
+++ b/ui/src/views/login/register/index.vue
@@ -62,11 +62,13 @@
>
获取验证码
+ {{ isDisabled ? `重新发送(${time}s)` : '获取验证码' }}
@@ -183,6 +185,8 @@ const register = () => {
})
}
const sendEmailLoading = ref(false)
+const isDisabled = ref(false)
+const time = ref(60)
/**
* 发送验证码
*/
@@ -191,9 +195,22 @@ const sendEmail = () => {
if (v) {
UserApi.sendEmit(registerForm.value.email, 'register', sendEmailLoading).then(() => {
MsgSuccess('发送验证码成功')
+ isDisabled.value = true
+ handleTimeChange()
})
}
})
}
+const handleTimeChange = () => {
+ if (time.value <= 0) {
+ isDisabled.value = false
+ time.value = 60
+ } else {
+ setTimeout(() => {
+ time.value--
+ handleTimeChange()
+ }, 1000)
+ }
+}