Przeglądaj źródła

📦 增加已故传承人显示,优化细节,优化图片

快乐的梦鱼 2 miesięcy temu
rodzic
commit
13640a5e1a
82 zmienionych plików z 90 dodań i 81 usunięć
  1. 4 2
      nuxt.config.ts
  2. BIN
      src/assets/images/BackArrow.png
  3. BIN
      src/assets/images/Bg1.jpg
  4. BIN
      src/assets/images/Bg1.png
  5. BIN
      src/assets/images/Bg2.jpg
  6. BIN
      src/assets/images/Bg2.png
  7. BIN
      src/assets/images/CloseMini.png
  8. BIN
      src/assets/images/DropDownArrow.png
  9. BIN
      src/assets/images/about/Banner.jpg
  10. BIN
      src/assets/images/communicate/Banner.jpg
  11. BIN
      src/assets/images/footer/FooterPrinting.png
  12. BIN
      src/assets/images/fusion/Banner.jpg
  13. BIN
      src/assets/images/fusion/Image1.jpg
  14. BIN
      src/assets/images/fusion/Image2.jpg
  15. BIN
      src/assets/images/fusion/Image3.jpg
  16. BIN
      src/assets/images/fusion/Image4.jpg
  17. BIN
      src/assets/images/fusion/Image5.jpg
  18. BIN
      src/assets/images/fusion/Image6.jpg
  19. BIN
      src/assets/images/index/Introd.jpg
  20. BIN
      src/assets/images/inheritor/Image1.jpg
  21. BIN
      src/assets/images/inheritor/Image2.jpg
  22. BIN
      src/assets/images/inheritor/Image3.jpg
  23. BIN
      src/assets/images/inheritor/Image4.jpg
  24. BIN
      src/assets/images/inheritor/Image5.jpg
  25. BIN
      src/assets/images/inheritor/Image6.jpg
  26. BIN
      src/assets/images/inheritor/Image7.jpg
  27. BIN
      src/assets/images/inheritor/Image8.jpg
  28. BIN
      src/assets/images/introduction/Banner.jpg
  29. BIN
      src/assets/images/introduction/Image1.jpg
  30. BIN
      src/assets/images/introduction/Image2.jpg
  31. BIN
      src/assets/images/news/IconBack.png
  32. BIN
      src/assets/images/news/IconSearch.png
  33. BIN
      src/assets/images/research/Banner.jpg
  34. 6 2
      src/assets/scss/main.scss
  35. 1 0
      src/components/NavBar.vue
  36. 2 1
      src/components/content/CommonListBlock.vue
  37. 13 1
      src/components/parts/TitleDescBlock.vue
  38. 3 3
      src/pages/about/index.vue
  39. 1 1
      src/pages/communicate/activity.vue
  40. 1 1
      src/pages/communicate/fujian-and-taiwan.vue
  41. 1 1
      src/pages/communicate/hk-macao-and-taiwan.vue
  42. 1 1
      src/pages/communicate/outside.vue
  43. 3 1
      src/pages/details/TabDetailView.vue
  44. 4 0
      src/pages/details/intangible.vue
  45. 1 1
      src/pages/fusion/demo-site.vue
  46. 1 1
      src/pages/fusion/fashion.vue
  47. 1 1
      src/pages/fusion/index.vue
  48. 1 1
      src/pages/fusion/point.vue
  49. 1 1
      src/pages/fusion/products.vue
  50. 1 1
      src/pages/fusion/route.vue
  51. 1 1
      src/pages/fusion/scenic-spot.vue
  52. 8 27
      src/pages/index.vue
  53. 1 1
      src/pages/inheritor/activity.vue
  54. 1 1
      src/pages/inheritor/area.vue
  55. 1 1
      src/pages/inheritor/block.vue
  56. 1 1
      src/pages/inheritor/heritage.vue
  57. 2 2
      src/pages/inheritor/index.vue
  58. 3 1
      src/pages/inheritor/inheritor.vue
  59. 1 1
      src/pages/inheritor/language.vue
  60. 1 1
      src/pages/inheritor/products.vue
  61. 1 1
      src/pages/inheritor/projects.vue
  62. 1 1
      src/pages/inheritor/seminar.vue
  63. 1 1
      src/pages/inheritor/unmoveable.vue
  64. 1 1
      src/pages/introduction/about.vue
  65. 1 1
      src/pages/introduction/book.vue
  66. 1 1
      src/pages/introduction/building.vue
  67. 1 1
      src/pages/introduction/character.vue
  68. 1 1
      src/pages/introduction/custom.vue
  69. 1 1
      src/pages/introduction/feature.vue
  70. 1 1
      src/pages/introduction/history.vue
  71. 2 2
      src/pages/introduction/index.vue
  72. 1 1
      src/pages/introduction/language.vue
  73. 1 1
      src/pages/introduction/policy.vue
  74. 1 1
      src/pages/introduction/sea.vue
  75. 1 1
      src/pages/introduction/victuals.vue
  76. 1 1
      src/pages/news/index.vue
  77. 2 2
      src/pages/research/discuss.vue
  78. 1 1
      src/pages/research/expert.vue
  79. 1 1
      src/pages/research/projects.vue
  80. 1 1
      src/pages/research/result.vue
  81. 1 1
      src/pages/research/teams.vue
  82. 1 1
      src/pages/village/list.vue

