diff --git a/src/App.vue b/src/App.vue index ee94b53..2aef2db 100644 --- a/src/App.vue +++ b/src/App.vue @@ -8,5 +8,6 @@ window.addEventListener('beforeunload', e=>beforeunload(e)) const beforeunload = (()=>{ const permisstionStore = usePermisstionStroe() permisstionStore.setIsLoadRoutes(true) + permisstionStore.setIsSuccessReq() }) diff --git a/src/router/index.js b/src/router/index.js index 00c439a..5403bd5 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -203,7 +203,7 @@ router.beforeEach(async (to, form, next) => { NProgress.done() } else { permisstionStore.setIsLoadRoutes(true) - if (permisstionStore.isLoadRoutes && permisstionStore.asyncRouters.length == 0) { + if (permisstionStore.isLoadRoutes && !permisstionStore.isSussessReq) { await permisstionStore.setAsyncRouters() await authStore.setUserInfo() next({...to, replace: true}) diff --git a/src/stores/permisstion.js b/src/stores/permisstion.js index c6d2477..626c3f2 100644 --- a/src/stores/permisstion.js +++ b/src/stores/permisstion.js @@ -10,6 +10,7 @@ export const usePermisstionStroe = defineStore('permisstion', () => { const asyncRouters = ref([]) //定义是否加载路由变量 const isLoadRoutes = ref(false) + const isSussessReq = ref(false) const menuList = ref([ { name: 'home', @@ -27,6 +28,10 @@ export const usePermisstionStroe = defineStore('permisstion', () => { const setIsLoadRoutes = (status) => { return isLoadRoutes.value = status } + + const setIsSuccessReq = () => { + return isSussessReq.value = false + } const setAsyncRouters = async () => { await getRouters().then(res => { if (res.code === 1000) { @@ -38,6 +43,7 @@ export const usePermisstionStroe = defineStore('permisstion', () => { menuList.value = [...menuList.value, ...generateMenu(mData)] addAsyncRouters(asyncRouters.value) isLoadRoutes.value = false + isSussessReq.value = true } else { isLoadRoutes.value = true setTimeout(() => setAsyncRouters(), 3000) @@ -146,8 +152,10 @@ export const usePermisstionStroe = defineStore('permisstion', () => { asyncRouters, menuList, isLoadRoutes, + isSussessReq, setAsyncRouters, setIsLoadRoutes, - removeMenu + removeMenu, + setIsSuccessReq } }) \ No newline at end of file diff --git a/src/views/home/index.vue b/src/views/home/index.vue index b4b96c7..4955ef4 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -1,5 +1,5 @@