|
|
@@ -1,32 +1,35 @@
|
|
|
<template>
|
|
|
- <view v-for="(tab, i) in tabsDefine" :key="tab.title">
|
|
|
- <view v-show="currentTab === i">
|
|
|
- <Home v-if="tab.type === 'home' && pageDefine"
|
|
|
- :pageDefine="pageDefine"
|
|
|
- :pageContentDefine="pageContentDefine"
|
|
|
- />
|
|
|
- <FlexCol v-else-if="tab.type === 'list'">
|
|
|
- <StatusBarSpace backgroundColor="background.page" />
|
|
|
- <NavBar leftButton="custom" backgroundColor="background.page">
|
|
|
- <template #left>
|
|
|
- <Image
|
|
|
- v-if="tab.pageHeadImage"
|
|
|
- :src="tab.pageHeadImage"
|
|
|
- :width="tab.pageHeadImageWidth"
|
|
|
- mode="widthFix"
|
|
|
- :innerStyle="{
|
|
|
- marginLeft: '30rpx', marginTop: '30rpx' ,
|
|
|
- ...(tab.pageHeadImageStyle || {}),
|
|
|
- }"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </NavBar>
|
|
|
- <CommonCategoryList :pageConfigName="tab.pageConfigName" />
|
|
|
- <Height :height="150" />
|
|
|
- </FlexCol>
|
|
|
- <User v-else-if="tab.type === 'user'" />
|
|
|
+ <template v-if="pageDefine">
|
|
|
+ <view v-for="(tab, i) in tabsDefine" :key="tab.title">
|
|
|
+ <view v-show="currentTab === i">
|
|
|
+ <Home v-if="tab.type === 'home' && pageDefine"
|
|
|
+ :pageDefine="pageDefine"
|
|
|
+ :pageContentDefine="pageContentDefine"
|
|
|
+ />
|
|
|
+ <FlexCol v-else-if="tab.type === 'list'">
|
|
|
+ <StatusBarSpace backgroundColor="background.page" />
|
|
|
+ <NavBar leftButton="custom" backgroundColor="background.page">
|
|
|
+ <template #left>
|
|
|
+ <Image
|
|
|
+ v-if="tab.pageHeadImage"
|
|
|
+ :src="tab.pageHeadImage"
|
|
|
+ :width="tab.pageHeadImageWidth"
|
|
|
+ mode="widthFix"
|
|
|
+ :innerStyle="{
|
|
|
+ marginLeft: '30rpx', marginTop: '30rpx' ,
|
|
|
+ ...(tab.pageHeadImageStyle || {}),
|
|
|
+ }"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </NavBar>
|
|
|
+ <CommonCategoryList :pageConfigName="tab.pageConfigName" />
|
|
|
+ <Height :height="150" />
|
|
|
+ </FlexCol>
|
|
|
+ <User v-else-if="tab.type === 'user'" />
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
+ </template>
|
|
|
+ <LoadingPage v-else />
|
|
|
<TabBar
|
|
|
v-model:selectedTabIndex="currentTab"
|
|
|
:fixed="!isEditorPreview"
|
|
|
@@ -67,6 +70,7 @@ import Height from '@/components/layout/space/Height.vue';
|
|
|
import CommonCategoryList from '../article/data/CommonCategoryList.vue';
|
|
|
import Home from './home.vue';
|
|
|
import User from '../user/index.vue';
|
|
|
+import LoadingPage from '@/components/display/loading/LoadingPage.vue';
|
|
|
|
|
|
const commonCategory = injectCommonCategory();
|
|
|
const pageDefine = computed(() => commonCategory.value.page.find((p) => p.name === 'home'));
|