Browse Source

🎨 修改细节问题

快乐的梦鱼 1 week ago
parent
commit
b41b796171

+ 10 - 23
src/pages/article/details.vue

@@ -3,28 +3,10 @@
     <SimplePageContentLoader :loader="loader">
       <template v-if="loader.content.value">
         <view class="d-flex flex-col">
-          <swiper 
+          <ImageSwiper 
             v-if="loader.content.value.images.length > 0"
-            circular 
-            :indicator-dots="true"
-            :autoplay="true"
-            :interval="3000"
-            :duration="1000"
-            class="height-500"
-          >
-            <swiper-item v-for="(item, key) in loader.content.value.images" :key="key">
-              <view class="item">
-                <Image 
-                  :src="item" 
-                  width="100%"
-                  :height="500"
-                  :radius="15"
-                  mode="aspectFill" 
-                  @click="onPreviewImage(key)"
-                />
-              </view>
-            </swiper-item>
-          </swiper>
+            :images="loader.content.value.images"
+          />
           <Image 
             v-else-if="loader.content.value.image"
             width="100%"
@@ -59,7 +41,6 @@
               :image="item.thumbnail || item.image || AppCofig.defaultImage"
               :title="item.title"
               :desc="item.desc"
-              :badge="item.badge"
               :wideImage="true"
               @click="goDetails(item.id)"
             />
@@ -98,6 +79,7 @@ import AppCofig from "@/common/config/AppCofig";
 import LikeFooter from "../parts/LikeFooter.vue";
 import Image from "@/components/basic/Image.vue";
 import ArticleCorrect from "../parts/ArticleCorrect.vue";
+import ImageSwiper from "../parts/ImageSwiper.vue";
 
 const loader = useSimplePageContentLoader<
   GetContentDetailItem, 
@@ -121,7 +103,12 @@ const recommendListLoader = useSimpleDataLoader(async () => {
   return (await CommonContent.getContentList(new GetContentListParams()
     .setModelId(querys.value.modelId)
     .setMainBodyColumnId(querys.value.mainBodyColumnId)
-  , 1, 10)).list.filter((p) => p.id !== querys.value.id);
+  , 1, 10)).list
+    .filter((p) => p.id !== querys.value.id)
+    .map((p) => ({
+      ...p,
+      desc: `${p.from ? `来源:${p.from}` : ''}\n${p.desc || ''}`,
+    }));
 });
 
 

+ 5 - 2
src/pages/introduction/news.vue

@@ -34,6 +34,7 @@
 import { onMounted, ref } from 'vue';
 import { type GetContentListItem, GetContentListParams } from '@/api/CommonContent';
 import { useSimplePageListLoader } from '@/common/composeabe/SimplePageListLoader';
+import { navHomePageMiniCommonDetailGo } from '../article/common/CommonContent';
 import NewsIndexContent from '@/api/news/NewsIndexContent';
 import SimplePageListLoader from '@/common/components/SimplePageListLoader.vue';
 import CommonRoot from '@/components/dialog/CommonRoot';
@@ -55,8 +56,10 @@ function loadNews() {
   newsLoader.loadData(undefined, true);
 }
 function goDetails(item: GetContentListItem, id: number) {
-  uni.navigateTo({
-    url: '/pages/article/details?id=' + id,
+  navHomePageMiniCommonDetailGo({
+    id,
+    mainBodyColumnId: item.mainBodyColumnId,
+    modelId: item.modelId,
   });
 }
 

+ 5 - 2
src/pages/introduction/recommend-news.vue

@@ -35,6 +35,7 @@
 import { onMounted, ref } from 'vue';
 import { type GetContentListItem, GetContentListParams } from '@/api/CommonContent';
 import { useSimplePageListLoader } from '@/common/composeabe/SimplePageListLoader';
+import { navHomePageMiniCommonDetailGo } from '../article/common/CommonContent';
 import NewsIndexContent from '@/api/news/NewsIndexContent';
 import SimplePageListLoader from '@/common/components/SimplePageListLoader.vue';
 import CommonRoot from '@/components/dialog/CommonRoot';
@@ -55,8 +56,10 @@ function loadNews() {
   newsLoader.loadData(undefined, true);
 }
 function goDetails(item: GetContentListItem, id: number) {
-  uni.navigateTo({
-    url: '/pages/article/details?id=' + id,
+  navHomePageMiniCommonDetailGo({
+    id,
+    mainBodyColumnId: item.mainBodyColumnId,
+    modelId: item.modelId,
   });
 }
 

+ 1 - 0
src/pages/parts/ImageGrid.vue

@@ -16,6 +16,7 @@
         width="100%"
         height="100%"
         mode="aspectFit"
+        touchable
         @click="itemClick(v, k)"
       />
     </view>

+ 1 - 0
src/pages/parts/ImageSwiper.vue

@@ -14,6 +14,7 @@
           width="100%"
           :radius="15"
           mode="aspectFill"
+          touchable
           @click="onPreviewImage(key)"
         />
       </view>