|
|
@@ -0,0 +1,179 @@
|
|
|
+<template>
|
|
|
+ <div class="notLo">
|
|
|
+ <div class="container">
|
|
|
+ <div class="card">
|
|
|
+ <div class="icon-container">
|
|
|
+ <img :src='jkecLogo' class="icon-containe-img"/>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <h1 class="title">暂未登录</h1>
|
|
|
+
|
|
|
+ <p class="message">
|
|
|
+ 您当前尚未登录系统,请登录后<br>
|
|
|
+ 访问完整功能和个性化内容
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <div class="divider"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+</template>
|
|
|
+<script setup lang='ts'>
|
|
|
+import { ref, reactive } from 'vue'
|
|
|
+import jkecLogo from '/@/assets/icons/jkec_logo.png'
|
|
|
+
|
|
|
+</script>
|
|
|
+<style scoped lang='scss'>
|
|
|
+* {
|
|
|
+ margin: 0;
|
|
|
+ padding: 0;
|
|
|
+ box-sizing: border-box;
|
|
|
+ font-family: 'Inter', 'Segoe UI', Roboto, sans-serif;
|
|
|
+}
|
|
|
+
|
|
|
+body {
|
|
|
+ background-color: #f8fafc;
|
|
|
+ min-height: 100vh;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ padding: 2rem;
|
|
|
+ background-image:
|
|
|
+ radial-gradient(circle at 10% 20%, rgba(30, 48, 80, 0.04) 0%, transparent 30%),
|
|
|
+ radial-gradient(circle at 90% 80%, rgba(30, 48, 80, 0.04) 0%, transparent 30%);
|
|
|
+}
|
|
|
+
|
|
|
+/* 主容器样式 */
|
|
|
+.notLo{
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+}
|
|
|
+.container {
|
|
|
+ width: 100%;
|
|
|
+ max-width: 550px;
|
|
|
+}
|
|
|
+
|
|
|
+.card {
|
|
|
+ background: #ffffff;
|
|
|
+ border-radius: 28px;
|
|
|
+ box-shadow: 0 20px 60px rgba(0, 0, 0, 0.07);
|
|
|
+ padding: 5rem 3.5rem;
|
|
|
+ text-align: center;
|
|
|
+ position: relative;
|
|
|
+ overflow: hidden;
|
|
|
+ transition: transform 0.3s ease;
|
|
|
+}
|
|
|
+
|
|
|
+.card:hover {
|
|
|
+ transform: translateY(-5px);
|
|
|
+}
|
|
|
+
|
|
|
+/* 装饰元素 */
|
|
|
+.card::before {
|
|
|
+ content: '';
|
|
|
+ position: absolute;
|
|
|
+ top: -150px;
|
|
|
+ right: -150px;
|
|
|
+ width: 350px;
|
|
|
+ height: 350px;
|
|
|
+ background: radial-gradient(circle, rgba(30, 64, 175, 0.08) 0%, rgba(30, 64, 175, 0) 70%);
|
|
|
+ border-radius: 50%;
|
|
|
+ z-index: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.card::after {
|
|
|
+ content: '';
|
|
|
+ position: absolute;
|
|
|
+ bottom: -120px;
|
|
|
+ left: -120px;
|
|
|
+ width: 300px;
|
|
|
+ height: 300px;
|
|
|
+ background: radial-gradient(circle, rgba(59, 130, 246, 0.06) 0%, rgba(59, 130, 246, 0) 70%);
|
|
|
+ border-radius: 50%;
|
|
|
+ z-index: 0;
|
|
|
+}
|
|
|
+
|
|
|
+/* 图标样式 */
|
|
|
+.icon-container {
|
|
|
+ width: 130px;
|
|
|
+ height: 130px;
|
|
|
+ margin: 0 auto 3rem;
|
|
|
+ // background: linear-gradient(135deg, rgba(30, 64, 175, 0.1) 0%, rgba(59, 130, 246, 0.1) 100%);
|
|
|
+ border-radius: 50%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ position: relative;
|
|
|
+ z-index: 1;
|
|
|
+ // box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
|
|
|
+}
|
|
|
+.icon-containe-img{
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+}
|
|
|
+.user-icon {
|
|
|
+ width: 50px;
|
|
|
+ height: 50px;
|
|
|
+ color: #1e40af;
|
|
|
+ font-size: 64px;
|
|
|
+ opacity: 0.95;
|
|
|
+}
|
|
|
+
|
|
|
+/* 文字样式 */
|
|
|
+.title {
|
|
|
+ font-size: clamp(2.2rem, 6vw, 3.2rem);
|
|
|
+ font-weight: 700;
|
|
|
+ color: #1e293b;
|
|
|
+ margin-bottom: 1.5rem;
|
|
|
+ position: relative;
|
|
|
+ z-index: 1;
|
|
|
+ letter-spacing: -0.6px;
|
|
|
+ line-height: 1.1;
|
|
|
+}
|
|
|
+
|
|
|
+.message {
|
|
|
+ font-size: clamp(1.1rem, 3vw, 1.35rem);
|
|
|
+ color: #64748b;
|
|
|
+ line-height: 1.7;
|
|
|
+ max-width: 360px;
|
|
|
+ margin: 0 auto;
|
|
|
+ position: relative;
|
|
|
+ z-index: 1;
|
|
|
+}
|
|
|
+
|
|
|
+/* 底部装饰线 */
|
|
|
+.divider {
|
|
|
+ width: 80px;
|
|
|
+ height: 3px;
|
|
|
+ background: linear-gradient(90deg, rgba(30, 64, 175, 0) 0%, rgba(30, 64, 175, 0.3) 50%, rgba(30, 64, 175, 0) 100%);
|
|
|
+ margin: 4rem auto 0;
|
|
|
+ position: relative;
|
|
|
+ z-index: 1;
|
|
|
+}
|
|
|
+
|
|
|
+/* 响应式调整 */
|
|
|
+@media (max-width: 640px) {
|
|
|
+ .card {
|
|
|
+ padding: 4rem 2.5rem;
|
|
|
+ border-radius: 24px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .icon-container {
|
|
|
+ width: 120px;
|
|
|
+ height: 120px;
|
|
|
+ margin-bottom: 2.5rem;
|
|
|
+ }
|
|
|
+
|
|
|
+ .user-icon {
|
|
|
+ font-size: 56px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .divider {
|
|
|
+ margin-top: 3.5rem;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|