123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- <template>
- <view>
- <view class="tips" v-if="item.isAuthentication === 1">
- <text class="icon"></text>
- <text>实名认证成功</text>
- </view>
- <view class="tips" v-else>
- <text class="icon"></text>
- <text>为保障资金安全,用户需进行实名认证,请务必认真填写</text>
- </view>
- <view class="main">
- <view v-if="step === 1">
- <u-divider text="本人二代身份证"></u-divider>
- <view class="r">
- <view class="r50">
- <card v-model="item.p1" text="点击拍摄/上传人像面" icon="" :read="item.isAuthentication === 1" side="face" @success="success"></card>
- </view>
- <view class="r50">
- <card v-model="item.p2" text="点击拍摄/上传国徽面" icon="" :read="item.isAuthentication === 1" side="back" @success="success"></card>
- </view>
- </view>
- </view>
- <view v-else>
- <view class="form">
- <view class="form_group">
- <view class="lable re">姓名</view>
- <input type="text" placeholder="请输入姓名" v-model="item.name" :disabled="true" />
- </view>
- <view class="form_group">
- <view class="lable re">身份证</view>
- <input type="text" placeholder="请输入身份证" v-model="item.idCard" :disabled="true" />
- </view>
- </view>
- <view class="form" style="margin-top: 15px">
- <view class="form_group">
- <view class="lable re">手机号</view>
- <input type="text" placeholder="请输入手机号" v-model="item.phone" />
- </view>
- <view class="form_group">
- <view class="lable re">支付宝</view>
- <input type="text" placeholder="请输入支付宝账号" v-model="item.alipay" />
- </view>
- </view>
- </view>
- <view class="form" v-if="item.isAuthentication === 1" style="margin-top: 10px">
- <view class="form_group">
- <view class="lable">姓名</view>
- <input type="text" v-model="item.name" :disabled="true" />
- </view>
- <view class="form_group">
- <view class="lable">身份证</view>
- <input type="text" v-model="item.idCard" :disabled="true" />
- </view>
- <view class="form_group">
- <view class="lable">有效期</view>
- <input type="text" v-model="item.endDate" :disabled="true" />
- </view>
- </view>
- <button class="btn" @click="next()" v-if="step === 1 && item.isAuthentication != 1">下一步</button>
- <button class="btn" @click="save()" v-if="step === 2 && item.isAuthentication != 1">确定</button>
- </view>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- step: 1,
- item: {}
- };
- },
- onLoad() {
- this.getData();
- },
- methods: {
- getData() {
- this.http.request({
- url: '/app/user/info',
- data: this.item,
- success: (res) => {
- this.item = res.data.data;
- if (this.item.isAuthentication === 1) {
- uni.setNavigationBarTitle({ title: '我的认证' });
- }
- }
- });
- },
- success(res) {
- if (res.side == 'face') {
- this.item.name = res.data.name;
- this.item.idCard = res.data.num;
- this.item.sex = res.data.sex;
- this.item.address = res.data.address;
- this.item.nationality = res.data.nationality;
- this.item.birth = res.data.birth;
- } else {
- this.item.endDate = res.data.end_date;
- }
- },
- next() {
- if (!this.item.name) {
- uni.showModal({ content: '请上传身份证人像面', showCancel: false });
- return;
- }
- if (!this.item.endDate) {
- uni.showModal({ content: '请上传身份证国徽面', showCancel: false });
- return;
- }
- this.step = 2;
- },
- save() {
- let rule = [
- { name: 'name', checkType: 'notnull', errorMsg: '请输入姓名' },
- { name: 'idCard', checkType: 'notnull', errorMsg: '请输入身份证' },
- { name: 'p1', checkType: 'notnull', errorMsg: '请上传身份证人面像' },
- { name: 'p2', checkType: 'notnull', errorMsg: '请上传身份证人徽面' },
- { name: 'phone', checkType: 'phone', errorMsg: '请请输入手机号' },
- { name: 'alipay', checkType: 'notnull', errorMsg: '请输入支付宝账号' }
- ];
- if (!this.verify.check(this.item, rule)) {
- uni.showModal({ content: this.verify.error, showCancel: false });
- return false;
- }
- this.http.request({
- url: '/app/user/auth',
- data: this.item,
- method: 'POST',
- success: (res) => {
- uni.showModal({
- title: '提示',
- content: '实名认证成功。',
- showCancel: false,
- success: (res) => {
- uni.navigateBack();
- }
- });
- }
- });
- }
- }
- };
- </script>
- <style lang="scss">
- .btn {
- margin-top: 30px;
- }
- </style>
|