From 41ca1e5d7d0dcefb63bce83813e17b41acddd21d Mon Sep 17 00:00:00 2001 From: "zhonghua.li" Date: Tue, 31 Mar 2026 06:55:31 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E7=94=A8=E9=97=AE=E7=AD=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/request.js | 16 +- .../ai_qa/general_qa/general_qa.vue | 469 ++++++++++++++---- 2 files changed, 379 insertions(+), 106 deletions(-) diff --git a/common/request.js b/common/request.js index ba82082..6464556 100644 --- a/common/request.js +++ b/common/request.js @@ -135,16 +135,18 @@ export function request(options = {}) { } // 每次请求都自动添加 token(登录接口除外) - // 确保所有后端请求都携带 token 进行身份验证 + // 并在需要 token 却不存在时,直接拦截请求并跳转登录页 if (needToken && !isLoginApi(fullUrl)) { const token = getToken() - if (token) { - // 每次请求都添加 token 到 Authorization header - requestHeader['Authorization'] = `Bearer ${token}` - } else { - // 如果没有 token,移除可能存在的旧 Authorization header - delete requestHeader['Authorization'] + if (!token) { + console.warn('[Request] token 为空,拦截请求并跳转到登录页面') + redirectToLogin() + // 直接抛错中断后续逻辑(包括 uni.request) + return Promise.reject(new Error('未登录或登录已失效,请先登录')) } + + // 每次请求都添加 token 到 Authorization header + requestHeader['Authorization'] = `Bearer ${token}` } // 添加 roleName 和 scenario 到 header(从登录响应中获取) diff --git a/pages-subpackage/ai_qa/general_qa/general_qa.vue b/pages-subpackage/ai_qa/general_qa/general_qa.vue index d29bcc2..abfe764 100644 --- a/pages-subpackage/ai_qa/general_qa/general_qa.vue +++ b/pages-subpackage/ai_qa/general_qa/general_qa.vue @@ -1,50 +1,201 @@