1
1
<script setup lang="ts">
2
2
import type { FormInstance } from ' element-plus'
3
3
import * as useraApi from ' ~/api/user'
4
-
4
+ import LanguageMenu from ' ~/layout/components/LanguageMenu.vue'
5
+ import { maxLengthField , minLengthField , passwordField , requiredField } from ' ~/utils/form'
6
+ const { t } = useI18n ()
5
7
const router = useRouter ()
6
8
const goLogin = () => {
7
9
router .push (' /login' )
@@ -17,24 +19,24 @@ const registerForm = $ref({
17
19
})
18
20
const registerRules = {
19
21
username: [
20
- { required: true , message: ' Please input your username! ' } ,
21
- { min: 4 , message: ' Length should be greater than 4 ' } ,
22
- { max: 20 , message: ' Length should be less than 20 ' } ,
22
+ requiredField ( t ( ' pages.account.login.account ' )) ,
23
+ minLengthField ( 4 , t ( ' pages.account.login.account ' )) ,
24
+ maxLengthField ( 20 , t ( ' pages.account.login.account ' )) ,
23
25
],
24
26
name: [
25
- { required: true , message: ' Please input your name! ' } ,
27
+ requiredField ( t ( ' pages.account.register. name' )) ,
26
28
],
27
29
password: [
28
- { required: true , message: ' Please input your password! ' , trigger: ' blur ' } ,
29
- { min: 8 , message: ' Length should be greater than 8 ' } ,
30
+ requiredField ( t ( ' pages.account.login. password' )) ,
31
+ passwordField ( t ( ' pages.account.login.password ' )) ,
30
32
],
31
33
password2: [
32
- { required: true , message: ' Please input your password again! ' } ,
33
- { min: 8 , message: ' Length should be greater than 8 ' } ,
34
+ requiredField ( t ( ' layout.components.reset- password.form.confirm-password ' )) ,
35
+ passwordField ( t ( ' layout.components.reset-password.form.confirm-password ' )) ,
34
36
{
35
37
validator : (rule : any , value : string , callback : any ) => {
36
38
if (value !== registerForm .password )
37
- callback (new Error (' Two passwords that you enter is inconsistent! ' ))
39
+ callback (new Error (t ( ' layout.components.reset-password.rules.confirm ' ) ))
38
40
39
41
else
40
42
callback ()
@@ -66,7 +68,7 @@ const register = async (registerEl: FormInstance | undefined) => {
66
68
}
67
69
68
70
ElMessage ({
69
- message: ' 注册成功! ' ,
71
+ message: t ( ' pages.account.register.success-msg ' ) ,
70
72
type: ' success' ,
71
73
})
72
74
goLogin ()
@@ -78,13 +80,13 @@ const register = async (registerEl: FormInstance | undefined) => {
78
80
<el-card w-sm mt-20 ma >
79
81
<template #header >
80
82
<div flex justify-between items-center >
81
- <span text-4 >LAF 云开发账户注册 </span >
83
+ <span text-4 >{{ $t('pages.account.register.title') }} </span >
82
84
<el-button
83
85
type =" primary"
84
86
text
85
87
@click =" goLogin"
86
88
>
87
- 去登录
89
+ {{ $t('pages.account.login.title') }}
88
90
</el-button >
89
91
</div >
90
92
</template >
@@ -96,17 +98,17 @@ const register = async (registerEl: FormInstance | undefined) => {
96
98
:rules =" registerRules"
97
99
autocomplete =" off"
98
100
>
99
- <el-form-item label =" 账户 " prop =" username" >
100
- <el-input v-model.trim =" registerForm.username" placeholder = " 请输入账户名 " />
101
+ <el-form-item : label =" $t('pages.account.login.account') " prop =" username" >
102
+ <el-input v-model.trim =" registerForm.username" />
101
103
</el-form-item >
102
- <el-form-item label =" 姓名 " mt-6 prop =" name" >
103
- <el-input v-model.trim =" registerForm.name" placeholder = " 请输入姓名 " />
104
+ <el-form-item : label =" $t('pages.account.register.name') " mt-6 prop =" name" >
105
+ <el-input v-model.trim =" registerForm.name" />
104
106
</el-form-item >
105
- <el-form-item label =" 密码 " mt-6 prop =" password" >
106
- <el-input v-model.trim =" registerForm.password" type =" password" placeholder = " 请输入密码 " />
107
+ <el-form-item : label =" $t('pages.account.login.password') " mt-6 prop =" password" >
108
+ <el-input v-model.trim =" registerForm.password" type =" password" />
107
109
</el-form-item >
108
- <el-form-item label =" 确认密码 " mt-6 prop =" password2" >
109
- <el-input v-model.trim =" registerForm.password2" type =" password" placeholder = " 请再次输入密码 " />
110
+ <el-form-item : label =" $t('layout.components.reset-password.form.confirm-password') " mt-6 prop =" password2" >
111
+ <el-input v-model.trim =" registerForm.password2" type =" password" />
110
112
</el-form-item >
111
113
<el-form-item mt-10 >
112
114
<el-button
@@ -116,15 +118,18 @@ const register = async (registerEl: FormInstance | undefined) => {
116
118
:loading =" loading"
117
119
@click =" register(registerFormRef)"
118
120
>
119
- 注册
121
+ {{ $t('pages.account.register.title') }}
120
122
</el-button >
121
123
</el-form-item >
122
124
</el-form >
125
+ <div text-center >
126
+ <LanguageMenu show-name />
127
+ </div >
123
128
</el-card >
124
129
</template >
125
130
126
131
<route lang="yaml">
127
132
name : register
128
133
meta :
129
- title : 注册
134
+ title : t('pages.account.register.title')
130
135
</route >
0 commit comments