89 lines
2.0 KiB
Vue
89 lines
2.0 KiB
Vue
<template>
|
||
<div class="home-container">
|
||
<div class="hero-section glass">
|
||
<h1 class="hero-title">Hertz Admin</h1>
|
||
<p class="hero-subtitle">基于 Spring Boot 3 与 Vue 3 的现代化权限管理系统</p>
|
||
<div class="hero-actions">
|
||
<el-button type="primary" size="large" @click="router.push('/login')">立即开始</el-button>
|
||
<el-button size="large" @click="router.push('/portal/about')">了解更多</el-button>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="features-grid">
|
||
<el-card class="feature-card glass">
|
||
<h3>RBAC 权限</h3>
|
||
<p>基于角色的访问控制,细粒度的权限管理。</p>
|
||
</el-card>
|
||
<el-card class="feature-card glass">
|
||
<h3>动态菜单</h3>
|
||
<p>根据用户角色动态生成侧边栏菜单。</p>
|
||
</el-card>
|
||
<el-card class="feature-card glass">
|
||
<h3>现代化 UI</h3>
|
||
<p>采用 Element Plus 与 iOS 风格设计。</p>
|
||
</el-card>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
|
||
<script setup>
|
||
import { useRouter } from 'vue-router'
|
||
const router = useRouter()
|
||
</script>
|
||
|
||
<style scoped>
|
||
.home-container {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 40px;
|
||
}
|
||
|
||
.hero-section {
|
||
text-align: center;
|
||
padding: 80px 40px;
|
||
border-radius: 24px;
|
||
background: linear-gradient(135deg, rgba(255,255,255,0.8) 0%, rgba(240,249,255,0.8) 100%);
|
||
}
|
||
|
||
.hero-title {
|
||
font-size: 48px;
|
||
font-weight: 800;
|
||
margin: 0 0 16px;
|
||
background: linear-gradient(135deg, var(--ios-primary) 0%, #00C6FB 100%);
|
||
background-clip: text;
|
||
-webkit-background-clip: text;
|
||
-webkit-text-fill-color: transparent;
|
||
letter-spacing: -1px;
|
||
}
|
||
|
||
.hero-subtitle {
|
||
font-size: 20px;
|
||
color: #666;
|
||
margin: 0 0 32px;
|
||
}
|
||
|
||
.hero-actions {
|
||
display: flex;
|
||
justify-content: center;
|
||
gap: 16px;
|
||
}
|
||
|
||
.features-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||
gap: 24px;
|
||
}
|
||
|
||
.feature-card h3 {
|
||
margin: 0 0 8px;
|
||
color: var(--ios-primary);
|
||
}
|
||
|
||
.feature-card p {
|
||
margin: 0;
|
||
color: #666;
|
||
line-height: 1.6;
|
||
}
|
||
</style>
|
||
|