steps.js 769 Bytes
/*
 * @Description: 步数更新状态管理
 */
import { defineStore } from 'pinia'

export const useStepsStore = defineStore('steps', {
  state: () => {
    return {
      hasUpdateFailed: false, // 是否曾经更新失败过
      lastFailedTime: null,   // 最后一次失败的时间
    }
  },
  actions: {
    /**
     * 设置更新失败状态
     */
    setUpdateFailed() {
      this.hasUpdateFailed = true
      this.lastFailedTime = new Date().getTime()
    },
    /**
     * 重置更新失败状态
     */
    resetUpdateFailed() {
      this.hasUpdateFailed = false
      this.lastFailedTime = null
    },
    /**
     * 检查是否需要显示手动更新按钮
     */
    shouldShowManualUpdate() {
      return this.hasUpdateFailed
    }
  },
})