一个功能完整的待办事项应用,基于 Vue 3 + Vite + TailwindCSS 构建。
- 创建、编辑、删除待办事项
- 标记任务完成/未完成
- 任务列表展示
- 优先级系统:高、中、低、无四个优先级
- 分类管理:支持多分类,预设工作、个人、购物、健康等分类
- 截止日期:设置任务截止时间,逾期提醒
- 搜索过滤:全文搜索,按状态、优先级、分类筛选
- 排序功能:按创建时间、截止日期、优先级排序
- 子任务:支持添加子任务,显示完成进度
- 重复任务:支持每日、每周、每月、每年重复
- 统计图表:完成任务趋势图、优先级分布、分类分布
- 数据导出:支持 JSON 和 CSV 格式导出
- 数据导入:支持从 JSON 文件导入
- 使用 LocalStorage 本地存储
- 预留 Supabase 接口供后续扩展
- 框架:Vue 3 (Composition API +
<script setup>) - 构建工具:Vite
- UI 库:TailwindCSS
- 图表库:Chart.js + vue-chartjs
- 路由:Vue Router
- 状态管理:Pinia
- 图标:Lucide Vue Next
npm installnpm run devnpm run buildnpm run previewsrc/
├── main.js # 应用入口
├── App.vue # 根组件
├── router.js # 路由配置
├── components/ # 可复用组件
│ ├── TodoItem.vue # 任务项组件
│ ├── TodoList.vue # 任务列表组件
│ ├── TodoForm.vue # 任务表单组件
│ ├── SubTaskList.vue # 子任务列表组件
│ ├── CategorySelector.vue # 分类选择器
│ ├── PriorityBadge.vue # 优先级徽章
│ ├── SearchBar.vue # 搜索栏
│ ├── FilterPanel.vue # 筛选面板
│ ├── StatsChart.vue # 统计图表
│ └── ExportModal.vue # 导出模态框
├── views/ # 页面组件
│ ├── Dashboard.vue # 仪表盘
│ ├── Tasks.vue # 任务页面
│ ├── Statistics.vue # 统计页面
│ └── Settings.vue # 设置页面
├── stores/ # Pinia 状态管理
│ ├── todos.js # 任务存储
│ ├── categories.js # 分类存储
│ └── settings.js # 设置存储
├── composables/ # 组合式函数
│ ├── useTodos.js # 任务相关逻辑
│ ├── useFilters.js # 筛选逻辑
│ └── useExport.js # 导出逻辑
├── utils/ # 工具函数
│ ├── storage.js # 本地存储
│ └── recurrence.js # 重复任务计算
└── styles/ # 样式文件
└── index.css # 全局样式
- 点击"新建任务"按钮
- 填写任务标题(必填)
- 可选填写描述、设置优先级、分类、截止日期
- 可选择重复规则
- 点击"创建"按钮
- 点击任务右侧的编辑图标
- 修改任务信息
- 点击"更新"按钮
- 点击任务右侧的删除图标
- 确认删除
- 点击"筛选"按钮展开筛选面板
- 选择状态、优先级、分类
- 设置排序方式
- 使用搜索栏进行全文搜索
- 进入"设置"页面
- 点击"导出数据"
- 选择 JSON 或 CSV 格式
- 点击"导出"按钮
- 添加深色模式切换
- 集成 Supabase 云端存储
- 添加用户认证
- 支持任务拖拽排序
- 添加任务提醒通知
- 支持多语言
- PWA 离线支持
MIT