<template>
	<view :class="mode=='pop'?'masks':''" v-if="clickShow">
		<view :class="mode=='pop'?'verifybox':''">
			<view class="verifybox-top" v-if="mode=='pop'">
				请完成安全验证
				<text class="verifybox-close" @click="clickShow = false">
					<text class="iconfont icon-close"></text>
				</text>
			</view>
			<view class="verifybox-bottom" :style="{padding:mode=='pop'?'15px':'0'}">
				<!-- 验证码容器 -->
				<move-verify :style="{ marginTop: '40rpx'} " @vertify='vertifyResult'></move-verify>
			</view>
		</view>
	</view>
</template>
<script>
	import moveVerify from './move-verify.vue';

	export default {
		name: 'MoveVerify',
		components: {
			moveVerify,
		},
		props: {
			mode: {
				type: String,
				default: 'pop'
			},
		},
		data() {
			return {
				vertify: false, //验证是否成功
				// showBox:true,
				clickShow: false,
				// 内部类型
				verifyType: undefined,
				tipWords: '', // 提示语
				startMoveTime: "", //移动开始的时间
				endMovetime: '', //移动结束的时间
			}
		},
		methods: {
			/**
			 * 滑动验证
			 */
			vertifyResult(vertify) {
				this.vertify = vertify
				if(this.vertify) this.$emit('success', this.vertify)
			},
			show() {
				if (this.mode == "pop") {
					this.clickShow = true;
				}
			},
			hide() {
				if (this.mode == "pop") {
					this.clickShow = false;
				}
			}
		},
		computed: {
			instance() {
				return this.$refs.instance || {}
			},
			showBox() {
				if (this.mode == 'pop') {
					return this.clickShow
				} else {
					return true;
				}
			}
		},
	}
</script>

<style scoped>
	.verifybox {
		width: 90%;
		position: relative;
		box-sizing: border-box;
		border-radius: 2px;
		border: 1px solid #e4e7eb;
		background-color: #fff;
		box-shadow: 0 0 10px rgba(0, 0, 0, .3);
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
	}

	.verifybox-top {
		padding: 0 15px;
		height: 50px;
		line-height: 50px;
		text-align: left;
		font-size: 16px;
		color: #45494c;
		border-bottom: 1px solid #e4e7eb;
		box-sizing: border-box;
	}

	.verifybox-bottom {
		/* padding: 15px; */
		box-sizing: border-box;
	}

	.verifybox-close {
		position: absolute;
		top: 13px;
		right: 9px;
		width: 24px;
		height: 24px;
		text-align: center;
		cursor: pointer;
	}

	.masks {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1001;
		width: 100%;
		height: 100vh;
		background: rgba(0, 0, 0, .3);
		/* display: none; */
		transition: all .5s;
	}

	.verify-tips {
		position: absolute;
		left: 0px;
		bottom: 0px;
		width: 100%;
		height: 30px;
		background-color: rgb(231, 27, 27, .5);
		line-height: 30px;
		color: #fff;
	}

	.tips-enter,
	.tips-leave-to {
		bottom: -30px;
	}

	.tips-enter-active,
	.tips-leave-active {
		transition: bottom .5s;
	}
</style>