152 lines
4.0 KiB
Vue
152 lines
4.0 KiB
Vue
|
<template>
|
|||
|
<!-- 头部导航栏 -->
|
|||
|
<nav-bar title='实名认证'></nav-bar>
|
|||
|
<view class="realName-authentication">
|
|||
|
<view class="tips">当前仅支持持有中国内地居民身份证的用户进行线上实名认证</view>
|
|||
|
<view class="content">
|
|||
|
根据《邮件快件实名收寄管理办法》等相关法律法规的要求,为了更好地向您提供邮件快件的收寄件服务,需您提供真实的身份信息。后续您本人寄件时仅需出示有效身份证件供查阅确认即可,无需再次采集。
|
|||
|
</view>
|
|||
|
<view class="form">
|
|||
|
<view class="name-item">
|
|||
|
<view class="label">姓名</view>
|
|||
|
<view class="input-box">
|
|||
|
<input @input="clearInputName" :value="nameInputValue" placeholder-class="phcolor" class="uni-input" :placeholder="namePlaceholder" />
|
|||
|
<image class="uni-icon" src='../../static/shanchu.png' v-if="showClearIconName"
|
|||
|
@click="clearIconName" />
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="identify-item">
|
|||
|
<view class="label">身份证号</view>
|
|||
|
<view class="input-box">
|
|||
|
<input @input="clearInput" :value="inputClearValue" placeholder-class="phcolor" class="uni-input" :placeholder="idcardPlaceholder" />
|
|||
|
<image class="uni-icon" src='../../static/shanchu.png' v-if="showClearIcon" @click="clearIcon" />
|
|||
|
</view>
|
|||
|
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="footer">
|
|||
|
<view class="btn" :class="isCanAuth?'active':''" @click="doAuth">开始认证</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script setup>
|
|||
|
import {
|
|||
|
ref,
|
|||
|
reactive,
|
|||
|
onMounted,
|
|||
|
computed
|
|||
|
} from 'vue';
|
|||
|
import {
|
|||
|
validateIdentityCard
|
|||
|
} from '@/utils/validate.js'
|
|||
|
import {
|
|||
|
getRealNameStatusApi
|
|||
|
} from '@/pages/api/my.js'
|
|||
|
let namePlaceholder = ref('请填写')
|
|||
|
let idcardPlaceholder = ref('请填写')
|
|||
|
let showClearIconName = ref(false)
|
|||
|
let showClearIcon = ref(false)
|
|||
|
let nameInputValue = ref('')
|
|||
|
let inputClearValue = ref('')
|
|||
|
//是否可以开始认证
|
|||
|
const isCanAuth = computed(() => {
|
|||
|
return validateIdentityCard(inputClearValue.value) && nameInputValue.value
|
|||
|
})
|
|||
|
//聚焦时清空占位字
|
|||
|
const clearNamePlaceholder = ()=>{
|
|||
|
namePlaceholder.value = ''
|
|||
|
if(!nameInputValue.value){
|
|||
|
idcardPlaceholder.value ='请填写'
|
|||
|
}
|
|||
|
}
|
|||
|
const clearIdcardPlaceholder = ()=>{
|
|||
|
idcardPlaceholder.value = ''
|
|||
|
if(!inputClearValue.value){
|
|||
|
namePlaceholder.value ='请填写'
|
|||
|
}
|
|||
|
}
|
|||
|
const clearInput = (event) => {
|
|||
|
inputClearValue.value = event.detail.value;
|
|||
|
if (event.detail.value.length > 0) {
|
|||
|
showClearIcon.value = true;
|
|||
|
} else {
|
|||
|
showClearIcon.value = false;
|
|||
|
idcardPlaceholder.value = '请填写'
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
const clearInputName = (event) => {
|
|||
|
nameInputValue.value = event.detail.value;
|
|||
|
if (event.detail.value.length > 0) {
|
|||
|
showClearIconName.value = true;
|
|||
|
} else {
|
|||
|
showClearIconName.value = false;
|
|||
|
namePlaceholder.value = '请填写'
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
const clearIconName = () => {
|
|||
|
nameInputValue.value = '';
|
|||
|
showClearIconName.value = false;
|
|||
|
namePlaceholder.value = '请填写'
|
|||
|
if(!inputClearValue.value){
|
|||
|
idcardPlaceholder.value = '请填写'
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
const clearIcon = () => {
|
|||
|
inputClearValue.value = '';
|
|||
|
showClearIcon.value = false;
|
|||
|
idcardPlaceholder.value = '请填写'
|
|||
|
if(!nameInputValue.value){
|
|||
|
namePlaceholder.value = '请填写'
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//开始身份认证
|
|||
|
const doAuth = () => {
|
|||
|
if (!isCanAuth.value) {
|
|||
|
return uni.showToast({
|
|||
|
title: '信息填写不完整',
|
|||
|
icon: 'none',
|
|||
|
duration: 1000
|
|||
|
})
|
|||
|
}
|
|||
|
getRealNameStatusApi({
|
|||
|
flag: 1,
|
|||
|
idCard: inputClearValue.value,
|
|||
|
name: nameInputValue.value
|
|||
|
}).then((res) => {
|
|||
|
if (res.code !== 200) {
|
|||
|
uni.showToast({
|
|||
|
title: res.msg,
|
|||
|
icon: 'none',
|
|||
|
duration: 1000
|
|||
|
})
|
|||
|
} else {
|
|||
|
|
|||
|
uni.showToast({
|
|||
|
title: '认证成功',
|
|||
|
icon: 'none',
|
|||
|
duration: 1000,
|
|||
|
})
|
|||
|
setTimeout(() => {
|
|||
|
uni.switchTab({
|
|||
|
url: '/pages/my/index'
|
|||
|
})
|
|||
|
}, 2000)
|
|||
|
|
|||
|
}
|
|||
|
}).catch(()=>{
|
|||
|
uni.showToast({
|
|||
|
title: '网络异常',
|
|||
|
duration: 2000,
|
|||
|
icon: 'none'
|
|||
|
});
|
|||
|
})
|
|||
|
}
|
|||
|
</script>
|
|||
|
|
|||
|
<style src="./index.scss" lang="scss" scoped></style>
|