点击则重置倒计时
export default function useCountdown(endback = null, options = {}) {
let {defaultValue = 120, immediate = true,interval=1000} = options
const left = ref(defaultValue);
const {pause, resume} = useIntervalFn(() => {
left.value--;
if (left.value <= 0) {
pause();
endback?.()
}
}, interval, {
immediate
});
const cleanup = useEventListener(document, 'click', () => {
left.value = defaultValue;
})
function clean(){
pause();
cleanup();
}
onBeforeUnmount(() => {
clean()
})
function handleBeforeUnload(){
clean()
window.removeEventListener('beforeunload',handleBeforeUnload)
}
window.addEventListener('beforeunload', handleBeforeUnload);
return {
left,
pause,
resume,
}
}