modified: main_dc/yalarba/easySite/easySite/app/pages/auth/register.vue

add first and last names for forms and change logic as
fullName=firstName+lastName
This commit is contained in:
2025-11-14 04:01:11 +05:00
parent 6b13e77bb6
commit 76b2aae44c
@@ -9,32 +9,32 @@
<div class="card-body">
<form @submit.prevent="handleSubmit" class="auth-form">
<!-- Имя -->
<div class="form-group">
<label class="form-label">Полное имя</label>
<input v-model="form.full_name" type="text" class="form-input" placeholder="Ваше полное имя" required>
<label class="form-label">Имя</label>
<input v-model="form.first_name" type="text" class="form-input" placeholder="Ваше имя" required>
</div>
<!-- Фамилия -->
<div class="form-group">
<label class="form-label">Фамилия</label>
<input v-model="form.last_name" type="text" class="form-input" placeholder="Ваша фамилия" required>
</div>
<!-- Email -->
<div class="form-group">
<label class="form-label">Email</label>
<input v-model="form.email" type="email" class="form-input" placeholder="your@email.com" required>
</div>
<div class="form-group">
<label class="form-label">Телефон</label>
<input v-model="form.phone" type="tel" class="form-input" placeholder="Ваш телефон">
</div>
<div class="form-group">
<label class="form-label">Город</label>
<input v-model="form.city" type="text" class="form-input" placeholder="Ваш город">
</div>
<!-- Пароль -->
<div class="form-group">
<label class="form-label">Пароль</label>
<input v-model="form.password" type="password" class="form-input"
placeholder="Придумайте пароль (минимум 6 символов)" required minlength="6">
</div>
<!-- Подтверждение пароля -->
<div class="form-group">
<label class="form-label">Подтверждение пароля</label>
<input v-model="form.passwordConfirm" type="password" class="form-input" placeholder="Повторите пароль"
@@ -66,12 +66,12 @@
</template>
<script setup lang="ts">
const config = useRuntimeConfig()
const loading = ref(false)
// Форма регистрации согласно UserRegisterRequest
// Форма регистрации — теперь с отдельными полями имени и фамилии
const form = ref({
full_name: '',
first_name: '',
last_name: '',
email: '',
password: '',
passwordConfirm: '',
@@ -95,15 +95,16 @@ const handleSubmit = async () => {
loading.value = true
try {
// Формируем full_name из имени и фамилии
const full_name = `${form.value.first_name.trim()} ${form.value.last_name.trim()}`
// Отправка данных на бэкенд
const response = await $fetch(`https://easysite102.ru/auth/register`, {
method: 'POST',
body: {
email: form.value.email,
password: form.value.password,
full_name: form.value.full_name,
phone: form.value.phone || '', // optional field
city: form.value.city || '' // optional field
full_name // = first_name + last_name
}
})
@@ -112,7 +113,7 @@ const handleSubmit = async () => {
// Успешная регистрация
alert('Регистрация выполнена успешно!')
// Автоматический вход после регистрации или переход на страницу входа
// Переход на страницу входа
navigateTo('/auth/login')
} catch (error: unknown) {
@@ -129,7 +130,6 @@ const handleSubmit = async () => {
return
}
}
// Общее сообщение об ошибке
alert(`Ошибка: ${error.message}`)
} else {
alert('Неизвестная ошибка при регистрации. Попробуйте позже.')
@@ -140,6 +140,7 @@ const handleSubmit = async () => {
}
</script>
<style scoped>
.auth-page {
min-height: 100vh;