<template> <div v-if="loading" class="page-loading"> <van-loading type="spinner" color="#1989fa" size="36"> <span class="loading-text">{{ loadingText }}</span> </van-loading> </div> </template> <script lang="ts" setup> import { computed } from 'vue' import { useLoading } from '@/hooks/useLoading' const { loading, loadingCount } = useLoading() const loadingText = computed(() => loadingCount.value > 1 ? `加载中(${loadingCount.value})` : '加载中') </script> <style lang="scss" scoped> .page-loading { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 16px 24px; background: rgba(0, 0, 0, 0.6); border-radius: 8px; z-index: 9999; .loading-text { display: block; margin-top: 8px; color: #fff; font-size: 14px; } } </style>