任一存 1 سال پیش
والد
کامیت
c49cccbe3b

BIN
src/assets/images/btn_start-1.png


src/assets/images/red-arrow-right.png → src/assets/images/entry-arrow-0.png


BIN
src/assets/images/entry-arrow-1.png


BIN
src/assets/images/home-bg-1.jpg


BIN
src/assets/images/home-title-1.png


BIN
src/assets/images/home-title-en-1.png


BIN
src/assets/images/relic-list-bg-1.jpg


BIN
src/assets/images/title-deco-left-1.png


BIN
src/assets/images/title-deco-right-1.png


BIN
src/assets/images/unit-list-bg-1.jpg


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1828 - 0
src/assets/images/中国大运河博物馆 线上图文展.html


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 2018 - 0
src/assets/images/中国大运河博物馆 线上图文展_files/app.js.download


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 2269 - 0
src/assets/images/中国大运河博物馆 线上图文展_files/chunk-vendors.js.download


+ 101 - 22
src/views/Home.vue

@@ -3,15 +3,46 @@
     class="home"
   >
     <img
-      src="@/assets/images/home-title.jpg"
+      src="@/assets/images/logo.png"
       alt=""
-      class="title"
-      draggable="false"
+      class="logo"
     >
-    <button
-      class="begin"
-      @click="onClickBegin"
-    />
+    <div
+      v-if="$route.query.themeIdx === '0'"
+      class="theme-0"
+    >
+      <img
+        src="@/assets/images/home-title.jpg"
+        alt=""
+        class="title"
+        draggable="false"
+      >
+      <button
+        class="begin"
+        @click="onClickBegin"
+      />
+    </div>
+    <div
+      v-if="$route.query.themeIdx === '1'"
+      class="theme-1"
+    >
+      <img
+        src="@/assets/images/home-title-1.png"
+        alt=""
+        class="title"
+        draggable="false"
+      >
+      <img
+        class="title-en"
+        src="@/assets/images/home-title-en-1.png"
+        alt=""
+        draggable="false"
+      >
+      <button
+        class="begin"
+        @click="onClickBegin"
+      />
+    </div>
   </div>
 </template>
 
@@ -49,28 +80,76 @@ export default {
   width: 100%;
   height: 100%;
   position: relative;
-  background-image: url(@/assets/images/home-bg.jpg);
-  background-size: cover;
-  background-repeat: no-repeat;
-  background-position: center center;
-  >img.title{
+  >.logo{
+    position: absolute;
+    top: 35px;
+    left: 38px;
+    width: 364px;
+    z-index: 3;
+  }
+  >.theme-0{
     position: absolute;
+    left: 0;
     top: 0;
-    left: 50%;
+    width: 100%;
     height: 100%;
-    transform: translateX(-50%);
+    background-image: url(@/assets/images/home-bg.jpg);
+    background-size: cover;
+    background-repeat: no-repeat;
+    background-position: center center;
+    >img.title{
+      position: absolute;
+      top: 0;
+      left: 50%;
+      height: 100%;
+      transform: translateX(-50%);
+    }
+    >button.begin{
+      position: absolute;
+      bottom: 58px;
+      left: 50%;
+      transform: translateX(-50%);
+      width: 76px;
+      height: 79px;
+      background-image: url(@/assets/images/btn_start.png);
+      background-size: contain;
+      background-repeat: no-repeat;
+      background-position: center center;
+    }
   }
-  >button.begin{
+  >.theme-1{
     position: absolute;
-    bottom: 58px;
-    left: 50%;
-    transform: translateX(-50%);
-    width: 76px;
-    height: 79px;
-    background-image: url(@/assets/images/btn_start.png);
-    background-size: contain;
+    left: 0;
+    top: 0;
+    width: 100%;
+    height: 100%;
+    background-image: url(@/assets/images/home-bg-1.jpg);
+    background-size: cover;
     background-repeat: no-repeat;
     background-position: center center;
+    >.title{
+      position: absolute;
+      top: calc(106 / 1080 * 100vh);
+      right: 122px;
+      height: calc(814 / 1080 * 100vh);
+    }
+    >.title-en{
+      position: absolute;
+      left: 92px;
+      bottom: 93px;
+      height: calc(372 / 1080 * 100vh);
+    }
+    >button.begin{
+      position: absolute;
+      bottom: 39px;
+      left: calc(837 / 1920 * 100vw);
+      width: 129px;
+      height: 129px;
+      background-image: url(@/assets/images/btn_start-1.png);
+      background-size: cover;
+      background-repeat: no-repeat;
+      background-position: center center;
+    }
   }
 }
 </style>

+ 100 - 1
src/views/RelicList.vue

@@ -1,5 +1,8 @@
 <template>
-  <div class="relic-list">
+  <div
+    class="relic-list"
+    :class="[`type-${$route.query.themeIdx}`]"
+  >
     <button
       class="return"
       @click="router.push({
@@ -203,4 +206,100 @@ function onClickTabItem(idx) {
     }
   }
 }
