|
|
@ -2,7 +2,14 @@ |
|
|
|
<view class="viewport"> |
|
|
|
<!-- 自定义导航栏 --> |
|
|
|
<CustomNavbar /> |
|
|
|
<scroll-view @scrolltolower="onScrolltolower" class="scroll-view" scroll-y> |
|
|
|
<scroll-view |
|
|
|
refresher-enabled |
|
|
|
@refresherrefresh="onRefresherrefresh" |
|
|
|
:refresher-triggered="isTriggered" |
|
|
|
@scrolltolower="onScrolltolower" |
|
|
|
class="scroll-view" |
|
|
|
scroll-y |
|
|
|
> |
|
|
|
<PageSkeleton v-if="isLoading" /> |
|
|
|
<!-- 自定义轮播图 --> |
|
|
|
<XtxSwiper :list="bannerList" /> |
|
|
@ -20,6 +27,7 @@ |
|
|
|
import CustomNavbar from './components/CustomNavbar.vue' |
|
|
|
import CategoryPanel from './components/CategoryPanel.vue' |
|
|
|
import HotPanel from './components/HotPanel.vue' |
|
|
|
import PageSkeleton from './components/PageSkeleton.vue' |
|
|
|
import { ref } from 'vue' |
|
|
|
import { onLoad } from '@dcloudio/uni-app' |
|
|
|
import { getHomeBannerAPI, getHomeCategoryAPI, getHomeHotAPI } from '@/services/home' |
|
|
@ -64,6 +72,25 @@ onLoad(async () => { |
|
|
|
await Promise.all([getHomeBannerData(), getHomeCategoryData(), getHomeHotData()]) |
|
|
|
isLoading.value = false |
|
|
|
}) |
|
|
|
|
|
|
|
// 当前下拉刷新状态 |
|
|
|
const isTriggered = ref(false) |
|
|
|
|
|
|
|
// 自定义下拉刷新被触发 |
|
|
|
const onRefresherrefresh = async () => { |
|
|
|
// 开始动画 |
|
|
|
isTriggered.value = true |
|
|
|
// 重置猜你喜欢组件数据 |
|
|
|
guessRef.value?.resetData() |
|
|
|
await Promise.all([ |
|
|
|
getHomeBannerData(), |
|
|
|
getHomeCategoryData(), |
|
|
|
getHomeHotData(), |
|
|
|
guessRef.value?.getMore(), |
|
|
|
]) |
|
|
|
// 关闭动画 |
|
|
|
isTriggered.value = false |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|
<style lang="scss"> |
|
|
|