Преглед на файлове

📦 列表使用缩略图和导航页面

imengyu преди 1 месец
родител
ревизия
b782ddb5e5

+ 1 - 1
src/api/inheritor/ProductsContent.ts

@@ -3,7 +3,7 @@ import { CommonContentApi } from '../CommonContent';
 export class ProductsContentApi extends CommonContentApi {
 
   constructor() {
-    super(undefined, 2, "非遗保护名录-非遗产品", 295);
+    super(undefined, 16, "非遗保护名录-非遗产品");
   }
 }
 

+ 1 - 0
src/common/config/AppCofig.ts

@@ -5,6 +5,7 @@
 export default {
   version: '0.0.1',
   appId: 'wx1845c7dab9e8b236',
+  amapKey: '34eb1d57f93720a871bd11a90af0c91c',
 }
 
 /**

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

@@ -56,7 +56,7 @@
           v-if="itemType.startsWith('image-large')"
           classNames="ml-2 mb-3"
           titleColor="title-text"
-          :image="item.image"
+          :image="item.thumbnail || item.image"
           :title="item.title"
           :desc="item.desc"
           @click="goDetails(item.id)"
@@ -65,7 +65,7 @@
           v-else-if="itemType.startsWith('article-common')"
           classNames="ml-2 mb-3"
           titleColor="title-text"
-          :image="item.image"
+          :image="item.thumbnail || item.image"
           :title="item.title"
           :desc="item.desc"
           :wideImage="true"
@@ -75,7 +75,7 @@
           v-else-if="itemType.startsWith('article-character')"
           classNames="ml-2 mb-3"
           titleColor="title-text"
-          :image="item.image"
+          :image="item.thumbnail || item.image"
           :title="item.title"
           :tags="item.keywords"
           :desc="item.desc"

+ 1 - 1
src/pages/article/list.vue

@@ -60,7 +60,7 @@ const listLoader = useSimplePageListLoader<{
   return res.list.map((item) => {
     return {
       id: item.id,
-      image: item.image,
+      image: item.thumbnail || item.image,
       title: item.title,
       date: DataDateUtils.formatDate(item.publishAt, 'YYYY-MM-dd'),
     }

+ 2 - 2
src/pages/discover.vue

@@ -66,7 +66,7 @@
             :key="i"
             :title="item.title"
             :desc="item.desc"
-            :image="item.image"
+            :image="item.thumbnail || item.image"
             :userName="item.userName"
             :userHead="item.userHead"
             :likes="item.likes"
@@ -106,7 +106,7 @@
             :key="i"
             :title="item.title"
             :desc="item.desc"
-            :image="item.image"
+            :image="item.thumbnail || item.image"
             :likes="item.likes"
             :comment="item.comments"
             @click="goCultureDetail(item.id)"

+ 4 - 5
src/pages/home.vue

@@ -55,7 +55,7 @@
         </view>
       </view>
 
-      <!-- 文化地图
+      <!-- 文化地图 -->
       <HomeTitle title="文化地图" />
       <view class="position-relative radius-l overflow-hidden">
         <map 
@@ -75,7 +75,7 @@
             传习所
           </view>
         </view>
-      </view> -->
+      </view>
 
       <!-- 近期活动 -->
       <!-- <HomeTitle title="近期活动" />
@@ -87,7 +87,7 @@
         >
           <image 
             class="w-100 radius-base"
-            :src="item.image"
+            :src="item.thumbnail || item.image"
             mode="widthFix"
           />
           <view class="d-flex flex-row justify-between mt-3">
@@ -129,7 +129,7 @@
             </text> 
             <image
               class="w-100 height-250 radius-base"
-              :src="tab.image"
+              :src="tab.thumbnail || tab.image"
               mode="aspectFill"
             />
           </view>
@@ -152,7 +152,6 @@ import MainBoxIcon7 from '/static/images/home/MainBoxIcon7.png';
 import MainBoxIcon8 from '/static/images/home/MainBoxIcon8.png';
 import ImageTest  from '/static/images/home/ImageTest.jpg';
 import HomeTitle from '@/pages/parts/HomeTitle.vue'; 
-import IconLocation from '/static/images/inhert/IconLocation.png';
 import Box1AudioPlay from '@/pages/parts/Box1AudioPlay.vue';
 import SimplePageContentLoader from "@/common/components/SimplePageContentLoader.vue";
 import { navTo } from '@/common/utils/PageAction';

+ 6 - 6
src/pages/home/introduction.vue

@@ -43,7 +43,7 @@
 
 <script setup lang="ts">
 import { useSimpleDataLoader } from '@/common/composeabe/SimpleDataLoader';
-import CommonContent, { GetContentListParams } from '@/api/CommonContent';
+import CommonContent, { GetColumListParams, GetContentListParams } from '@/api/CommonContent';
 import SimplePageListLoader from '@/common/components/SimplePageListLoader.vue';
 import Box2LineImageRightShadow from '@/pages/parts/Box2LineImageRightShadow.vue';
 import NewsIndexContent from '@/api/news/NewsIndexContent';
@@ -56,10 +56,10 @@ import { navTo } from '@/common/utils/PageAction';
 import { onMounted } from 'vue';
 
 const introdData = useSimpleDataLoader(async () => {
-  return (await NewsIndexContent.getColumList(new GetContentListParams().setSelfValues({
-    modelId: 17,
-    mainBodyColumnId: 234,
-  }))).list[0]?.overview || '无内容!请添加内容!!';
+  return (await NewsIndexContent.getColumList(new GetColumListParams()
+    .setModelId(17)
+    .setMainBodyColumnId(234)
+  )).list[0]?.overview || '无内容!请添加内容!!';
 }, true);
 
 const listLoader = useSimplePageListLoader<{
@@ -78,7 +78,7 @@ const listLoader = useSimplePageListLoader<{
   return res.list.map((item) => {
     return {
       id: item.id,
-      image: item.image,
+      image: item.thumbnail || item.image,
       title: item.title,
       date: DataDateUtils.formatDate(item.publishAt, 'YYYY-MM-dd'),
     }

+ 4 - 4
src/pages/inhert.vue

@@ -61,7 +61,7 @@
               :key="i"
               :title="item.title"
               :desc="item.desc"
-              :image="item.image"
+              :image="item.thumbnail || item.image"
               :videoMark="true"
               @click="goCourseDetail(item.id)"
             />
@@ -108,7 +108,7 @@
               :key="i"
               :title="item.title"
               :desc="item.desc"
-              :image="item.image"
+              :image="item.thumbnail || item.image"
               @click="goMemoryDetail(item.id)"
             />
           </view>
@@ -178,7 +178,7 @@ const artifactData = useSimpleDataLoader(async () =>
     id: p.id,
     title: p.title, 
     desc: '', 
-    image: p.image,
+    image: p.thumbnail || p.image,
     likes: p.likes,
     comment: p.comments,
   }))
@@ -191,7 +191,7 @@ const intangibleData = useSimpleDataLoader(async () =>
     id: p.id,
     title: p.title, 
     desc: p.desc, 
-    image: p.image,
+    image: p.thumbnail || p.image,
     bottomLocate: p.area as string,
     bottomScore: '5.0',
   }))

+ 1 - 1
src/pages/inhert/artifact/list.vue

@@ -126,7 +126,7 @@ const listLoader = useSimplePageListLoader<{
   return res.list.map((item) => {
     return {
       id: item.id,
-      image: item.thumbnail,
+      image: item.thumbnail || item.image,
       name: item.title,
     }
   })

+ 2 - 1
src/pages/inhert/village/details.vue

@@ -166,8 +166,9 @@ const contentLoader = useSimpleDataLoader(async () => {
       id: 1,
       latitude: center.value[1],
       longitude: center.value[0],
+      iconPath: '/static/images/icon_marker.png',
       width: 40,
-      height: 60,
+      height: 40,
     }
   ];
 

+ 3 - 3
src/pages/travel.vue

@@ -44,7 +44,7 @@
               :key="i"
               :title="item.title"
               :desc="item.desc"
-              :image="item.image"
+              :image="item.thumbnail || item.image"
               @click="goRouteDetail(item.id)"
             />
           </view>
@@ -63,7 +63,7 @@
               :key="i"
               :title="item.title"
               title1
-              :image="item.image"
+              :image="item.thumbnail || item.image"
               :bottomLocate="item.district"
               :bottomScore="'5.0'"
               @click="goRecommendDetail(item.id)"
@@ -83,7 +83,7 @@
               titleColor="title-text"
               :key="i"
               :title="item.title"
-              :image="item.image"
+              :image="item.thumbnail || item.image"
               @click="goCreativeDetail(item.id)"
             />
           </view>

+ 20 - 5
src/pages/travel/calendar.vue

@@ -168,7 +168,7 @@ const monthList = [
     value: 12
   }
 ];
-
+ 
 const listLoader = useSimplePageContentLoader<{
   id: number;
   month: number,
@@ -182,10 +182,25 @@ const listLoader = useSimplePageContentLoader<{
     status: number,
   }[]
 }[]>(async () => {
-  const res = await NewsIndexContent.getContentList(new GetContentListParams().setSelfValues({
-    mainBodyColumnId: 302
-  }), 1, 50);
-  return [];
+  const res = await NewsIndexContent.getContentList(new GetContentListParams()
+    .setModelId(18)
+    .setMainBodyColumnId(272)
+  , 1, 50);
+  return [
+    {
+      id: 1,
+      month: 1,
+      year: 2025, 
+      data: res.list.map(item => ({
+        id: item.id,
+        title: item.title,
+        desc: item.desc,
+        place: item.district,
+        time: '2025-01-01',
+        status: 1,
+      }))
+    }
+  ];
 });
 
 function tabClick(e: { index: number }) {

+ 8 - 1
src/pages/travel/nav/navto.vue

@@ -100,7 +100,7 @@ const { querys } = useLoadQuerys({
               } 
             }
           } 
-          distance.value = '距离您约 ' + data.paths[0].distance + '米'
+          distance.value = '距离您约 ' + formatMeter(data.paths[0].distance) + '米'
           taxi_cost.value =  '打车约' + parseInt(data.taxi_cost) + '元'
           resolve([{
             points: points,
@@ -128,6 +128,13 @@ const { querys } = useLoadQuerys({
   }
 });
 
+function formatMeter(n: number) {
+  if (n > 1000) {
+    return (n / 1000).toFixed(1) + '千'; 
+  }
+  return n + '';
+}
+
 </script>
 
 <style lang="scss">

+ 1 - 1
src/pages/video/list.vue

@@ -17,7 +17,7 @@
         :key="item.id"
         @click="goDetail(item.id)"
       >
-        <view class="image-wrap" :style="{backgroundImage:'url('+item.image+')'}">
+        <view class="image-wrap" :style="{backgroundImage:'url('+(item.thumbnail || item.image)+')'}">
           <view class="like">
             <text class="iconfont icon-liked" v-if="item.isLike"></text>
             <text class="iconfont icon-like" v-else></text>

BIN
src/static/images/icon_marker.png


BIN
src/static/images/icon_marker2.png