+
+.relic-list.type-1{
+  background-image: url(@/assets/images/relic-list-bg-1.jpg);
+  >button.return{
+    position: absolute;
+    top: 47px;
+    left: 60px;
+    width: 64px;
+    height: 64px;
+    background-image: url(@/assets/images/btn-return.png);
+    background-size: contain;
+    background-repeat: no-repeat;
+    background-position: center center;
+  }
+  >.tabbar{
+    flex: 0 0 auto;
+    max-width: 100%;
+    display: flex;
+    align-items: center;
+    gap: 50px;
+    overflow: auto;
+    &::-webkit-scrollbar { height: 0; } /*宽度是对垂直滚动条而言,高度是对水平滚动条而言*/
+    >button{
+      flex: 0 0 auto;
+      width: 180px;
+      height: 70px;
+      background-image: url(@/assets/images/tab-item-normal.png);
+      background-size: contain;
+      background-repeat: no-repeat;
+      background-position: center center;
+      font-size: 24px;
+      font-family: KingHwa_OldSong-Regular, KingHwa_OldSong;
+      font-weight: 400;
+      color: #7F0007;
+      line-height: 28px;
+    }
+    >button.active{
+      background-image: url(@/assets/images/tab-item-active.png);
+      color: #fff;
+    }
+  }
+  >ul.relic-ul{
+    width: 100%;
+    display: flex;
+    align-items: center;
+    gap: 70px;
+    overflow: auto;
+    padding-bottom: 40px;
+    padding-left: 95px;
+    padding-right: 95px;
+    &::-webkit-scrollbar { height: 8px;}
+    &::-webkit-scrollbar-thumb { background: rgba(186, 172, 153, 1); border-radius: 4px; }
+    >li{
+      flex: 0 0 auto;
+      width: 473px;
+      height: 63.17vh;
+      cursor: pointer;
+      &:hover{
+        box-shadow: 6px 6px 10px 0px rgba(65,42,18,0.75);
+      }
+      >img{
+        width: 100%;
+        height: calc(100% - 141px);
+        object-fit: cover;
+      }
+      >.not-img{
+        height: 141px;
+        overflow: hidden;
+        padding-left: 10px;
+        padding-right: 10px;
+        >h3{
+          font-size: 32px;
+          font-family: Source Han Serif CN-Bold, Source Han Serif CN;
+          font-weight: bold;
+          color: #404036;
+          overflow: hidden;
+          white-space: pre;
+          text-overflow: ellipsis;
+          margin-top: 28px;
+          margin-bottom: 20px;
+        }
+        >.desc{
+          display: -webkit-box;
+          -webkit-box-orient: vertical;
+          -webkit-line-clamp: 2;
+          overflow: hidden;
+          font-size: 20px;
+          font-family: Source Han Sans CN-Regular, Source Han Sans CN;
+          font-weight: 400;
+          color: #404036;
+          line-height: 28px;
+        }
+      }
+    }
+  }
+}
 </style>

+ 92 - 12
src/views/UnitList.vue

@@ -1,12 +1,16 @@
 <template>
-  <div class="unit-list">
+  <div
+    class="unit-list"
+    :class="[`type-${$route.query.themeIdx}`]"
+  >
     <main>
       <h3 class="foreword">
         前言
       </h3>
