diff --git a/ui/src/views/404/index.vue b/ui/src/views/404/index.vue index 60c654c4b..2ebb02c3d 100644 --- a/ui/src/views/404/index.vue +++ b/ui/src/views/404/index.vue @@ -1,7 +1,7 @@ diff --git a/ui/src/views/login/register/index.vue b/ui/src/views/login/register/index.vue index 9ef0491c1..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)` : '获取验证码' }} @@ -110,6 +112,12 @@ const rules = ref>({ required: true, message: '请输入用户名', trigger: 'blur' + }, + { + min: 6, + max: 20, + message: '长度在 6 到 20 个字符', + trigger: 'blur' } ], password: [ @@ -177,6 +185,8 @@ const register = () => { }) } const sendEmailLoading = ref(false) +const isDisabled = ref(false) +const time = ref(60) /** * 发送验证码 */ @@ -185,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) + } +}