快乐的梦鱼 3 veckor sedan
förälder
incheckning
8ff680d261
1 ändrade filer med 12 tillägg och 5 borttagningar
  1. 12 5
      src/pages/index.vue

+ 12 - 5
src/pages/index.vue

@@ -13,7 +13,13 @@
         v-for="(item, key) in carouselData.content.value"
         :key="key"
       >
-        <img class="main-header-image" :src="item.image" />
+        <a
+          :href="item.url || item.image"
+          target="_blank"
+          rel="noopener noreferrer"
+        >
+          <img class="main-header-image" :src="item.image" />
+        </a>
       </Slide>
       <template #addons>
         <Navigation />
@@ -165,7 +171,7 @@
               >
                 <img 
                   :src="item.image" style="width: 100%; height: 100%; object-fit: contain;"
-                  @click="handleImageClick(item.image)"
+                  @click="handleImageClick(item)"
                 >
               </Slide>
               <template #addons>
@@ -228,6 +234,7 @@ import CarouselItem2 from '@/assets/images/board1/2.jpg';
 import CarouselItem3 from '@/assets/images/board1/3.jpg';
 import CarouselItem4 from '@/assets/images/board1/4.jpg';
 import CarouselItem5 from '@/assets/images/board1/5.jpg';
+import type { ICarousel } from '~~/server/api/ecms/carousel';
 
 const carouselConfig = {
   itemsToShow: 1,
@@ -235,7 +242,7 @@ const carouselConfig = {
   autoplay: 5000,
 }
 const carouselData = await useSSrSimpleDataLoader('carousel', async () => {
-  const res = await $fetch(`/api/ecms/carousel`);
+  const res = await $fetch(`/api/ecms/carousel?name=banner`);
   if (!res.status)
     throw new Error(res.message);
   return res.data;
@@ -290,8 +297,8 @@ const featured = await useSSrSimpleDataLoader('featured', async () => {
   return res.data;
 });
 
-function handleImageClick(image: string) {
-  window.open(image, '_blank');
+function handleImageClick(image: ICarousel) {
+  window.open(image.url || image.image, '_blank');
 }
 function handleServiceClick(service: string) {
   Modal.info({