<template>
	<view>
		<view v-if="isDot" class="banner-box">
			<swiper :current="bcurrent" @change="changeBanner" :style="{height: newHeight+'px'}" :autoplay="isplay" :circular="true" :interval="3000" :duration="500">
				<swiper-item v-for="(item,index) in bannerList" :key="index">
					<view @tap="chooseImg(index)" class="posir">
						<image lazy-load :style="{borderRadius:newRadius+'px',height:newHeight+'px'}" class="img" :src="item.imgSrc" mode="aspectFill"></image>
						<image lazy-load @tap.stop="playVideo(index)" v-if="item.isVideo && isVedio" class="posia" style="top: 50%;left: 50%;transform: translate(-50%,-50%);width: 126rpx;height: 126rpx;z-index: 1;" src="/static/public/video.png" mode=""></image>
					</view>
				</swiper-item>
			</swiper>
			<!-- 指示点 -->
			<view class="dot-box" :style="{bottom:newBottom+'px'}">
				<view :class="bcurrent==indexd ? 'dotActive' : 'dotMo'" v-for="(itemd,indexd) in bannerList.length" :key="indexd"></view>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		name:"swiper-pu",
		props:{
			isplay:{
				type:Boolean,
				default:false
			},
			isDot:{//是否显示指示点
				type:Boolean,
				default:true
			},
			bannerList:{//默认轮播图片
				type:Array,
				default:function(){
					return [
						{imgSrc:'/static/public/banner.png',url:'',isVideo:false,poster:''},
						{imgSrc:'/static/public/banner.png',url:'',isVideo:false,poster:''},
					]
				}
			},
			newHeight:{//swiper的高
				type:String,
				default:'200'
			},
			newBottom:{//指示点距离底部位置
				type:String,
				default:'18'
			},
			newRadius:{//图片圆角
				type:String,
				default:'0'
			},
			browseP:{
				type:Boolean,
				default:false
			}
		},
		data() {
			return {
				bcurrent:0,
				isShowVideo:false,
				autoplay:false,
				isVedio:uni.getStorageSync('isVedio')
			};
		},
		methods:{
			chooseImg(index){
				// console.log('当前banner图',index);
				this.bcurrent = index
				if(this.browseP){
					let imgList = []
					this.bannerList.forEach(item=>{
						let nurl = ''
						let obj = {}
						if(this.isVedio) {
							item.url=='' ? nurl = item.imgSrc : nurl = item.url
							obj = {
								url:nurl,
								type:item.isVideo?'video':'image',
								poster:item.poster
							}
						} else {
							nurl = item.imgSrc
							obj = {
								url:nurl,
								type:'image',
								poster:item.poster
							}
						}
						imgList.push(obj)
					})
					uni.previewMedia({
						current:this.bcurrent,
						sources:imgList
					})
				} else {
					uni.navigateTo({
						url:this.bannerList[index].url
					})
				}
			},
			changeBanner(e){
				this.bcurrent = e.detail.current//当前的指示点下标
			},
			playVideo(index){
				// console.log('播放视频');
				uni.navigateTo({
					url:`/pagesB/video/playVideo?src=${this.bannerList[index].url}&posterSrc=${this.bannerList[index].poster}`
				})
			}
		}
	}
</script>

<style scoped>
	.banner-box{position: relative;}
	.img{width:100%;}
	.dot-box{position: absolute;bottom: 36rpx;display: flex;justify-content: center;width: 100%;}
	.dotActive{width: 22rpx;height: 12rpx;margin-right: 10rpx;border-radius: 20rpx; background-color: rgba(56, 117, 246, .5);}
	.dotMo{width: 12rpx;height: 12rpx;margin-right: 10rpx;border-radius: 100%;background-color: rgba(191, 191, 191, 0.5);}
</style>