Saki's 研究记录

Tiny-Clicker 启动模式功能简介

字数统计: 1.9k阅读时长: 6 min
2025/11/25

Tiny Clicker 启动模式功能简介

概述

Tiny Clicker 提供了两种灵活的启动模式,让您可以根据不同的使用场景选择合适的启动方式:延时启动模式定时启动模式。这两种模式都支持在启动前进行倒计时,并在倒计时期间可以通过快捷键随时停止。


一、启动模式介绍

1. 延时启动模式(Delayed Start)

延时启动模式

功能说明:
延时启动模式允许您设置一个固定的延迟时间,点击”开始”按钮后,系统会在指定的延迟时间后自动开始执行点击任务。

适用场景:

  • 需要短暂准备时间后再开始点击
  • 需要等待其他操作完成后再启动
  • 需要快速设置简单的延迟启动

支持的延迟选项:

  • 立即启动
  • 0.5 秒后
  • 1 秒后
  • 3 秒后
  • 5 秒后
  • 10 秒后
  • 30 秒后
  • 1 分钟后

使用方式:

  1. 在”启动方式”中选择”延时”模式
  2. 从下拉菜单中选择所需的延迟时间
  3. 点击”开始”按钮
  4. 系统会显示倒计时,倒计时结束后自动开始点击

2. 定时启动模式(Scheduled Start)

定时启动模式

功能说明:
定时启动模式允许您设置一个具体的时间点(精确到秒),系统会在到达该时间点时自动开始执行点击任务。这对于需要在特定时间执行任务的场景非常有用。

适用场景:

  • 需要在特定时间点自动开始点击(如每天 14:30)
  • 需要与其他定时任务配合使用
  • 需要精确控制启动时间

使用方式:

  1. 在”启动方式”中选择”定时”模式
  2. 使用时间选择器选择目标启动时间
  3. 点击”开始”按钮
  4. 系统会计算当前时间到目标时间的差值,显示倒计时
  5. 到达目标时间时自动开始点击

注意事项:

  • 如果选择的时间已过期,系统会提示”定时启动时间已过期,请重新选择时间”
  • 定时启动时间以当天为准,如果时间已过,需要选择明天的时间

二、定时模式系统休眠检测与告警机制

1. 检测机制

阈值设置:
系统设置了 10 分钟作为休眠检测阈值(SYSTEM_SLEEP_THRESHOLD_MINUTES = 10)。

检测逻辑:

  • 当您启用定时启动模式并设置启动时间后,系统会实时监控当前时间与目标启动时间的差值
  • 如果时间差超过 10 分钟,系统会自动触发警告机制
  • 检测会在以下情况触发:
    • 首次设置超过 10 分钟的定时启动时间
    • 修改定时启动时间导致时间差超过 10 分钟
    • 时间流逝导致时间差从阈值内变为超过阈值

2. 告警提示

告警触发条件:
当定时启动时间距离现在超过 10 分钟时,系统会显示警告提示。

告警内容:
警告提示会显示:

  • 距离启动时间还有多长时间(精确到分钟或小时+分钟)
  • 系统可能在启动前进入休眠状态的风险提示
  • 建议的解决方案

告警示例:

“定时启动时间距离现在还有 20 分钟,系统可能在启动前进入休眠状态,导致启动失败。建议在系统设置中禁用自动休眠,或确保在启动时间前唤醒系统。”

告警特性:

  • 使用通知(Notification)形式显示,不会自动消失
  • 支持手动关闭(显示关闭按钮)
  • 避免重复提示:相同的时间差值不会重复弹出警告
  • 自动关闭:当时间差回到 10 分钟以内时,警告会自动关闭

3. 设计原因

