Files
LingXi-CRM/web/src/views/Register.vue
T
2022-11-28 16:38:45 +08:00

105 lines
3.5 KiB
Vue

<template>
<a-form :model="formData" layout="vertical" @finish="onRegister">
<a-form-item name="email" :rules="[{ required: true, message: '请输入邮箱!' }]">
<a-input v-model:value="formData.email" size="large" placeholder="邮箱">
</a-input>
</a-form-item>
<a-form-item name="code" :rules="[{ required: true, message: '请输入验证码!' }]">
<a-input v-model:value="formData.code" size="large" style="width: 55%;" placeholder="验证码" />
<a-button @click="onGetCode" size="large" style="width: 40%;float: right;" :disabled="disabled">
{{ buttonText }}</a-button>
</a-form-item>
<a-form-item name="password1" :rules="[{ required: true, message: '请输入密码!' }]">
<a-input-password v-model:value="formData.password1" size="large" placeholder="密码" />
</a-form-item>
<a-form-item name="password2" :rules="[{ required: true, message: '请输入密码!' }]">
<a-input-password v-model:value="formData.password2" size="large" placeholder="确认密码" />
</a-form-item>
<a-form-item>
<a-button type="primary" html-type="submit" size="large" style="width: 50%;">注册</a-button>
<a-button type="link" style="width: 50%;" @click="onLogin">使用已有账户登录</a-button>
</a-form-item>
</a-form>
</template>
<script>
import { ref, reactive } from 'vue';
import { useRouter } from 'vue-router';
import { userRegister, getVerifyCode } from '../api/user';
import { message } from 'ant-design-vue';
export default {
setup() {
const router = useRouter()
// 用户注册
const formData = reactive({
email: '',
code: '',
password1: '',
password2: '',
});
const disabled = ref(false)
const buttonText = ref('获取验证码')
const onRegister = () => {
if (formData.password1 != formData.password2) {
message.info('密码不一致');
return
}
let param = {
email: formData.email,
code: formData.code,
password: formData.password2,
}
userRegister(param).then((res) => {
if (res.data.code == 0) {
message.success('注册成功');
onLogin()
}
if (res.data.code == 10001) {
message.warn('该用户已经存在');
}
if (res.data.code == 10005) {
message.error('验证码错误');
}
})
};
// 获取验证码
const onGetCode = () => {
if (formData.email == '') {
message.warn('邮箱不能为空')
}
let param = {
email: formData.email
}
getVerifyCode(param).then((res) => {
if (res.data.code == 0) {
disabled.value = true
buttonText.value = '验证码已发送'
}
})
}
// 跳转到登录页面
const onLogin = () => {
router.push("/login")
}
return {
formData,
disabled,
buttonText,
onRegister,
onLogin,
onGetCode,
};
},
}
</script>
<style scoped>
</style>