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']