From 454029edb0b2255dfa61aa4ae1a747809b838a1e Mon Sep 17 00:00:00 2001 From: chenqi Date: Thu, 4 Jun 2026 13:25:44 +0800 Subject: [PATCH] =?UTF-8?q?fix(router):=20=E4=BF=AE=E5=A4=8D=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E8=B7=AF=E7=94=B1=E5=8A=A0=E8=BD=BD=E5=92=8C=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E5=A4=84=E7=90=86=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将动态路由添加到路由器配置中 - 添加路由获取失败时的错误处理和404页面跳转 - 优化路由加载失败时的日志记录和错误提示 - 修复登出后的重定向路径为登录页面 - 统一错误消息显示格式 --- openhis-ui-vue3/src/permission.js | 5 +++-- openhis-ui-vue3/src/router/index.js | 2 +- openhis-ui-vue3/src/store/modules/permission.js | 5 +++++ 3 files changed, 9 insertions(+), 3 deletions(-) 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([]) }) }) }