trainingSnapshot.js
640 Bytes
// sheep/store/trainingSnapshot.js
import { reactive } from 'vue';
/**
* 训练快照 — 悬浮球与训练页面的共享数据桥梁
* 不是 Pinia store,是模块级 reactive 对象,存在 JS 堆内存中
* 页面跳转、clearTrainingStore() 都碰不到它
*/
export const trainingSnapshot = reactive({
/** 全量 store 状态快照(JSON 深拷贝) */
data: null,
/** 快照时间戳(毫秒),用于回显时补偿计时器 */
timestamp: null,
/** 快照时计时器是否正在运行 */
timerWasRunning: false,
/** 悬浮球是否应该显示(独立于 trainingStore.min) */
visible: false,
});