<template>
	<view class="container">
		<view class="logo-img"><image src="../../static/img/logo.png" mode=""></image></view>
		<view class="logo">艺绘</view>
		<view class="login_text">
			<view class="login_input flex_item">
				<view class="login_img"><image class="phone" src="/static/img/pass03.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/img/pass02.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/img/pass02.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/img/pass01.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>
		<view class="login" @click="updatalogin">确认修改</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: #111111;
	.container {
		width: 100%;
		padding: 60rpx 70rpx;
	}
}
.logo-img {
	width: 161rpx;
	height: 161rpx;
	margin:auto;
	margin-top: 52rpx !important;
	margin-bottom: 15rpx !important;
	box-shadow: 0px 12rpx 13rpx 0px rgba(150, 150, 157, 0.47);
	border-radius: 50%;
	image {
		width: 161rpx;
		height: 161rpx;
		border-radius: 50%;
	}
}
.logo {
	font-size: 36rpx;
	font-weight: 400;
	color: #A581FF;
	text-align: center;
}
.phone {
	height: 43rpx !important;
	width: 27rpx !important;
}
.codeimg {
	height: 39rpx !important;
	width: 31rpx !important;
}
.login_text {
	border-radius: 20rpx;
	margin-top: 80rpx;
	.login_input {
		// border-bottom: 1px solid #C5CEE0;
		margin-bottom: 35rpx;
		padding-bottom: 60rpx;
		.login_img {
			height: 35rpx;
			width: 31rpx;
			margin-right: 20rpx;
			image {
				width: 100%;
				height: 100%;
			}
		}
		.uni-input {
			text-align: left;
			width: 400rpx;
			color: #A581FF;
			font-size: 32rpx !important;
		}
		.login_name {
			color: #333333;
			.code {
				color: #A581FF;
				font-size: 23rpx;
				border-left: 1px solid #eeeeee;
				width: 150rpx;
				flex-shrink: 0;
				text-align: center;
			}
		}
	}
}

.login {
	background: linear-gradient(270deg, #6E8DF7, #9977F6);
	margin-top: 96rpx;
	color: #ffffff;
	text-align: center;
	padding: 26rpx 0rpx;
	border-radius: 20rpx;
}
</style>
