数据统计页面Bug修复说明
发现的问题
1. 数据存储不一致问题 ⚠️
问题描述: 统计页面期望从 pomodoroRecords 存储中读取数据,但番茄钟页面实际保存到 statistics 存储中。
影响: 统计页面无法显示番茄钟数据,所有统计都为0。
修复方案: 修改番茄钟页面的 updateStatistics 方法,同时保存到两个存储中。
2. 数据结构不匹配问题 ⚠️
问题描述: 统计页面期望的记录格式与实际保存的格式不匹配。
统计页面期望的格式:
javascript
{
completedAt: "2024-01-01T10:00:00.000Z",
duration: 25 // 分钟
}
番茄钟页面实际保存的格式:
javascript
{
daily: {"2024-01-01": 1},
weekly: {},
total: 1
}
修复方案: 在番茄钟页面创建符合统计页面期望格式的记录。
3. 月视图周计算逻辑问题 ⚠️
问题描述: 月视图的周计算逻辑复杂且容易出错,可能导致重复或遗漏某些周。
修复方案: 简化周计算逻辑,确保正确显示每月的周数据。
4. WXML视图类名错误 ⚠️
问题描述: WXML中使用了未定义的 currentView 变量。
修复方案: 改为使用已定义的 timeRange 变量。
修复内容
1. 番茄钟页面修复 (pages/pomodoro/pomodoro.js)
- 修改
updateStatistics方法 - 添加
pomodoroRecords存储逻辑 - 确保数据格式与统计页面期望一致
2. 统计页面修复 (pages/statistics/statistics.js)
- 优化月视图周计算逻辑
- 添加测试数据生成功能(调试用)
3. 统计页面模板修复 (pages/statistics/statistics.wxml)
- 修复视图类名错误
- 添加测试按钮(开发模式)
4. 样式优化 (pages/statistics/statistics.wxss)
- 添加测试按钮样式
- 确保图表显示正常
测试验证
1. 功能测试
- [ ] 完成番茄钟后,统计页面能正确显示数据
- [ ] 周/月/年视图切换正常
- [ ] 图表显示正确
- [ ] 专注时长计算准确
- [ ] 任务完成情况统计正确
2. 数据测试
- [ ] 使用测试数据生成功能验证显示
- [ ] 检查不同时间范围的数据统计
- [ ] 验证空数据状态显示
3. 兼容性测试
- [ ] 确保与原有
statistics存储兼容 - [ ] 验证数据迁移不影响现有功能
使用说明
开发调试
- 在统计页面点击"生成测试数据"按钮
- 查看各种时间范围的统计显示
- 验证图表和数据的正确性
生产环境
- 移除测试按钮和相关代码
- 确保番茄钟功能正常工作
- 验证统计数据的准确性
注意事项
- 数据兼容性: 修复后同时支持新旧两种数据格式
- 性能考虑: 大量数据时可能需要优化图表渲染
- 用户体验: 确保图表滚动和交互流畅
- 错误处理: 添加了适当的错误处理和用户提示
后续优化建议
- 数据清理: 定期清理过期的番茄钟记录
- 缓存优化: 对统计数据进行缓存,提高加载速度
- 导出功能: 添加统计数据导出功能
- 更多图表: 考虑添加趋势图、饼图等更多图表类型