269 lines
6.3 KiB
Markdown
269 lines
6.3 KiB
Markdown
# Pure Todo - 纯待办小程序
|
||
|
||
一个简洁高效的微信小程序待办事项管理应用,帮助你更好地管理时间和任务。
|
||
|
||
## ✨ 特性
|
||
|
||
### 🎨 现代化设计
|
||
- **渐变背景** - 使用美丽的渐变色彩设计
|
||
- **卡片式布局** - 清晰的信息层次和视觉分离
|
||
- **动画效果** - 流畅的过渡动画和交互反馈
|
||
- **响应式设计** - 适配不同屏幕尺寸
|
||
|
||
### 📊 智能功能
|
||
- **任务管理** - 添加、编辑、删除、完成任务
|
||
- **优先级分类** - 高、中、低三个优先级等级
|
||
- **智能搜索** - 快速查找特定任务
|
||
- **状态筛选** - 按完成状态筛选任务
|
||
- **数据统计** - 详细的完成率统计和分析
|
||
|
||
### 📈 数据分析
|
||
- **总体概览** - 任务总数、完成数、完成率
|
||
- **周数据图表** - 可视化展示一周的任务情况
|
||
- **优先级分析** - 不同优先级的完成情况
|
||
- **最近活动** - 查看最近的任务操作记录
|
||
|
||
### 🔧 个性化设置
|
||
- **深色模式** - 保护眼睛的深色主题
|
||
- **通知设置** - 自定义推送通知
|
||
- **数据备份** - 导出和导入数据
|
||
- **应用信息** - 版本信息和开发者联系方式
|
||
|
||
## 🚀 技术栈
|
||
|
||
- **框架**: 微信小程序原生开发
|
||
- **UI组件**: TDesign 小程序组件库
|
||
- **语言**: TypeScript
|
||
- **样式**: WXSS (CSS)
|
||
- **数据存储**: 微信小程序本地存储
|
||
|
||
## 📱 页面结构
|
||
|
||
### 首页 (index)
|
||
- 个性化问候语
|
||
- 今日概览统计
|
||
- 今日任务列表
|
||
- 最近任务记录
|
||
- 快速操作入口
|
||
|
||
### 任务列表 (list)
|
||
- 智能搜索功能
|
||
- 多维度筛选(状态、优先级)
|
||
- 排序选项(时间、优先级、名称)
|
||
- 批量操作(清空已完成)
|
||
- 任务详情展示
|
||
|
||
### 数据统计 (statistics)
|
||
- 总体数据概览
|
||
- 周数据图表
|
||
- 优先级统计
|
||
- 分类统计
|
||
- 最近活动记录
|
||
- 数据管理功能
|
||
|
||
### 设置 (settings)
|
||
- 外观设置(深色模式)
|
||
- 通知设置
|
||
- 数据管理(备份、导入、清空)
|
||
- 应用设置(重置、更新、评分)
|
||
- 关于应用信息
|
||
|
||
## 🎯 核心功能
|
||
|
||
### 任务管理
|
||
```typescript
|
||
// 添加任务
|
||
todoStorage.addTodo(text, priority, category);
|
||
|
||
// 更新任务
|
||
todoStorage.updateTodo(id, updates);
|
||
|
||
// 删除任务
|
||
todoStorage.deleteTodo(id);
|
||
|
||
// 切换完成状态
|
||
todoStorage.toggleTodo(id);
|
||
```
|
||
|
||
### 数据统计
|
||
```typescript
|
||
// 获取统计信息
|
||
const stats = todoStorage.getStats();
|
||
|
||
// 按优先级获取任务
|
||
const highPriorityTodos = todoStorage.getTodosByPriority('high');
|
||
|
||
// 获取今日任务
|
||
const todayTodos = todoStorage.getTodayTodos();
|
||
```
|
||
|
||
### 数据持久化
|
||
```typescript
|
||
// 导出数据
|
||
const data = todoStorage.exportData();
|
||
|
||
// 导入数据
|
||
const success = todoStorage.importData(dataString);
|
||
|
||
// 清空数据
|
||
todoStorage.clearAllData();
|
||
```
|
||
|
||
## 🎨 设计特色
|
||
|
||
### 色彩方案
|
||
- **主色调**: #667eea (渐变蓝紫)
|
||
- **辅助色**: #764ba2 (深紫)
|
||
- **成功色**: #48dbfb (青色)
|
||
- **警告色**: #feca57 (橙色)
|
||
- **危险色**: #ff6b6b (红色)
|
||
|
||
### 交互设计
|
||
- **卡片悬浮效果** - 鼠标悬停时的阴影变化
|
||
- **按钮点击反馈** - 按下时的缩放动画
|
||
- **页面切换动画** - 平滑的页面过渡
|
||
- **加载动画** - 数据加载时的渐入效果
|
||
|
||
## 📦 安装和运行
|
||
|
||
1. **克隆项目**
|
||
```bash
|
||
git clone [项目地址]
|
||
cd pure-todo
|
||
```
|
||
|
||
2. **安装依赖**
|
||
```bash
|
||
npm install
|
||
# 或
|
||
pnpm install
|
||
```
|
||
|
||
3. **开发工具**
|
||
- 使用微信开发者工具打开项目
|
||
- 确保已安装 TDesign 小程序组件库
|
||
|
||
4. **编译运行**
|
||
- 在微信开发者工具中点击编译
|
||
- 在模拟器中预览效果
|
||
|
||
## 🔧 配置说明
|
||
|
||
### app.json 配置
|
||
```json
|
||
{
|
||
"pages": [
|
||
"pages/index/index",
|
||
"pages/list/list",
|
||
"pages/statistics/statistics",
|
||
"pages/settings/settings"
|
||
],
|
||
"window": {
|
||
"backgroundTextStyle": "light",
|
||
"navigationBarBackgroundColor": "#667eea",
|
||
"navigationBarTitleText": "Pure Todo",
|
||
"navigationBarTextStyle": "white",
|
||
"backgroundColor": "#f5f7fa"
|
||
}
|
||
}
|
||
```
|
||
|
||
### 组件配置
|
||
每个页面都配置了必要的 TDesign 组件:
|
||
- `t-navbar` - 导航栏
|
||
- `t-button` - 按钮
|
||
- `t-input` - 输入框
|
||
- `t-icon` - 图标
|
||
- `t-card` - 卡片
|
||
- `t-tag` - 标签
|
||
- `t-progress` - 进度条
|
||
- `t-checkbox` - 复选框
|
||
- `t-switch` - 开关
|
||
- `t-dialog` - 对话框
|
||
|
||
## 📊 数据结构
|
||
|
||
### 任务对象 (ITodo)
|
||
```typescript
|
||
interface ITodo {
|
||
id: string; // 唯一标识
|
||
text: string; // 任务内容
|
||
completed: boolean; // 完成状态
|
||
priority: 'high' | 'medium' | 'low'; // 优先级
|
||
createdAt: number; // 创建时间
|
||
completedAt?: number; // 完成时间
|
||
category?: string; // 分类
|
||
}
|
||
```
|
||
|
||
### 统计对象 (ITodoStats)
|
||
```typescript
|
||
interface ITodoStats {
|
||
total: number; // 总任务数
|
||
completed: number; // 已完成数
|
||
pending: number; // 待完成数
|
||
completionRate: number; // 完成率
|
||
todayCompleted: number; // 今日完成数
|
||
}
|
||
```
|
||
|
||
## 🎯 使用指南
|
||
|
||
### 添加任务
|
||
1. 在首页点击右上角的 "+" 按钮
|
||
2. 输入任务内容
|
||
3. 选择优先级(高/中/低)
|
||
4. 点击"添加"完成
|
||
|
||
### 管理任务
|
||
1. 在任务列表页面查看所有任务
|
||
2. 使用搜索框快速查找
|
||
3. 使用筛选器按状态或优先级筛选
|
||
4. 点击复选框标记完成
|
||
5. 点击删除图标删除任务
|
||
|
||
### 查看统计
|
||
1. 在统计页面查看总体数据
|
||
2. 查看周数据图表了解趋势
|
||
3. 分析不同优先级的完成情况
|
||
4. 查看最近的活动记录
|
||
|
||
### 数据备份
|
||
1. 在设置页面点击"导出数据"
|
||
2. 复制备份数据并保存
|
||
3. 需要恢复时点击"导入数据"
|
||
4. 粘贴备份数据完成恢复
|
||
|
||
## 🔮 未来规划
|
||
|
||
- [ ] **云端同步** - 支持多设备数据同步
|
||
- [ ] **提醒功能** - 任务到期提醒
|
||
- [ ] **团队协作** - 多人共享任务列表
|
||
- [ ] **数据导出** - 支持导出为Excel/PDF
|
||
- [ ] **主题定制** - 更多主题色彩选择
|
||
- [ ] **语音输入** - 语音添加任务
|
||
- [ ] **智能建议** - AI智能任务建议
|
||
|
||
## 🤝 贡献指南
|
||
|
||
欢迎提交 Issue 和 Pull Request 来改进这个项目!
|
||
|
||
### 开发规范
|
||
- 使用 TypeScript 进行类型检查
|
||
- 遵循 ESLint 代码规范
|
||
- 保持代码注释的完整性
|
||
- 测试新功能后再提交
|
||
|
||
## 📄 许可证
|
||
|
||
MIT License
|
||
|
||
## 📞 联系方式
|
||
|
||
如有问题或建议,请通过以下方式联系:
|
||
- 邮箱:developer@example.com
|
||
- 微信:developer_wechat
|
||
|
||
---
|
||
|
||
**Pure Todo** - 让任务管理变得简单高效 ✨ |