From 8453ee89ed398057b24c5712bd5a05e33278abef Mon Sep 17 00:00:00 2001 From: guoapeng Date: Mon, 12 May 2025 01:22:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=B3=BB=E7=BB=9F=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E8=BF=9B=E5=BA=A6=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app.vue | 22 ++++++++++++++-------- src/stores/systemStore.ts | 3 ++- src/types/system.d.ts | 1 + 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/app.vue b/src/app.vue index 20393bb..1feb441 100644 --- a/src/app.vue +++ b/src/app.vue @@ -4,14 +4,16 @@ import { socket } from 'libs/socket' import { useSystemStore } from 'stores/systemStore' import { onBeforeUnmount, onMounted, ref } from 'vue' +const systemStore = useSystemStore() onMounted(async () => { - document.body.style.setProperty('--el-color-primary', '#1989fa') const res = await getStatus() - useSystemStore().updateSystemStatus(res) + console.log(res) + // systemStore.updateSystemStatus(res) + startProgress() }) socket.init((data: System.SystemStatus) => { - useSystemStore().updateSystemStatus(data) + systemStore.updateSystemStatus(data) }, 'status') const progress = ref(0) @@ -19,19 +21,23 @@ let timer: any = null const version = __APP_VERSION__ const startProgress = () => { + const max = Math.floor(Math.random() * (90 - 80 + 1)) + 80 timer = setInterval(() => { const randomStep = Math.floor(Math.random() * 9 + 1) - progress.value = Math.min(progress.value + randomStep, 100) + if (systemStore.systemStatus.initComplete) { + // 停止计时器 + progress.value = Math.min(progress.value + randomStep, 100) + } + else { + progress.value = Math.min(progress.value + randomStep, max) + } if (progress.value >= 100) { clearInterval(timer) } - }, 50) + }, 100) } -onMounted(() => { - startProgress() -}) // 组件卸载时清理定时器 onBeforeUnmount(() => { diff --git a/src/stores/systemStore.ts b/src/stores/systemStore.ts index d923ecc..c5c9e30 100644 --- a/src/stores/systemStore.ts +++ b/src/stores/systemStore.ts @@ -4,7 +4,8 @@ export const useSystemStore = defineStore('system', { state: (): System.SystemStore => ({ systemStatus: { virtual: false, - initComplete: true, + initComplete: false, + selfTest: true, emergencyStop: false, door: { status: false, diff --git a/src/types/system.d.ts b/src/types/system.d.ts index 46096cb..461e590 100644 --- a/src/types/system.d.ts +++ b/src/types/system.d.ts @@ -13,6 +13,7 @@ declare namespace System { interface SystemStatus { virtual: boolean initComplete: boolean + selfTest: boolean emergencyStop: boolean door: { status: boolean