瀏覽代碼

🎨 修改细节问题

快乐的梦鱼 8 小時之前
父節點
當前提交
ee01685daa

+ 2 - 2
src/api/CommonContent.ts

@@ -1,8 +1,8 @@
 import { DataModel, transformArrayDataModel, type KeyValue, type NewDataModel } from '@imengyu/js-request-transform';
 import { AppServerRequestModule } from './RequestModules';
-import ApiCofig from '@/common/config/ApiCofig';
 import { transformSomeToArray } from './Utils';
-import { assertNotNull, RequestApiConfig, RequestOptions, requireNotNull, type QueryParams } from '@imengyu/imengyu-utils';
+import { RequestOptions, requireNotNull, type QueryParams } from '@imengyu/imengyu-utils';
+import ApiCofig from '@/common/config/ApiCofig';
 
 export class GetColumListParams extends DataModel<GetColumListParams> {
   

+ 2 - 1
src/pages.json

@@ -83,7 +83,8 @@
     {
       "path": "pages/article/data/list",
       "style": {
-        "navigationBarTitleText": "动态通用列表页"
+        "navigationBarTitleText": "动态通用列表页",
+        "enablePullDownRefresh": true
       }
     },
     {

+ 2 - 2
src/pages/article/common/CommonListPage.vue

@@ -132,14 +132,14 @@
         </view>
         <view v-if="itemType.endsWith('-2') && listLoader.list.value.length % 2 != 0" class="width-1-2" />
       </view>
-      <Empty v-if="listLoader.list.value.length == 0" :description="emptyText" />
+      <Empty v-if="listLoader.list.value.length == 0 && listLoader.loadStatus.value !== 'loading'" :description="emptyText" />
       <SimplePageListLoader v-else :loader="listLoader" />
     </template>
   </view>
 </template>
 
 <script setup lang="ts">
-import { computed, nextTick, onMounted, ref, watch, type PropType } from 'vue';
+import { computed, nextTick, onMounted, ref, watch } from 'vue';
 import { useSimplePageListLoader } from '@/common/composeabe/SimplePageListLoader';
 import { navTo } from '@/components/utils/PageAction';
 import SimplePageListLoader from '@/common/components/SimplePageListLoader.vue';

+ 7 - 7
src/pages/article/data/CommonCategoryDetail.vue

@@ -133,17 +133,19 @@
 
 <script setup lang="ts">
 import { computed, onMounted, ref, watch } from 'vue';
-import LoadingPage from '@/components/display/loading/LoadingPage.vue';
-import FlexCol from '@/components/layout/FlexCol.vue';
-import Result from '@/components/feedback/Result.vue';
-import Button from '@/components/basic/Button.vue';
-import { type IHomeCommonCategoryDefine, type IHomeCommonCategoryListTabNestCategoryItemDefine } from './CommonCategoryDefine';
+import { navTo } from '@/components/utils/PageAction';
+import { injectAppConfiguration } from '@/api/system/useAppConfiguration';
 import { injectCommonCategory } from './CommonCategoryGlobalLoader';
 import { doLoadDynamicCategoryDataMergeTypeGetColumns } from './CommonCategoryDynamicData';
 import { formatError, StringUtils, waitTimeOut } from '@imengyu/imengyu-utils';
+import type { IHomeCommonCategoryDefine, IHomeCommonCategoryListTabNestCategoryItemDefine } from './CommonCategoryDefine';
 import type { IHomeCommonCategoryDetailDefine, IHomeCommonCategoryDetailTabItemDefine } from './defines/Details';
 import type { DetailTabPageProps, DetailTabPageTabsArray } from '../common/DetailTabPage';
 import type { CategoryDefine } from './CommonCategoryBlocks';
+import LoadingPage from '@/components/display/loading/LoadingPage.vue';
+import FlexCol from '@/components/layout/FlexCol.vue';
+import Result from '@/components/feedback/Result.vue';
+import Button from '@/components/basic/Button.vue';
 import DetailTabPage from '../common/DetailTabPage.vue';
 import IntroBlock from '../common/IntroBlock.vue';
 import CommonCategoryDetailIntroBlocks from './CommonCategoryDetailIntroBlocks.vue';
@@ -154,8 +156,6 @@ import CommonContent from '@/api/CommonContent';
 import CommonCategoryDetailContentBlocks from './CommonCategoryDetailContentBlocks.vue';
 import ImageGrid from '@/pages/parts/ImageGrid.vue';
 import CommonCategoryListBlock from './CommonCategoryListBlock.vue';
-import { navTo } from '@/components/utils/PageAction';
-import { injectAppConfiguration } from '@/api/system/useAppConfiguration';
 
 export interface CommonCategoryDetailProps extends DetailTabPageProps {
   /**

+ 2 - 2
src/pages/article/data/CommonCategoryGlobalLoader.ts

@@ -26,10 +26,10 @@ export function useCommonCategoryGlobalLoader() {
     uni.showLoading({ title: '加载中' });
     try {
       //本地开发时,使用默认配置
-      if (getIsDevtoolsPlatform()) {
+      /* if (getIsDevtoolsPlatform()) {
         commonCategoryData.value = DefaultCofig as IHomeCommonCategoryDefine;
         return;
-      }
+      } */
       //根据环境版本,使用正式配置或体验配置
       const category = (await CommonCategoryApi.getConfig(
         // #ifdef MP-WEIXIN

+ 31 - 27
src/pages/home/index.vue

@@ -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'));