From fbacc121df810f01e5b6ed43e6431dea6df270fd Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期五, 02 十月 2026 10:04:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/main'
---
traffic-audit-web/src/router/index.js | 21 +++++++++++++++++++--
1 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/traffic-audit-web/src/router/index.js b/traffic-audit-web/src/router/index.js
index 2540f38..93d08e7 100644
--- a/traffic-audit-web/src/router/index.js
+++ b/traffic-audit-web/src/router/index.js
@@ -3,7 +3,7 @@
Vue.use(Router)
-export default new Router({
+const router = new Router({
routes: [
{ path: '/', redirect: '/login' },
{ path: '/login', name: 'Login', component: () => import('@/views/Login.vue') },
@@ -14,6 +14,23 @@
{ path: '/audit', name: 'AuditResult', component: () => import('@/views/AuditResult.vue') },
{ path: '/report', name: 'ReportExport', component: () => import('@/views/ReportExport.vue') },
{ path: '/rules', name: 'RuleManage', component: () => import('@/views/RuleManage.vue') },
- { path: '/users', name: 'UserManage', component: () => import('@/views/UserManage.vue') }
+ { path: '/users', name: 'UserManage', component: () => import('@/views/UserManage.vue') },
+ { path: '/holiday-stat', name: 'HolidayStat', component: () => import('@/views/HolidayStat.vue') },
+ { path: '/system-config', name: 'SystemConfig', component: () => import('@/views/SystemConfig.vue'), meta: { requireAdmin: true } }
]
})
+
+router.beforeEach((to, from, next) => {
+ const token = sessionStorage.getItem('token')
+ if (to.path === '/login') {
+ next(token ? '/dashboard' : undefined)
+ } else if (!token) {
+ next('/login')
+ } else if (to.meta && to.meta.requireAdmin && sessionStorage.getItem('username') !== 'admin') {
+ next('/dashboard')
+ } else {
+ next()
+ }
+})
+
+export default router
--
Gitblit v1.9.1