From fc5715d0024827f16597697e40fd0755ba043170 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期日, 11 十月 2026 23:42:43 +0800
Subject: [PATCH] feat: 统一日期格式化为“年月日”以提升一致性

---
 src/utils/request.js |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/src/utils/request.js b/src/utils/request.js
index 9cfcf5b..81e0443 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -11,6 +11,29 @@
 // 鏄惁鏄剧ず閲嶆柊鐧诲綍
 export let isRelogin = { show: false }
 
+/**
+ * 鍏ㄥ眬鏃ユ湡灞曠ず鍙e緞锛�**椤甸潰涓婃墍鏈夋椂闂村彧鏄剧ず骞存湀鏃ワ紝涓嶆樉绀烘椂鍒嗙**銆�
+ * 鍚庣杩斿洖鐨� `datetime/timestamp` 鏄� "2026-05-23 10:30:00"锛堟垨甯� T / 姣鐨� ISO 褰㈠紡锛夛紝
+ * 杩欓噷鍦ㄥ搷搴旀嫤鎴櫒閲岄�掑綊鎶婂畠缁熶竴鎴柇鎴� "2026-05-23"锛�
+ * 瑕嗙洊鎵�鏈夌洿鎺ョ敤 `prop` 娓叉煋銆佷笉璧� `parseTime` 鐨勮〃鏍煎垪 / 璇︽儏寮规 / 鍥捐〃銆�
+ * 鍙尮閰嶄弗鏍肩殑鏃ユ湡鏃堕棿涓诧紝涓嶄細璇激鏅�氭枃鏈��
+ */
+const DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})[ T]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?$/
+function trimDateTimeDeep(value, depth = 0) {
+  if (value === null || value === undefined) return value
+  if (typeof value === 'string') {
+    const m = DATE_TIME_RE.exec(value)
+    return m ? m[1] : value
+  }
+  if (typeof value !== 'object' || depth > 12) return value
+  if (Array.isArray(value)) {
+    for (let i = 0; i < value.length; i++) value[i] = trimDateTimeDeep(value[i], depth + 1)
+    return value
+  }
+  for (const key of Object.keys(value)) value[key] = trimDateTimeDeep(value[key], depth + 1)
+  return value
+}
+
 axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
 // 鍒涘缓axios瀹炰緥
 const service = axios.create({
@@ -104,7 +127,8 @@
       ElNotification.error({ title: msg })
       return Promise.reject('error')
     } else {
-      return  Promise.resolve(res.data)
+      // 鍏ㄥ眬锛氭妸鍝嶅簲閲屾墍鏈� datetime 鎴柇涓恒�屽勾鏈堟棩銆嶅啀浜ょ粰椤甸潰
+      return Promise.resolve(trimDateTimeDeep(res.data))
     }
   },
   error => {

--
Gitblit v1.9.3