From 9b87eeb84b5e28da9a34edec7ac1ffde83dfe823 Mon Sep 17 00:00:00 2001 From: stefanfeng Date: Tue, 31 Mar 2026 13:38:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=98=BE=E7=A4=BA=E9=94=99=E8=AF=AF=EF=BC=88?= =?UTF-8?q?+00:00=E8=BD=AC+08:00=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/api/index.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/frontend/src/api/index.js b/frontend/src/api/index.js index 58167b9..976a51a 100644 --- a/frontend/src/api/index.js +++ b/frontend/src/api/index.js @@ -6,9 +6,23 @@ const request = axios.create({ timeout: 30000, }) +// 递归把响应里所有 +00:00 时区标识替换为 +08:00(数据库存北京时间,后端误标为 UTC) +function fixDatetimeTZ(obj) { + if (typeof obj === 'string') { + return obj.replace(/T(\d{2}:\d{2}:\d{2})\+00:00/g, 'T$1+08:00') + } + if (Array.isArray(obj)) return obj.map(fixDatetimeTZ) + if (obj && typeof obj === 'object') { + const result = {} + for (const k in obj) result[k] = fixDatetimeTZ(obj[k]) + return result + } + return obj +} + request.interceptors.response.use( res => { - const data = res.data + const data = fixDatetimeTZ(res.data) if (data.code && data.code !== 200) { ElMessage.error(data.message || '请求失败') return Promise.reject(new Error(data.message))