Commit 0912196060c100c605e8412fed78eebdaf25198e
1 parent
0ec38cbe
router跳转
Showing
2 changed files
with
41 additions
and
29 deletions
src/App.vue
1 | 1 | <script setup> |
2 | 2 | import { RouterLink, RouterView } from 'vue-router' |
3 | 3 | import {onMounted} from "vue"; |
4 | - | |
4 | +import { useRouter } from 'vue-router' | |
5 | +const router = useRouter() | |
5 | 6 | onMounted(() => { |
7 | + const isAuthenticated = sessionStorage.getItem('isAuthenticated') | |
8 | + // 需要认证但未登录 → 跳转登录页 | |
9 | + if (!isAuthenticated) { | |
10 | + router.push('/login') | |
11 | + }else{ | |
12 | + // 已登录访问登录页 → 跳转首页 | |
13 | + router.push('/') | |
14 | + } | |
6 | 15 | window.addEventListener('beforeunload', () => { |
7 | 16 | sessionStorage.removeItem('isAuthenticated') |
8 | 17 | }) | ... | ... |
src/router/index.js
... | ... | @@ -6,48 +6,51 @@ const router = createRouter({ |
6 | 6 | history: createWebHistory(import.meta.env.BASE_URL), |
7 | 7 | routes: [ |
8 | 8 | { |
9 | - path: '/', | |
10 | - name: 'home', | |
9 | + path: "/", | |
10 | + redirect: "/home", | |
11 | + }, | |
12 | + { | |
13 | + path: "/home", | |
14 | + name: "home", | |
11 | 15 | component: HomeView, |
12 | 16 | meta: { |
13 | - title: 'SN管理', | |
14 | - requiresAuth: true // 添加这行,标记该路由需要认证 | |
15 | - } | |
16 | - | |
17 | + title: "SN管理", | |
18 | + requiresAuth: true, // 添加这行,标记该路由需要认证 | |
19 | + }, | |
17 | 20 | }, |
18 | 21 | { |
19 | - path: '/login', | |
20 | - name: 'Login', | |
22 | + path: "/login", | |
23 | + name: "Login", | |
21 | 24 | component: Login, |
22 | 25 | meta: { |
23 | - requiresAuth: false // 明确表示登录页不需要认证 | |
24 | - } | |
25 | - } | |
26 | - ] | |
27 | -}) | |
26 | + requiresAuth: false, // 明确表示登录页不需要认证 | |
27 | + }, | |
28 | + }, | |
29 | + ], | |
30 | +}); | |
28 | 31 | |
29 | 32 | // 路由守卫 |
30 | -router.beforeEach((to, from, next) => { | |
31 | - const isAuthenticated = sessionStorage.getItem('isAuthenticated') | |
33 | +// router.beforeEach((to, from, next) => { | |
34 | +// const isAuthenticated = sessionStorage.getItem('isAuthenticated') | |
32 | 35 | |
33 | - if (to.path === '/login' && !isAuthenticated) { | |
34 | - return next('/login') | |
35 | - } | |
36 | +// // if (to.path === '/login' && !isAuthenticated) { | |
37 | +// // return next('/login') | |
38 | +// // } | |
36 | 39 | |
37 | - // 需要认证但未登录 → 跳转登录页 | |
38 | - if (to.meta.requiresAuth && !isAuthenticated) { | |
39 | - return next('/login') | |
40 | - } | |
40 | +// // 需要认证但未登录 → 跳转登录页 | |
41 | +// if (to.meta.requiresAuth && !isAuthenticated) { | |
42 | +// return next('/login') | |
43 | +// } | |
41 | 44 | |
42 | - // 已登录但访问登录页 → 跳转首页 | |
43 | - if (to.path === '/login' && isAuthenticated) { | |
44 | - return next('/') | |
45 | - } | |
45 | +// // 已登录但访问登录页 → 跳转首页 | |
46 | +// if (to.path === '/login' && isAuthenticated) { | |
47 | +// return next('/') | |
48 | +// } | |
46 | 49 | |
47 | 50 | |
48 | 51 | |
49 | - next() | |
50 | -}) | |
52 | +// next() | |
53 | +// }) | |
51 | 54 | |
52 | 55 | |
53 | 56 | export default router | ... | ... |