refactor: login page (#89)

This commit is contained in:
CharleeWa 2024-09-12 16:30:56 +08:00
parent 00a26a2513
commit 03c604523e
3 changed files with 46 additions and 12 deletions

View File

@ -46,7 +46,9 @@
"username": "Username", "username": "Username",
"password": "Password", "password": "Password",
"pleaseEnterUsername": "Please enter username", "pleaseEnterUsername": "Please enter username",
"pleaseEnterPassword": "Please enter password" "pleaseEnterPassword": "Please enter password",
"sign-up": "Click to sign up",
"forgot-password": "Forgot Password?"
}, },
"settings": { "settings": {
"logout": "Sign Out", "logout": "Sign Out",

View File

@ -46,7 +46,9 @@
"username": "请输入用户名", "username": "请输入用户名",
"password": "请输入密码", "password": "请输入密码",
"pleaseEnterUsername": "请输入用户名", "pleaseEnterUsername": "请输入用户名",
"pleaseEnterPassword": "请输入密码" "pleaseEnterPassword": "请输入密码",
"sign-up": "还没有账号?点击注册",
"forgot-password": "忘记密码?"
}, },
"settings": { "settings": {
"logout": "退出登录", "logout": "退出登录",

View File

@ -33,7 +33,7 @@ const rules = reactive({
], ],
}) })
async function asyncLogin(values: any) { async function login(values: any) {
try { try {
loading.value = true loading.value = true
await userStore.login({ ...postData, ...values }) await userStore.login({ ...postData, ...values })
@ -53,21 +53,51 @@ async function asyncLogin(values: any) {
<template> <template>
<div class="m-x-a w-7xl text-center"> <div class="m-x-a w-7xl text-center">
<div class="mb-32 mt-64"> <div class="mb-32 mt-20">
<van-image :src="dark ? logoDark : logo" class="h-120 w-120" /> <van-image :src="dark ? logoDark : logo" class="h-120 w-120" />
</div> </div>
<van-form :model="postData" :rules="rules" @submit="asyncLogin"> <van-form :model="postData" :rules="rules" @submit="login">
<van-cell-group inset> <div class="overflow-hidden rounded">
<van-field v-model="postData.username" :rules="rules.username" name="username" :placeholder="t('login.username')" left-icon="contact" /> <van-field
<van-field v-model="postData.password" :rules="rules.password" name="password" :placeholder="t('login.password')" left-icon="lock" type="password" /> v-model="postData.username"
</van-cell-group> :rules="rules.username"
<div class="m-16"> name="username"
<van-button :loading="loading" round block type="primary" native-type="submit"> :placeholder="t('login.username')"
{{ t('login.login') }} left-icon="contact"
/>
</div>
<div class="mt-16 overflow-hidden rounded">
<van-field
v-model="postData.password"
type="password"
:rules="rules.password"
name="password"
:placeholder="t('login.password')"
left-icon="lock"
/>
</div>
<div class="mt-16">
<van-button
:loading="loading"
type="primary"
native-type="submit"
round block
>
{{ $t('login.login') }}
</van-button> </van-button>
</div> </div>
</van-form> </van-form>
<div class="mt-16 text-12 text-[var(--van-primary-color)]">
{{ $t('login.sign-up') }}
</div>
<div class="mt-16 text-12 text-[var(--van-primary-color)]">
{{ $t('login.forgot-password') }}
</div>
</div> </div>
</template> </template>