From c44085d7184462a64a5d0a4e97485443b18238bf Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Sun, 10 May 2026 18:56:24 +0800 Subject: [PATCH] =?UTF-8?q?fix(web):=20=E4=BF=AE=E5=A4=8D=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E5=AE=88=E5=8D=AB=20next=20=E5=BC=83=E7=94=A8?= =?UTF-8?q?=E8=AD=A6=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将全局导航守卫改为返回值式跳转,避免 Vue Router 提示 next 回调已弃用。 --- web/src/router/index.js | 20 ++++++++------------ web/src/views/GraphView.vue | 3 ++- web/src/views/ModelConfigView.vue | 4 ++-- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/web/src/router/index.js b/web/src/router/index.js index 8ab901c6..f06bb170 100644 --- a/web/src/router/index.js +++ b/web/src/router/index.js @@ -188,7 +188,7 @@ const router = createRouter({ }) // 全局前置守卫 -router.beforeEach(async (to, from, next) => { +router.beforeEach(async (to) => { // 检查路由是否需要认证 const requiresAuth = to.matched.some((record) => record.meta.requiresAuth === true) const requiresAdmin = to.matched.some((record) => record.meta.requiresAdmin) @@ -215,8 +215,7 @@ router.beforeEach(async (to, from, next) => { if (requiresAuth && !isLoggedIn) { // 保存尝试访问的路径,登录后跳转 sessionStorage.setItem('redirect', to.fullPath) - next('/login') - return + return '/login' } // 如果路由需要管理员权限但用户不是管理员 @@ -228,12 +227,11 @@ router.beforeEach(async (to, from, next) => { if (!agentStore.isInitialized) { await agentStore.initialize() } - next('/agent') + return '/agent' } catch (error) { console.error('获取智能体信息失败:', error) - next('/agent') + return '/agent' } - return } // 如果路由需要超级管理员权限但用户不是超级管理员 @@ -243,22 +241,20 @@ router.beforeEach(async (to, from, next) => { if (!agentStore.isInitialized) { await agentStore.initialize() } - next('/agent') + return '/agent' } catch (error) { console.error('获取智能体信息失败:', error) - next('/agent') + return '/agent' } - return } // 如果用户已登录但访问登录页 if (to.path === '/login' && isLoggedIn) { - next('/') - return + return '/' } // 其他情况正常导航 - next() + return true }) export default router diff --git a/web/src/views/GraphView.vue b/web/src/views/GraphView.vue index f8a92613..34586f6f 100644 --- a/web/src/views/GraphView.vue +++ b/web/src/views/GraphView.vue @@ -206,7 +206,8 @@ import { SyncOutlined, SearchOutlined, ReloadOutlined, - LoadingOutlined + LoadingOutlined, + DatabaseOutlined } from '@ant-design/icons-vue' import PageHeader from '@/components/shared/PageHeader.vue' import { neo4jApi, unifiedApi } from '@/apis/graph_api' diff --git a/web/src/views/ModelConfigView.vue b/web/src/views/ModelConfigView.vue index b37ba922..464d8de8 100644 --- a/web/src/views/ModelConfigView.vue +++ b/web/src/views/ModelConfigView.vue @@ -591,8 +591,8 @@ onMounted(loadProviders) 新增供应商 - - + +