From bfbb1ea3c6bb2dd7db064fb189290a1bfcf6c9cd Mon Sep 17 00:00:00 2001
From: seatonwan9
Date: 星期四, 28 八月 2025 02:14:48 +0800
Subject: [PATCH] 提交源码

---
 src/router/index.ts |   62 +++++++++++++++++++++++++++----
 1 files changed, 54 insertions(+), 8 deletions(-)

diff --git a/src/router/index.ts b/src/router/index.ts
index 6f447b2..cd9b7b9 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -12,6 +12,7 @@
 import { useUserInfo } from '@/stores/modules/userInfo'
 import { useCommonInfo } from '@/stores/modules/common' // 鐘舵�佺鐞嗗櫒
 import { useNavTabs } from '@/stores/modules/navTabs' // 鏍囩瀵艰埅
+import { queryUserDetail } from '@/api/userInfo'
 
 const router = createRouter({
   history: createWebHistory('/manage/'),
@@ -20,7 +21,7 @@
     return { top: 0 }
   },
 })
-router.beforeEach((to, from, next) => {
+router.beforeEach(async (to, from, next) => {
   console.log("to",to)
   const userStore = useUserInfo()
   // * 鍦ㄨ烦杞矾鐢变箣鍓嶏紝娓呴櫎鎵�鏈夌殑璇锋眰
@@ -41,11 +42,17 @@
     }
     // 濡傛灉娌℃湁token锛岃缃竴涓粯璁oken骞剁户缁�
     if (!userStore.getAdminToken) {
-      const obj: any = {
-        adminToken: 'dev-token',
-        screenToken: '',
+      const localUserInfo = localStorage.getItem('userInfo')
+      if (localUserInfo) {
+          const userInfo = JSON.parse(localUserInfo)
+          if (userInfo.adminToken) {
+          const obj: any = {
+            adminToken: userInfo.adminToken,
+            screenToken: '',
+          }
+          userStore.updateUserInfo(obj)
+        }
       }
-      userStore.updateUserInfo(obj)
     }
     next()
     return
@@ -58,12 +65,17 @@
   } else {
     if (to.query.token) {
       const token = to.query.token as string
-      localStorage.setItem('lastRecordTime', new Date().getTime())
+      localStorage.setItem('lastRecordTime', new Date().getTime().toString())
       const obj: any = {
         adminToken: token,
         screenToken: '',
       }
       userStore.updateUserInfo(obj)
+      const localUserInfo = localStorage.getItem('userInfo')
+      if (localUserInfo) {
+        const userInfo = JSON.parse(localUserInfo)
+        userStore.updateUserDetail(userInfo)
+      }
       // chrome
       document.body.scrollTop = 0
       // firefox
@@ -72,9 +84,43 @@
       window.pageYOffset = 0
       next()
     } else if (!userStore.getAdminToken) {
-      // 濡傛灉娌℃湁锛屽垯璺宠嚦鐧诲綍椤甸潰
-      next({ path: '/loginT' })
+      // 浠� localStorage 涓幏鍙� userInfo 鐨� adminToken
+      const localUserInfo = localStorage.getItem('userInfo')
+      if (localUserInfo) {
+        try {
+          const userInfo = JSON.parse(localUserInfo)
+          if (userInfo.adminToken) {
+            // 濡傛灉鑾峰彇鍒� adminToken锛屽垯鏇存柊 userStore
+            userStore.updateUserInfo({
+              adminToken: userInfo.adminToken,
+              screenToken: userInfo.screenToken || '',
+              fullUnitName: userInfo.fullUnitName || '',
+              empCode: userInfo.empCode || '',
+              menuList: userInfo.menuList || []
+            })
+            // 鍚屾椂鏇存柊鐢ㄦ埛璇︾粏淇℃伅
+            userStore.updateUserDetail(userInfo)
+            next()
+          } else {
+            // 濡傛灉娌℃湁 adminToken锛屽垯鐢ㄦ埛鏈櫥褰�
+            next({ path: '/loginT' })
+          }
+        } catch (error) {
+          console.error('瑙f瀽 localStorage 涓殑 userInfo 澶辫触:', error)
+          // 瑙f瀽澶辫触锛岃涓虹敤鎴锋湭鐧诲綍
+          next({ path: '/loginT' })
+        }
+      } else {
+        // 濡傛灉娌℃湁 userInfo锛屽垯鐢ㄦ埛鏈櫥褰�
+        next({ path: '/loginT' })
+      }
     } else {
+      // 鑾峰彇鐢ㄦ埛淇℃伅
+      const localUserInfo = localStorage.getItem('userInfo')
+      if (localUserInfo) {
+        const userInfo = JSON.parse(localUserInfo)
+        userStore.updateUserDetail(userInfo)
+      }
       next()
     }
   }

--
Gitblit v1.8.0