From 646c7b33ddb2eeae4d910584f70d85ff3bd0134d Mon Sep 17 00:00:00 2001 From: jxxghp Date: Thu, 25 Jun 2026 12:33:49 +0800 Subject: [PATCH] Tune pull and swipe gesture thresholds --- src/layouts/default/components/DefaultLayout.vue | 9 +++++++++ src/layouts/default/components/QuickAccess.vue | 10 ++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/layouts/default/components/DefaultLayout.vue b/src/layouts/default/components/DefaultLayout.vue index ddea2066..30c6c7ce 100644 --- a/src/layouts/default/components/DefaultLayout.vue +++ b/src/layouts/default/components/DefaultLayout.vue @@ -264,6 +264,15 @@ const { config: PULL_CONFIG, } = usePullDownGesture({ enabled: true, + config: { + START_THRESHOLD: 28, + SHOW_INDICATOR: 80, + TRIGGER_THRESHOLD: 140, + MAX_PULL_DISTANCE: 220, + PULL_RESISTANCE: 0.7, + CONTENT_FOLLOW_RATIO: 0.35, + TOLERANCE: 96, + }, canUsePullGesture, onTrigger: () => { showPluginQuickAccess.value = true diff --git a/src/layouts/default/components/QuickAccess.vue b/src/layouts/default/components/QuickAccess.vue index 098559cd..ac1b5b00 100644 --- a/src/layouts/default/components/QuickAccess.vue +++ b/src/layouts/default/components/QuickAccess.vue @@ -51,10 +51,11 @@ const pluginBackgroundColors = ref>({}) // 上滑关闭配置常量 const SWIPE_CONFIG = { - START_THRESHOLD: 10, // 开始检测上滑的最小距离 - CLOSE_THRESHOLD: 100, // 触发关闭的距离 + START_THRESHOLD: 16, // 开始检测上滑的最小距离 + CLOSE_THRESHOLD: 144, // 触发关闭的距离 + QUICK_CLOSE_MIN_DISTANCE: 56, // 快速关闭所需的最小位移 MAX_DRAG_DISTANCE: 1000, // 最大拖拽距离 - VELOCITY_THRESHOLD: 0.8, // 快速滑动速度阈值 (px/ms) + VELOCITY_THRESHOLD: 1.15, // 快速滑动速度阈值 (px/ms) } // 上滑关闭相关状态 @@ -367,7 +368,8 @@ function handleTouchEnd() { if (isDraggingToClose.value) { // 判断是否应该关闭:距离超过阈值或者快速上滑 const shouldClose = - dragOffset.value >= SWIPE_CONFIG.CLOSE_THRESHOLD || velocity.value >= SWIPE_CONFIG.VELOCITY_THRESHOLD + dragOffset.value >= SWIPE_CONFIG.CLOSE_THRESHOLD || + (dragOffset.value >= SWIPE_CONFIG.QUICK_CLOSE_MIN_DISTANCE && velocity.value >= SWIPE_CONFIG.VELOCITY_THRESHOLD) if (shouldClose) { emit('close')