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 |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/traffic-audit-web/src/router/index.js b/traffic-audit-web/src/router/index.js
index 0971ecf..93d08e7 100644
--- a/traffic-audit-web/src/router/index.js
+++ b/traffic-audit-web/src/router/index.js
@@ -14,16 +14,22 @@
     { 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 = localStorage.getItem('token')
+  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(token ? undefined : '/login')
+    next()
   }
 })
 

--
Gitblit v1.9.1