合并代码

This commit is contained in:
szz
2025-07-31 13:54:37 +08:00
parent 97a53c200e
commit 7d94b0ddae
21 changed files with 479 additions and 688 deletions

View File

@@ -34,8 +34,7 @@
/>
</el-form-item>
<!-- 短信验证码组件 - 已注释 -->
<!-- <el-form-item prop="smsCode">
<el-form-item prop="smsCode">
<div class="sms-code-group">
<el-input
v-model="registerForm.smsCode"
@@ -56,7 +55,7 @@
{{ smsCountdown > 0 ? `${smsCountdown}s后重发` : '发送验证码' }}
</el-button>
</div>
</el-form-item> -->
</el-form-item>
<el-form-item prop="registrationCode">
<el-input
@@ -132,7 +131,7 @@
<div class="register-footer">
<p>
已有账号
<el-link type="primary" @click="$router.push('/login')">
<el-link type="primary" @click="$router.push('/mylogin')">
立即登录
</el-link>
</p>
@@ -192,17 +191,17 @@ const registerForm = reactive({
password: '',
confirmPassword: '',
captcha: '',
// smsCode: '', // 短信验证码字段 - 已注释
smsCode: '',
agreement: false
})
// 短信验证码相关状态 - 已注释
// const sendingSMS = ref(false)
// const smsCountdown = ref(0)
// const canSendSMS = computed(() => {
// const phoneRegex = /^1[3-9]\d{9}$/
// return phoneRegex.test(registerForm.phone)
// })
// 短信验证码相关状态
const sendingSMS = ref(false)
const smsCountdown = ref(0)
const canSendSMS = computed(() => {
const phoneRegex = /^1[3-9]\d{9}$/
return phoneRegex.test(registerForm.phone)
})
// 自定义验证函数
const validateUsername = (rule, value, callback) => {
@@ -264,14 +263,12 @@ const registerRules = {
],
registrationCode: [
{ required: true, message: '请输入激活码', trigger: 'blur' },
{ len: 6, message: '激活码长度6位', trigger: 'blur' },
{ pattern: /^[A-Z0-9]{6}$/, message: '激活码只能包含大写字母和数字', trigger: 'blur' }
{ min: 6, message: '激活码长度不能少于6位', trigger: 'blur' }
],
smsCode: [
{ required: true, message: '请输入短信验证码', trigger: 'blur' },
{ pattern: /^\d{6}$/, message: '短信验证码为6位数字', trigger: 'blur' }
],
// 短信验证码验证规则 - 已注释
// smsCode: [
// { required: true, message: '请输入短信验证码', trigger: 'blur' },
// { pattern: /^\d{6}$/, message: '短信验证码为6位数字', trigger: 'blur' }
// ],
password: [{ validator: validatePassword, trigger: 'blur' }],
confirmPassword: [{ validator: validateConfirmPassword, trigger: 'blur' }],
@@ -282,52 +279,52 @@ const registerRules = {
agreement: [{ validator: validateAgreement, trigger: 'change' }]
}
// 发送短信验证码 - 已注释
// const sendSMSCode = async () => {
// if (!canSendSMS.value || sendingSMS.value || smsCountdown.value > 0) {
// return
// }
//
// try {
// sendingSMS.value = true
//
// const response = await fetch('/api/sms/send', {
// method: 'POST',
// headers: {
// 'Content-Type': 'application/json'
// },
// body: JSON.stringify({
// phone: registerForm.phone
// })
// })
//
// const result = await response.json()
//
// if (result.success) {
// ElMessage.success('验证码发送成功,请查收短信')
// // 开始倒计时
// startCountdown()
// } else {
// ElMessage.error(result.message || '发送失败,请重试')
// }
// } catch (error) {
// console.error('发送短信验证码失败:', error)
// ElMessage.error('发送失败,请检查网络连接')
// } finally {
// sendingSMS.value = false
// }
// }
// 发送短信验证码
const sendSMSCode = async () => {
if (!canSendSMS.value || sendingSMS.value || smsCountdown.value > 0) {
return
}
try {
sendingSMS.value = true
const response = await fetch('/api/sms/send', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
phone: registerForm.phone
})
})
const result = await response.json()
if (result.success) {
ElMessage.success('验证码发送成功,请查收短信')
// 开始倒计时
startCountdown()
} else {
ElMessage.error(result.message || '发送失败,请重试')
}
} catch (error) {
console.error('发送短信验证码失败:', error)
ElMessage.error('发送失败,请检查网络连接')
} finally {
sendingSMS.value = false
}
}
// 开始倒计时 - 已注释
// const startCountdown = () => {
// smsCountdown.value = 60
// const timer = setInterval(() => {
// smsCountdown.value--
// if (smsCountdown.value <= 0) {
// clearInterval(timer)
// }
// }, 1000)
// }
// 开始倒计时
const startCountdown = () => {
smsCountdown.value = 60
const timer = setInterval(() => {
smsCountdown.value--
if (smsCountdown.value <= 0) {
clearInterval(timer)
}
}, 1000)
}
// 处理注册
const handleRegister = async () => {
@@ -354,7 +351,7 @@ const handleRegister = async () => {
phone: registerForm.phone,
registrationCode: registerForm.registrationCode,
password: registerForm.password,
// smsCode: registerForm.smsCode, // 短信验证码 - 已注释
smsCode: registerForm.smsCode,
captchaId: captchaInfo.captchaId,
captchaText: captchaInfo.captchaText
}
@@ -432,6 +429,13 @@ onMounted(() => {
const redirectPath = route.query.redirect || '/'
router.push(redirectPath)
}
// 从URL参数中获取邀请码并自动填入
const inviteCode = route.query.code
if (inviteCode) {
registerForm.registrationCode = inviteCode
ElMessage.success('已自动填入邀请码')
}
})
</script>