From fea47451428c51dd001739b5f0318a9f12f12351 Mon Sep 17 00:00:00 2001 From: Nick Zeng Date: Mon, 23 Mar 2026 13:20:19 +0800 Subject: [PATCH] update --- frontend/src/assets/main.css | 3 ++- frontend/src/utils/request.ts | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/frontend/src/assets/main.css b/frontend/src/assets/main.css index 17bdeb6..7820cc2 100644 --- a/frontend/src/assets/main.css +++ b/frontend/src/assets/main.css @@ -1,5 +1,6 @@ @import './base.css'; -@import 'tailwindcss'; +@import 'tailwindcss/theme' layer(theme); +@import 'tailwindcss/utilities' layer(utilities); /* 应用全局样式 */ #app { diff --git a/frontend/src/utils/request.ts b/frontend/src/utils/request.ts index d3907e6..026469f 100644 --- a/frontend/src/utils/request.ts +++ b/frontend/src/utils/request.ts @@ -53,7 +53,7 @@ async function request(url: string, options: RequestOptions = {}): signal: controller.signal, }) - // 401 未授权:跳过登录/注册接口(由页面自行处理错误提示),其余接口重定向到登录页 + // 401 未授权:登录/注册接口解析后端错误信息,其余接口重定向到登录页 if (response.status === 401) { const isAuthEndpoint = /\/api\/v1\/(login|register)$/.test(url) if (!isAuthEndpoint) { @@ -64,8 +64,14 @@ async function request(url: string, options: RequestOptions = {}): window.location.pathname + window.location.search, ) window.location.href = `/login?redirect=${redirect}` + throw new ApiError('登录已过期,请重新登录', 401) } - throw new ApiError('登录已过期,请重新登录', 401) + let msg = '用户名或密码错误' + try { + const body = await response.json() + if (body.message) msg = body.message + } catch { /* ignore parse error */ } + throw new ApiError(msg, 401) } // 防护非 JSON 响应(如网关 HTML 错误页)