fix:修复关闭维护模式后还显示维护信息的问题
This commit is contained in:
1 parent
800e31b041
commit
5a75c2ef98
3 files changed
+13
-3
No files matched your search
@@ -1,6 +1,15 @@
|
||||
<script setup lang="ts">
|
||||
import { useFormValues } from './useSettings'
|
||||
const values = useFormValues()
|
||||
|
||||
// 关闭维护模式时自动清空提示信息和时长
|
||||
function handleMaintenanceModeChange(enabled: boolean) {
|
||||
values['maintenance_mode'] = enabled
|
||||
if (!enabled) {
|
||||
values['maintenance_message'] = ''
|
||||
values['maintenance_duration'] = ''
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -73,7 +82,7 @@ const values = useFormValues()
|
||||
<span class="switch-desc">开启后控制台显示维护提示</span>
|
||||
<ASwitch
|
||||
:model-value="!!values['maintenance_mode']"
|
||||
@change="(v: string | number | boolean) => values['maintenance_mode'] = v"
|
||||
@change="handleMaintenanceModeChange"
|
||||
/>
|
||||
</div>
|
||||
<div class="section-grid" style="margin-top: 12px">
|
||||
|
||||
@@ -9,7 +9,8 @@ let timer: ReturnType<typeof setInterval> | null = null
|
||||
|
||||
onMounted(async () => {
|
||||
await fetchSettings()
|
||||
timer = setInterval(() => fetchSettings(), 30 * 60 * 1000)
|
||||
// 每 60 秒强制刷新一次维护状态(绕过缓存)
|
||||
timer = setInterval(() => fetchSettings(true), 60 * 1000)
|
||||
})
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
|
||||
@@ -30,7 +30,7 @@ const settings = ref<PublicSettings>({
|
||||
|
||||
let fetchPromise: Promise<void> | null = null
|
||||
let lastFetchTime = 0
|
||||
const CACHE_TTL = 60_000
|
||||
const CACHE_TTL = 30_000 // 30秒缓存,维护模式变更时更快响应
|
||||
|
||||
export function usePublicSettings() {
|
||||
async function fetchSettings(force = false): Promise<void> {
|
||||
|
||||
Reference in new issue
Block a user