97 lines
1.7 KiB
Vue
97 lines
1.7 KiB
Vue
|
|
<template>
|
|||
|
|
<!-- 加载中页面 -->
|
|||
|
|
<div class="portal-loading">
|
|||
|
|
<div class="loading-content">
|
|||
|
|
<!-- 加载动画 -->
|
|||
|
|
<div class="loading-spinner">
|
|||
|
|
<div class="spinner-ring"></div>
|
|||
|
|
<div class="spinner-ring"></div>
|
|||
|
|
<div class="spinner-ring"></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<!-- 加载文本 -->
|
|||
|
|
<h2 class="loading-title">正在加载...</h2>
|
|||
|
|
<p class="loading-subtitle">请稍候,正在准备您的工作台</p>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script setup lang="ts">
|
|||
|
|
// 加载中页面,无特殊逻辑
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style scoped>
|
|||
|
|
/* 页面容器 */
|
|||
|
|
.portal-loading {
|
|||
|
|
min-height: 100vh;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* 加载内容 */
|
|||
|
|
.loading-content {
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
align-items: center;
|
|||
|
|
gap: 24px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* 加载动画 */
|
|||
|
|
.loading-spinner {
|
|||
|
|
position: relative;
|
|||
|
|
width: 80px;
|
|||
|
|
height: 80px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.spinner-ring {
|
|||
|
|
position: absolute;
|
|||
|
|
width: 100%;
|
|||
|
|
height: 100%;
|
|||
|
|
border: 3px solid transparent;
|
|||
|
|
border-top-color: #3b82f6;
|
|||
|
|
border-radius: 50%;
|
|||
|
|
animation: spin 1.5s linear infinite;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.spinner-ring:nth-child(2) {
|
|||
|
|
width: 60px;
|
|||
|
|
height: 60px;
|
|||
|
|
top: 10px;
|
|||
|
|
left: 10px;
|
|||
|
|
border-top-color: #f59e0b;
|
|||
|
|
animation-duration: 1.2s;
|
|||
|
|
animation-direction: reverse;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.spinner-ring:nth-child(3) {
|
|||
|
|
width: 40px;
|
|||
|
|
height: 40px;
|
|||
|
|
top: 20px;
|
|||
|
|
left: 20px;
|
|||
|
|
border-top-color: #10b981;
|
|||
|
|
animation-duration: 0.9s;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
@keyframes spin {
|
|||
|
|
from {
|
|||
|
|
transform: rotate(0deg);
|
|||
|
|
}
|
|||
|
|
to {
|
|||
|
|
transform: rotate(360deg);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* 加载文本 */
|
|||
|
|
.loading-title {
|
|||
|
|
font-size: 24px;
|
|||
|
|
font-weight: 600;
|
|||
|
|
color: #f1f5f9;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.loading-subtitle {
|
|||
|
|
font-size: 14px;
|
|||
|
|
color: #94a3b8;
|
|||
|
|
}
|
|||
|
|
</style>
|