为什么需要这个检测?

  1. 系统休眠机制:

    • macOS、Windows、Linux 等操作系统默认会在系统空闲一段时间后自动进入休眠/睡眠状态
    • 根据常见系统设置,默认休眠时间通常是 10-15 分钟
    • 当系统进入休眠状态后,应用程序会被暂停,无法执行点击任务
  2. 潜在问题:

    • 如果定时启动时间设置得过远(如 1 小时后),系统很可能在到达启动时间前就已经进入休眠状态
    • 一旦系统休眠,定时启动任务将无法正常执行,导致任务失败
    • 用户可能不知道任务失败的原因,以为是程序 bug
  3. 用户体验考虑:

    • 提前告知用户潜在风险,让用户有足够时间采取措施
    • 避免用户设置长时间定时启动后,发现任务未执行而困惑
    • 提供明确的解决方案指导

4. 设计思路

阈值选择(10 分钟):

  • 基于常见操作系统的默认休眠时间设置(通常为 10-15 分钟)
  • 选择 10 分钟作为保守阈值,确保在大多数系统配置下都能提前预警
  • 10 分钟也给了用户足够的时间来采取应对措施

实时监控机制:

  • 实时计算时间差,动态更新警告状态
  • 避免在程序内部更新时触发警告(如切换模式时的自动时间设置)

智能提示策略:

  • 防抖处理: 避免在快速切换或修改时间时频繁弹出警告
  • 去重机制: 记录上次提示的时间差值,相同差值不重复提示
  • 自动清理: 当时间差回到阈值内或关闭定时启动时,自动关闭警告
  • 延迟显示: 在切换启动模式时延迟 100ms 显示警告,避免在设置新值前误触发

用户友好的提示方式:

  • 使用 Notification 组件而非 Message,支持手动关闭,不会自动消失
  • 显示具体的时间差(如”20 分钟”或”1 小时 30 分钟”),让用户清楚了解风险
  • 提供明确的解决方案建议,帮助用户快速处理问题

三、使用建议

延时启动模式

  • 适合短时间延迟(几秒到几分钟)
  • 操作简单,无需考虑系统休眠问题
  • 适合快速测试和简单任务

定时启动模式

  • 适合需要精确时间控制的场景
  • 如果设置超过 10 分钟的定时启动:
    1. 推荐方案: 在系统设置中禁用自动休眠
    2. 备选方案: 确保在启动时间前手动唤醒系统
    3. 注意事项: 关注系统警告提示,及时采取应对措施

四、技术实现要点

  1. 前后端时间同步: 前端和后端都使用相同的时间计算逻辑,确保倒计时准确
  2. 快捷键提前注册: 在倒计时开始前就注册停止快捷键,确保倒计时期间可以随时停止
  3. 时间过期检测: 如果定时启动时间已过期,系统会拒绝启动并提示用户重新选择时间
  4. 状态管理: 使用响应式状态管理,实时更新 UI 显示和警告状态

总结

Tiny Clicker 的启动模式功能提供了灵活的任务调度能力,无论是短时间延迟还是精确的定时启动,都能满足不同场景的需求。特别是定时启动模式中的系统休眠检测与告警机制,体现了对用户体验的细致考虑,通过提前预警和明确指导,帮助用户避免因系统休眠导致的任务失败问题。

以上。

CATALOG
  1. 1. Tiny Clicker 启动模式功能简介
    1. 1.1. 概述
    2. 1.2. 一、启动模式介绍
      1. 1.2.1. 1. 延时启动模式(Delayed Start)
      2. 1.2.2. 2. 定时启动模式(Scheduled Start)
    3. 1.3. 二、定时模式系统休眠检测与告警机制
      1. 1.3.1. 1. 检测机制
      2. 1.3.2. 2. 告警提示
      3. 1.3.3. 3. 设计原因
      4. 1.3.4. 4. 设计思路
    4. 1.4. 三、使用建议
      1. 1.4.1. 延时启动模式
      2. 1.4.2. 定时启动模式
    5. 1.5. 四、技术实现要点
    6. 1.6. 总结