pwd-retrieve.vue 3.0 KB
Newer Older
芊里 已提交
1 2 3 4 5
<template>
	<view class="wrap">
		<view class="wrap-content">
			<view class="content">
				<!-- 顶部文字 -->
芊里 已提交
6 7
				<text class="content-top-title">重置密码</text>
				<login-ikonw v-show="isPhone" class="login-iknow" :text="tipText"></login-ikonw>
芊里 已提交
8 9 10
				<!-- 登录框 (选择手机号所属国家和地区需要另行实现) -->
				<uni-forms ref="form" :value="formData" :rules="rules">
					<uni-forms-item name="phone">
11 12
						<!-- focus规则如果上一页携带来“手机号码”数据就focus验证码输入框,否则focus手机号码输入框 -->
						<uni-easyinput :focus="!formData.phone.length" type="number" class="phone-input-box" :inputBorder="false"
DCloud_JSON's avatar
DCloud_JSON 已提交
13
							v-model="formData.phone" maxlength="11" placeholder="请输入手机号"></uni-easyinput>
芊里 已提交
14 15
					</uni-forms-item>
					<uni-forms-item name="code">
16
						<uni-easyinput :focus="formData.phone.length" type="number" class="phone-input-box" :inputBorder="false"
芊里 已提交
17 18
							v-model="formData.code" maxlength="6" placeholder="请输入验证码">
							<template slot="right">
芊里 已提交
19
								<login-short-code ref="shortCode" :phone="formData.phone"></login-short-code>
芊里 已提交
20 21
							</template>
						</uni-easyinput>
芊里 已提交
22 23
					</uni-forms-item>
					<uni-forms-item name="pwd">
芊里 已提交
24
						<uni-easyinput type="password" class="phone-input-box" :inputBorder="false"
芊里 已提交
25
							v-model="formData.pwd" placeholder="请输入新密码"></uni-easyinput>
芊里 已提交
26
					</uni-forms-item>
芊里 已提交
27 28 29 30
					<uni-forms-item name="pwd2">
						<uni-easyinput type="password" class="phone-input-box" :inputBorder="false"
							v-model="formData.pwd2" placeholder="请确认新密码"></uni-easyinput>
					</uni-forms-item>
芊里 已提交
31
					<button class="send-btn-box" :disabled="!canSubmit" :type="canSubmit?'primary':'default'"
DCloud_JSON's avatar
DCloud_JSON 已提交
32
						@click="submit">完成</button>
芊里 已提交
33
				</uni-forms>
芊里 已提交
34 35 36 37 38
			</view>
		</view>
	</view>
</template>

芊里 已提交
39
<script>
40
import mixin from '../common/loginPage.mixin.js';
芊里 已提交
41 42
	export default {
		mixins:[mixin],
芊里 已提交
43 44
		data() {
			return {
DCloud_JSON's avatar
DCloud_JSON 已提交
45
				currenPhoneArea: ''
芊里 已提交
46 47 48 49
			}
		},
		computed: {
			tipText() {
芊里 已提交
50
				return `验证码已通过短信发送至${this.currenPhoneArea} ${this.formData.phone}。密码为6 - 20位`
芊里 已提交
51 52
			},
			canSubmit() {
53
				return this.isPhone && this.isPwd && this.isCode;
芊里 已提交
54 55 56
			}
		},
		onLoad(event) {
芊里 已提交
57
			if (event && event.phoneNumber) {
芊里 已提交
58
				this.formData.phone = event.phoneNumber;
芊里 已提交
59 60
				this.currenPhoneArea = '+' + Number(event.phoneArea);
			}
芊里 已提交
61 62
		},
		onReady() {
芊里 已提交
63
			if(this.formData.phone){
64
				this.$refs.shortCode.start();
芊里 已提交
65
			}
芊里 已提交
66
		},
芊里 已提交
67
		methods: {
L
123  
linju 已提交
68 69 70 71
			/**
			 * 完成并提交
			 */
			submit(){
芊里 已提交
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
				this.$refs.form.submit()
				.then(res=>{
					this.request('user-center/resetPwdBySmsCode',{
						"mobile":this.formData.phone,
						"code":this.formData.code,
						"password":this.formData.pwd
					},(data,result)=>{
						console.log(result);
						uni.showToast({
							title: result.msg,
							icon: 'none'
						});
						if(result.code === 0){
							uni.navigateBack()
						}
					})
L
123  
linju 已提交
88
				})
芊里 已提交
89 90 91 92 93 94
			}
		}
	}
</script>

<style>
95
	@import url("../common/loginPage.css");
芊里 已提交
96 97 98 99
	.phone-input-box{
		margin-top: 20rpx;
	}
</style>