eventList.js 845 B

12345678910111213141516171819202122232425262728293031
  1. import { ref } from 'vue'
  2. import { getRewardEventTrackList } from '@/api/integral'
  3. export const getRewardEventList = async () => {
  4. const { data } = await getRewardEventTrackList()
  5. uni.setStorageSync('eventList', JSON.stringify(data) ?? [])
  6. }
  7. // 规则配置跟踪列表(每5分钟更新一次)
  8. export const updateEventList = () => {
  9. const timer = ref(null)
  10. if (uni.getStorageSync('token')) {
  11. getRewardEventList()
  12. if (timer.value) clearInterval(timer.value)
  13. timer.value = setInterval(async () => {
  14. // 没有token时销毁定时器
  15. if (!uni.getStorageSync('token')) {
  16. clearInterval(timer.value)
  17. timer.value = null
  18. return
  19. }
  20. getRewardEventList()
  21. }, 180000)
  22. } else {
  23. clearInterval(timer.value)
  24. timer.value = null
  25. uni.setStorageSync('eventList', [])
  26. }
  27. }