个人健身数据管理系统 Fitness-Tracker_Win_v3.0
·
Fitness-Tracker_Win_v3.0 发布!
***1. 新增 ***:AI陪练模型(下面有详细介绍)。
2. 其他调整:UI界面配色方案和交互逻辑微调。
求Star⭐️ ૮₍ᵔ⤙ᵔ₎ა
Releases:https://github.com/MrKedow/Fitness-Tracker/releases
Readme:https://github.com/MrKedow/Fitness-Tracker/edit/main/README.md
Notes:https://github.com/MrKedow/Fitness-Tracker/releases/tag/Win_Newest_Stable



功能概述
本次更新合入了AI智能陪练模块,并大幅提升了UI响应速度和用户体验。

1. 智能分析引擎(本地部署)
https://github.com/MrKedow/Fitness-Tracker/blob/main/assets/coach_rules.json
1.1 本地规则库
- 创建
assets/coach_rules.json配置文件 - 包含 7 类模板:开场白、频率评价、部位均衡、进步追踪、容量分析、鼓励语、小贴士
- 动态加载,支持热更新
- 理论组合数:7 × 20 × 6 × 60 × 12 × 4 × 15 × 15 × 4 ≈ 21.7 亿种
1.2 线性回归预测
- 基于最近 3-5 次训练数据
- 使用最小二乘法计算趋势线
- 预测 2-12 周后的目标重量
- 自动识别相同动作的历史记录

1.3 容量分析
- 高容量(>50000J):提醒注意恢复
- 中容量(20000-50000J):鼓励保持节奏
- 低容量(<20000J):建议增加训练量
https://github.com/MrKedow/Fitness-Tracker/blob/main/lib/widgets/coach_character.dart
1.4 里程碑
- 每完成 10 次训练触发
- 展示健身名家鼓励语录
2. 频率计算修正
问题:原先使用"总训练次数 / 总天数 × 7"计算周频率,导致只有一条记录时显示"每周7次"
修复:
- 改为按自然周(周一至周日)统计
- 仅计算落于本周内的训练记录
- 显示本周日期范围(如 12.9-12.15)
- 使用 int 类型而非 float
https://github.com/MrKedow/Fitness-Tracker/blob/main/lib/widgets/coach_character.dart
3. UI 组件优化
3.1 智能滚动指示器
-
右下角跳动箭头
-
监听 ScrollController 判断是否到底
-
使用 AnimationController 实现跳动效果
-
自动判断内容是否超出容器高度
-
未到底部时显示向下箭头,点击滚动到底部
-
到达底部时显示向上箭头,点击返回顶部

3.2 主题适配增强
-
AI 回复框完美适配暗色/亮色主题
-
5 套主题视觉区分度显著提升
-
主题选择器增加描述文案
-
修复主题选择器底部溢出问题

3.3 布局修复
-
修复历史记录页面 DataTable 溢出
-
AI 回复框高度从 250px 增加至 500px
-
修复 UTF-16 编码错误,保留全部 Emoji 显示
4. 健身理论融入
参考以下健身名家的训练哲学:
| 名家 | 核心理念 |
|---|---|
| 阿诺德·施瓦辛格 | 最后一组才是真正的开始 |
| 罗尼·库尔曼 | 人人都想练健美,但没人想举重 |
| 多里安·耶茨 | 强度比容量更重要 |
| 李·哈尼 | 刺激肌肉,而不是摧毁它 |
| 弗兰克·赞恩 | 对称和比例比块头更重要 |
| 凯·格林 | 念动一致是关键 |
| 杰夫·卡瓦利尔 | 疼痛不是软弱离开身体,是愚蠢进入身体 |
| 汤姆·普拉茨 | 平台期尝试 21 响礼炮 |
| 迈克·门泽尔 | 一组做到力竭就足够 |
| 布拉德·舍恩菲尔德 | 三大肌肥大机制 |
5. Bug 修复
| 问题 | 解决方案 |
|---|---|
WebviewController.initialize() 不存在 |
删除该调用,插件自动初始化 |
fluttertoast Windows 不兼容 |
改用 ScaffoldMessenger.showSnackBar |
| UTF-16 编码错误 | 添加 _sanitizeText 过滤无效字符 |
| 主题选择器底部溢出 | 添加 isScrollControlled: true |
DataTable 溢出 |
包裹 SingleChildScrollView |
dynamic 类型错误 |
显式类型转换 (as num).toDouble() |
6. 文件变更
修改的文件:
lib/main.dart- 主题增强、Toast 修复lib/widgets/coach_character.dart- 核心重构lib/widgets/roaming_cat.dart- 小幅优化pubspec.yaml- 移除 fluttertoast 依赖
新增的文件:
assets/coach_rules.json- 智能分析规则库
删除的依赖:
fluttertoast- Windows 平台不兼容
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)