openGym 周计划管理教程:如何移动训练日与设置周一或周日开始
【免费下载链接】openGymSelf-hosted gym & body-weight tracker — plan routines, log workouts (supersets, warm-ups, cardio), see which muscles are trained, fatigued or detrained, import from FitNotes/Strong/Hevy, passkey login. Your data, your server.项目地址: https://gitcode.com/GitHub_Trending/op/openGym
openGym 是一款自托管(self-hosted)的健身房与自重训练记录工具,帮你制定训练计划(routines)、记录 workouts(超级组、热身、有氧)、查看肌肉训练与疲劳状态,还支持从 FitNotes/Strong/Hevy 导入数据。本文带你完成 openGym 周计划管理(Weekly Plan)的核心操作:移动训练日到指定星期,以及把周的开始日设置为周一或周日,让训练日历完全贴合你的作息。
🗓️ 周计划是什么
打开Plan(计划)页,你会看到两个区域:
- Week schedule(周安排):7 天一行,每天挂着当天的训练组合,休息日标记为 Rest
- Routines(训练组合):你的全部动作列表,如 Push / Pull / Legs
这个页面的源码在 frontend/src/views/Plan.jsx,周安排的显示顺序由weekOrder(weekStartOf(S))决定——也就是说,周的起始日设置会直接改变 Plan 页、首页条带、日历视图的排列顺序。
📱 如何把训练移到另一天
openGym 采用"从某一天取走 → 加到目标日"的方式移动训练日,步骤如下:
- 进入Plan页,点击Week schedule中你想腾空的某一天里对应组合右侧的 ✕,把它从这天移除
- 点击目标日期(比如从周二移到周六),会弹出分配面板,选中要加到这一天的 routine 即可
- 完成——该训练日就整体挪到了新的一天
💡提示:同一天可以挂多个 routine(点日期头部的小 +),所以你也可以把两套训练放在同一天练"双推"。
想调整 routine 在列表中的先后顺序?Routines 列表每行有 ▲▼ 按钮,可以像移动练习一样把组合上移/下移(Plan.jsx#L113-L123)。
⚙️ 周从周一还是周日开始?这样设置
不同国家习惯不同:欧洲通常周一为一周之始,北美则从周日算起。openGym 支持一键切换:
- 打开Settings(设置)
- 找到Week starts on(周起始日)选项
- 在Monday(周一)和Sunday(周日)之间切换即可
对应的设置界面代码见 Settings.jsx#L380-L386。切换后,Plan 列表、首页本周条带、日历网格、所有"本周"统计都会按新的起始日重排,无需手动调整任何训练数据。
🔍 为什么周日开始会影响周统计
切换起始日不只是换一换列顺序。以周三为例:
| 设置 | 本周范围 |
|---|---|
| 周一开始 | 周一 17 日 → 周日 23 日 |
| 周日开始 | 周日 16 日 → 周六 22 日 |
你的连续训练周数(streak)、每周训练量、肌肉疲劳曲线都按"你的周"来划界,所以把起始日设成和自己日历一致,统计口径才准确。这套逻辑的底层实现在 frontend/src/lib/format.js(weekStartOf、startOfWeek、weekKey等函数),并有完整测试覆盖边界情况,见 week-start.test.js。
🔄 移动训练日后,多台设备同步吗
如果你既用 Web 端又用手机 App,放心:修改周安排或起始日设置后,数据会按 openGym 的同步机制推送到你登录的所有设备。
✅ 小结
- 移动训练日:Plan 页 → Week schedule → 在目标日添加 / 在原日移除 routine,一步完成
- 周起始日:Settings → Week starts on,在 Monday / Sunday 间切换,Plan、首页、统计全部自动重排
- 设置只改"周"的口径,不影响你的训练记录本身
掌握这两个设置,openGym 的周计划就真正属于你自己的节奏了。想深入了解各页面细节,可参考 docs/README.md。
【免费下载链接】openGymSelf-hosted gym & body-weight tracker — plan routines, log workouts (supersets, warm-ups, cardio), see which muscles are trained, fatigued or detrained, import from FitNotes/Strong/Hevy, passkey login. Your data, your server.项目地址: https://gitcode.com/GitHub_Trending/op/openGym
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考