<template> <view class="pages"> <u-navbar title="实名认证" :placeholder="true" :autoBack="true" @leftClick="leftClick" :safeAreaInsetTop="true" > </u-navbar> <view class="page-wrap"> <view class="login-box"> <u--form labelPosition="left" labelWidth="200rpx" :model="form" :rules="rules" ref="uForm" > <u-form-item label="真实姓名" prop="name" borderBottom ref="name" > <u--input v-model="form.name" placeholder="真实姓名" border="none" :customStyle="inputCustomStyle" ></u--input> </u-form-item> <u-form-item label="身份证号码" prop="idcard" ref="idcard" > <u--input v-model="form.idcard" border="none" placeholder="身份证号码" :customStyle="inputCustomStyle" ></u--input> </u-form-item> </u--form> <u-button @click="submit" text="提交认证" type="error" shape="circle" :customStyle="{'margin-top':'60rpx',height:'98rpx','box-sizing':'border-box'}"> </u-button> </view> </view> <u-toast ref="uToast"></u-toast> </view> </template> <script> export default { data() { return { backUrl:'', form:{ name:'', idcard:'' }, rules: { name: { type: 'string', required: true, message: '请填写真实姓名', trigger: ['blur', 'change'] }, idcard:[ { type: 'string', required: true, message: '请填身份证号码', trigger: ['blur', 'change'] }, { validator: (rule, value, callback) => { // 上面有说,返回true表示校验通过,返回false表示不通过 // uni.$u.test.mobile()就是返回true或者false的 return uni.$u.test.idCard(value); }, message: '身份证号码不正确', // 触发器可以同时用blur和change trigger: ['change','blur'], } ] }, inputCustomStyle:{} } }, onShow() { }, onReady() { //onReady 为uni-app支持的生命周期之一 this.$refs.uForm.setRules(this.rules) }, onLoad(page) { console.log('page',page); this.backUrl = decodeURIComponent(page.backUrl)||'/center/center'; console.log('this.backUrl',this.backUrl); }, methods: { leftClick(){ let pages = getCurrentPages(); if(pages.length==1){ uni.$u.route('/pages/index/index') }else{ uni.navigateBack() }; }, submit(){ // console.log('form',this.form); this.$refs.uForm.validate().then(res => { // uni.$u.toast('校验通过') this.$u.api.factorAuth(this.form).then(res=>{ this.getMemberInfo() // console.log('res',res.data); }).catch(err=>{ // this.$refs.uToast.show({ // type: 'error', // icon: false, // title: '认证失败', // message: err.msg, // }) console.log('login',err); }) }).catch(errors => { uni.$u.toast('请正确填写表单') }) }, getMemberInfo(){ let that = this; this.$u.api.memberInfo({id:this.vuex_user_info.userid}).then(res=>{ this.$u.vuex('vuex_member_info', res.data); uni.showToast({ title:'认证成功', icon:'success' }) setTimeout(()=>{ // console.log('this.backUrl',this.backUrl); // uni.reLaunch({url: this.backUrl}); that.leftClick(); },1000) // console.log('memberInfo',this.memberInfo); }).catch(err=>{ // console.log('memberInfo',err.data); }) }, } } </script> <style lang="scss" scoped> </style>