package com.sw.platecabinet.utils class Debouncer(private val delayMillis: Long) { private var lastActionTime = 0L /** * 执行防抖操作 * @param action 要执行的操作 * @return Boolean 是否执行了操作 (true=已执行, false=被防抖) */ fun debounce(action: () -> Unit): Boolean { val currentTime = System.currentTimeMillis() if (currentTime - lastActionTime >= delayMillis) { lastActionTime = currentTime action() return true } return false } // 重置防抖计时 fun reset() { lastActionTime = 0L } }