| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 | 
							- <template>
 
- 	<view class="container">
 
- 		<view class="back-btn" @click="backToBefore()">
 
- 			<u-icon name="arrow-left" color="#fff" size="20" customStyle="margin:0 auto"></u-icon>
 
- 			<text class="back-text">验证邮箱</text>
 
- 		</view>
 
- 		<view class="change-content">
 
- 			<view class="pass-item">
 
- 				<view class="pass-item-name">电子邮箱</view>
 
- 				<input type="text" class="pass-item-content" v-model="emailAddress" />
 
- 			</view>
 
- 		</view>
 
- 		<view class="confirm-btn" @click="confirmEmail()">发送验证码</view>
 
- 	</view>
 
- </template>
 
- <script setup>
 
- 	import {
 
- 		ref
 
- 	} from "vue";
 
- 	import {
 
- 		getCheckcode
 
- 	} from '@/api/login';
 
- 	function backToBefore() {
 
- 		uni.navigateBack({})
 
- 	};
 
- 	let emailAddress = ref(null)
 
- 	function confirmEmail() {
 
- 		let reg = /^([a-zA-Z\d][\w-]{2,})@(\w{2,})\.([a-z]{2,})(\.[a-z]{2,})?$/;
 
- 		let isValid = reg.test(emailAddress.value)
 
- 		if (!isValid) {
 
- 			return uni.showToast({
 
- 				title: "邮箱格式不正确",
 
- 				icon: "error",
 
- 				duration: 2000
 
- 			})
 
- 		}
 
- 		getCheckcode({
 
- 			email: emailAddress.value
 
- 		}).then(res => {
 
- 			if (res.code === 200) {
 
- 				uni.navigateTo({
 
- 					url: `/pages/login/changePass/index?login=done&email=${emailAddress.value}`
 
- 				})
 
- 			}
 
- 		})
 
- 	}
 
- </script>
 
- <style lang="scss" scoped>
 
- 	page {
 
- 		height: 100%;
 
- 		background-color: #EAF0FA;
 
- 	}
 
- 	.container {
 
- 		position: relative;
 
- 		width: 100%;
 
- 		height: 100%;
 
- 		background: linear-gradient(180deg, #1869F6 0%, #EAF0FA 64%, #EAF0FA 100%);
 
- 		.back-btn {
 
- 			position: absolute;
 
- 			top: 8%;
 
- 			left: 4%;
 
- 			display: flex;
 
- 			font-size: 40rpx;
 
- 			font-weight: 500;
 
- 			color: #FFF;
 
- 			.back-text {
 
- 				margin-left: 28rpx;
 
- 			}
 
- 		}
 
- 		.change-content {
 
- 			position: absolute;
 
- 			top: 226rpx;
 
- 			left: 4%;
 
- 			width: 92%;
 
- 			height: 118rpx;
 
- 			padding: 19rpx 28rpx;
 
- 			box-sizing: border-box;
 
- 			background-color: #fff;
 
- 			border-radius: 40rpx;
 
- 			.pass-item {
 
- 				display: flex;
 
- 				align-items: center;
 
- 				justify-content: space-between;
 
- 				width: 100%;
 
- 				height: 80rpx;
 
- 				font-size: 32rpx;
 
- 				font-weight: 400;
 
- 				color: #9E9E9E;
 
- 				.pass-item-name {
 
- 					flex: 2;
 
- 				}
 
- 				.pass-item-content {
 
- 					flex: 6;
 
- 					text-align: right;
 
- 					font-size: 32rpx;
 
- 					color: #343437;
 
- 				}
 
- 				.pass-item-icon {
 
- 					flex: 1;
 
- 					height: 100%;
 
- 					line-height: 80rpx;
 
- 					text-align: right;
 
- 					image {
 
- 						width: 36rpx;
 
- 						height: 28rpx;
 
- 					}
 
- 				}
 
- 				.pass-item-hide {
 
- 					image {
 
- 						width: 36rpx;
 
- 						height: 18rpx;
 
- 					}
 
- 				}
 
- 			}
 
- 		}
 
- 		.confirm-btn {
 
- 			position: absolute;
 
- 			top: 396rpx;
 
- 			left: 4%;
 
- 			width: 92%;
 
- 			height: 84rpx;
 
- 			line-height: 84rpx;
 
- 			font-size: 36rpx;
 
- 			color: #fff;
 
- 			text-align: center;
 
- 			background: #1869F6;
 
- 			border-radius: 16rpx;
 
- 		}
 
- 	}
 
- </style>
 
 
  |