| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- <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>
|