+ 4 - 2
nuxt.config.ts

@@ -30,7 +30,9 @@ export default defineNuxtConfig({
     ],
   },
   routeRules: {
-    //'/**': { swr: false, isr: false, headers: { 'cache-control': 'no-store, max-age=0' } }
+    '/**': { swr: false, isr: false, headers: { 'cache-control': 'no-store, max-age=0' } },
+    
+    /*
     '/': { swr: 1800 },
     '/about/': { swr: 86400 },
     '/communicate/': { swr: 86400 },
@@ -47,7 +49,7 @@ export default defineNuxtConfig({
     '/news/**': { swr: true },
     '/research/**': { swr: true },
     '/village/**': { swr: true },
-
+    */
 
     '/inheritor/submit': { ssr: false },
   }

BIN
src/assets/images/BackArrow.png


BIN
src/assets/images/Bg1.jpg


BIN
src/assets/images/Bg1.png


BIN
src/assets/images/Bg2.jpg


BIN
src/assets/images/Bg2.png


BIN
src/assets/images/CloseMini.png


BIN
src/assets/images/DropDownArrow.png


BIN
src/assets/images/about/Banner.jpg


BIN
src/assets/images/communicate/Banner.jpg


BIN
src/assets/images/footer/FooterPrinting.png


BIN
src/assets/images/fusion/Banner.jpg


BIN
src/assets/images/fusion/Image1.jpg


BIN
src/assets/images/fusion/Image2.jpg


BIN
src/assets/images/fusion/Image3.jpg


BIN
src/assets/images/fusion/Image4.jpg


BIN
src/assets/images/fusion/Image5.jpg


BIN
src/assets/images/fusion/Image6.jpg


BIN
src/assets/images/index/Introd.jpg


BIN
src/assets/images/inheritor/Image1.jpg


BIN
src/assets/images/inheritor/Image2.jpg


BIN
src/assets/images/inheritor/Image3.jpg


BIN
src/assets/images/inheritor/Image4.jpg


BIN
src/assets/images/inheritor/Image5.jpg


BIN
src/assets/images/inheritor/Image6.jpg


BIN
src/assets/images/inheritor/Image7.jpg


BIN
src/assets/images/inheritor/Image8.jpg


BIN
src/assets/images/introduction/Banner.jpg


BIN
src/assets/images/introduction/Image1.jpg


BIN
src/assets/images/introduction/Image2.jpg


BIN
src/assets/images/news/IconBack.png


BIN
src/assets/images/news/IconSearch.png


