From 64aaf44b6b2948631ebd0d9840d51e5e31ae5479 Mon Sep 17 00:00:00 2001
From: zhangchen <1652267879@qq.com>
Date: 星期五, 25 七月 2025 01:44:25 +0800
Subject: [PATCH] Merge branch 'ID1825-床旁副屏改版' into test

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

diff --git a/src/utils/utils.ts b/src/utils/utils.ts
new file mode 100644
index 0000000..4081f1e
--- /dev/null
+++ b/src/utils/utils.ts
@@ -0,0 +1,31 @@
+/**
+ * 计算某个类名元素的可用高度(视口高度 - 元素顶部距离)
+ * @param className 元素类名(不带.)
+ * @returns 可用高度(px),找不到元素则返回 0
+ */
+export function getAvailableHeightByClass(className: string): number {
+  const el = document.querySelector(`.${className}`) as HTMLElement | null
+  if (!el) return 0
+  const rect = el.getBoundingClientRect()
+  return window.innerHeight - rect.top
+}
+
+/**
+ * 将字符串转为数字
+ * @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;
+}
\ No newline at end of file

--
Gitblit v1.8.0