234 lines
5.3 KiB
Vue
234 lines
5.3 KiB
Vue
<template>
|
||
<view class="page" :style="themeColor">
|
||
<view class="flex benben-position-layout flex flex-wrap align-center setnewPwd_flex_0"
|
||
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
|
||
<view class='flex flex-wrap align-center justify-between flex-sub setnewPwd_fd0_0'>
|
||
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
|
||
<text class='fu-iconfont2 setnewPwd_fd0_0_c0_c0'></text>
|
||
</view>
|
||
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
|
||
<text class='setnewPwd_fd0_0_c1_c0'>修改密码</text>
|
||
</view>
|
||
<view class='flex flex-wrap align-center setnewPwd_fd0_0_c2'>
|
||
</view>
|
||
</view>
|
||
|
||
</view>
|
||
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
|
||
|
||
<view class="flex flex-direction flex-wrap align-stretch setnewPwd_flex_1">
|
||
<view class='flex flex-wrap align-center setnewPwd_fd1_0'>
|
||
<text class='setnewPwd_fd1_1_c0'>新密码:</text>
|
||
<input class='flex-sub setnewPwd_fd1_0_c1' type="text" :focus='true' placeholder="请输入新密码"
|
||
confirm-type="done" :maxlength="12" :password='true'
|
||
placeholder-style="color:rgba(191, 191, 191, 1);font-size:32rpx" v-model="newPwd" />
|
||
</view>
|
||
<view class='flex flex-wrap align-center setnewPwd_fd1_1'>
|
||
<text class='setnewPwd_fd1_1_c0'>确认新密码:</text>
|
||
<input class='flex-sub setnewPwd_fd1_1_c1' type="text" placeholder="请再次输入新密码"
|
||
confirm-type="done" :maxlength="12" :password='true'
|
||
placeholder-style="color:rgba(191, 191, 191, 1);font-size:32rpx" v-model="qrPwd" />
|
||
</view>
|
||
</view>
|
||
|
||
|
||
<view
|
||
class="flex flex-direction flex-wrap align-center justify-center flex setnewPwd_flex_2">
|
||
<button class='setnewPwd_fd2_0' @tap.stop="changePwdPhoneFunc()">完 成</button>
|
||
|
||
</view>
|
||
<view :style="{height: '88rpx'}"></view>
|
||
|
||
|
||
</view>
|
||
</template>
|
||
<script>
|
||
import {
|
||
validate
|
||
} from '@/common/utils/validate.js'
|
||
export default {
|
||
components: {},
|
||
|
||
|
||
data() {
|
||
return {
|
||
"newPwd": "",
|
||
"qrPwd": "",
|
||
"phone": "",
|
||
"code": ""
|
||
};
|
||
},
|
||
computed: {
|
||
themeColor() {
|
||
return this.$store.getters.themeColor
|
||
},
|
||
|
||
},
|
||
watch: {},
|
||
onLoad(options) {
|
||
let {phone,code} = options
|
||
if (phone !== undefined) this.phone = phone
|
||
if (code !== undefined) this.code = code
|
||
},
|
||
methods: {
|
||
//设置密码
|
||
changePwdPhoneFunc() {
|
||
if (!validate(this.newPwd, 'require')) {
|
||
this.$message.info('新密码不能为空');
|
||
return false;
|
||
}
|
||
if (!validate(this.newPwd, 'password')) {
|
||
this.$message.info('请输入新密码(6~12位字母+数字)');
|
||
return false;
|
||
}
|
||
if (!validate(this.qrPwd, 'require')) {
|
||
this.$message.info('确认新密码不能为空');
|
||
return false;
|
||
}
|
||
if (!validate(this.qrPwd, 'password')) {
|
||
this.$message.info('请输入确认密码(6~12位字母+数字)');
|
||
return false;
|
||
}
|
||
if (!(this.newPwd == this.qrPwd)) {
|
||
this.$message.info('两次输入密码不一致');
|
||
return false;
|
||
}
|
||
|
||
this.$api.post(global.apiUrls.postForgetPassword,{
|
||
account:this.phone,
|
||
password:this.newPwd,
|
||
code:this.code,
|
||
type:4
|
||
}).then(res=>{
|
||
this.$message.info(res.data.msg);
|
||
if(res.data.code==1){
|
||
setTimeout(() => {
|
||
this.$store.commit('logout');
|
||
uni.switchTab({
|
||
url: '/pages/tabBar/myPage/myPage'
|
||
});
|
||
}, 300)
|
||
}
|
||
})
|
||
|
||
|
||
|
||
|
||
|
||
}
|
||
}
|
||
};
|
||
</script>
|
||
<style lang="scss" scoped>
|
||
.page {
|
||
width: 100vw;
|
||
overflow-x: hidden;
|
||
min-height: calc(100vh - var(--window-bottom));
|
||
background: #fff;
|
||
background-size: 100% auto !important;
|
||
}
|
||
|
||
.setnewPwd_flex_0 {
|
||
border: 1px solid #eee;
|
||
background: #fff;
|
||
width: 750rpx;
|
||
height: 88rpx;
|
||
overflow: hidden;
|
||
z-index: 10;
|
||
top: 0rpx;
|
||
background-size: 100% auto !important;
|
||
}
|
||
|
||
.setnewPwd_fd0_0_c2 {
|
||
width: 32rpx;
|
||
height: 32rpx;
|
||
}
|
||
|
||
.setnewPwd_fd0_0_c1_c0 {
|
||
font-size: 36rpx;
|
||
font-weight: 500;
|
||
color: #333;
|
||
line-height: 88rpx;
|
||
}
|
||
|
||
.setnewPwd_fd0_0_c0_c0 {
|
||
font-size: 32rpx;
|
||
font-weight: 500;
|
||
color: #333;
|
||
line-height: 88rpx;
|
||
}
|
||
|
||
.setnewPwd_fd0_0 {
|
||
margin: 0rpx 32rpx 0rpx 32rpx;
|
||
}
|
||
|
||
.setnewPwd_flex_1 {
|
||
background: #fff;
|
||
font-size: 32rpx;
|
||
background-size: 100% auto !important;
|
||
padding: 0rpx 32rpx 0rpx 32rpx;
|
||
}
|
||
|
||
.setnewPwd_fd1_1_c1 {
|
||
line-height: 32rpx;
|
||
font-size: 32rpx;
|
||
font-weight: 400;
|
||
color: #333;
|
||
}
|
||
|
||
.setnewPwd_fd1_1_c0 {
|
||
width: 200rpx;
|
||
display: block;
|
||
font-size: 32rpx;
|
||
font-weight: 400;
|
||
font-style: normal;
|
||
color: #333333;
|
||
line-height: 32rpx;
|
||
}
|
||
|
||
.setnewPwd_fd1_1 {
|
||
border-bottom: 1px solid #eee;
|
||
padding: 32rpx 0rpx 32rpx 0rpx;
|
||
}
|
||
|
||
.setnewPwd_fd1_0_c1 {
|
||
line-height: 32rpx;
|
||
font-size: 32rpx;
|
||
font-weight: 400;
|
||
color: #333;
|
||
}
|
||
|
||
.setnewPwd_fd1_0_c0 {
|
||
font-size: 32rpx;
|
||
font-weight: 400;
|
||
font-style: normal;
|
||
color: #333333;
|
||
line-height: 32rpx;
|
||
}
|
||
|
||
.setnewPwd_fd1_0 {
|
||
border-bottom: 1px solid #eee;
|
||
padding: 32rpx 0rpx 32rpx 0rpx;
|
||
}
|
||
|
||
.setnewPwd_flex_2 {
|
||
margin-top: 88rpx;
|
||
width: 750rpx;
|
||
height: 88rpx;
|
||
overflow: hidden;
|
||
z-index: 10;
|
||
bottom: calc(40rpx + var(--window-bottom));
|
||
}
|
||
|
||
.setnewPwd_fd2_0 {
|
||
background: rgba(255, 147, 0, 1);
|
||
border-radius: 44rpx;
|
||
font-size: 32rpx;
|
||
color: #fff;
|
||
width: 686rpx;
|
||
height: 88rpx;
|
||
line-height: 88rpx;
|
||
font-weight: 400;
|
||
}
|
||
</style>
|