Skip to content

v3.17.41 重构阶段3b/4a · 数据服务迁移

Choose a tag to compare

@LMG-arch LMG-arch released this 11 Sep 03:15
· 0 commits to main since this release

v3.17.41 重构阶段 3b/4a · 数据服务迁移

依据 docs/重构计划-2026-09-11.md 推进(S4.1 + S3.1c)。

改动 说明
src/lib/dataService.js 新增 Vue 侧数据刷新唯一入口:拉取日历/待办/提醒/记账数据 → 写入 Pinia store → 触发纯重渲染钩子 → 过渡期继续发布 window 镜像(经典层兼容)
calendarStore 不再从 window.allData 灌数据;syncFromWindow() 改为直接从原生桥重新拉取
刷新钩子 __refreshCalendarGrid / __refreshStats 改为纯重渲染(不再隐式读 window 镜像;保存后 store 自身状态已最新)
设置页 6 处 window.refreshAllData 调用改走 dataService.refreshAllData()(同步/下载/导入/恢复路径全覆盖)
诊断出口 新增 window.__dataService.refreshAllData(),便于排查"同步后不刷新"类问题

验证(agent-browser 实测)

  • 冷启动:Pinia daysData 有数据、Vue 网格正常渲染、0 错误
  • 保存链路:打卡 → 状态写入 → store 与界面同步更新(纯 tick 刷新)
  • dataService.refreshAllData() 端到端:before/after 数据一致、单元格状态正确、0 错误

死壳审计结论(决定阶段 4 策略)

.app 死壳 59 个 id 中 48 个仍被经典脚本引用 → 删除 DOM 必须与经典渲染层删除同批进行,已记入计划 §9。

下一步

经典渲染层分模块退役 → 同批删除 .app 死壳 → 收窄 shims.js → 阶段 5 收尾。