|
@@ -1,4 +1,4 @@
|
|
|
-import { onUnmounted } from "vue";
|
|
|
+import { onBeforeUnmount } from "vue";
|
|
|
|
|
|
/**
|
|
|
* 自动添加和清除timer
|
|
@@ -6,6 +6,8 @@ import { onUnmounted } from "vue";
|
|
|
export function useTimers() {
|
|
|
const mixin__intervals: number[] = [];
|
|
|
const mixin__timeouts: number[] = [];
|
|
|
+ const atTime = new Date().toLocaleTimeString();
|
|
|
+ const atUrl = window.location.pathname;
|
|
|
|
|
|
/**
|
|
|
* 会在 beforeDestory 中自动清除
|
|
@@ -20,12 +22,15 @@ export function useTimers() {
|
|
|
mixin__intervals.push(i);
|
|
|
logger({
|
|
|
cnl: ["server", "console"],
|
|
|
- pgu: "AUTO",
|
|
|
+ // pgu: "AUTO",
|
|
|
lvl: "debug",
|
|
|
act: "addInterval",
|
|
|
ext: {
|
|
|
- mixin__intervals,
|
|
|
- mixin__timeouts,
|
|
|
+ atTime,
|
|
|
+ atUrl,
|
|
|
+ i,
|
|
|
+ mixin__intervals: mixin__intervals.toString(),
|
|
|
+ mixin__timeouts: mixin__timeouts.toString(),
|
|
|
},
|
|
|
});
|
|
|
|
|
@@ -45,27 +50,33 @@ export function useTimers() {
|
|
|
|
|
|
logger({
|
|
|
cnl: ["server", "console"],
|
|
|
- pgu: "AUTO",
|
|
|
+ // pgu: "AUTO",
|
|
|
lvl: "debug",
|
|
|
act: "addTimeout",
|
|
|
ext: {
|
|
|
- mixin__intervals,
|
|
|
- mixin__timeouts,
|
|
|
+ atTime,
|
|
|
+ atUrl,
|
|
|
+ i,
|
|
|
+ mixin__intervals: mixin__intervals.toString(),
|
|
|
+ mixin__timeouts: mixin__timeouts.toString(),
|
|
|
},
|
|
|
});
|
|
|
|
|
|
return i;
|
|
|
}
|
|
|
|
|
|
- onUnmounted(() => {
|
|
|
+ onBeforeUnmount(() => {
|
|
|
+ if (mixin__intervals.length === 0 && mixin__timeouts.length === 0) return;
|
|
|
logger({
|
|
|
cnl: ["server", "console"],
|
|
|
- pgu: "AUTO",
|
|
|
+ // pgu: "AUTO",
|
|
|
lvl: "debug",
|
|
|
act: "clearTimers",
|
|
|
ext: {
|
|
|
- mixin__intervals,
|
|
|
- mixin__timeouts,
|
|
|
+ atTime,
|
|
|
+ atUrl,
|
|
|
+ mixin__intervals: mixin__intervals.toString(),
|
|
|
+ mixin__timeouts: mixin__timeouts.toString(),
|
|
|
},
|
|
|
});
|
|
|
for (const i of mixin__intervals) {
|