<template>
	<view class="container">
		<view class="container_text">
			<image class="banner-img" src="/static/img/login.png" mode="scaleToFill"></image>
			<!-- <view class="title-img"><image class="title-image" src="../../static/img/login-title.png" mode=""></image></view> -->
		</view>
		<!-- <view class="loginTitle"><text>修改密码</text></view> -->
		<view class="login_text">
			<view class="login_input flex_item">
				<view class="login_img"><image class="phone" src="/static/icon/img03.png"></image></view>
				<view class="login_name"><input class="uni-input" type="text" v-model="phone" focus placeholder="请输入手机" /></view>
			</view>
			<view class="login_input flex_item">
				<view class="login_img"><image src="/static/icon/img04.png"></image></view>
				<view class="login_name"><input class="uni-input" type="password" v-model="password" focus placeholder=" 请输入新的不少于6位的密码" /></view>
			</view>
			<view class="login_input flex_item">
				<view class="login_img"><image src="/static/icon/img04.png"></image></view>
				<view class="login_name"><input class="uni-input" type="password" v-model="password2" focus placeholder="请重复输入新密码" /></view>
			</view>
			<view class="login_input flex">
				<view class="login_img"><image class="codeimg" src="/static/icon/img06.png"></image></view>
				<view class="login_name flex">
					<input class="uni-input width" v-model="code" type="number" focus placeholder="请输入验证码" />
					<view class="code" @click="verification">{{ countDown == 0 ? '发送验证码' : countDown }}</view>
				</view>
			</view>
			<view class="uni-button uni-button-green" @click="updatalogin">确认修改</view>
		</view>
	</view>
</template>
<script>
import { registerReset } from '@/api/set.js';
import { verify } from '@/api/login.js';
export default {
	data() {
		return {
			phone: '', //用户
			code: '', //验证码
			password2: '',
			password: '',
			time: '', //保存倒计时对象
			countDown: 0 //倒计时
		};
	},
	onLoad() {},
	watch: {
		// 监听倒计时
		countDown(i) {
			if (i == 0) {
				clearInterval(this.time);
			}
		}
	},
	methods: {
		updatalogin() {
			let obj = this;
			if (obj.phone == '') {
				obj.$api.msg('请输入手机');
				return;
			}
			if (!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(obj.phone) && !/(^1[3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone)) {
				obj.$api.msg('请输入正确的手机');
				return;
			}
			if (obj.password == '') {
				obj.$api.msg('请输入密码');
				return;
			}
			if (obj.password2 == '') {
				obj.$api.msg('请再次输入密码');
				return;
			}
			if (obj.password2 != obj.password) {
				obj.$api.msg('两次密码不正确');
				return;
			}
			if (obj.code == '') {
				obj.$api.msg('请输入验证码');
				return;
			}
			registerReset({
				account: obj.phone, //账号
				password: obj.password,
				password2: obj.password2,
				type: 1,
				captcha: obj.code
			})
				.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.phone == '') {
				this.$api.msg('请输入邮箱号码');
				return;
			}
			if (!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(obj.phone) && !/(^1[3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone)) {
				obj.$api.msg('请输入正确的邮箱或手机');
				return;
			}
			// 判断是否在倒计时
			if (obj.countDown > 0) {
				return false;
			} else {
				obj.countDown = 60;
				obj.time = setInterval(() => {
					obj.countDown--;
				}, 1000);
				//调用验证码接口
				verify({
					phone: obj.phone,
					type: 'login'
				})
					.then(({ data }) => {
						uni.showToast({
							title: '验证码已发送',
							duration: 2000,
							position: 'top',
							icon: 'none'
						});
					})
					.catch(err => {
						console.log(err);
					});
			}
		}
	}
};
</script>

<style lang="scss">
page {
	min-height: 100%;
	background-color: #ffffff;
	.container {
		width: 100%;
	}
}
.container_text {
	position: relative;
	width: 100%;
	height: 500rpx;
	top: 0rpx;
	.banner-img {
		width: 100%;
		height: 100%;
	}
	.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: 270rpx;
	width: 100%;
	text-align: center;
	color: white;
	font-size: 40rpx;
}
.phone {
	height: 43rpx !important;
	width: 27rpx !important;
}
.codeimg {
	height: 39rpx !important;
	width: 31rpx !important;
}
.login_text {
	margin: -100rpx 0 0;
	position: relative;
	padding: 100rpx 102rpx;
	background-color: #ffffff;
	border-top-left-radius: 40rpx;
	border-top-right-radius: 40rpx;
	.login_input {
		border-bottom: 1px solid #f0f0f0;
		margin-bottom: 65rpx;
		.login_img image {
			height: 36rpx;
			width: 30rpx;
			margin-right: 20rpx;
		}
		.uni-input {
			text-align: left;
			width: 470rpx;
			font-size: 28rpx !important;
		}
		.login_name {
			color: #333333;
		}
	}

	.other {
		margin-top: 60rpx;
		.fenge {
			width: 30%;
			height: 2rpx;
			background-color: #eeeeee;
		}
		.qita {
			font-size: 28rpx;
			color: #999999;
		}
	}
	.weixin {
		width: 75rpx;
		height: 75rpx;
		margin: 25rpx auto;
	}
	.weixin image {
		width: 100%;
		height: 100%;
	}
	.weixin_text {
		text-align: center;
		font-size: 28rpx;
		color: #999999;
	}
	.forget {
		font-size: 28rpx;
		width: 100%;
		text-align: right;
		color: #999999;
	}

	.uni-button-green {
		text-align: center;
		color: #ffffff;
		background-color: #E6C79D;
		margin: 40rpx 10rpx;
		border-radius: 50rpx;
	}
	.uni-button-green-plain {
		border: 1px solid #E6C79D;
		margin: 40rpx 10rpx;
		border-radius: 50rpx;
		color: #E6C79D;
		background-color: #ffffff;
	}
	.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>
