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))