From 33965c55f9a8a1e684a387b54ed3b0cc2feb75ad Mon Sep 17 00:00:00 2001
From: qsh <>
Date: Tue, 27 May 2025 10:54:59 +0800
Subject: [PATCH] sc

---
 src/permission.js         | 88 +++++++++++++++++----------------------
 src/store/modules/user.ts |  2 +-
 2 files changed, 40 insertions(+), 50 deletions(-)

diff --git a/src/permission.js b/src/permission.js
index 4b4be43..52f958a 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -1,6 +1,6 @@
 import router from './router'
 import { isRelogin } from '@/config/axios/service'
-import { getAccessToken, removeToken } from '@/utils/auth'
+import { getAccessToken } from '@/utils/auth'
 import { useTitle } from '@/hooks/web/useTitle'
 import { useNProgress } from '@/hooks/web/useNProgress'
 import { usePageLoading } from '@/hooks/web/usePageLoading'
@@ -9,7 +9,6 @@ import { useUserStoreWithOut } from '@/store/modules/user'
 import { usePermissionStoreWithOut } from '@/store/modules/permission'
 import { useAppStoreWithOut } from '@/store/modules/app'
 import { getTenantId, getAppId, setTenantId, setAppId } from '@/utils/auth'
-import cache from '@/plugins/cache'
 
 const { start, done } = useNProgress()
 
@@ -21,58 +20,49 @@ const whiteList = ['/login', '/social-login', '/auth-redirect', '/bind', '/regis
 router.beforeEach(async (to, from, next) => {
   start()
   loadStart()
-  if (getAppId() && to.query?.appId && getAppId() != to.query?.appId) {
-    removeToken()
-    cache?.local?.delete('appInfo')
-    cache?.local?.delete('roleRouters')
-    cache?.local?.delete('user')
-    cache?.local?.delete('App_ID')
-    next(`/login?tenantId=${to.query?.tenantId}&appId=${to.query?.appId}`)
-  } else {
-    if (getAccessToken()) {
-      if (to.path === '/login') {
-        if (to.query?.tenantId && to.query?.appId) {
-          setApp(to.query.tenantId, to.query.appId)
-          await waitTime(1500)
-        } else {
-          next({ path: '/' })
-        }
+  if (getAccessToken()) {
+    if (to.path === '/login') {
+      if (to.query?.tenantId && to.query?.appId) {
+        setApp(to.query.tenantId, to.query.appId)
+        await waitTime(1500)
       } else {
-        // 获取所有字典
-        const dictStore = useDictStoreWithOut()
-        const userStore = useUserStoreWithOut()
-        const permissionStore = usePermissionStoreWithOut()
-        if (!dictStore.getIsSetDict) {
-          await dictStore.setDictMap()
-        }
-        if (!userStore.getIsSetUser) {
-          isRelogin.show = true
-          await userStore.setUserInfoAction()
-          isRelogin.show = false
-          // 后端过滤菜单
-          await permissionStore.generateRoutes()
-          permissionStore.getAddRouters.forEach((route) => {
-            router.addRoute(route) // 动态添加可访问路由表
-          })
-          const redirectPath = from.query.redirect || to.path
-          const redirect = decodeURIComponent(redirectPath)
-          const nextData = to.path === redirect ? { ...to, replace: true } : { path: redirect }
-          next(nextData)
-        } else {
-          next()
-        }
+        next({ path: '/' })
       }
     } else {
-      if (whiteList.indexOf(to.path) !== -1) {
+      // 获取所有字典
+      const dictStore = useDictStoreWithOut()
+      const userStore = useUserStoreWithOut()
+      const permissionStore = usePermissionStoreWithOut()
+      if (!dictStore.getIsSetDict) {
+        await dictStore.setDictMap()
+      }
+      if (!userStore.getIsSetUser) {
+        isRelogin.show = true
+        await userStore.setUserInfoAction()
+        isRelogin.show = false
+        // 后端过滤菜单
+        await permissionStore.generateRoutes()
+        permissionStore.getAddRouters.forEach((route) => {
+          router.addRoute(route) // 动态添加可访问路由表
+        })
+        const redirectPath = from.query.redirect || to.path
+        const redirect = decodeURIComponent(redirectPath)
+        const nextData = to.path === redirect ? { ...to, replace: true } : { path: redirect }
+        next(nextData)
+      } else {
         next()
+      }
+    }
+  } else {
+    if (whiteList.indexOf(to.path) !== -1) {
+      next()
+    } else {
+      const tenantId = getTenantId()
+      const appId = getAppId()
+      if (tenantId && appId) {
+        next(`/oa/login?tenantId=${tenantId}&appId=${appId}&redirect=${to.fullPath}`) // 否则全部重定向到登录页
       } else {
-        const tenantId = getTenantId()
-        const appId = getAppId()
-        if (tenantId && appId) {
-          next(`/oa/login?tenantId=${tenantId}&appId=${appId}&redirect=${to.fullPath}`) // 否则全部重定向到登录页
-        } else {
-          next(`/oa/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
-        }
+        next(`/oa/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
       }
     }
   }
diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts
index baa1797..23cd47d 100644
--- a/src/store/modules/user.ts
+++ b/src/store/modules/user.ts
@@ -63,7 +63,7 @@ export const useUserStore = defineStore('admin-user', {
     async loginOut() {
       await loginOut()
       removeToken()
-      cache.local.clear()
+      // cache.local.clear()
       this.resetState()
     },
     resetState() {