一个功能丰富的渐进式网页应用(PWA)待办事项管理器,支持精确进度追踪、智能手势操作和完整的离线体验。
- 📝 快速添加: 输入任务内容,回车或点击即可添加
- ✅ 状态切换: 点击复选框标记任务完成/未完成
- 🗑️ 智能删除: 桌面端点击删除按钮,移动端左滑删除
- ⏰ 时间追踪: 自动记录创建时间和完成时间
- 📊 实时统计: 显示总任务数、完成数量和平均进度
- 🖱️ 精确拖拽: 拖拽进度条手柄实时调整进度(0-100%)
- 📱 触摸优化: 移动端24px大手柄,确保精确触控
- 🎨 视觉反馈: 拖拽时手柄放大25%,悬停放大15%
- ⚡ 多种操作:
- 拖拽控制:直观的滑动调整
- 点击设置:单击进度条任意位置快速调整
- 双击输入:双击进度条输入精确数值
- 键盘快捷键:+ 增加10%,- 减少10%
- 🔄 实时同步: 进度变化即时更新统计信息
- 👈 左滑删除:
- 滑动50px显示删除按钮
- 滑动80px直接删除(显示"松手删除"提示)
- 动态宽度调整,背景色加深反馈
- 👉 右滑完成:
- 滑动50px显示完成/取消按钮
- 滑动80px直接切换完成状态
- 智能识别已完成任务,显示对应操作
- 🎯 防冲突机制: 进度条拖拽与手势操作完美兼容
- 🌐 完全离线: Service Worker 缓存所有资源
- 💾 本地存储: localStorage 自动保存,刷新不丢失
- 📥 数据导入导出: 支持JSON格式数据导入导出,方便备份和迁移
- 🔄 缓存管理: 智能版本控制,自动更新缓存
- 🔒 数据安全: 纯客户端运行,数据不上传服务器
- 📱 响应式布局: 完美适配手机、平板、桌面
- 🌙 深色模式: 自动适配系统主题偏好
- ⚡ 流畅动画: 任务添加、删除、完成的平滑过渡
- 🎯 精确对齐: 图标、文字完美对齐,视觉统一
- 💡 智能提示: hover 状态、操作反馈、错误提示
- 📱 应用安装: 支持安装到设备主屏幕
- 🚀 快速启动: 快捷方式支持,一键添加新任务
- 📴 离线可用: 断网状态下完整功能可用
- 🔔 通知支持: 支持推送通知(可扩展)
直接通过浏览器访问部署的网站即可使用。
- 将所有文件下载到本地目录
- 使用本地服务器运行(不能直接打开 HTML 文件,PWA 需要 HTTPS 或 localhost)
# 使用 Python
python3 -m http.server 8080
# 或使用 Node.js
npx serve -s . -p 8080- 在浏览器中访问
http://localhost:8080
- 打开应用网页
- 点击地址栏右侧的"安装"按钮
- 或点击页面底部的"📱 安装应用"按钮
- 在 Chrome/Safari 中打开应用
- 点击浏览器菜单中的"添加到主屏幕"
- 应用将像原生应用一样出现在主屏幕上
- 在输入框中输入任务内容
- 按回车键或点击"添加"按钮
- 基础操作:点击复选框标记任务完成/未完成
- 进度控制:
- 拖拽进度条:拖拽进度条上的小圆点精确设置进度(0-100%)
- 点击进度条:直接点击进度条任意位置快速调整
- 双击进度条:双击进度条显示输入框,精确输入数值
- 键盘快捷键:在任务上按 + 或 - 键快速调整(每次±10%)
- 任务删除:
- 桌面端:点击 ❌ 按钮删除单个任务
- 移动端:左滑任务快速删除
- 批量操作:
- 清除已完成:删除所有已完成的任务
- 清除所有:删除所有任务(需要确认)
- 数据管理:
- 导出数据:将所有任务导出为JSON文件备份
- 导入数据:从JSON文件恢复任务数据
- 应用会自动缓存所有必要文件
- 断网后仍可正常添加、删除、修改任务
- 所有数据保存在本地,重新联网后依然存在
- HTML5: 语义化标记
- CSS3: 现代样式,支持响应式和深色模式
- JavaScript (ES6+): 应用逻辑和交互
- Service Worker: 离线缓存和后台同步
- Web App Manifest: PWA 配置
- localStorage: 本地数据存储
todo/
├── index.html # 主页面
├── styles.css # 样式文件
├── app.js # 应用逻辑
├── sw.js # Service Worker
├── manifest.json # PWA 配置文件
├── icons/ # 应用图标
│ ├── icon-72x72.png
│ ├── icon-96x96.png
│ ├── icon-128x128.png
│ ├── icon-144x144.png
│ ├── icon-152x152.png
│ ├── icon-192x192.png
│ ├── icon-384x384.png
│ └── icon-512x512.png
└── README.md # 说明文档
在 styles.css 中修改 CSS 变量:
:root {
--primary-color: #2196F3; /* 主色调 */
--success-color: #4CAF50; /* 成功色 */
--danger-color: #F44336; /* 危险色 */
}在 manifest.json 中修改应用名称和描述:
{
"name": "您的应用名称",
"short_name": "短名称",
"description": "应用描述"
}- ✅ Chrome 67+
- ✅ Firefox 63+
- ✅ Safari 11.1+
- ✅ Edge 79+
- ✅ iOS Safari 11.3+
- ✅ Android Chrome 67+
- 任务分类和标签
- 任务优先级设置
- 到期提醒和通知
- 云端同步功能
- 任务搜索和过滤
- 深色主题手动切换
- 任务统计图表
- 任务排序功能
- 子任务支持
- 任务备注和附件
欢迎提交 Issue 和 Pull Request 来改进这个应用!
MIT License - 可以自由使用和修改。
💡 提示: 此应用完全在客户端运行,所有数据都保存在您的设备上,保证了隐私安全。