sadjv3_jishi/pages/public/pwd.vue

176 lines
4.2 KiB
Vue
Raw Normal View History

2024-06-05 19:14:51 +08:00
<template>
<view class="container">
<view class="wrapper">
<view class="input-content">
<view class="cu-form-group" style="padding: 30rpx 0;border-bottom: 1px #f7f7f7 solid;">
<text class="title">旧密码</text>
<input type="password" :value="oldPwd" placeholder="请输入旧密码" placeholder-class="input-empty" maxlength="20"
minlength="6" data-key="oldpassword" @input="inputChange" @confirm="toLogin" />
</view>
<view class="cu-form-group" style="padding: 30rpx 0;">
<text class="title">新密码</text>
<input type="password" :value="pwd" placeholder="请设置新密码" placeholder-class="input-empty" maxlength="20"
minlength="6" data-key="password" @input="inputChange" @confirm="toLogin" />
</view>
</view>
<view style="position: fixed;bottom: 0rpx;left: 0;right: 0;background: #FFFFFF;height: 110rpx;line-height: 110rpx;z-index: 999;width: 100%;padding: 0 30rpx;">
<button class="confirm-btn" @click="toLogin">修改密码</button>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
code: '',
phone: '',
password: '',
oldpassword: '',
sending: false,
sendTime: '获取验证码',
count: 60,
logining: false,
oldPwd: '',
pwd: ''
}
},
methods: {
sendMsg() {
const {
phone
} = this;
if (!phone) {
this.$queue.showToast("请输入手机号");
} else if (phone.length !== 11) {
this.$queue.showToast("请输入正确的手机号");
} else {
this.$queue.showLoading("正在发送验证码...");
this.$Request.getT('/appLogin/sendMsg/' + mobile + '/forget').then(res => {
if (res.code === 0) {
this.sending = true;
this.$queue.showToast('验证码发送成功请注意查收');
this.countDown();
uni.hideLoading();
} else {
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '短信发送失败',
content: res.msg ? res.msg : '请一分钟后再获取验证码'
});
}
});
}
},
countDown() {
const {
count
} = this;
if (count === 1) {
this.count = 60;
this.sending = false;
this.sendTime = '获取验证码'
} else {
this.count = count - 1;
this.sending = true;
this.sendTime = count - 1 + '秒后重新获取';
setTimeout(this.countDown.bind(this), 1000);
}
},
inputChange(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
navBack() {
uni.navigateBack();
},
toLogin() {
const {
password,
oldpassword
} = this;
if (!oldpassword) {
this.$queue.showToast("请输入旧密码");
} else if (oldpassword.length < 6) {
this.$queue.showToast("旧密码位数必须大于六位");
} else if (!password) {
this.$queue.showToast("请设置新密码");
} else if (password.length < 6) {
this.$queue.showToast("新密码位数必须大于六位");
} else {
this.logining = true;
this.$queue.showLoading("正在修改密码中...");
this.$Request.post("/app/user/updatePwd", {
pwd : password,
oldPwd : oldpassword,
}).then(res => {
uni.hideLoading();
if (res.code === 0) {
this.$queue.showToast('密码修改成功!下次请使用新密码登录!')
setTimeout(function(){
uni.navigateBack()
},1000)
} else {
uni.showModal({
showCancel: false,
title: '密码修改失败',
content: res.msg,
});
}
});
}
},
},
}
</script>
<style lang='scss'>
page {
height: 100%;
background: #f7f7f7;
}
.container {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
}
.wrapper {
position: relative;
z-index: 90;
padding-bottom: 20px;
}
.input-content {
padding: 0 30rpx;
background-color: #ffffff;
}
.confirm-btn {
2024-06-26 16:58:53 +08:00
background: linear-gradient(90deg, #019C88, #0FA78B, #35C495);
2024-06-05 19:14:51 +08:00
color: #FFFFFF;
2024-06-26 16:58:53 +08:00
margin: 7px 0;
2024-06-05 19:14:51 +08:00
width: 100%;
2024-06-26 16:58:53 +08:00
border-radius: 24px;
height: 37px;
line-height: 37px;
font-size: 14px;
text-align: center;
2024-06-05 19:14:51 +08:00
&:after {
border-radius: 60px;
}
}
</style>