Thanks to visit codestin.com
Credit goes to github.com

Skip to content

gongkang/todo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 TODO - 智能进度追踪待办应用

一个功能丰富的渐进式网页应用(PWA)待办事项管理器,支持精确进度追踪、智能手势操作和完整的离线体验。

✨ 核心功能特性

📋 任务管理

  • 📝 快速添加: 输入任务内容,回车或点击即可添加
  • ✅ 状态切换: 点击复选框标记任务完成/未完成
  • 🗑️ 智能删除: 桌面端点击删除按钮,移动端左滑删除
  • ⏰ 时间追踪: 自动记录创建时间和完成时间
  • 📊 实时统计: 显示总任务数、完成数量和平均进度

🎯 进度追踪系统

  • 🖱️ 精确拖拽: 拖拽进度条手柄实时调整进度(0-100%)
  • 📱 触摸优化: 移动端24px大手柄,确保精确触控
  • 🎨 视觉反馈: 拖拽时手柄放大25%,悬停放大15%
  • ⚡ 多种操作:
    • 拖拽控制:直观的滑动调整
    • 点击设置:单击进度条任意位置快速调整
    • 双击输入:双击进度条输入精确数值
    • 键盘快捷键:+ 增加10%,- 减少10%
  • 🔄 实时同步: 进度变化即时更新统计信息

📱 移动端手势操作

  • 👈 左滑删除:
    • 滑动50px显示删除按钮
    • 滑动80px直接删除(显示"松手删除"提示)
    • 动态宽度调整,背景色加深反馈
  • 👉 右滑完成:
    • 滑动50px显示完成/取消按钮
    • 滑动80px直接切换完成状态
    • 智能识别已完成任务,显示对应操作
  • 🎯 防冲突机制: 进度条拖拽与手势操作完美兼容

💾 数据与离线功能

  • 🌐 完全离线: Service Worker 缓存所有资源
  • 💾 本地存储: localStorage 自动保存,刷新不丢失
  • 📥 数据导入导出: 支持JSON格式数据导入导出,方便备份和迁移
  • 🔄 缓存管理: 智能版本控制,自动更新缓存
  • 🔒 数据安全: 纯客户端运行,数据不上传服务器

🎨 用户体验设计

  • 📱 响应式布局: 完美适配手机、平板、桌面
  • 🌙 深色模式: 自动适配系统主题偏好
  • ⚡ 流畅动画: 任务添加、删除、完成的平滑过渡
  • 🎯 精确对齐: 图标、文字完美对齐,视觉统一
  • 💡 智能提示: hover 状态、操作反馈、错误提示

📦 PWA 特性

  • 📱 应用安装: 支持安装到设备主屏幕
  • 🚀 快速启动: 快捷方式支持,一键添加新任务
  • 📴 离线可用: 断网状态下完整功能可用
  • 🔔 通知支持: 支持推送通知(可扩展)

🚀 快速开始

在线访问

直接通过浏览器访问部署的网站即可使用。

本地运行

  1. 将所有文件下载到本地目录
  2. 使用本地服务器运行(不能直接打开 HTML 文件,PWA 需要 HTTPS 或 localhost)
# 使用 Python
python3 -m http.server 8080

# 或使用 Node.js
npx serve -s . -p 8080
  1. 在浏览器中访问 http://localhost:8080

📱 安装为 PWA

桌面浏览器

  1. 打开应用网页
  2. 点击地址栏右侧的"安装"按钮
  3. 或点击页面底部的"📱 安装应用"按钮

移动设备

  1. 在 Chrome/Safari 中打开应用
  2. 点击浏览器菜单中的"添加到主屏幕"
  3. 应用将像原生应用一样出现在主屏幕上

🎯 使用方法

添加任务

  • 在输入框中输入任务内容
  • 按回车键或点击"添加"按钮

管理任务

  • 基础操作:点击复选框标记任务完成/未完成
  • 进度控制
    • 拖拽进度条:拖拽进度条上的小圆点精确设置进度(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+

📋 待办功能 (Future Updates)

  • 任务分类和标签
  • 任务优先级设置
  • 到期提醒和通知
  • 云端同步功能
  • 任务搜索和过滤
  • 深色主题手动切换
  • 任务统计图表
  • 任务排序功能
  • 子任务支持
  • 任务备注和附件

🤝 贡献

欢迎提交 Issue 和 Pull Request 来改进这个应用!

📄 许可证

MIT License - 可以自由使用和修改。


💡 提示: 此应用完全在客户端运行,所有数据都保存在您的设备上,保证了隐私安全。

About

任务清单

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published