BIN
src/assets/images/research/Banner.jpg


+ 6 - 2
src/assets/scss/main.scss

@@ -41,6 +41,7 @@ $small-banner-height: 445px;
   width: 100%;
   min-height: $large-banner-height;
   background-color: $primary-color;
+  margin-top: 70px;
 
   &.small {
     min-height: $small-banner-height;
@@ -126,10 +127,10 @@ $small-banner-height: 445px;
     background-image: url('@/assets/images/BgLong.jpg');
   }
   &-type1 {
-    background-image: url('@/assets/images/Bg1.png');
+    background-image: url('@/assets/images/Bg1.jpg');
   }
   &-type2 {
-    background-image: url('@/assets/images/Bg2.png');
+    background-image: url('@/assets/images/Bg2.jpg');
   }
   &-type3 {
     background-image: url('@/assets/images/index/IntrodRight.jpg');
@@ -148,6 +149,9 @@ $small-banner-height: 445px;
     transform: scale(0.95); 
   }
 }
+.title-box {
+  border: 1px solid #333;
+}
 
 //Boxs
 

+ 1 - 0
src/components/NavBar.vue

@@ -112,6 +112,7 @@ nav.main {
   align-items: center;
   z-index: 100;
   width: 100%;
+  top: 0;
   height: $nav-height;
   background-color: $nav-color;
   border-bottom: 1px solid rgba(#fff, 0.2);

+ 2 - 1
src/components/content/CommonListBlock.vue

@@ -70,7 +70,7 @@
             <tbody>
               <tr v-for="(item, k) in newsLoader.list.value" :key="item.id">
                 <td>{{ (newsLoader.page.value - 1) * 100 + k + 1 }}</td>
-                <td>{{ item.title }}</td>
+                <td :class="{  'title-box': item.titleBox, }">{{ item.title }}</td>
                 <td v-for="(t, k) in item.addItems || []" :key="k">{{ t.text }}</td>
               </tr>
             </tbody>
@@ -90,6 +90,7 @@
             />
             <TitleDescBlock
               :title="item.title"
+              :titleBox="item.titleBox"
               :desc="item.desc"
             >
               <template #addon>

+ 13 - 1
src/components/parts/TitleDescBlock.vue

@@ -1,6 +1,9 @@
 <template>
   <div class="TitleDescBlock">
-    <h3>{{ title }}</h3>
+    
+    <div class="title-container">
+      <h3 :class="{  'title-box': titleBox, }">{{ title }}</h3>
+    </div>
     <span v-if="date" class="time">{{ date }}</span>
     <SimpleRichHtml hydrate-never :class="'desc ' + (expand?'expand':'no-expand')" :contents="[desc]" />
     <slot name="addon" />
@@ -29,6 +32,10 @@ const props = defineProps({
     type: String,
     default: '',
   },
+  titleBox: {
+    type: Boolean,
+    default: false,
+  },
   desc: {
     type: String,
     default: '',
@@ -71,6 +78,11 @@ const emit = defineEmits([
   flex-direction: column;
   justify-content: center;
 
+  > .title-container {
+    display: flex;
+    flex-direction: row;
+    justify-content: flex-start;
+  }
   h3 {
     color: $text-content-color;
     font-size: 1.2rem;

+ 3 - 3
src/pages/about/index.vue

@@ -89,7 +89,7 @@
             :to="{ path: 'news/detail', query: { id: item.id }}"
           >
             <ImageTitleBlock 
-              :image="item.image"
+              :image="item.thumbnail || item.image"
             />
             <TitleDescBlock
               :title="item.title"
@@ -198,7 +198,7 @@ const introdLoader = await useSSrSimpleDataLoader('introd', async () => {
       id: p.id,
       title: p.title,
       desc: p.desc,
-      image: p.image,
+      image: p.thumbnail || p.image,
       link: router.resolve({ path: '/news/detail', query: { id: p.id } }).href,
     })),
   };
@@ -224,7 +224,7 @@ const lawsData = await useSSrSimpleDataLoader('laws', async () =>
     .list?.map(item => ({
       id: item.id,
       title: item.title,
-      image: item.image || LawsTest,
+      image: item.thumbnail || item.image || LawsTest,
       date: DateUtils.formatDate(item.publishAt, DateUtils.FormatStrings.ShortDate),
       link: router.resolve({ path: '/news/detail', query: { id: item.id } }).href,
     }))

+ 1 - 1
src/pages/communicate/activity.vue

@@ -42,7 +42,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
         ],
       };

+ 1 - 1
src/pages/communicate/fujian-and-taiwan.vue

@@ -43,7 +43,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
         ],
       };

+ 1 - 1
src/pages/communicate/hk-macao-and-taiwan.vue

@@ -43,7 +43,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
         ],
       };

