fix: 修复 4 个正确性问题(分享秒数/主题同步/云推送定位/streak重算)

- timer: 完成弹窗存实际时长 completionActualElapsed,分享改用它,避免用动画值导致秒数错误
- theme: setTheme 补 _markLocalChanged,避免云恢复覆盖未同步的主题改动
- cloud: _doPush 重定位查询补 orderBy(updatedAt desc),与 pullAll 一致,避免命中最旧文档
- storage: deleteRecord 改用 recomputeStreak,修复删连续链中间某天 streak 虚高

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liucheng
2026-07-25 14:51:09 +08:00
parent b47a48259e
commit 1c140bd503
4 changed files with 9 additions and 4 deletions
+3 -2
View File
@@ -412,6 +412,7 @@ Page({
// Modal state
showCompletion: true,
completionElapsed: 0,
completionActualElapsed: elapsed,
completionTarget: this.data.duration,
completionOvertime: Math.max(0, elapsed - this.data.duration),
completionStreak: finalStreak,
@@ -494,7 +495,7 @@ Page({
* 刚才撑了多久,转化率更高;右上角"···"菜单也共用同一份文案。
*/
onShareAppMessage() {
const elapsed = this.data.completionElapsed || this.data.duration
const elapsed = this.data.completionActualElapsed || this.data.duration
const s = config.share.timer
return {
title: s.titleTemplate.replace('{elapsed}', elapsed),
@@ -506,7 +507,7 @@ Page({
* 分享到朋友圈,同样带上刚完成的时长晒成绩。
*/
onShareTimeline() {
const elapsed = this.data.completionElapsed || this.data.duration
const elapsed = this.data.completionActualElapsed || this.data.duration
return {
title: config.share.timer.timelineTitleTemplate.replace('{elapsed}', elapsed)
}