diff --git a/openhis-ui-vue3/src/permission.js b/openhis-ui-vue3/src/permission.js index ed31b6bad..14b53c78a 100755 --- a/openhis-ui-vue3/src/permission.js +++ b/openhis-ui-vue3/src/permission.js @@ -56,9 +56,10 @@ router.beforeEach(async (to, from) => { }) return { ...to, replace: true } } catch (err) { + console.error('路由加载失败:', err) await useUserStore().logOut() - ElMessage.error(err) - return { path: '/' } + ElMessage.error(err.message || '登录已过期') + return { path: '/login' } } } return true diff --git a/openhis-ui-vue3/src/router/index.js b/openhis-ui-vue3/src/router/index.js index 89494c3e1..829400df3 100755 --- a/openhis-ui-vue3/src/router/index.js +++ b/openhis-ui-vue3/src/router/index.js @@ -456,7 +456,7 @@ export const dynamicRoutes = [ const router = createRouter({ history: createWebHistory(), - routes: constantRoutes, + routes: [...constantRoutes, ...dynamicRoutes], scrollBehavior(to, from, savedPosition) { if (savedPosition) { return savedPosition diff --git a/openhis-ui-vue3/src/store/modules/permission.js b/openhis-ui-vue3/src/store/modules/permission.js index 1cbc4e392..d41e71f21 100755 --- a/openhis-ui-vue3/src/store/modules/permission.js +++ b/openhis-ui-vue3/src/store/modules/permission.js @@ -50,6 +50,11 @@ const usePermissionStore = defineStore( this.setDefaultRoutes(sidebarRoutes) this.setTopbarRoutes(defaultRoutes) resolve(rewriteRoutes) + }).catch(err => { + console.error('获取路由失败:', err) + addNotFoundRoute() + this.setRoutes([]) + resolve([]) }) }) }