+ 1 - 1
src/pages/communicate/outside.vue

@@ -41,7 +41,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
         ],
       };

+ 3 - 1
src/pages/details/TabDetailView.vue

@@ -19,7 +19,9 @@
             </div>
           </div>
 
-          <h1>{{ loader.content.value.title }}</h1>
+          <div class="d-flex flex-row justify-content-start">
+            <h1 :class="{ 'title-box': loader.content.value.titleBox }">{{ loader.content.value.title }}</h1>
+          </div>
           <p class="d-flex flex-row justify-content-between small-info">
             <span>{{ loader.content.value.address }}</span>
             <span v-if="loader.content.value.regionText">区域:{{ loader.content.value.regionText }}</span>

+ 4 - 0
src/pages/details/intangible.vue

@@ -119,6 +119,7 @@ import ProjectsContent from '@/api/inheritor/ProjectsContent';
 import CommonListBlock from '@/components/content/CommonListBlock.vue';
 import IntroBlock from '@/components/parts/IntroBlock.vue';
 import { useRoute } from 'vue-router';
+import InheritorContent from '~/api/inheritor/InheritorContent';
 
 const route = useRoute();
 
@@ -170,6 +171,9 @@ async function loadData(id: number) {
       { id: 7, text: '相关资讯', visible: Boolean(d.associationMeList && (d.associationMeList as any[]).length > 0) },
     ]
   };
+  if (d.modelId === InheritorContent.modelId) {
+    d.titleBox = Boolean(d.deathBirth);
+  }
   return d;
 }
 

+ 1 - 1
src/pages/fusion/demo-site.vue

@@ -40,7 +40,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
         ],
       };

+ 1 - 1
src/pages/fusion/fashion.vue

@@ -46,7 +46,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [],
       };
     }),

+ 1 - 1
src/pages/fusion/index.vue

@@ -30,7 +30,7 @@
               >
                 <ImageTitleDescBlock
                   :title="item.title"
-                  :image="item.image"
+                  :image="item.thumbnail || item.image"
                   :desc="item.desc || item.title"
                 />
               </NuxtLink>

+ 1 - 1
src/pages/fusion/point.vue

@@ -43,7 +43,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
           { name: '联系人', text: item.contact as string, span: 12 },
           { name: '联系电话', text: item.mobile as string, span: 12 },

+ 1 - 1
src/pages/fusion/products.vue

@@ -40,7 +40,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
         ],
       };

+ 1 - 1
src/pages/fusion/route.vue

@@ -42,7 +42,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 1 - 1
src/pages/fusion/scenic-spot.vue

@@ -34,7 +34,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
         ],
       };

+ 8 - 27
src/pages/index.vue

@@ -110,7 +110,7 @@
               :to="{ path: '/details/intangible', query: { id: item.id } }"
             >
               <ImageTitleBlock 
-                :image="item.image"
+                :image="item.thumbnail || item.image"
                 :title="item.title"
                 :desc="item.desc"
               />
@@ -135,7 +135,7 @@
               :to="{ path: '/details/artifact', query: { id: item.id } }"
             >
               <ImageTitleBlock 
