90 lines
1.8 KiB
Vue
90 lines
1.8 KiB
Vue
<template>
|
||
<div class="not-found-page">
|
||
<div class="nf-content">
|
||
<div class="nf-code">404</div>
|
||
<h1 class="nf-title">页面未找到</h1>
|
||
<p class="nf-desc">抱歉,您访问的页面不存在或已被移除。</p>
|
||
<div class="nf-actions">
|
||
<el-button type="primary" size="large" @click="goHome">
|
||
返回首页
|
||
</el-button>
|
||
<el-button size="large" @click="goBack">
|
||
返回上一页
|
||
</el-button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
|
||
<script setup lang="ts">
|
||
import { useRouter } from "vue-router";
|
||
import { useAuthStore } from "../../stores/auth";
|
||
|
||
const router = useRouter();
|
||
const authStore = useAuthStore();
|
||
|
||
const goHome = () => {
|
||
if (authStore.scope === "PLATFORM") {
|
||
router.push("/platform/tenants");
|
||
} else {
|
||
router.push("/dashboard");
|
||
}
|
||
};
|
||
|
||
const goBack = () => {
|
||
if (window.history.length > 1) {
|
||
router.back();
|
||
} else {
|
||
goHome();
|
||
}
|
||
};
|
||
</script>
|
||
|
||
<style scoped>
|
||
.not-found-page {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
min-height: calc(100vh - 60px);
|
||
background-color: var(--el-bg-color-page);
|
||
padding: 24px;
|
||
}
|
||
|
||
.nf-content {
|
||
text-align: center;
|
||
max-width: 480px;
|
||
}
|
||
|
||
.nf-code {
|
||
font-size: 120px;
|
||
font-weight: 800;
|
||
line-height: 1;
|
||
background: linear-gradient(135deg, #6366f1, #818cf8, #a5b4fc);
|
||
-webkit-background-clip: text;
|
||
-webkit-text-fill-color: transparent;
|
||
background-clip: text;
|
||
margin-bottom: 16px;
|
||
letter-spacing: -4px;
|
||
}
|
||
|
||
.nf-title {
|
||
font-size: 24px;
|
||
font-weight: 600;
|
||
color: var(--el-text-color-primary);
|
||
margin: 0 0 12px;
|
||
}
|
||
|
||
.nf-desc {
|
||
font-size: 14px;
|
||
color: var(--el-text-color-secondary);
|
||
margin: 0 0 32px;
|
||
line-height: 1.6;
|
||
}
|
||
|
||
.nf-actions {
|
||
display: flex;
|
||
gap: 12px;
|
||
justify-content: center;
|
||
}
|
||
</style>
|