feat: 调整展示逻辑
This commit is contained in:
@@ -16,10 +16,10 @@
|
||||
</view>
|
||||
|
||||
<scroll-view class="h-0 min-h-0 w-full flex-1 overflow-hidden" scroll-y @scroll="handleContentScroll">
|
||||
<view v-if="isMainPanoramaGuide" class="flex w-full flex-col gap-[12px]">
|
||||
<view v-show="isMainPanoramaGuide" class="flex w-full flex-col gap-[12px]">
|
||||
<PanoramicHome @select="handlePanoramicHomeSelect" />
|
||||
</view>
|
||||
<view v-else class="flex w-full flex-col gap-[12px]">
|
||||
<view v-if="!isMainPanoramaGuide" class="flex w-full flex-col gap-[12px]">
|
||||
<CardSwiper v-if="discoveryCards.length > 0" :list="discoveryCards" @didSelectItem="handleCardClick" />
|
||||
<ExploreCards v-if="exploreCards.length > 0" :list="exploreCards" @didSelectItem="handleCardClick" />
|
||||
|
||||
@@ -68,6 +68,7 @@ const emit = defineEmits(["content-scroll"]);
|
||||
/// 是否是主景区引导页 默认是 true,点击主景区后为 false
|
||||
const isMainPanoramaGuide = ref(true);
|
||||
|
||||
/// 监听页面滚动事件
|
||||
const handleContentScroll = (e) => {
|
||||
emit("content-scroll", {
|
||||
scrollTop: Number(e.detail?.scrollTop || 0),
|
||||
@@ -92,23 +93,29 @@ const handleTabChange = ({ tab, idx }) => {
|
||||
/// 请求发现页tab数据
|
||||
const queryTabsList = async (homePageId) => {
|
||||
const res = await homeTabsData({ homePageId });
|
||||
if (res.code === 0) {
|
||||
/// 处理tab数据
|
||||
if (res.code === 0 && Array.isArray(res.data)) {
|
||||
const tabList = res.data;
|
||||
/// 设置tab数据
|
||||
if (tabList.length === 0) {
|
||||
uni.showToast({
|
||||
title: "暂无发现内容",
|
||||
icon: "none"
|
||||
});
|
||||
return;
|
||||
};
|
||||
isMainPanoramaGuide.value = false;
|
||||
discoveryTabs.value.push(...tabList);
|
||||
/// 根据sceneId查询对应tab数据
|
||||
findTabByIdWithActiveTabIndex(sceneId);
|
||||
/// 如果没有sceneId,则获取位置信息,获取附近标签数据
|
||||
getLocation();
|
||||
}
|
||||
}
|
||||
|
||||
/// 点击主景区后,选择景区后,查询对应tab数据
|
||||
const handlePanoramicHomeSelect = (item) => {
|
||||
const homePageId = item?.homePageId;
|
||||
if (!homePageId) return;
|
||||
isMainPanoramaGuide.value = false;
|
||||
|
||||
queryTabsList(homePageId);
|
||||
getLocation();
|
||||
};
|
||||
|
||||
/// 根据id查询tab并设置activeIndex
|
||||
|
||||
Reference in New Issue
Block a user