eventList.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. // eventList
  2. import { getToken } from '@/utils/auth'
  3. import { ref } from 'vue'
  4. import { getRewardEventTrackList } from '@/api/integral'
  5. import { useUserStore } from '@/store/user'
  6. const getRewardEventList = async () => {
  7. const eventList = await getRewardEventTrackList()
  8. localStorage.setItem('eventList', JSON.stringify(eventList) ?? [])
  9. }
  10. // 规则配置跟踪列表(每5分钟更新一次)
  11. export const updateEventList = (type) => {
  12. const store = useUserStore()
  13. const timer = ref(null)
  14. if (getToken(1) || getToken()) {
  15. getRewardEventList()
  16. if (timer.value) clearInterval(timer.value)
  17. timer.value = setInterval(async () => {
  18. // 没有token时销毁定时器
  19. if (!getToken(1) || !getToken()) {
  20. clearInterval(timer.value)
  21. timer.value = null
  22. return
  23. }
  24. getRewardEventList()
  25. // 更新账户信息
  26. if (type) await store.getUserAccountInfo()
  27. else await store.getEnterpriseUserAccountInfo()
  28. }, 180000)
  29. } else {
  30. clearInterval(timer.value)
  31. timer.value = null
  32. localStorage.setItem('eventList', [])
  33. }
  34. }