This commit is contained in:
jxxghp
2025-07-07 11:19:45 +08:00
parent 7a37a18f23
commit b15672d593
2 changed files with 10 additions and 39 deletions

View File

@@ -36,8 +36,6 @@ const backgroundImages = ref<string[]>([])
const activeImageIndex = ref(0)
const isTransparentTheme = computed(() => globalTheme.name.value === 'transparent')
// ApexCharts 全局配置
declare global {
interface Window {
@@ -121,7 +119,7 @@ function rotateBackgroundImage() {
function startBackgroundRotation() {
// 清除现有定时器
removeBackgroundTimer('background-rotation')
if (backgroundImages.value.length > 1) {
// 使用优化的定时器管理器,后台时自动暂停
addBackgroundTimer(
@@ -130,8 +128,8 @@ function startBackgroundRotation() {
10000, // 每10秒切换一次
{
runInBackground: false, // 后台时不运行
skipInitialRun: true // 不需要立即执行
}
skipInitialRun: true, // 不需要立即执行
},
)
}
}
@@ -152,14 +150,14 @@ async function removeLoadingWithStateCheck() {
globalLoadingStateManager.setLoadingState('pwa-state', true)
globalLoadingStateManager.setLoadingState('global-settings', true)
globalLoadingStateManager.setLoadingState('background-images', true)
// 静默检查PWA状态恢复
const pwaController = (window as any).pwaStateController
if (pwaController) {
await pwaController.waitForStateRestore()
}
globalLoadingStateManager.setLoadingState('pwa-state', false)
// 并行加载关键资源
await Promise.all([
globalSettingsStore.initialize().then(() => {
@@ -170,15 +168,15 @@ async function removeLoadingWithStateCheck() {
globalLoadingStateManager.setLoadingState('background-images', false)
resolve(void 0)
}, 50)
})
}),
])
// 等待所有加载完成
await globalLoadingStateManager.waitForAllComplete()
// 移除加载界面
animateAndRemoveLoader()
// 检查未读消息
checkAndEmitUnreadMessages()
} catch (error) {
@@ -316,29 +314,4 @@ onUnmounted(() => {
inset-block-start: 0;
inset-inline-start: 0;
}
/* 优化加载完成动画 */
.loading-complete {
animation: fadeOutScale 0.8s ease-out forwards;
}
@keyframes fadeOutScale {
0% {
opacity: 1;
transform: scale(1);
filter: blur(0px);
}
70% {
opacity: 0.3;
transform: scale(1.05);
filter: blur(2px);
}
100% {
opacity: 0;
transform: scale(1.1);
filter: blur(5px);
}
}
</style>

View File

@@ -123,8 +123,6 @@ app
if (pwaStateController) {
// 监听状态恢复事件
window.addEventListener('pwaStateRestored', (event: Event) => {
const customEvent = event as CustomEvent
// 可以在这里添加状态恢复后的处理逻辑
// 例如通知Vue组件状态已恢复
app.config.globalProperties.$pwaStateRestored = true
@@ -159,7 +157,7 @@ if (import.meta.env.MODE === 'development') {
window.addEventListener('beforeunload', () => {
backgroundManager.destroy()
sseManagerSingleton.closeAllManagers()
if (pwaStateController) {
pwaStateController.destroy()
}