<template>
	<view class="container">
		<view class="container_text">
			<image class="banner-img" src="/static/img/shouye1.png" mode="scaleToFill"></image>
		</view>
		<view class="loginTitle"><text>{{$t('login.a0')}}</text></view>
		<view class="login_text">
			<view class="login_input flex_item">
				<view class="login_img"><image src="/static/icon/ze.png"></image></view>
				<view class="login_name"><input class="uni-input" type="text" v-model="account" focus :placeholder="$t('login.a1')" /></view>
			</view>
			<view class="login_input flex_item">
				<view class="login_img"><image src="/static/icon/ze2.png"></image></view>
				<view class="login_name"><input class="uni-input" type="password" v-model="password" focus :placeholder="$t('password.a3')" /></view>
			</view>
			<view class="login_input flex_item">
				<view class="login_img"><image src="/static/icon/ze2.png"></image></view>
				<view class="login_name"><input class="uni-input" type="password" v-model="password2" focus :placeholder="$t('password.a5')" /></view>
			</view>
			<view class="login_input flex">
				<view class="login_img"><image class="codeimg" src="/static/icon/ze2.png"></image></view>
				<view class="login_name flex">
					<input class="uni-input" v-model="captcha" type="number" focus :placeholder="$t('password.a6')" />
					<view class="code" @click="verification">{{ countDown == 0 ? $t('login.b5') : countDown }}</view>
				</view>
			</view>
			<view class="uni-button uni-button-green" @click="updatalogin">{{$t('safe.b7')}}</view>
		</view>
	</view>
</template>
<script>
import { registerReset } from '@/api/set.js';
import { verify } from '@/api/login.js';
export default {
	data() {
		return {
			account: '', //用户
			captcha: '', //验证码
			password2: '',
			password: '',
			time: '', //保存倒计时对象
			countDown: 0 //倒计时
		};
	},
	onLoad() {},
	watch: {
		// 监听倒计时
		countDown(i) {
			if (i == 0) {
				clearInterval(this.time);
			}
		}
	},
	methods: {
		updatalogin() {
			let obj = this;
			if (obj.account == '') {
				obj.$api.msg(obj.$t("login.a1"));
				return;
			}
			if (!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(obj.account) && !/(^1[3|4|5|6|7|8|9][0-9]{9}$)/.test(this.account)) {
				obj.$api.msg(obj.$t("safe.b8"));
				return;
			}
			if (obj.password == '') {
				obj.$api.msg(obj.$t("login.a3"));
				return;
			}
			if (obj.password2 == '') {
				obj.$api.msg(obj.$t("login.c6"));
				return;
			}
			if (obj.password2 != obj.password) {
				obj.$api.msg(obj.$t("login.c7"));
				return;
			}
			if (obj.captcha == '') {
				obj.$api.msg(obj.$t("login.b6"));
				return;
			}
			registerReset({
				account: obj.account, //账号
				password: obj.password,
				password2: obj.password2,
				type: 1,
				captcha: obj.captcha
			})
				.then(function(e) {
					obj.$api.msg(e.msg);
					uni.navigateTo({
						url: '/pages/public/login'
					});
				})
				.catch(e => {
					console.log(e);
				});
		},
		//发送验证码
		verification() {
			let obj = this;
			if (this.account == '') {
				this.$api.msg(obj.$t("login.c8"));
				return;
			}
			if (!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(obj.account) && !/(^1[3|4|5|6|7|8|9][0-9]{9}$)/.test(this.account)) {
				obj.$api.msg(obj.$t("login.c9"));
				return;
			}
			// 判断是否在倒计时
			if (obj.countDown > 0) {
				return false;
			} else {
				obj.countDown = 60;
				obj.time = setInterval(() => {
					obj.countDown--;
				}, 1000);
				//调用验证码接口
				verify({
					phone: obj.account,
					type: 'login'
				})
					.then(({ data }) => {
						uni.showToast({
							title: obj.$t("login.c10"),
							duration: 2000,
							position: 'top',
							icon: 'none'
						});
					})
					.catch(err => {
						console.log(err);
					});
			}
		}
	}
};
</script>

<style lang="scss">
page {
	min-height: 100%;
	background-color: #000;
	.container {
		width: 100%;
	}
}
.container_text {
	position: relative;
	width: 100%;
	height: 500rpx;
	top: 0rpx;
	.banner-img {
		width: 144rpx;
		height: 144rpx;
		margin-top: 100rpx;
		margin-left: 302rpx;
	}
	.title-img {
		position: absolute;
		left: 50%;
		top: 100rpx;
		margin-left: -130rpx;
		width: 260rpx;
		height: 156rpx;
		.title-image {
			width: 260rpx;
			height: 156rpx;
		}
	}
}

.loginTitle {
		position: absolute;
		top: 250rpx;
		width: 100%;
		text-align: center;
		color: #cbb174;
		font-size: 40rpx;
	}
.phone {
	height: 43rpx !important;
	width: 27rpx !important;
}
.codeimg {
	height: 39rpx !important;
	width: 31rpx !important;
}
.login_text {
	margin: -150rpx 0 0;
	position: relative;
	padding: 100rpx 102rpx;
	background-color: #000;
	
	.login_input {
		border-bottom: 1px solid #fff;
		margin-bottom: 65rpx;
		.login_img image {
			height: 36rpx;
			width: 30rpx;
			margin-right: 20rpx;
		}
		.uni-input {
			text-align: left;
			font-size: 28rpx !important;
			color: #ffffff;
		}
		.login_name {
			color: #333333;
		}
	}

	.uni-button-green {
		text-align: center;
		color: #ffffff;
		background-color: #feb041;
		margin: 40rpx 10rpx;
		border-radius: 50rpx;
	}
	.uni-button-green-plain {
		border: 1px solid #E6C79D;
		margin: 40rpx 10rpx;
		border-radius: 50rpx;
		color: #E6C79D;
		background-color: #feb041;
	}
	.uni-button {
		height: 85rpx;
		line-height: 85rpx;
	}
}

.code {
	color: #E6C79D;
	font-size: 23rpx;
	border-left: 1px solid #eeeeee;
	width: 150rpx;
	flex-shrink: 0;
	text-align: center;
}

.width {
	width: 325rpx !important;
}

.login {
	background: #E6C79D;
	margin-top: 96rpx;
	color: #ffffff;
	text-align: center;
	padding: 26rpx 0rpx;
	border-radius: 20rpx;
}
</style>
