// 全局「处理中」遮罩状态:引用计数(支持并发请求叠加),>0 即显示遮罩。 // 与 useToast 同样用 Nuxt useState 做 SSR 安全的全局共享状态。 // begin()/end() 成对调用(见 useApi 对写操作的包装),end 取 max(0, n-1) 防计数为负。 export function useLoading() { const count = useState('app:loading', () => 0) const loading = computed(() => count.value > 0) function begin() { count.value++ } function end() { count.value = Math.max(0, count.value - 1) } return { count, loading, begin, end } }