UNPKG

mk-mycom-ttl

Version:

a sequenceFrame component

74 lines (72 loc) 2.31 kB
Component({ mixins: [], data: { show: false, rotate: 0 }, props: {}, didMount() { this.props.onRef && this.props.onRef(this) this.dataInit(); }, didUpdate() { }, didUnmount() { }, methods: { dataInit() { let lotteryData = {} let initTime = setInterval(() => { lotteryData = this.props.lotteryData if (Object.keys(lotteryData) <= 0 && lotteryData == undefined) { this.props.onInitDone && this.props.onInitDone({ success: false, lotteryData: '未找到初始配置' }) setTimeout(() => { clearInterval(initTime) this.props.onInitDone && this.props.onInitDone({ success: false, lotteryData: '请检查初始配置' }) }, 3000); } else { clearInterval(initTime) this.setData({ lotteryData: lotteryData, show: true }) this.props.onInitDone && this.props.onInitDone({ success: true, lotteryData: '初始配置检查成功' }) } }, 1); }, lotStart(e) { let config = this.data.lotteryData.config // 单个需要增加度数 let single = 360 / config.allPrize / 2 // 总共需要转的圈数 let round = config.round * 360 // 总共需要转的度数 let deg = single + (e.prize - 1) * (360 / config.allPrize) + round // console.log(single * (e.prize + 1)) if (this.data.rotate <= 0) { this.setData({ rotate: this.data.rotate += deg, deg: single + (e.prize - 1) * (360 / config.allPrize) }) } else { this.setData({ rotate: this.data.rotate += deg - this.data.deg, deg: single + (e.prize - 1) * (360 / config.allPrize) }) } setTimeout(() => { this.onFinsh({ id: e.prize }) }, config.time * 1000 + 10); }, onFinsh(e) { let lotteryData = this.data.lotteryData let list = {} if (lotteryData.prizeList != undefined) { lotteryData.prizeList.forEach((el, inx) => { if (inx == e.id) { list = el } }) } this.props.onFinsh && this.props.onFinsh({ type: 'stop', id: e.id, prize: list }); } }, });