-                :image="item.image"
+                :image="item.thumbnail || item.image"
                 :title="item.title"
                 :desc="item.desc"
               />
@@ -160,7 +160,7 @@
             >
               <NuxtLink :to="{ path: '/news/detail', query: { id: item.id } }">
                 <ImageTitleBlock 
-                  :image="item.image"
+                  :image="item.thumbnail || item.image"
                   :title="item.title"
                   :desc="item.desc"
                 />
@@ -197,7 +197,7 @@
               :to="{ path: '/news/detail', query: { id: item.id } }"
             >
               <ImageTitleBlock
-                :image="item.image"
+                :image="item.thumbnail || item.image"
                 :title="item.title"
                 :desc="item.typeText"
               />
@@ -208,11 +208,7 @@
     </section>
 
     <!-- 介绍 -->
-    <section class="main-introd main-section">
-      <div class="main-introd-bg">
-        <img class="a" src="@/assets/images/index/IntrodLeft.png" />
-        <img class="b" src="@/assets/images/index/IntrodRight.jpg" />
-      </div>
+    <section class="main-introd main-section main-introd-bg">
       <div class="row h-100">
         <div class="col-lg-6 col-md-6 col-sm-12">
         </div>
@@ -404,24 +400,9 @@ const recordData = await useSSrSimpleDataLoader('record', async () => {
   height: 750px;
 }
 .main-introd-bg {
-  position: absolute;
-  inset: 0;
-  overflow: hidden;
-
-  .a {
-    position: absolute;
-    top: 0;
-    left: 0;
-    height: 100%;
-    z-index: -1;
-  }
-  .b {
-    position: absolute;
-    top: 0;
-    right: 0;
-    width: 100%;
-    z-index: -2;
-  }
+  background-image: url('@/assets/images/index/Introd.jpg');
+  background-size: cover;
+  background-position: center top;
 }
 
 .main-grid9 {

+ 1 - 1
src/pages/inheritor/activity.vue

@@ -46,7 +46,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [],
       };
     }),

+ 1 - 1
src/pages/inheritor/area.vue

@@ -35,7 +35,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 1 - 1
src/pages/inheritor/block.vue

@@ -35,7 +35,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 1 - 1
src/pages/inheritor/heritage.vue

@@ -35,7 +35,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 2 - 2
src/pages/inheritor/index.vue

@@ -192,12 +192,12 @@ const list2 = [
     image: Image7,
     link: router.resolve('/inheritor/unmoveable').href,
   },
