feat(timer): 训练时长低于阈值不记录并明确提示

- config.js 新增 minRecordSeconds: 20 阈值配置,改配置即可调整门槛
- timer.js: finishTraining/_onCircuitComplete 低时长不播完成语音;
  _saveAndShowCompletion 兜底判断,任何入口都不会把短时训练落库;
  新增 _showNotRecorded: 不保存记录、不更新连胜,复用完成弹窗展示实际秒数
- timer.wxml/wxss: 完成弹窗新增"未计入记录"提示行(门槛说明),
  未记录时隐藏"查看记录/分享"按钮,只留"再来一次+回到首页"
- 修复状态残留: 未记录后点"再来一次",下次正常完成不会误显示"未计入记录"
This commit is contained in:
2026-08-12 10:20:40 +08:00
parent 178a51d261
commit f1ad3eeb95
5 changed files with 152 additions and 3 deletions
+9
View File
@@ -67,6 +67,15 @@ module.exports = {
*/
caloriesPerSecond: 0.068,
/**
* 最短记录时长(秒)。本次训练有效时长低于该值时:
* - 不写入训练记录、不更新连续打卡天数(避免"撑几秒也算一天"的无效记录)
* - 完成弹窗会明确提示"本次未计入记录",并隐藏查看记录/分享入口
* 循环训练按"有效撑持秒数"(各组时长之和,不含休息)判断。
* 改这里即可调整门槛,无需动逻辑代码。
*/
minRecordSeconds: 15,
/**
* 完成弹窗科学提示(按本次训练时长分段)。
* 完成时按实际撑的秒数命中第一段 maxSeconds 大于它的配置,