1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import { defineStore } from 'pinia';
import { ref } from 'vue';
 
export const useBgtaskStore = defineStore('bgtask', () => {
  // 弹出框显示
  const dialogShow = ref(false);
 
  const events = [];
 
  function toggleShow(show) {
    if (typeof show === 'boolean') {
      dialogShow.value = show;
    } else {
      dialogShow.value = !dialogShow.value;
    }
  }
 
  function registerOnFetchTask(func) {
    events.push(func);
  }
 
  function fetchTask() {
    events.forEach((e) => {
      if (typeof e === 'function') {
        e();
      }
    });
  }
 
  return {
    dialogShow,
    toggleShow,
    registerOnFetchTask,
    fetchTask
  };
});