# weatherTodo **Repository Path**: SuGerQAQ/weather-todo ## Basic Information - **Project Name**: weatherTodo - **Description**: windows 桌面悬浮待办工具 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-22 - **Last Updated**: 2026-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 晴雨待办 (weatherTodo) > 一款温馨的 Windows 桌面悬浮待办小工具,自动感知天气、定时喝水提醒,让工作更有节律感。 --- ## ✨ 功能特性 - **天气感知图标**:自动获取当地天气,太阳/多云/下雨/下雪等实时切换图标动画 - **悬浮迷你模式**:80×80 圆形图标悬浮在桌面右下角,随时可见,不遮挡工作区 - **正能量提示**:鼠标移上图标,随机弹出一句正能量鼓励语 - **展开面板**:点击图标展开全功能待办面板,支持添加、完成、删除任务 - **每小时提醒**:内置喝水 / 站起来活动的温馨提醒,守护健康 - **系统托盘**:最小化到系统托盘,不占任务栏,右键可控制显示/隐藏/退出 - **数据持久化**:待办数据存储在用户目录,重启不丢失 --- ## 📸 界面预览 | 迷你模式 | 展开面板 | 定时提醒 | |---------|---------|---------| | 悬浮太阳图标 + 天气动画 | 待办列表 + 天气信息 | 喝水/运动卡片弹出 | --- ## 🚀 快速开始 ### 环境要求 - Node.js >= 18 - Windows 10/11 x64 ### 安装依赖 ```bash npm install ``` ### 开发运行 ```bash npm start ``` ### 打包为安装程序 需要在**管理员权限的 PowerShell** 中执行(Windows 符号链接权限要求): ```powershell $env:ELECTRON_MIRROR = "https://npmmirror.com/mirrors/electron/" $env:ELECTRON_BUILDER_BINARIES_MIRROR = "https://npmmirror.com/mirrors/electron-builder-binaries/" $env:CSC_IDENTITY_AUTO_DISCOVERY = "false" npm run build ``` 生成的安装包位于 `dist\weatherTodo Setup 1.0.0.exe` --- ## 📁 项目结构 ``` todoTool/ ├── main.js # Electron 主进程(窗口管理、IPC、天气、提醒) ├── preload.js # 预加载脚本(安全桥接主进程与渲染进程) ├── src/ │ ├── index.html # 主界面 HTML │ ├── renderer.js # 渲染进程逻辑 │ ├── todo.js # 待办数据管理 │ ├── sun-drag.js # 图标拖拽逻辑 │ └── styles/ # CSS 样式文件 ├── assets/ # 图标、SVG 天气图标 ├── scripts/ # 构建辅助脚本 └── package.json ``` --- ## 🛠 技术栈 - **Electron 42** — 跨平台桌面应用框架 - **原生 JS / CSS** — 无额外前端框架 - **Open-Meteo API** — 免费天气数据(无需 API Key) - **ip-api.com** — IP 定位获取城市坐标 - **electron-builder** — Windows NSIS 安装包打包 --- ## 📦 数据存储 待办数据存储位置: ``` C:\Users\<用户名>\AppData\Roaming\weatherTodo\data\todos.json ``` --- ## 📄 开源协议 MIT License © SuGer