Skip to content

Repository files navigation

西瓜时钟 🍉

一款 Windows 桌面多功能时钟,支持 60 套皮肤(机械表 20 + 电子表 40)、闹钟、倒计时、阶段提醒、托盘常驻。

✨ 功能特性

🕐 时钟显示

  • 桌面悬浮时钟,透明无边框,可拖拽移动
  • 支持时区切换(16 个常用时区)
  • 自动适应屏幕缩放(DPI 缩放)

⏰ 提醒功能

  • 闹钟:设定时间响铃,支持一次性/每天/工作日/周末重复
  • 倒计时:设定倒计时,结束后提醒
  • 阶段提醒:周期性提醒,例如每 15 分钟响一次,静默 10 分钟后再响
    • 最小间隔 1 分钟
    • 可设置总次数(0 = 无限循环)
  • 提醒方式三选一:窗口抖动 / 系统蜂鸣 / 全屏闪烁+抖动

🔔 铃声

  • 10 首内置铃声
  • 支持自定义音频文件(MP3/WAV/OGG/M4A/FLAC)
  • 可调节音量

🖥️ 桌面 & 托盘

  • 可隐藏桌面图标,常驻任务栏托盘
  • 双击托盘图标恢复桌面时钟
  • 左键单击托盘也可恢复
  • 右键菜单:设置 / 切换置顶 / 隐藏 / 退出

🎨 60 套皮肤

类别 数量 渲染方式 代表风格
机械表 20 SVG(表盘+刻度+指针) 经典罗马、瑞士简约、复古黄铜、陀飞轮、潜水表、星空月相、木质雕刻、珐琅彩绘、怀表、军表、飞行员表、宝玑指针、卡地亚风、积家翻转、劳力士风、欧米茄风、万国飞行员、沛纳海风、朗格风、百年灵风
电子表 40 SVG(透明背景,纯文字悬浮) 数码蓝光/红光/绿光、翻页时钟、液晶LCD、计算器风、像素复古、矩阵雨、G-Shock风、SWATCH风、精工风、西铁城风、电波天线、运动手表、LED矩阵、点阵屏、全彩LED、VFD荧光、投影时钟、智能手表、大数字、小数字、等宽字体、系统时钟、命令行、二进制、十六进制、世界时钟、文字时间、进度条、模糊时钟、霓虹光、玻璃拟物、彩色描边、双行显示、数字时钟、Unix时间戳、罗马数字、极简白、极简黑

⚙️ 其他

  • 开机自启动(可选)
  • 窗口置顶(可选)
  • 窗口透明度调节
  • 显示秒数开关(默认开,关掉后机械表不画秒针、电子表数字自动放大填满表盘)
  • 启动时是否显示在桌面

📦 下载安装

方式一:安装包(推荐)

Releases 下载 watermelon-clock-x.x.x-setup.exe,双击安装(中文界面)。

方式二:便携版

下载 watermelon-clock-x.x.x-portable.exe,免安装直接运行。

🛠️ 从源码构建

环境要求

  • Node.js >= 20
  • npm >= 10
  • Windows 10/11 x64

开发运行

npm install
npm start

打包

# 生成 NSIS 安装包
npm run build

# 生成便携版
npm run build:portable

打包产物在 dist/ 目录。

📁 项目结构

watermelon-clock/
├── src/
│   ├── main/              # Electron 主进程
│   │   ├── main.js        # 窗口创建、托盘、生命周期
│   │   ├── tray.js        # 系统托盘
│   │   ├── auto-launch.js # 开机自启
│   │   ├── alarm-engine.js# 闹钟/倒计时/阶段提醒引擎
│   │   ├── ipc-handlers.js# IPC 通信
│   │   ├── skin-registry.js# 皮肤注册表(60 套)
│   │   ├── store.js       # 设置持久化
│   │   └── preload.js     # 预加载脚本
│   ├── renderer/          # 渲染进程
│   │   ├── index.html     # 桌面时钟窗口
│   │   ├── settings.html  # 设置窗口
│   │   ├── css/           # 样式
│   │   └── js/            # 逻辑(含 SVG 皮肤渲染引擎)
│   └── assets/            # 铃声音频(10 首 WAV)
├── build/                 # 应用图标(icon.ico / icon.png)
├── .github/workflows/     # CI:打 tag 自动构建并上传 Release
├── electron-builder.yml   # 打包配置(NSIS 中文安装包)
└── package.json

🧱 技术栈

组件 技术
框架 Electron 37
打包 electron-builder(NSIS)
渲染 HTML + CSS + Vanilla JS(无框架依赖)
皮肤 SVG(机械表 viewBox 100×100 / 电子表 viewBox 100×120)
持久化 JSON 文件(用户目录)
CI GitHub Actions(tag 触发,自动发 Release)

📄 License

MIT

🍉 为什么叫西瓜时钟?

因为西瓜是夏天的标配,时钟是日常的标配。🍉⏰

About

西瓜时钟 - Windows 桌面多功能时钟,60套皮肤(机械表20+电子表40)、闹钟、倒计时、阶段提醒、托盘常驻

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages