From dbb886f05af928ec4bd8b632fe7204f2551ef866 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周日, 04 5月 2025 22:09:04 +0800
Subject: [PATCH] 2222
---
PipeLineLems/web/src/utils/index.ts | 62 +++++++++++++++++++++++++++++++
1 files changed, 62 insertions(+), 0 deletions(-)
diff --git a/PipeLineLems/web/src/utils/index.ts b/PipeLineLems/web/src/utils/index.ts
index 67d42e2..1d34068 100644
--- a/PipeLineLems/web/src/utils/index.ts
+++ b/PipeLineLems/web/src/utils/index.ts
@@ -1,5 +1,7 @@
// 宸ュ叿绫诲嚱鏁�
+import { SpeedTime } from '@/widgets/ProductDelivery/enum'
+
// 闅忔満id
function createRandomId(): string {
return (
@@ -148,6 +150,66 @@
var uniqueValues = new Set(values)
return values.length !== uniqueValues.size
}
+/**
+ * 棣栧瓧姣嶅皬鍐�
+ * @param str
+ * @returns
+ */
+export function lowerCaseFirstChar(str: string) {
+ if (!str) return str // 濡傛灉瀛楃涓蹭负绌猴紝鍒欑洿鎺ヨ繑鍥�
+ return str.charAt(0).toLowerCase() + str.slice(1)
+}
+
+// export const genSetInterval = (fn: () => void, time = 33) => {
+// let timer: any = null
+// return {
+// start() {
+// timer && clearInterval(timer)
+// timer = setInterval(() => fn(), time)
+// },
+// clear() {
+// if (timer) {
+// clearInterval(timer)
+// timer = null
+// }
+// },
+// }
+// }
+type Timer = {
+ start: () => void
+ clear: () => void
+}
+
+export const genSetInterval = (fn: () => void, time: number = 33): Timer => {
+ let timerId: number | null = null
+ let lastTime = performance.now()
+
+ const loop = (currentTime: number) => {
+ const deltaTime = currentTime - lastTime
+
+ if (deltaTime >= time) {
+ fn()
+ lastTime = currentTime - (deltaTime % time) // 淇濈暀浣欎笅鐨勬椂闂达紝鍑忓皯婕傜Щ
+ }
+
+ timerId = requestAnimationFrame(loop)
+ }
+
+ return {
+ start() {
+ if (timerId === null) {
+ lastTime = performance.now() // 閲嶇疆鍒濆鏃堕棿
+ timerId = requestAnimationFrame(loop)
+ }
+ },
+ clear() {
+ if (timerId !== null) {
+ cancelAnimationFrame(timerId)
+ timerId = null
+ }
+ },
+ }
+}
export {
hasDuplicates,
--
Gitblit v1.9.3