-  {
+  /* {
     title: '可移动文物',
     desc: '让文化因传承而永存',
     image: Image8,
     link: router.resolve('/inheritor/moveable').href,
-  },
+  }, */
   {
     title: '',
     desc: '',

+ 3 - 1
src/pages/inheritor/inheritor.vue

@@ -32,6 +32,7 @@ async function loadDetail(id: number, item: any) {
     { name: '级别', text: item.levelText },
     { name: '民族', text: item.nation },
   ];
+  item.titleBox = Boolean(item.deathBirth);
   return item;
 }
 async function loadData(
@@ -57,7 +58,8 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
+        titleBox: Boolean(item.deathBirth),
         addItems: [
           { name: '传承项目', text: item.ichName },
           { name: '级别', text: item.levelText },

+ 1 - 1
src/pages/inheritor/language.vue

@@ -39,7 +39,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 1 - 1
src/pages/inheritor/products.vue

@@ -50,7 +50,7 @@ async function loadData(
         id: item.id,
         title: item.title ?? '!!title!!',
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
           { name: '产地', text: item.regionText, span: 12 },
           { name: '特点', text: item.keywords?.join(' '), span: 12 },

+ 1 - 1
src/pages/inheritor/projects.vue

@@ -55,7 +55,7 @@ async function loadData(
         id: item.id,
         title: item.title ?? '!!title!!',
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
           { name: '非遗级别', text: item.levelText, span: 12 },
           { name: '非遗类别', text: item.ichTypeText, span: 12 },

+ 1 - 1
src/pages/inheritor/seminar.vue

@@ -45,7 +45,7 @@ async function loadData(
         id: item.id,
         title: item.title ?? '!!title!!',
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
           { name: '地理位置', text: item.address, span: 12 },
           { name: '保护级别', text: item.levelText, span: 12 },

+ 1 - 1
src/pages/inheritor/unmoveable.vue

@@ -51,7 +51,7 @@ async function loadData(
         id: item.id,
         title: item.title ?? '!!title!!',
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
           { name: '地理位置', text: item.address, span: 12 },
           { name: '建筑时间', text: item.age, span: 12 },

+ 1 - 1
src/pages/introduction/about.vue

@@ -36,7 +36,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 1 - 1
src/pages/introduction/book.vue

@@ -37,7 +37,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 1 - 1
src/pages/introduction/building.vue

@@ -36,7 +36,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 1 - 1
src/pages/introduction/character.vue

@@ -39,7 +39,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         keywords: item.keywords,
       };
     }),

+ 1 - 1
src/pages/introduction/custom.vue

@@ -41,7 +41,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 1 - 1
src/pages/introduction/feature.vue

@@ -41,7 +41,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 1 - 1
src/pages/introduction/history.vue

@@ -41,7 +41,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 2 - 2
src/pages/introduction/index.vue

@@ -138,7 +138,7 @@ const historyData = await useSSrSimpleDataLoader('history', async () =>
     id: p.id,
     title: p.title,
     desc: p.desc,
-    image: p.image,
+    image: p.thumbnail || p.image,
     link: router.resolve({ path: '/news/detail', query: { id: p.id } }).href,
  }))
 )
@@ -147,7 +147,7 @@ const languageData = await useSSrSimpleDataLoader('language', async () =>
     id: p.id,
     title: p.title,
     desc: p.desc,
-    image: p.image,
+    image: p.thumbnail || p.image,
     link: router.resolve({ path: '/news/detail', query: { id: p.id } }).href,
  }))
 )

+ 1 - 1
src/pages/introduction/language.vue

@@ -41,7 +41,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 1 - 1
src/pages/introduction/policy.vue

@@ -40,7 +40,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: DateUtils.formatDate(item.publishAt, DateUtils.FormatStrings.ShortDate),
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 1 - 1
src/pages/introduction/sea.vue

@@ -36,7 +36,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 1 - 1
src/pages/introduction/victuals.vue

@@ -36,7 +36,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
       };
     }),
   }

+ 1 - 1
src/pages/news/index.vue

@@ -67,7 +67,7 @@
             :to="{ path: '/news/detail', query: { id: item.id }}"
           >
             <ImageTitleBlock 
-              :image="item.image"
+              :image="item.thumbnail || item.image"
             />
             <TitleDescBlock
               :title="item.title"

+ 2 - 2
src/pages/research/discuss.vue

@@ -4,7 +4,7 @@
     :prevPage="{ title: '理论研究' }"
     :dropDownNames="[]"
     :pageSize="8"
-    rowType="4"
+    :rowType="4"
     :load="loadData"
     :loadDetail="loadDetail"
   />
@@ -41,7 +41,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
         ],
       };

+ 1 - 1
src/pages/research/expert.vue

@@ -40,7 +40,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
         ],
       };

+ 1 - 1
src/pages/research/projects.vue

@@ -40,7 +40,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
         ],
       };

+ 1 - 1
src/pages/research/result.vue

@@ -41,7 +41,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.thumbnail || item.image,
       };
     }),
   }

+ 1 - 1
src/pages/research/teams.vue

@@ -40,7 +40,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
         ],
       };

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

@@ -60,7 +60,7 @@ async function loadData(
         id: item.id,
         title: item.title,
         desc: item.desc,
-        image: item.image,
+        image: item.thumbnail || item.image,
         addItems: [
           { name: '传承项目', text: item.title },
         ],