This commit is contained in:
qsh
2025-05-29 10:17:09 +08:00
parent 4735da7362
commit 126853ad45
25 changed files with 3648 additions and 85 deletions

View File

@@ -2,6 +2,7 @@ import { defineStore } from 'pinia'
import { store } from '../index'
import { cloneDeep } from 'lodash-es'
import remainingRouter from '@/router/modules/remaining'
import staticRouter from '@/router/modules/static'
import { generateRoute, flatMultiLevelRoutes } from '@/utils/routerHelper'
import { CACHE_KEY } from '@/hooks/web/useCache'
import cache from '@/plugins/cache'
@@ -36,6 +37,25 @@ export const usePermissionStore = defineStore('permission', {
if (cache.local.get(CACHE_KEY.ROLE_ROUTERS)) {
res = cache.local.get(CACHE_KEY.ROLE_ROUTERS) as AppCustomRouteRecordRaw[]
}
const staticRouters = cloneDeep(staticRouter)
// 与动态路由比较,首先判断目录是否存在,如果存在就合并,并替换动态路由中的目录
staticRouters.forEach((item) => {
const index = res.findIndex((item2) => item2.path === item.path)
if (index !== -1) {
const arr = []
if (!item.children || item.children.length === 0) {
item.children = arr
}
if (res[index].children && res[index].children.length > 0) {
item.children = item.children.concat(res[index].children)
}
// routerMap[index].children = item.children
// 插入动态路由数组的第二位
res[index] = { ...res, ...item }
} else {
res = [...staticRouters, ...res]
}
})
const routerMap: AppRouteRecordRaw[] = generateRoute(res)
// 动态路由404一定要放到最后面
this.addRouters = routerMap.concat([

View File

@@ -77,6 +77,7 @@ export const useUserStore = defineStore('admin-user', {
nickname: '',
currentRole: 0
}
cache.local.delete(CACHE_KEY.USER)
},
refresh() {
cache.local.delete(CACHE_KEY.USER)