2024-04-13 15:54:07 +08:00
|
|
|
|
<template>
|
2025-09-03 16:12:17 +08:00
|
|
|
|
<a-spin :loading="loading" tip="加载中..." style="width: 100%">
|
|
|
|
|
|
<div class="container">
|
|
|
|
|
|
<div class="login">
|
|
|
|
|
|
<LoginBanner v-if="isPc" />
|
|
|
|
|
|
<div class="login_box">
|
|
|
|
|
|
<div class="login_title">Welcome Back</div>
|
|
|
|
|
|
<div class="login_title_desc">国际化,路由配置,状态管理应有尽有</div>
|
|
|
|
|
|
<div class="login_title_desc">丰富的的页面模板,覆盖大多数典型业务场景</div>
|
|
|
|
|
|
<LoginForm @isLoading="state => (loading = state)" />
|
|
|
|
|
|
</div>
|
2024-04-13 15:54:07 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
2025-09-03 16:12:17 +08:00
|
|
|
|
</a-spin>
|
2024-04-13 15:54:07 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
2024-07-07 18:05:28 +08:00
|
|
|
|
import LoginBanner from "@/views/login/components/login-banner.vue";
|
|
|
|
|
|
import LoginForm from "@/views/login/components/login-form.vue";
|
2025-01-16 00:22:49 +08:00
|
|
|
|
import { useDevicesSize } from "@/hooks/useDevicesSize";
|
2025-09-03 16:12:17 +08:00
|
|
|
|
|
2025-01-16 00:22:49 +08:00
|
|
|
|
const { isPc } = useDevicesSize();
|
2025-09-03 16:12:17 +08:00
|
|
|
|
const loading = ref(false);
|
2024-04-13 15:54:07 +08:00
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
|
.container {
|
|
|
|
|
|
position: relative;
|
2024-12-05 15:20:17 +08:00
|
|
|
|
height: 100vh;
|
2024-07-04 00:16:30 +08:00
|
|
|
|
overflow: hidden;
|
2024-04-13 15:54:07 +08:00
|
|
|
|
.login {
|
2024-07-06 18:22:28 +08:00
|
|
|
|
position: absolute;
|
2024-12-05 15:20:17 +08:00
|
|
|
|
top: 50%;
|
|
|
|
|
|
left: 50%;
|
2024-04-13 15:54:07 +08:00
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
2025-01-16 00:22:49 +08:00
|
|
|
|
max-width: 1000px;
|
2024-12-05 15:20:17 +08:00
|
|
|
|
height: 500px;
|
2024-07-06 18:22:28 +08:00
|
|
|
|
box-shadow: 0 0 8px 1px $color-fill-2;
|
2024-12-05 15:20:17 +08:00
|
|
|
|
transform: translate(-50%, -50%);
|
2024-04-13 15:54:07 +08:00
|
|
|
|
.login_box {
|
2024-12-05 15:20:17 +08:00
|
|
|
|
position: relative;
|
|
|
|
|
|
box-sizing: border-box;
|
2024-07-06 18:22:28 +08:00
|
|
|
|
width: 350px;
|
2024-07-04 00:16:30 +08:00
|
|
|
|
height: 100%;
|
2024-12-05 15:20:17 +08:00
|
|
|
|
padding: 40px 30px 30px;
|
2024-04-13 15:54:07 +08:00
|
|
|
|
.login_title {
|
2024-12-05 15:20:17 +08:00
|
|
|
|
margin-bottom: $margin-text;
|
2024-04-13 15:54:07 +08:00
|
|
|
|
font-size: $font-size-title-2;
|
|
|
|
|
|
color: $color-text-1;
|
|
|
|
|
|
}
|
|
|
|
|
|
.login_title_desc {
|
|
|
|
|
|
font-size: $font-size-body-1;
|
|
|
|
|
|
color: $color-text-3;
|
|
|
|
|
|
}
|
2024-07-06 18:22:28 +08:00
|
|
|
|
.author {
|
2024-04-13 15:54:07 +08:00
|
|
|
|
position: absolute;
|
|
|
|
|
|
bottom: 30px;
|
2024-12-05 15:20:17 +08:00
|
|
|
|
font-size: $font-size-body-1;
|
|
|
|
|
|
color: $color-text-4;
|
2024-04-13 15:54:07 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|