|
|
|
@ -2,18 +2,26 @@ import { createRouter, createWebHistory } from 'vue-router' |
|
|
|
import Layout from '../layout/Layout.vue' |
|
|
|
|
|
|
|
const routes = [ |
|
|
|
{ path: '/', |
|
|
|
{ |
|
|
|
path: '/', |
|
|
|
redirect: '/userPermissions/market' |
|
|
|
}, |
|
|
|
{ |
|
|
|
path: '/login', |
|
|
|
name: 'login', |
|
|
|
component: () => import('../views/Login.vue'), |
|
|
|
meta: { title: '登录', hiddenSidebar: true } |
|
|
|
meta: { |
|
|
|
title: '登录', |
|
|
|
hiddenSidebar: true, |
|
|
|
requireAuth: false // 登录页不需要登录
|
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
path: '', |
|
|
|
component: Layout, |
|
|
|
meta: { |
|
|
|
requireAuth: true // Layout下所有子路由都需要登录
|
|
|
|
}, |
|
|
|
children: [ |
|
|
|
{ |
|
|
|
path: 'userPermissions', |
|
|
|
@ -32,17 +40,33 @@ const routes = [ |
|
|
|
component: () => import('../views/UserPermissions/Module.vue'), |
|
|
|
meta: { title: '模块期限', showSidebar: true } |
|
|
|
}, |
|
|
|
// 深度探索--操作日志
|
|
|
|
{ |
|
|
|
path: 'logDeepexplore', |
|
|
|
name: 'logDeepexplore', |
|
|
|
component: () => import('../views/UserPermissions/LogDeepExplore.vue'), |
|
|
|
meta: { hidden: true } |
|
|
|
}, |
|
|
|
// DeepMate--操作日志
|
|
|
|
{ |
|
|
|
path: 'logDeepMate', |
|
|
|
name: 'logDeepMate', |
|
|
|
component: () => import('../views/UserPermissions/LogDeepMate.vue'), |
|
|
|
meta: { hidden: true } |
|
|
|
}, |
|
|
|
// 行情期限--操作日志
|
|
|
|
{ |
|
|
|
path: 'logMarket', |
|
|
|
name: 'logMarket', |
|
|
|
component: () => import('../views/UserPermissions/LogMarket.vue'), |
|
|
|
meta: { hidden: true } |
|
|
|
}, |
|
|
|
// 导出列表页面
|
|
|
|
{ |
|
|
|
path: 'export', |
|
|
|
name: 'export', |
|
|
|
component: () => import('../views/UserPermissions/Export.vue'), |
|
|
|
meta: { hidden: true } |
|
|
|
} |
|
|
|
] |
|
|
|
} |
|
|
|
@ -55,9 +79,32 @@ const router = createRouter({ |
|
|
|
routes |
|
|
|
}) |
|
|
|
|
|
|
|
// 全局前置守卫
|
|
|
|
router.beforeEach((to, from, next) => { |
|
|
|
if (to.meta.title) document.title = to.meta.title |
|
|
|
next() |
|
|
|
// 设置页面标题
|
|
|
|
if (to.meta.title) { |
|
|
|
document.title = to.meta.title |
|
|
|
} |
|
|
|
|
|
|
|
// 登录状态判断
|
|
|
|
const token = localStorage.getItem('token') |
|
|
|
|
|
|
|
// 权限拦截逻辑
|
|
|
|
if (to.meta.requireAuth) { |
|
|
|
// 目标页面需要登录:已登录→放行,未登录→跳登录页
|
|
|
|
if (token) { |
|
|
|
next() // 已登录,放行
|
|
|
|
} else { |
|
|
|
next({ path: '/login' }) // 跳登录页
|
|
|
|
} |
|
|
|
} else { |
|
|
|
// 目标页面不需要登录:已登录→跳首页,未登录→放行
|
|
|
|
if (token && to.path === '/login') { |
|
|
|
next('/') // 自动跳首页
|
|
|
|
} else { |
|
|
|
next() // 未登录,放行到登录页
|
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
export default router |