|
@@ -1,404 +1,430 @@
|
|
-<template>
|
|
|
|
- <div class="home">
|
|
|
|
- <van-swipe
|
|
|
|
- ref="swipeRef"
|
|
|
|
- indicator-color="white"
|
|
|
|
- :height="swipeHeight"
|
|
|
|
- :autoplay="3000"
|
|
|
|
- lazy-render
|
|
|
|
- >
|
|
|
|
- <van-swipe-item>1</van-swipe-item>
|
|
|
|
- <van-swipe-item>2</van-swipe-item>
|
|
|
|
- <van-swipe-item>3</van-swipe-item>
|
|
|
|
- <van-swipe-item>4</van-swipe-item>
|
|
|
|
-
|
|
|
|
- <template #indicator="{ active, total }">
|
|
|
|
- <ul class="home-indicator">
|
|
|
|
- <li
|
|
|
|
- v-for="val in total"
|
|
|
|
- :key="val"
|
|
|
|
- :class="['home-indicator__item', { active: active + 1 === val }]"
|
|
|
|
- @mouseover="swipeRef?.swipeTo(val - 1)"
|
|
|
|
- />
|
|
|
|
- </ul>
|
|
|
|
- </template>
|
|
|
|
- </van-swipe>
|
|
|
|
-
|
|
|
|
- <div
|
|
|
|
- class="bottomNav"
|
|
|
|
- data-aria-viewport-area
|
|
|
|
- tabindex="0"
|
|
|
|
- aria-description="You've reached the pop-up window section; this section contains four URLs; please use the tab key to go through the content."
|
|
|
|
- >
|
|
|
|
- <div
|
|
|
|
- class="t1"
|
|
|
|
- @click="$router.push('/Layout/Visit/2')"
|
|
|
|
- tabindex="0"
|
|
|
|
- aria-label="Link"
|
|
|
|
- aria-description="Reservation"
|
|
|
|
- >
|
|
|
|
- <div class="title">
|
|
|
|
- <span class="aria-theme-independent"> Reservation </span>
|
|
|
|
- </div>
|
|
|
|
- <div class="info">
|
|
|
|
- <router-link
|
|
|
|
- class="p"
|
|
|
|
- to="/Layout/Visit/2"
|
|
|
|
- replace
|
|
|
|
- tabindex="0"
|
|
|
|
- aria-label="Image link"
|
|
|
|
- aria-description="Reservation"
|
|
|
|
- >
|
|
|
|
- <img src="../../assets/images/bott1.jpg" alt="Reservation" />
|
|
|
|
- </router-link>
|
|
|
|
- <div class="d">
|
|
|
|
- <p class="n1 aria-theme-independent" tabindex="0">
|
|
|
|
- Online Reservation
|
|
|
|
- </p>
|
|
|
|
- <p class="n2 aria-theme-independent" tabindex="0">
|
|
|
|
- Telephone Reservation
|
|
|
|
- </p>
|
|
|
|
- <p class="n3" tabindex="0">
|
|
|
|
- Individual <span>+86 (10) 63393339</span>
|
|
|
|
- </p>
|
|
|
|
- <p class="n3" tabindex="0">Group <span>+86 (10) 63370458</span></p>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div
|
|
|
|
- class="t2"
|
|
|
|
- @click="$router.push('/Layout/Visit/1')"
|
|
|
|
- tabindex="0"
|
|
|
|
- aria-label="Link"
|
|
|
|
- aria-description="Visit Info"
|
|
|
|
- >
|
|
|
|
- <div class="title">
|
|
|
|
- <span class="aria-theme-independent">Visit Info</span>
|
|
|
|
- </div>
|
|
|
|
- <div class="info">
|
|
|
|
- <router-link
|
|
|
|
- class="p"
|
|
|
|
- to="/Layout/Visit/1"
|
|
|
|
- replace
|
|
|
|
- tabindex="0"
|
|
|
|
- aria-label="Image link"
|
|
|
|
- aria-description="Hours, Direction & Admission"
|
|
|
|
- >
|
|
|
|
- <img
|
|
|
|
- src="../../assets/images/bott2.jpg"
|
|
|
|
- alt="Hours, Direction & Admission"
|
|
|
|
- />
|
|
|
|
- </router-link>
|
|
|
|
- <div class="d">
|
|
|
|
- <p class="n4 aria-theme-independent" tabindex="0">
|
|
|
|
- Opening Hours 09:00-17:00
|
|
|
|
- </p>
|
|
|
|
- <p class="n5" tabindex="0">No admission after 16:00</p>
|
|
|
|
- <p class="n5" tabindex="0">Closed on Monday</p>
|
|
|
|
- <p class="n6 aria-theme-independent" tabindex="0">Phone</p>
|
|
|
|
- <p tabindex="0">+86 (10) 63370491</p>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div
|
|
|
|
- class="t3"
|
|
|
|
- @click="botskip()"
|
|
|
|
- tabindex="0"
|
|
|
|
- aria-label="Link"
|
|
|
|
- aria-description="Partners & Connections"
|
|
|
|
- >
|
|
|
|
- <div class="title">
|
|
|
|
- <span class="aria-theme-independent">Partners & Connections</span>
|
|
|
|
- </div>
|
|
|
|
- <div class="info">
|
|
|
|
- <router-link
|
|
|
|
- class="p"
|
|
|
|
- to="/Layout/About"
|
|
|
|
- replace
|
|
|
|
- tabindex="0"
|
|
|
|
- aria-label="Image link"
|
|
|
|
- aria-description="Partners & Connections"
|
|
|
|
- >
|
|
|
|
- <img
|
|
|
|
- src="../../assets/images/bott3.jpg"
|
|
|
|
- alt="Partners & Connections"
|
|
|
|
- />
|
|
|
|
- </router-link>
|
|
|
|
- <div class="d">
|
|
|
|
- <p class="n7 aria-theme-independent" tabindex="0">
|
|
|
|
- Partners & Connections
|
|
|
|
- </p>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div
|
|
|
|
- class="t4"
|
|
|
|
- @click="$router.push('/Layout/Events')"
|
|
|
|
- tabindex="0"
|
|
|
|
- aria-label="Link"
|
|
|
|
- aria-description="Events"
|
|
|
|
- >
|
|
|
|
- <div class="title">
|
|
|
|
- <span class="aria-theme-independent">Events</span>
|
|
|
|
- </div>
|
|
|
|
- <div class="info">
|
|
|
|
- <router-link
|
|
|
|
- class="p"
|
|
|
|
- to="/Layout/Events"
|
|
|
|
- replace
|
|
|
|
- tabindex="0"
|
|
|
|
- aria-label="Image link"
|
|
|
|
- aria-description="Events"
|
|
|
|
- >
|
|
|
|
- <img src="../../assets/images/bott4.jpg" alt="Events" />
|
|
|
|
- </router-link>
|
|
|
|
- <div class="d">
|
|
|
|
- <p class="n8 aria-theme-independent" tabindex="0">Events</p>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
-</template>
|
|
|
|
-
|
|
|
|
-<script setup lang="ts">
|
|
|
|
-import type { SwipeInstance } from "vant";
|
|
|
|
-import { ref } from "vue";
|
|
|
|
-import { useRouter } from "vue-router";
|
|
|
|
-
|
|
|
|
-const router = useRouter();
|
|
|
|
-const swipeHeight = window.innerHeight - 105;
|
|
|
|
-const swipeRef = ref<SwipeInstance>();
|
|
|
|
-
|
|
|
|
-const botskip = () => {
|
|
|
|
- router.push("/Layout/About").catch(() => {});
|
|
|
|
- setTimeout(() => {
|
|
|
|
- window.scrollTo({ top: 1307, behavior: "smooth" });
|
|
|
|
- }, 100);
|
|
|
|
-};
|
|
|
|
-</script>
|
|
|
|
-
|
|
|
|
-<style lang="scss" scoped>
|
|
|
|
-.home {
|
|
|
|
- position: relative;
|
|
|
|
-
|
|
|
|
- img {
|
|
|
|
- width: 100%;
|
|
|
|
- height: 100%;
|
|
|
|
- object-fit: cover;
|
|
|
|
- cursor: pointer;
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-.home-indicator {
|
|
|
|
- position: absolute;
|
|
|
|
- left: 50%;
|
|
|
|
- bottom: 80px;
|
|
|
|
- transform: translateX(-50%);
|
|
|
|
-
|
|
|
|
- &__item {
|
|
|
|
- display: inline-block;
|
|
|
|
- padding: 12px 4px;
|
|
|
|
- cursor: pointer;
|
|
|
|
-
|
|
|
|
- &.active::after {
|
|
|
|
- background: var(--van-primary-color);
|
|
|
|
- }
|
|
|
|
- &::after {
|
|
|
|
- content: "";
|
|
|
|
- display: block;
|
|
|
|
- width: 30px;
|
|
|
|
- height: 4px;
|
|
|
|
- background: #918784;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-.bottomNav {
|
|
|
|
- padding: 0 100px;
|
|
|
|
- background-color: var(--topnav-bg-color);
|
|
|
|
- width: 100%;
|
|
|
|
- height: 55px;
|
|
|
|
- position: absolute;
|
|
|
|
- left: 0;
|
|
|
|
- bottom: 0;
|
|
|
|
- z-index: 4;
|
|
|
|
- display: flex;
|
|
|
|
- > div {
|
|
|
|
- display: block;
|
|
|
|
- cursor: pointer;
|
|
|
|
- width: 25%;
|
|
|
|
- height: 58px;
|
|
|
|
- position: relative;
|
|
|
|
- transform: translateY(-3px);
|
|
|
|
- .title {
|
|
|
|
- font-size: 14px;
|
|
|
|
- color: var(--van-white);
|
|
|
|
- line-height: 55px;
|
|
|
|
- text-align: center;
|
|
|
|
- width: 100%;
|
|
|
|
- span {
|
|
|
|
- padding-left: 30px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .info {
|
|
|
|
- transition: all 0.3s;
|
|
|
|
- height: 0;
|
|
|
|
- overflow: hidden;
|
|
|
|
- width: 100%;
|
|
|
|
- position: absolute;
|
|
|
|
- left: 0;
|
|
|
|
- bottom: 0;
|
|
|
|
- z-index: 99;
|
|
|
|
- .d {
|
|
|
|
- font-size: 14px;
|
|
|
|
- color: #ccc;
|
|
|
|
- background: #000;
|
|
|
|
- padding: 20px;
|
|
|
|
- }
|
|
|
|
- .p {
|
|
|
|
- display: block;
|
|
|
|
- img {
|
|
|
|
- vertical-align: bottom;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .t1:hover .info {
|
|
|
|
- height: 320px;
|
|
|
|
- }
|
|
|
|
- .t2:hover .info {
|
|
|
|
- height: 320px;
|
|
|
|
- }
|
|
|
|
- .t3:hover .info {
|
|
|
|
- height: 270px;
|
|
|
|
- }
|
|
|
|
- .t4:hover .info {
|
|
|
|
- height: 270px;
|
|
|
|
- }
|
|
|
|
- .t1:focus-within .info {
|
|
|
|
- height: 320px;
|
|
|
|
- }
|
|
|
|
- .t2:focus-within .info {
|
|
|
|
- height: 320px;
|
|
|
|
- }
|
|
|
|
- .t3:focus-within .info {
|
|
|
|
- height: 270px;
|
|
|
|
- }
|
|
|
|
- .t4:focus-within .info {
|
|
|
|
- height: 270px;
|
|
|
|
- }
|
|
|
|
- .t1 {
|
|
|
|
- .title {
|
|
|
|
- span {
|
|
|
|
- background: url("../../assets/images/bottom_ico1.png") no-repeat left
|
|
|
|
- center;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .p {
|
|
|
|
- border-bottom: 3px solid #1116e5;
|
|
|
|
- }
|
|
|
|
- border-top: 3px solid #1116e5;
|
|
|
|
- }
|
|
|
|
- .t2 {
|
|
|
|
- .title {
|
|
|
|
- span {
|
|
|
|
- background: url("../../assets/images/bottom_ico2.png") no-repeat left
|
|
|
|
- center;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .p {
|
|
|
|
- border-bottom: 3px solid #a211e5;
|
|
|
|
- }
|
|
|
|
- border-top: 3px solid #a211e5;
|
|
|
|
- }
|
|
|
|
- .t3 {
|
|
|
|
- .title {
|
|
|
|
- span {
|
|
|
|
- background: url("../../assets/images/bottom_ico3.png") no-repeat left
|
|
|
|
- center;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .p {
|
|
|
|
- border-bottom: 3px solid #229382;
|
|
|
|
- }
|
|
|
|
- .d {
|
|
|
|
- padding-top: 40px !important;
|
|
|
|
- padding-bottom: 40px !important;
|
|
|
|
- }
|
|
|
|
- border-top: 3px solid #229382;
|
|
|
|
- }
|
|
|
|
- .t4 {
|
|
|
|
- .title {
|
|
|
|
- span {
|
|
|
|
- background: url("../../assets/images/bottom_ico4.png") no-repeat left
|
|
|
|
- center;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .p {
|
|
|
|
- border-bottom: 3px solid #7a9322;
|
|
|
|
- }
|
|
|
|
- .d {
|
|
|
|
- padding-top: 40px !important;
|
|
|
|
- padding-bottom: 40px !important;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- border-top: 3px solid #7a9322;
|
|
|
|
- }
|
|
|
|
- p {
|
|
|
|
- margin-bottom: 5px;
|
|
|
|
- }
|
|
|
|
- .n1 {
|
|
|
|
- line-height: 30px;
|
|
|
|
- background: url(../../assets/images/bottom_sub_ico1.png) no-repeat left
|
|
|
|
- center;
|
|
|
|
- text-indent: 25px;
|
|
|
|
- & > a {
|
|
|
|
- color: #ff0000;
|
|
|
|
- text-decoration: underline;
|
|
|
|
- margin-left: 20px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .n2 {
|
|
|
|
- line-height: 30px;
|
|
|
|
- background: url(../../assets/images/bottom_sub_ico2.png) no-repeat left
|
|
|
|
- center;
|
|
|
|
- text-indent: 25px;
|
|
|
|
- margin-bottom: 10px;
|
|
|
|
- }
|
|
|
|
- .n3 {
|
|
|
|
- width: 200px;
|
|
|
|
- margin-bottom: 5px;
|
|
|
|
- & > span {
|
|
|
|
- float: right;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .n4 {
|
|
|
|
- line-height: 30px;
|
|
|
|
- background: url(../../assets/images/bottom_sub_ico3.png) no-repeat left
|
|
|
|
- center;
|
|
|
|
- text-indent: 25px;
|
|
|
|
- }
|
|
|
|
- .n5 {
|
|
|
|
- font-size: 12px;
|
|
|
|
- color: #828282;
|
|
|
|
- margin-bottom: 0;
|
|
|
|
- }
|
|
|
|
- .n6 {
|
|
|
|
- line-height: 30px;
|
|
|
|
- background: url(../../assets/images/bottom_sub_ico2.png) no-repeat left
|
|
|
|
- center;
|
|
|
|
- text-indent: 25px;
|
|
|
|
- }
|
|
|
|
- .n7 {
|
|
|
|
- font-size: 18px;
|
|
|
|
- background: url(../../assets/images/bottom_ico3.png) no-repeat left center;
|
|
|
|
- padding-left: 30px;
|
|
|
|
- }
|
|
|
|
- .n8 {
|
|
|
|
- font-size: 18px;
|
|
|
|
- background: url(../../assets/images/bottom_ico4.png) no-repeat left center;
|
|
|
|
- padding-left: 30px;
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-</style>
|
|
|
|
|
|
+<template>
|
|
|
|
+ <div class="home">
|
|
|
|
+ <van-swipe
|
|
|
|
+ v-loading="loading"
|
|
|
|
+ ref="swipeRef"
|
|
|
|
+ indicator-color="white"
|
|
|
|
+ :height="swipeHeight"
|
|
|
|
+ :autoplay="3000"
|
|
|
|
+ lazy-render
|
|
|
|
+ >
|
|
|
|
+ <van-swipe-item v-for="item in list" :key="item.id">
|
|
|
|
+ <van-image
|
|
|
|
+ width="100%"
|
|
|
|
+ height="100%"
|
|
|
|
+ :src="baseUrl + item.thumbPc"
|
|
|
|
+ fit="cover"
|
|
|
|
+ style="cursor: pointer"
|
|
|
|
+ @click="item.link && $router.push(item.link)"
|
|
|
|
+ />
|
|
|
|
+ </van-swipe-item>
|
|
|
|
+
|
|
|
|
+ <template #indicator="{ active, total }">
|
|
|
|
+ <ul class="home-indicator">
|
|
|
|
+ <li
|
|
|
|
+ v-for="val in total"
|
|
|
|
+ :key="val"
|
|
|
|
+ :class="['home-indicator__item', { active: active + 1 === val }]"
|
|
|
|
+ @mouseover="swipeRef?.swipeTo(val - 1)"
|
|
|
|
+ />
|
|
|
|
+ </ul>
|
|
|
|
+ </template>
|
|
|
|
+ </van-swipe>
|
|
|
|
+
|
|
|
|
+ <div
|
|
|
|
+ class="bottomNav"
|
|
|
|
+ data-aria-viewport-area
|
|
|
|
+ tabindex="0"
|
|
|
|
+ aria-description="You've reached the pop-up window section; this section contains four URLs; please use the tab key to go through the content."
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ class="t1"
|
|
|
|
+ @click="$router.push('/Layout/Visit/2')"
|
|
|
|
+ tabindex="0"
|
|
|
|
+ aria-label="Link"
|
|
|
|
+ aria-description="Reservation"
|
|
|
|
+ >
|
|
|
|
+ <div class="title">
|
|
|
|
+ <span class="aria-theme-independent"> Reservation </span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="info">
|
|
|
|
+ <router-link
|
|
|
|
+ class="p"
|
|
|
|
+ to="/Layout/Visit/2"
|
|
|
|
+ replace
|
|
|
|
+ tabindex="0"
|
|
|
|
+ aria-label="Image link"
|
|
|
|
+ aria-description="Reservation"
|
|
|
|
+ >
|
|
|
|
+ <img src="../../assets/images/bott1.jpg" alt="Reservation" />
|
|
|
|
+ </router-link>
|
|
|
|
+ <div class="d">
|
|
|
|
+ <p class="n1 aria-theme-independent" tabindex="0">
|
|
|
|
+ Online Reservation
|
|
|
|
+ </p>
|
|
|
|
+ <p class="n2 aria-theme-independent" tabindex="0">
|
|
|
|
+ Telephone Reservation
|
|
|
|
+ </p>
|
|
|
|
+ <p class="n3" tabindex="0">
|
|
|
|
+ Individual <span>+86 (10) 63393339</span>
|
|
|
|
+ </p>
|
|
|
|
+ <p class="n3" tabindex="0">Group <span>+86 (10) 63370458</span></p>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ class="t2"
|
|
|
|
+ @click="$router.push('/Layout/Visit/1')"
|
|
|
|
+ tabindex="0"
|
|
|
|
+ aria-label="Link"
|
|
|
|
+ aria-description="Visit Info"
|
|
|
|
+ >
|
|
|
|
+ <div class="title">
|
|
|
|
+ <span class="aria-theme-independent">Visit Info</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="info">
|
|
|
|
+ <router-link
|
|
|
|
+ class="p"
|
|
|
|
+ to="/Layout/Visit/1"
|
|
|
|
+ replace
|
|
|
|
+ tabindex="0"
|
|
|
|
+ aria-label="Image link"
|
|
|
|
+ aria-description="Hours, Direction & Admission"
|
|
|
|
+ >
|
|
|
|
+ <img
|
|
|
|
+ src="../../assets/images/bott2.jpg"
|
|
|
|
+ alt="Hours, Direction & Admission"
|
|
|
|
+ />
|
|
|
|
+ </router-link>
|
|
|
|
+ <div class="d">
|
|
|
|
+ <p class="n4 aria-theme-independent" tabindex="0">
|
|
|
|
+ Opening Hours 09:00-17:00
|
|
|
|
+ </p>
|
|
|
|
+ <p class="n5" tabindex="0">No admission after 16:00</p>
|
|
|
|
+ <p class="n5" tabindex="0">Closed on Monday</p>
|
|
|
|
+ <p class="n6 aria-theme-independent" tabindex="0">Phone</p>
|
|
|
|
+ <p tabindex="0">+86 (10) 63370491</p>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ class="t3"
|
|
|
|
+ @click="botskip()"
|
|
|
|
+ tabindex="0"
|
|
|
|
+ aria-label="Link"
|
|
|
|
+ aria-description="Partners & Connections"
|
|
|
|
+ >
|
|
|
|
+ <div class="title">
|
|
|
|
+ <span class="aria-theme-independent">Partners & Connections</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="info">
|
|
|
|
+ <router-link
|
|
|
|
+ class="p"
|
|
|
|
+ to="/Layout/About"
|
|
|
|
+ replace
|
|
|
|
+ tabindex="0"
|
|
|
|
+ aria-label="Image link"
|
|
|
|
+ aria-description="Partners & Connections"
|
|
|
|
+ >
|
|
|
|
+ <img
|
|
|
|
+ src="../../assets/images/bott3.jpg"
|
|
|
|
+ alt="Partners & Connections"
|
|
|
|
+ />
|
|
|
|
+ </router-link>
|
|
|
|
+ <div class="d">
|
|
|
|
+ <p class="n7 aria-theme-independent" tabindex="0">
|
|
|
|
+ Partners & Connections
|
|
|
|
+ </p>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ class="t4"
|
|
|
|
+ @click="$router.push('/Layout/Events')"
|
|
|
|
+ tabindex="0"
|
|
|
|
+ aria-label="Link"
|
|
|
|
+ aria-description="Events"
|
|
|
|
+ >
|
|
|
|
+ <div class="title">
|
|
|
|
+ <span class="aria-theme-independent">Events</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="info">
|
|
|
|
+ <router-link
|
|
|
|
+ class="p"
|
|
|
|
+ to="/Layout/Events"
|
|
|
|
+ replace
|
|
|
|
+ tabindex="0"
|
|
|
|
+ aria-label="Image link"
|
|
|
|
+ aria-description="Events"
|
|
|
|
+ >
|
|
|
|
+ <img src="../../assets/images/bott4.jpg" alt="Events" />
|
|
|
|
+ </router-link>
|
|
|
|
+ <div class="d">
|
|
|
|
+ <p class="n8 aria-theme-independent" tabindex="0">Events</p>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+</template>
|
|
|
|
+
|
|
|
|
+<script setup lang="ts">
|
|
|
|
+import { getHomeListApi } from "@/api";
|
|
|
|
+import { getBaseURL } from "@dage/service";
|
|
|
|
+import type { SwipeInstance } from "vant";
|
|
|
|
+import { onMounted, ref } from "vue";
|
|
|
|
+import { useRouter } from "vue-router";
|
|
|
|
+
|
|
|
|
+const router = useRouter();
|
|
|
|
+const swipeHeight = window.innerHeight - 105;
|
|
|
|
+const swipeRef = ref<SwipeInstance>();
|
|
|
|
+const loading = ref(false);
|
|
|
|
+const list = ref<any[]>([]);
|
|
|
|
+const baseUrl = getBaseURL();
|
|
|
|
+
|
|
|
|
+onMounted(() => {
|
|
|
|
+ getList();
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+const getList = async () => {
|
|
|
|
+ try {
|
|
|
|
+ loading.value = true;
|
|
|
|
+ const data = await getHomeListApi();
|
|
|
|
+ list.value = data;
|
|
|
|
+ } finally {
|
|
|
|
+ loading.value = false;
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+const botskip = () => {
|
|
|
|
+ router.push("/Layout/About").catch(() => {});
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ window.scrollTo({ top: 1307, behavior: "smooth" });
|
|
|
|
+ }, 100);
|
|
|
|
+};
|
|
|
|
+</script>
|
|
|
|
+
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
+.home {
|
|
|
|
+ position: relative;
|
|
|
|
+
|
|
|
|
+ img {
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 100%;
|
|
|
|
+ object-fit: cover;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.home-indicator {
|
|
|
|
+ position: absolute;
|
|
|
|
+ left: 50%;
|
|
|
|
+ bottom: 80px;
|
|
|
|
+ transform: translateX(-50%);
|
|
|
|
+
|
|
|
|
+ &__item {
|
|
|
|
+ display: inline-block;
|
|
|
|
+ padding: 12px 4px;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+
|
|
|
|
+ &.active::after {
|
|
|
|
+ background: var(--van-primary-color);
|
|
|
|
+ }
|
|
|
|
+ &::after {
|
|
|
|
+ content: "";
|
|
|
|
+ display: block;
|
|
|
|
+ width: 30px;
|
|
|
|
+ height: 4px;
|
|
|
|
+ background: #918784;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.bottomNav {
|
|
|
|
+ padding: 0 100px;
|
|
|
|
+ background-color: var(--topnav-bg-color);
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 55px;
|
|
|
|
+ position: absolute;
|
|
|
|
+ left: 0;
|
|
|
|
+ bottom: 0;
|
|
|
|
+ z-index: 4;
|
|
|
|
+ display: flex;
|
|
|
|
+ > div {
|
|
|
|
+ display: block;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ width: 25%;
|
|
|
|
+ height: 58px;
|
|
|
|
+ position: relative;
|
|
|
|
+ transform: translateY(-3px);
|
|
|
|
+ .title {
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ color: var(--van-white);
|
|
|
|
+ line-height: 55px;
|
|
|
|
+ text-align: center;
|
|
|
|
+ width: 100%;
|
|
|
|
+ span {
|
|
|
|
+ padding: 5px 0 5px 30px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .info {
|
|
|
|
+ transition: all 0.3s;
|
|
|
|
+ height: 0;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ width: 100%;
|
|
|
|
+ position: absolute;
|
|
|
|
+ left: 0;
|
|
|
|
+ bottom: 0;
|
|
|
|
+ z-index: 99;
|
|
|
|
+ .d {
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ color: #ccc;
|
|
|
|
+ background: #000;
|
|
|
|
+ padding: 20px;
|
|
|
|
+ }
|
|
|
|
+ .p {
|
|
|
|
+ display: block;
|
|
|
|
+ img {
|
|
|
|
+ vertical-align: bottom;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .t1:hover .info {
|
|
|
|
+ height: 320px;
|
|
|
|
+ }
|
|
|
|
+ .t2:hover .info {
|
|
|
|
+ height: 320px;
|
|
|
|
+ }
|
|
|
|
+ .t3:hover .info {
|
|
|
|
+ height: 270px;
|
|
|
|
+ }
|
|
|
|
+ .t4:hover .info {
|
|
|
|
+ height: 270px;
|
|
|
|
+ }
|
|
|
|
+ .t1:focus-within .info {
|
|
|
|
+ height: 320px;
|
|
|
|
+ }
|
|
|
|
+ .t2:focus-within .info {
|
|
|
|
+ height: 320px;
|
|
|
|
+ }
|
|
|
|
+ .t3:focus-within .info {
|
|
|
|
+ height: 270px;
|
|
|
|
+ }
|
|
|
|
+ .t4:focus-within .info {
|
|
|
|
+ height: 270px;
|
|
|
|
+ }
|
|
|
|
+ .t1 {
|
|
|
|
+ .title {
|
|
|
|
+ span {
|
|
|
|
+ background: url("../../assets/images/bottom_ico1.png") no-repeat left
|
|
|
|
+ center;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .p {
|
|
|
|
+ border-bottom: 3px solid #1116e5;
|
|
|
|
+ }
|
|
|
|
+ border-top: 3px solid #1116e5;
|
|
|
|
+ }
|
|
|
|
+ .t2 {
|
|
|
|
+ .title {
|
|
|
|
+ span {
|
|
|
|
+ background: url("../../assets/images/bottom_ico2.png") no-repeat left
|
|
|
|
+ center;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .p {
|
|
|
|
+ border-bottom: 3px solid #a211e5;
|
|
|
|
+ }
|
|
|
|
+ border-top: 3px solid #a211e5;
|
|
|
|
+ }
|
|
|
|
+ .t3 {
|
|
|
|
+ .title {
|
|
|
|
+ span {
|
|
|
|
+ background: url("../../assets/images/bottom_ico3.png") no-repeat left
|
|
|
|
+ center;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .p {
|
|
|
|
+ border-bottom: 3px solid #229382;
|
|
|
|
+ }
|
|
|
|
+ .d {
|
|
|
|
+ padding-top: 40px !important;
|
|
|
|
+ padding-bottom: 40px !important;
|
|
|
|
+ }
|
|
|
|
+ border-top: 3px solid #229382;
|
|
|
|
+ }
|
|
|
|
+ .t4 {
|
|
|
|
+ .title {
|
|
|
|
+ span {
|
|
|
|
+ background: url("../../assets/images/bottom_ico4.png") no-repeat left
|
|
|
|
+ center;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .p {
|
|
|
|
+ border-bottom: 3px solid #7a9322;
|
|
|
|
+ }
|
|
|
|
+ .d {
|
|
|
|
+ padding-top: 40px !important;
|
|
|
|
+ padding-bottom: 40px !important;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ border-top: 3px solid #7a9322;
|
|
|
|
+ }
|
|
|
|
+ p {
|
|
|
|
+ margin-bottom: 5px;
|
|
|
|
+ }
|
|
|
|
+ .n1 {
|
|
|
|
+ line-height: 30px;
|
|
|
|
+ background: url(../../assets/images/bottom_sub_ico1.png) no-repeat left
|
|
|
|
+ center;
|
|
|
|
+ text-indent: 25px;
|
|
|
|
+ & > a {
|
|
|
|
+ color: #ff0000;
|
|
|
|
+ text-decoration: underline;
|
|
|
|
+ margin-left: 20px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .n2 {
|
|
|
|
+ line-height: 30px;
|
|
|
|
+ background: url(../../assets/images/bottom_sub_ico2.png) no-repeat left
|
|
|
|
+ center;
|
|
|
|
+ text-indent: 25px;
|
|
|
|
+ margin-bottom: 10px;
|
|
|
|
+ }
|
|
|
|
+ .n3 {
|
|
|
|
+ width: 200px;
|
|
|
|
+ margin-bottom: 5px;
|
|
|
|
+ & > span {
|
|
|
|
+ float: right;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .n4 {
|
|
|
|
+ line-height: 30px;
|
|
|
|
+ background: url(../../assets/images/bottom_sub_ico3.png) no-repeat left
|
|
|
|
+ center;
|
|
|
|
+ text-indent: 25px;
|
|
|
|
+ }
|
|
|
|
+ .n5 {
|
|
|
|
+ font-size: 12px;
|
|
|
|
+ color: #828282;
|
|
|
|
+ margin-bottom: 0;
|
|
|
|
+ }
|
|
|
|
+ .n6 {
|
|
|
|
+ line-height: 30px;
|
|
|
|
+ background: url(../../assets/images/bottom_sub_ico2.png) no-repeat left
|
|
|
|
+ center;
|
|
|
|
+ text-indent: 25px;
|
|
|
|
+ }
|
|
|
|
+ .n7 {
|
|
|
|
+ font-size: 18px;
|
|
|
|
+ background: url(../../assets/images/bottom_ico3.png) no-repeat left center;
|
|
|
|
+ padding-left: 30px;
|
|
|
|
+ }
|
|
|
|
+ .n8 {
|
|
|
|
+ font-size: 18px;
|
|
|
|
+ background: url(../../assets/images/bottom_ico4.png) no-repeat left center;
|
|
|
|
+ padding-left: 30px;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+</style>
|