-      <p class="foreword">
-        {{ data?.preface }}
-      </p>
+      <div
+        class="foreword normal-txt"
+        v-html="data?.preface"
+      />
       <ul>
         <li
           v-for="(item, idx) in data?.list"
@@ -19,13 +23,16 @@
             },
           })"
         >
-          <h3>{{ item.label }}</h3>
-          <p>{{ item.info }}</p>
+          <h3>第{{ int2zh(idx) }}部分{{ item.label }}</h3>
+          <div
+            class="normal-txt"
+            v-html="item.info"
+          />
           <button class="detail-entry">
             藏品鉴赏
             <img
               class="arrow"
-              src="@/assets/images/red-arrow-right.png"
+              :src="require(`@/assets/images/entry-arrow-${$route.query.themeIdx}.png`)"
               alt=""
               draggable="false"
             >
@@ -53,6 +60,9 @@ export default {
     console.log(this.data, 'dskfjslkfj')
   },
   methods: {
+    int2zh(idx) {
+      return idx
+    }
   },
 }
 </script>
@@ -67,14 +77,13 @@ export default {
   background-position: center center;
   overflow: auto;
   &::-webkit-scrollbar { width: 0; } /*宽度是对垂直滚动条而言,高度是对水平滚动条而言*/
-
   h3{
     font-size: 30px;
     font-family: KingHwa_OldSong-Regular, KingHwa_OldSong;
     font-weight: 400;
     color: #404036;
   }
-  p{
+  .normal-txt, :deep(p){
     font-size: 16px;
     font-family: KingHwa_OldSong-Regular, KingHwa_OldSong;
     font-weight: 400;
@@ -91,7 +100,7 @@ export default {
       margin-top: 46px;
       margin-bottom: 32px;
     }
-    >p.foreword{
+    >div.foreword{
       margin-bottom: 90px;
     }
     >ul{
@@ -120,7 +129,7 @@ export default {
               background-position: center center;
             }
           }
-          >p{
+          >.normal-txt{
             margin-bottom: 33px;
           }
           >button.detail-entry{
@@ -137,7 +146,7 @@ export default {
           margin-top: 42px;
           margin-bottom: 32px;
         }
-        >p{
+        >.normal-txt{
           margin-bottom: 99px;
         }
         >button.detail-entry{
@@ -159,4 +168,75 @@ export default {
     }
   }
 }
+
+.unit-list.type-1{
+  background-image: url(@/assets/images/unit-list-bg-1.jpg);
+  &::-webkit-scrollbar { width: 0; } /*宽度是对垂直滚动条而言,高度是对水平滚动条而言*/
+  h3{
+  }
+  p{
+  }
+  >main{
+    >h3.foreword{
+    }
+    .normal-txt, :deep(p){
+    }
+    >ul{
+      >li{
+        &:hover{
+          background-color: rgba(57, 106, 168, 0.55);
+          >h3{
+            &::before{
+              content: '';
+              display: inline-block;
+              position: absolute;
+              left: -23px;
+              top: 50%;
+              transform: translate(-100%, -70%);
+              width: 78px;
+              height: 28px;
+              background-image: url(@/assets/images/title-deco-left-1.png);
+              background-size: contain;
+              background-repeat: no-repeat;
+              background-position: center center;
+            }
+            &::after{
+              content: '';
+              display: inline-block;
+              position: absolute;
+              right: -23px;
+              top: 50%;
+              transform: translate(100%, -70%);
+              width: 78px;
+              height: 28px;
+              background-image: url(@/assets/images/title-deco-right-1.png);
+              background-size: contain;
+              background-repeat: no-repeat;
+              background-position: center center;
+            }
+          }
+          >.normal-txt{
+          }
+          >button.detail-entry{
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            >img.arrow{
+            }
+          }
+        }
+        >h3{
+        }
+        >.normal-txt{
+        }
+        >button.detail-entry{
+          display: none;
+          background-image: none;
+          color: #fff;
+          border: 1px dotted #fff;
+        }
+      }
+    }
+  }
+}
 </style>