<template>
	<view class="pages">
		<uni-forms class="form" :value="dataObj" ref="formData" :rules="rules"  :border="true"
			label-width="100">
			<uni-forms-item label="新邮箱" name="email" :required="true" label-width="100">
				<input :value="dataObj.email" type="password" @input="binddata('email',$event.detail.value)"
					class="uni-input" placeholder="请输入新邮箱" />
			</uni-forms-item>
		</uni-forms>
		<button class="but" type="default" :loading="loading" :disabled="loading" @tap="changePass">确认</button>
	</view>
</template>

<script>
	import {
		updateEmail,
	} from '@/common/api.js'
	export default {
		data() {
			return {
				dataObj: {
					email: ""
				}, 
				loading: false,
				rules: {
					email: {
						rules: [{
								required: true,
								errorMessage: '请输入新邮箱',
							},
							{
								validateFunction: function(rule, value, data, callback) {
									var reg = new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$"); //正则表达式
									if (!reg.test(data.email)) {
										callback('请输入正确的邮箱')
									}
									return true
								}
							}
						]
					},
				}
			}
		},
		onReady() {
		        this.$refs.formData.setRules(this.rules)
		    },
		methods: {
			binddata(v, e) {
				this.dataObj[v] = e
			},
			changePass() {
				this.$refs.formData.submit().then(res => {
					this.loading = true
					updateEmail({
						email:this.dataObj.email,
						userId:this.$store.state.Token
					}).then(res =>{
						console.log(res)
						this.loading = false
						uni.$emit("changeUser",true)
						plus.nativeUI.toast('修改成功')
						setTimeout(() =>{
							
							uni.navigateBack({
								
							})
						},1000)
						
					}).catch(e =>{
						this.loading = false
					})
				}).catch(err => {
					console.log('表单错误信息:', err);
				})
			}
		}
	}
</script>

<style scoped lang="scss">
	.form {
		border-bottom: 1px solid #EEEEEE;
	}

	.but {
		width: 600rpx;
		margin-top: 420rpx;
		background-color: #0099FF;
		color: #fff;
	}
</style>