Skip to content
On this page

数据统计页面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 存储兼容
  • [ ] 验证数据迁移不影响现有功能

使用说明

开发调试

  1. 在统计页面点击"生成测试数据"按钮
  2. 查看各种时间范围的统计显示
  3. 验证图表和数据的正确性

生产环境

  1. 移除测试按钮和相关代码
  2. 确保番茄钟功能正常工作
  3. 验证统计数据的准确性

注意事项

  1. 数据兼容性: 修复后同时支持新旧两种数据格式
  2. 性能考虑: 大量数据时可能需要优化图表渲染
  3. 用户体验: 确保图表滚动和交互流畅
  4. 错误处理: 添加了适当的错误处理和用户提示

后续优化建议

  1. 数据清理: 定期清理过期的番茄钟记录
  2. 缓存优化: 对统计数据进行缓存,提高加载速度
  3. 导出功能: 添加统计数据导出功能
  4. 更多图表: 考虑添加趋势图、饼图等更多图表类型

Released under the MIT License.