diff --git a/packages/web/src/pages/common/timer.ts b/packages/web/src/pages/common/timer.ts new file mode 100644 index 00000000..f9fa4c8f --- /dev/null +++ b/packages/web/src/pages/common/timer.ts @@ -0,0 +1,19 @@ +import { useSettingStore } from '@/stores/setting'; +/** 启动和销毁计时器 hooks */ +export const userTimer = () => { + const settingStore = useSettingStore(); + + const timerId = ref(); + + onMounted(() => { + timerId.value = setInterval(() => { + settingStore.readTime += 1; + }, 1000); + }); + + onBeforeUnmount(() => { + if (timerId.value) { + clearInterval(timerId.value); + } + }); +}; diff --git a/packages/web/src/pages/vscode/content/index.vue b/packages/web/src/pages/vscode/content/index.vue index ee3dcb45..bf90699f 100644 --- a/packages/web/src/pages/vscode/content/index.vue +++ b/packages/web/src/pages/vscode/content/index.vue @@ -53,6 +53,7 @@ import { ContentType } from '@any-reader/rule-utils'; import { useContent, useTheme } from '@/pages/common/content'; import { useReadStore } from '@/stores/read'; +import { userTimer } from '@/pages/common/timer'; const contentRef = ref(); @@ -62,6 +63,8 @@ const { content, contentType, settingStore, lastChapter, nextChapter, onPageUp, useContent(contentRef); useTheme(contentRef); + +userTimer();