253 lines
5.6 KiB
Vue
253 lines
5.6 KiB
Vue
<template>
|
||
<view class="page" :style="themeColor">
|
||
<view class="flex benben-position-layout flex flex-wrap align-center inputNewPhone_flex_0"
|
||
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
|
||
<view class='flex flex-wrap align-center justify-between flex-sub inputNewPhone_fd0_0'>
|
||
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
|
||
<text class='fu-iconfont2 inputNewPhone_fd0_0_c0_c0'></text>
|
||
</view>
|
||
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
|
||
<text class='inputNewPhone_fd0_0_c1_c0'>绑定新手机</text>
|
||
</view>
|
||
<view class='flex flex-wrap align-center inputNewPhone_fd0_0_c2'>
|
||
</view>
|
||
</view>
|
||
|
||
</view>
|
||
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
|
||
|
||
<view class="flex flex-direction flex-wrap align-stretch inputNewPhone_flex_1">
|
||
<view class='flex flex-wrap align-center inputNewPhone_fd1_0'>
|
||
<text class='inputNewPhone_fd1_0_c0'>新手机号码:</text>
|
||
<input class='flex-sub inputNewPhone_fd1_0_c1' type="number" :focus='true' placeholder="请输入新密码"
|
||
confirm-type="done" :maxlength="11" placeholder-style="color:rgba(191, 191, 191, 1);font-size:32rpx"
|
||
v-model="newPhone" />
|
||
</view>
|
||
<view class='flex flex-wrap align-center inputNewPhone_fd1_1'>
|
||
<text class='inputNewPhone_fd1_1_c0'>短信验证:</text>
|
||
<input class='flex-sub inputNewPhone_fd1_1_c1' type="number" placeholder="请输入验证码" confirm-type="done"
|
||
:maxlength="4" placeholder-style="color:rgba(191, 191, 191, 1);font-size:32rpx"
|
||
v-model="smsVerification" />
|
||
<benben-send-verification-code class='flex inputNewPhone_fd1_1_c2' after-text='后重新获取'
|
||
before-text='获取短信验证' type='5' :phone="newPhone"></benben-send-verification-code>
|
||
</view>
|
||
</view>
|
||
|
||
|
||
<view
|
||
class="flex flex-direction flex-wrap align-center justify-center flex inputNewPhone_flex_2">
|
||
<button class='inputNewPhone_fd2_0' @tap.stop="bindNewPhoneNumberFunc()">完 成</button>
|
||
|
||
</view>
|
||
<view :style="{height: '88rpx'}"></view>
|
||
|
||
|
||
</view>
|
||
</template>
|
||
<script>
|
||
import {
|
||
validate
|
||
} from '@/common/utils/validate.js'
|
||
export default {
|
||
components: {},
|
||
|
||
|
||
data() {
|
||
return {
|
||
"newPhone": "",
|
||
"smsVerification": "",
|
||
"phone": ""
|
||
};
|
||
},
|
||
computed: {
|
||
themeColor() {
|
||
return this.$store.getters.themeColor
|
||
},
|
||
|
||
},
|
||
watch: {},
|
||
onLoad(options) {
|
||
let {
|
||
phone
|
||
} = options
|
||
if (phone !== undefined) this.phone = phone
|
||
},
|
||
onUnload() {
|
||
|
||
},
|
||
onReady() {
|
||
|
||
},
|
||
onShow() {
|
||
|
||
},
|
||
onHide() {
|
||
|
||
},
|
||
onResize() {
|
||
|
||
},
|
||
onPullDownRefresh() {
|
||
|
||
},
|
||
onReachBottom(e) {
|
||
|
||
},
|
||
onPageScroll(e) {
|
||
|
||
},
|
||
methods: {
|
||
//绑定新手机号
|
||
bindNewPhoneNumberFunc() {
|
||
if (!validate(this.newPhone, 'require')) {
|
||
this.$message.info('新手机号不能为空');
|
||
return false;
|
||
}
|
||
if (!validate(this.newPhone, 'phone')) {
|
||
this.$message.info('请输入正确的新手机号');
|
||
return false;
|
||
}
|
||
if (!validate(this.smsVerification, 'require')) {
|
||
this.$message.info('验证码不能为空');
|
||
return false;
|
||
}
|
||
if (!validate(this.smsVerification, 'captcha')) {
|
||
this.$message.info('请输入正确的验证码');
|
||
return false;
|
||
}
|
||
this.$api.post(global.apiUrls.post5f6c915d69d1f,{
|
||
mobile:this.newPhone,
|
||
code:this.smsVerification,
|
||
type:5
|
||
}).then(res=>{
|
||
var res = res.data;
|
||
this.$message.info(res.msg);
|
||
if (res.code == 1) {
|
||
setTimeout(() => {
|
||
this.$store.commit("logout");
|
||
uni.switchTab({
|
||
url: '/pages/tabBar/myPage/myPage'
|
||
});
|
||
}, 800);
|
||
}
|
||
})
|
||
}
|
||
}
|
||
};
|
||
</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;
|
||
}
|
||
|
||
.inputNewPhone_flex_0 {
|
||
border-bottom: 1px solid #eee;
|
||
background: #fff;
|
||
width: 750rpx;
|
||
height: 88rpx;
|
||
overflow: hidden;
|
||
z-index: 10;
|
||
top: 0rpx;
|
||
background-size: 100% auto !important;
|
||
}
|
||
|
||
.inputNewPhone_fd0_0_c2 {
|
||
width: 32rpx;
|
||
height: 32rpx;
|
||
}
|
||
|
||
.inputNewPhone_fd0_0_c1_c0 {
|
||
font-size: 36rpx;
|
||
font-weight: 500;
|
||
color: #333;
|
||
line-height: 88rpx;
|
||
}
|
||
|
||
.inputNewPhone_fd0_0_c0_c0 {
|
||
font-size: 32rpx;
|
||
font-weight: 500;
|
||
color: #333;
|
||
line-height: 88rpx;
|
||
}
|
||
|
||
.inputNewPhone_fd0_0 {
|
||
margin: 0rpx 32rpx 0rpx 32rpx;
|
||
}
|
||
|
||
.inputNewPhone_flex_1 {
|
||
background: #fff;
|
||
font-size: 32rpx;
|
||
background-size: 100% auto !important;
|
||
padding: 0rpx 32rpx 0rpx 32rpx;
|
||
}
|
||
|
||
.inputNewPhone_fd1_1_c2 {
|
||
font-size: 32rpx;
|
||
font-weight: 400;
|
||
color: rgba(29, 138, 240, 1);
|
||
}
|
||
|
||
.inputNewPhone_fd1_1_c1 {
|
||
line-height: 45rpx;
|
||
color: #333;
|
||
font-size: 32rpx;
|
||
font-weight: 400;
|
||
}
|
||
|
||
.inputNewPhone_fd1_1_c0 {
|
||
font-size: 32rpx;
|
||
font-weight: 400;
|
||
font-style: normal;
|
||
color: #333;
|
||
}
|
||
|
||
.inputNewPhone_fd1_1 {
|
||
border-bottom: 1px solid #eee;
|
||
padding: 32rpx 0rpx 32rpx 0rpx;
|
||
}
|
||
|
||
.inputNewPhone_fd1_0_c1 {
|
||
line-height: 45rpx;
|
||
font-size: 28rpx;
|
||
font-weight: 400;
|
||
color: #333;
|
||
}
|
||
|
||
.inputNewPhone_fd1_0_c0 {
|
||
font-size: 32rpx;
|
||
font-weight: 400;
|
||
font-style: normal;
|
||
color: #333333;
|
||
line-height: 32rpx;
|
||
}
|
||
|
||
.inputNewPhone_fd1_0 {
|
||
border-bottom: 1px solid #eee;
|
||
padding: 32rpx 0rpx 32rpx 0rpx;
|
||
}
|
||
|
||
.inputNewPhone_flex_2 {
|
||
margin-top: 88rpx;
|
||
width: 750rpx;
|
||
height: 88rpx;
|
||
overflow: hidden;
|
||
z-index: 10;
|
||
bottom: calc(40rpx + var(--window-bottom));
|
||
}
|
||
|
||
.inputNewPhone_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>
|