/** 首页「实时」时段对应 range 参数 */
export const HOME_REALTIME_RANGE = 'TODAY'

const POLL_MS = 10000

/**
 * 实时时段下每 10s 拉数；非实时或离开页面前需 clearHomeRealtimePoll
 * @param {object} vm 面板组件实例（挂 _homePollTimer）
 * @param {() => void} onTick 定时回调（建议静默刷新）
 */
export function syncHomeRealtimePoll(vm, onTick) {
  clearHomeRealtimePoll(vm)
  if (vm.activeRange !== HOME_REALTIME_RANGE) {
    return
  }
  vm._homePollTimer = setInterval(() => {
    if (vm.activeRange !== HOME_REALTIME_RANGE) {
      clearHomeRealtimePoll(vm)
      return
    }
    onTick()
  }, POLL_MS)
}

/** 停止轮询（切换时段、离开 Tab、组件销毁时调用） */
export function clearHomeRealtimePoll(vm) {
  if (vm._homePollTimer) {
    clearInterval(vm._homePollTimer)
    vm._homePollTimer = null
  }
}
