From 21b9783bf8837cad3cbda0cfd9eccd8fe2709564 Mon Sep 17 00:00:00 2001 From: jqtmviyu Date: Tue, 22 Apr 2025 11:07:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20:sparkles:=20=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E6=95=B0=E6=8D=AE=E5=89=8D=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E9=AA=A8=E6=9E=B6=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/index/components/PageSkeleton.vue | 362 ++++++++++++++++++++ src/pages/index/index.vue | 31 +- 2 files changed, 381 insertions(+), 12 deletions(-) create mode 100644 src/pages/index/components/PageSkeleton.vue diff --git a/src/pages/index/components/PageSkeleton.vue b/src/pages/index/components/PageSkeleton.vue new file mode 100644 index 0000000..5c5e502 --- /dev/null +++ b/src/pages/index/components/PageSkeleton.vue @@ -0,0 +1,362 @@ + + + diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index 6703da9..c0fe018 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -12,14 +12,17 @@ @scrolltolower="onScrollToLower" @refresherrefresh="onRefresh" > - - - - - - - - + + @@ -33,6 +36,10 @@ import { onLoad } from '@dcloudio/uni-app' import CategoryPanel from './components/CategoryPanel.vue' import HotPanel from './components/HotPanel.vue' import type { JbcGuessInstance } from '@/types/components' +import PageSkeleton from './components/PageSkeleton.vue' + +// 数据加载状态 +const isLoading = ref(true) // 获取轮播图数据 const bannerList = ref([]) @@ -79,10 +86,10 @@ const onRefresh = async () => { } // 页面加载勾子 -onLoad(() => { - getBannerList() - getCategoryList() - getHotList() +onLoad(async () => { + isLoading.value = true + await Promise.allSettled([getBannerList(), getCategoryList(), getHotList()]) + isLoading.value = false })