import { Image, Swiper, SwiperItem, Video, View } from "@tarojs/components"; import Taro, { useState, useEffect, pxTransform } from "@tarojs/taro"; import { IProps, TList } from "../../../@types/swiper"; import { classNames, generateId, isAliPay, screenPercent } from "../../lib"; import "./index.scss"; export default function ClSwiper(props: IProps) { const [listState, setListState] = useState(props.list || []); useEffect(() => { const list = props.list || []; setListState( list.map((item: any) => { item.cu_swiper_id = generateId(); return item; }) ); }, [props.list]); const swiperTypeClassName = type => type ? `${type}-swiper` : "screen-swiper"; const dotClassName = type => type === "round" ? `${type}-dot` : "square-dot"; const duration = props.duration || 500; const interval = props.interval || 5000; const indicatorDots = !!props.indicatorDots; const indicatorColor = props.indicatorColor || "#000"; const indicatorActiveColor = props.indicatorActiveColor || "#FFF"; const circular = !!props.circular; const autoplay = autoplayData => !!autoplayData; const loop = loopData => !!loopData; const muted = mutedData => !!mutedData; const showPlayBtn = showPlayBtnData => !!showPlayBtnData; const controls = controlsData => !!controlsData; const title = titleData => titleData; const poster = posterData => posterData; const list = listState || []; const autoplaySwiper = props.autoplay; const [cur, setCur] = useState(0); const onChange = e => { const current = e.detail.current; setCur(current); props.onChange && props.onChange(current); }; const onClick = (index: number) => { props.onClick && props.onClick(index); }; // const onTouchMove = e => {} // const onTouchStart = e => {} // const onTouchEnd = e => {} const renderImg = (item: TList) => ( ); const renderVideo = (item: TList) => (