From 6c33024790077b9c99e80159e4ca891d6e39fd7a Mon Sep 17 00:00:00 2001 From: Gsh <15170702455@163.com> Date: Sat, 5 Jul 2025 17:25:14 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E7=99=BE=E5=BA=A6seo=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=B8=8E=E5=AF=B9=E8=AF=9D=E9=94=99=E8=AF=AF=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Yi.Ai.Vue3/index.html | 1 + .../pages/chat/layouts/chatWithId/index.vue | 19 ++++++++++++++----- Yi.Ai.Vue3/src/utils/request.ts | 2 ++ Yi.Ai.Vue3/types/components.d.ts | 4 ++++ 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/Yi.Ai.Vue3/index.html b/Yi.Ai.Vue3/index.html index c3031f3c..53426ed1 100644 --- a/Yi.Ai.Vue3/index.html +++ b/Yi.Ai.Vue3/index.html @@ -5,6 +5,7 @@ + diff --git a/Yi.Ai.Vue3/src/pages/chat/layouts/chatWithId/index.vue b/Yi.Ai.Vue3/src/pages/chat/layouts/chatWithId/index.vue index 08b8d475..3ec1644a 100644 --- a/Yi.Ai.Vue3/src/pages/chat/layouts/chatWithId/index.vue +++ b/Yi.Ai.Vue3/src/pages/chat/layouts/chatWithId/index.vue @@ -44,8 +44,19 @@ const bubbleListRef = ref(null); const { stream, loading: isLoading, cancel } = useHookFetch({ request: send, - onError: (err) => { - console.warn('测试错误拦截', err); + onError: async (error) => { + if (error.status === 403) { + const data = await (error.response.json()); + // 弹窗提示 + ElMessage.error(data.error.message); + return Promise.reject(data); + } + if (error.status === 401) { + ElMessage.error('登录已过期,请重新登录!'); + // 弹窗提示 + userStore.logout(); + userStore.openLoginDialog(); + } }, }); // 记录进入思考中 @@ -148,9 +159,6 @@ function handleDataChunk(chunk: AnyObject) { // 封装错误处理逻辑 function handleError(err: any) { - if (err.status === 403) { - ElMessage.error('业务错误,请稍后再试'); - } console.error('Fetch error:', err); } @@ -191,6 +199,7 @@ async function startSSE(chatContent: string) { } } catch (err) { + console.log('33---'); handleError(err); } finally { diff --git a/Yi.Ai.Vue3/src/utils/request.ts b/Yi.Ai.Vue3/src/utils/request.ts index a770e9dd..8d0fb81c 100644 --- a/Yi.Ai.Vue3/src/utils/request.ts +++ b/Yi.Ai.Vue3/src/utils/request.ts @@ -102,6 +102,8 @@ function jwtPlugin(): { return response; if (response.result?.code === 403) { + console.log('2222---'); + router.replace({ name: '403' }); ElMessage.error(response.result?.msg); return Promise.reject(response); diff --git a/Yi.Ai.Vue3/types/components.d.ts b/Yi.Ai.Vue3/types/components.d.ts index a3fa6352..ece2a161 100644 --- a/Yi.Ai.Vue3/types/components.d.ts +++ b/Yi.Ai.Vue3/types/components.d.ts @@ -11,9 +11,13 @@ declare module 'vue' { AccountPassword: typeof import('./../src/components/LoginDialog/components/FormLogin/AccountPassword.vue')['default'] APIKeyManagement: typeof import('./../src/components/userPersonalCenter/components/APIKeyManagement.vue')['default'] DeepThinking: typeof import('./../src/components/DeepThinking/index.vue')['default'] + ElAlert: typeof import('element-plus/es')['ElAlert'] ElAvatar: typeof import('element-plus/es')['ElAvatar'] ElButton: typeof import('element-plus/es')['ElButton'] ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup'] + ElCard: typeof import('element-plus/es')['ElCard'] + ElCollapse: typeof import('element-plus/es')['ElCollapse'] + ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem'] ElContainer: typeof import('element-plus/es')['ElContainer'] ElDialog: typeof import('element-plus/es')['ElDialog'] ElDivider: typeof import('element-plus/es')['ElDivider']