You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							44 lines
						
					
					
						
							966 B
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							44 lines
						
					
					
						
							966 B
						
					
					
				
								<!-- 装修图文组件:图片轮播 -->
							 | 
						|
								<template>
							 | 
						|
								  <su-swiper
							 | 
						|
								    :list="imgList"
							 | 
						|
								    :dotStyle="data.indicator === 'dot' ? 'long' : 'tag'"
							 | 
						|
								    imageMode="scaleToFill"
							 | 
						|
								    dotCur="bg-mask-40"
							 | 
						|
								    :seizeHeight="300"
							 | 
						|
								    :autoplay="data.autoplay"
							 | 
						|
								    :interval="data.interval * 1000"
							 | 
						|
								    :mode="data.type"
							 | 
						|
								  />
							 | 
						|
								</template>
							 | 
						|
								
							 | 
						|
								<script setup>
							 | 
						|
								  import { computed } from 'vue';
							 | 
						|
								  import sheep from '@/sheep';
							 | 
						|
								
							 | 
						|
								  // 轮播图
							 | 
						|
								  const props = defineProps({
							 | 
						|
								    data: {
							 | 
						|
								      type: Object,
							 | 
						|
								      default: () => ({}),
							 | 
						|
								    },
							 | 
						|
								    styles: {
							 | 
						|
								      type: Object,
							 | 
						|
								      default: () => ({}),
							 | 
						|
								    },
							 | 
						|
								  });
							 | 
						|
								
							 | 
						|
								  const imgList = computed(() =>
							 | 
						|
								      props.data.items.map((item) => {
							 | 
						|
								        const src = item.type === 'img' ? item.imgUrl : item.videoUrl;
							 | 
						|
								        return {
							 | 
						|
								          ...item,
							 | 
						|
								          type: item.type === 'img' ? 'image' : 'video',
							 | 
						|
								          src: sheep.$url.cdn(src),
							 | 
						|
								          poster: sheep.$url.cdn(item.imgUrl),
							 | 
						|
								        };
							 | 
						|
								      }),
							 | 
						|
								  );
							 | 
						|
								</script>
							 | 
						|
								
							 | 
						|
								<style></style>
							 |