From 9bcb10b07e3c8d3a001500298ce793b4ff2af55f Mon Sep 17 00:00:00 2001
From: zhangchen <1652267879@qq.com>
Date: 星期六, 26 七月 2025 15:12:20 +0800
Subject: [PATCH] ID1625-已签到页面添加最大脱水量的时长

---
 src/utils/utils.ts |   42 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 41 insertions(+), 1 deletions(-)

diff --git a/src/utils/utils.ts b/src/utils/utils.ts
index 76dfc1a..deeee91 100644
--- a/src/utils/utils.ts
+++ b/src/utils/utils.ts
@@ -8,4 +8,44 @@
   if (!el) return 0
   const rect = el.getBoundingClientRect()
   return window.innerHeight - rect.top
-}
\ No newline at end of file
+}
+
+/**
+ * 将字符串转为数字
+ * @param value 
+ * @returns 
+ */
+export function tryConvertToInt(value: string): string | number {
+  const num = Number(value);
+  // 判断是否是有效数字且是整数(小数部分为 0)
+  if (!isNaN(num) && Number.isInteger(num)) {
+    return num;
+  }
+
+  // 判断是否是有效数字且小数部分为 0(例如 "1.0")
+  if (!isNaN(num) && Number(value).toString().endsWith('.0')) {
+    return parseInt(value, 10);
+  }
+
+  return value;
+}
+/**
+ * 深拷贝
+ * @param obj 
+ * @returns 
+ */
+export function deepClone<T>(obj: T): T {
+  if (obj === null || typeof obj !== "object") return obj;
+
+  if (Array.isArray(obj)) {
+    return obj.map(item => deepClone(item)) as unknown as T;
+  }
+
+  const result: any = {};
+  for (const key in obj) {
+    if (Object.prototype.hasOwnProperty.call(obj, key)) {
+      result[key] = deepClone(obj[key]);
+    }
+  }
+  return result;
+}

--
Gitblit v1.8.0