From 9abeee7af6047d4c75908b2d12d48b22f261e1cd Mon Sep 17 00:00:00 2001 From: zhouhao <787329763@qq.com> Date: Thu, 06 Jan 2022 12:22:53 +0800 Subject: [PATCH] 人脸识别 --- webpack.common.js | 2 src/api/index.js | 24 +++--- src/assets/img/img_fail.png | 0 src/views/main/queryres.vue | 87 ++++++++------------- webpack.dev.js | 2 src/views/main/addBankcard.vue | 67 +++++++--------- src/api/config.js | 2 src/assets/img/successw.png | 0 src/assets/img/loading.png | 0 9 files changed, 79 insertions(+), 105 deletions(-) diff --git a/src/api/config.js b/src/api/config.js index 63edf46..ed0b739 100644 --- a/src/api/config.js +++ b/src/api/config.js @@ -82,7 +82,7 @@ } const $http = axios.create({ - baseURL: '/lism', + baseURL: '/flb/cab', timeout: 90000, headers: { 'Content-Type': 'application/json; charset=UTF-8' diff --git a/src/api/index.js b/src/api/index.js index 878bb5f..835346c 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -11,22 +11,22 @@ const api = { - //绑卡初始化 - bankCardInit(data) { - return $http.post('/bankCard/init', data); + //刷新人脸识别失败后订单状态 + refreshFaceStatus(data) { + return $http.post('/inside/getBizStatus', data); }, - //银行卡ocr - bankCardOcr(data) { - return $http.post('/bankCard/ocr', data); + //授信前置页面调取接口 + getFrontData(data) { + return $http.post('/inside/getFrontData', data); }, - //绑卡验证码 - bankCardAuthMsg(data) { - return $http.post('/bankCard/authMsg', data); + //获取人脸识别跳转地址 + getFaceUrl(data) { + return $http.post('/inside/getFaceUrl', data); }, - //绑卡签约 - bankCardAgree(data) { - return $http.post('/bankCard/agreePayAuth', data); + //获取人脸识别状态 + getApplyStatus(data) { + return $http.post('/inside/getApplyStatus', data); }, //绑卡人脸识别 diff --git a/src/assets/img/img_fail.png b/src/assets/img/img_fail.png index 52e6176..9f953c7 100644 --- a/src/assets/img/img_fail.png +++ b/src/assets/img/img_fail.png Binary files differ diff --git a/src/assets/img/loading.png b/src/assets/img/loading.png new file mode 100644 index 0000000..fa5cdbb --- /dev/null +++ b/src/assets/img/loading.png Binary files differ diff --git a/src/assets/img/successw.png b/src/assets/img/successw.png index 0d616b8..33d2b42 100644 --- a/src/assets/img/successw.png +++ b/src/assets/img/successw.png Binary files differ diff --git a/src/views/main/addBankcard.vue b/src/views/main/addBankcard.vue index 5642d71..fd43e73 100644 --- a/src/views/main/addBankcard.vue +++ b/src/views/main/addBankcard.vue @@ -1,7 +1,7 @@ <template> <div class='text-main'> - <van-nav-bar :title="title" left-arrow @click-left="onClickLeft" /> + <!-- <van-nav-bar :title="title" left-arrow @click-left="onClickLeft" /> --> <van-form validate-first ref="credRef"> <div class="bes-title"><div> 分销个人</div></div> <!-- <van-field v-model.trim="dataForm.bankCardNo" label="银行卡号" placeholder="请输入银行卡号" :rules="bankId" name="bankId" clearable> @@ -11,19 +11,19 @@ </van-field> --> <!-- <van-field readonly clickable name="noName" :value="bankName" label="银行名称" placeholder="请选择银行名称" @click="showPicker = true" :rules="noName" right-icon="arrow"/> --> <div> - <van-field v-model.trim="dataForm.bankCardMblNo" label="姓名:" readonly/> - <van-field v-model.trim="dataForm.bankCardMblNo" label="身份证号:" readonly/> + <van-field v-model.trim="dataForm.name" label="姓名:" readonly/> + <van-field v-model.trim="dataForm.idNo" label="身份证号:" readonly/> </div> - <!-- <van-field v-model.trim="dataForm.verCode" center clearable label="短信验证码" :rules="codeRules" placeholder="请输入短信验证码" > + <van-field v-model.trim="dataForm.verCode" center clearable label="短信验证码" :rules="codeRules" placeholder="请输入短信验证码" > <template #button> - <van-button size="small" color="#E43A28" @click.stop="getCode" native-type="button" :disabled="isdisabled">{{codeText}}</van-button> + <van-button size="small" color="#6cc3bb" @click.stop="getCode" native-type="button" :disabled="isdisabled">{{codeText}}</van-button> </template> - </van-field> --> + </van-field> <div class="index-title"> <van-checkbox v-model="checked" style="height:30px; margin-right:5px" checked-color="#6cc3bb"></van-checkbox> - <div v-if="orderType==1"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="show=true">《信息授权函》</span>的签订</div> - <div v-if="orderType==2"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="showx=true">《保理付款服务合同》</span>的签订</div> + <div v-if="bizType==0 && $route.query.types!=1" style="color:#999999;font-size:12px"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="show=true">《信息授权函》</span>的签订</div> + <div v-if="bizType==1 && $route.query.types!=1" style="color:#999999;font-size:12px"> 阅读并同意<span style="border-bottom:1px solid #00F; color:#00F" @click="showx=true">《保理付款服务合同》</span>的签订</div> </div> <div style="margin: 16px;margin-top:30px"> <van-button round block color="#6cc3bb" @click="onFailed" native-type="submit">确认</van-button> @@ -66,9 +66,8 @@ //这里存放数据 return { dataForm: { - bankCode:'', - bankCardNo:'' }, + dataInfo:{}, ishowFile:true, dataObj :{}, showPicker: false, @@ -80,9 +79,8 @@ show: false, showx: false, bankName:'', - orderId:this.$route.query.orderId, //订单编号 - orderType:this.$route.query.orderType, //订单类型 - title:this.$route.query.orderType==1?'授信信息确认':'签约信息确认', + bizId:this.$route.query.bizId, //订单编号 + bizType:this.$route.query.bizType, //订单类型 codeText: '获取验证码', noName: [ { @@ -157,29 +155,15 @@ //方法集合 methods: { bankCardNoInit() { - console.log(this.orderId) - console.log(this.orderType) - // this.$api.bankCardInit({ orderId: this.orderId}).then(res => { - // if (res.body.orderStatus==0){ // 待绑卡 - // this.dataForm.bankCardMblNo =res.body.mblNo - // this.dataObj =res.body - // this.agreementextw = repstrw(this.dataObj.userName,this.dataObj.idNo); - // this.agreementext = repstr(this.dataObj.userName,this.dataObj.idNo); - // }else if(res.body.orderStatus==1){ //待活体签约 - // this.$api.faceIdUrl({orderId: this.orderId}).then(res => { - // window.location.href =res.body.url - // }) - // }else if(res.body.orderStatus==2){ //待审批状态 - // this.$router.push({path:'/main/queryres',query:{orderId: this.orderId}}) - // }else if(res.body.orderStatus==3){ //已拒绝 - // this.$router.push({path:'/main/queryres',query:{orderNo: this.$route.query.orderId,orderStatus:3}}) - // }else if(res.body.orderStatus==4){ //待签约 - // this.$router.push({path:'/main/findPre',query:{orderId: this.$route.query.orderId}}) - // } - // else if(res.body.orderStatus==5){//待支付首期款 - - // } - // }) + let objForm ={bizId:this.bizId,bizType:this.bizType} + this.$api.refreshFaceStatus(objForm).then(res=>{ + this.dataInfo =res.body + if (this.dataInfo.status==0){ + this.$api.getFrontData(objForm).then(res=>{ + this.dataForm =res.body + }) + } + }) }, onClickLeft(){ @@ -192,6 +176,16 @@ onFailed() { let mes = `请阅读并同意${this.orderType==1?'信息授权函':'保理付款服务合同'}` if (!this.checked) return this.$notify(mes) + let objUrl + if (process.env.NODE_ENV === "development") { //开发环境 + objUrl = `https://t.finlean.com/comn_business/#/main/queryres?bizId=${this.bizId}&bizType=${this.bizType}` + } else{ //生产 + objUrl = `${window.location.origin}/#/main/queryres?bizId=${this.bizId}&bizType=${this.bizType}` + } + const objForm ={bizId:this.bizId,bizType:this.bizType,callbackUrl:objUrl} + this.$api.getFaceUrl(objForm).then(res=>{ + window.location.href=res.body.faceUrl + }) // this.$refs.credRef.validate().then(() => { // // 验证通过 // if (this.dataForm.verCode ==undefined || this.dataForm.verCode =='') return this.$notify('请输入验证码') @@ -310,6 +304,7 @@ }, //生命周期 - 创建完成(可以访问当前this实例) created() { + console.log(process.env.NODE_ENV ) this.bankCardNoInit() }, //生命周期 - 挂载完成(可以访问DOM元素) diff --git a/src/views/main/queryres.vue b/src/views/main/queryres.vue index c33d55c..392f795 100644 --- a/src/views/main/queryres.vue +++ b/src/views/main/queryres.vue @@ -3,15 +3,14 @@ <div class='text-main'> <van-nav-bar title="审核结果" /> <div style=" text-align: center;"> - <img width="70%" height="180" src="../../assets/img/success.png" v-if="ResultIs"/> - <img width="70%" height="180" src="../../assets/img/img_fail.png" v-else > + <img height="180" src="../../assets/img/loading.png" v-if="!ResultIs" /> + <img height="180" src="../../assets/img/img_fail.png" v-if="ResultIs" /> </div> <div class="content"> <p class="content-text"> {{datastr}}</p> - <p class="content-text" v-if="isActive">{{examineStr}}</p> + <!-- <p class="content-text" v-if="isActive">{{examineStr}}</p> --> <div class="btn-content"> - <van-button color="#E43A28" @click="returnApp" round plain hairline v-if="!ResultIs">返回</van-button> - <van-button color="#E43A28" @click="checkBtn" round v-if="!ResultIs && examineIs">重新校验</van-button> + <van-button color="#E43A28" @click="checkBtn" round v-if="ResultIs">重新校验</van-button> </div> </div> </div> @@ -23,11 +22,11 @@ data() { //这里存放数据 return { - datastr: '活体校验中....', + datastr: '活体校验中,请稍等....', examineStr:'正在审核订单,请稍后...', isActive: false, orderNo:0, - ResultIs:true, + ResultIs:false, examineIs:true }; }, @@ -39,31 +38,19 @@ methods: { bankCardNoInit() { var slfe = this + let objForm ={bizId:this.bizId,bizType:this.bizType} var t2 = window.setInterval(function () { - slfe.$api.bankCardInit({ orderId: slfe.orderNo }).then(res => { - if (res.body.orderStatus == 0) { // 待绑卡 - window.clearInterval(t2) // 去除定时器 - slfe.$router.push({ path: '/', query: { orderId: slfe.orderNo } }) - } else if (res.body.orderStatus == 1) { //待活体签约 - window.clearInterval(t2) // 去除定时器 - slfe.$api.faceIdUrl({ orderId: slfe.orderNo }).then(res => { - window.location.href = res.body.url - }) - } else if (res.body.orderStatus == 2) { //待审批状态 - // slfe.$router.push({ path: '/main/queryres', query: { orderId: slfe.orderNo } }) - } else if (res.body.orderStatus == 3) { //已拒绝 - // this.examineStr="订单审核失败!" - // this.ResultIs =false - // this.examineIs=false - window.clearInterval(t2) // 去除定时器 - window.location.href ="https://www.shouxinshibai.com/" - } else if (res.body.orderStatus == 4) { //待签约 - window.clearInterval(t2) // 去除定时器 - slfe.$router.push({ path: '/main/findPre', query: { orderId: slfe.orderNo } }) - } - else if (res.body.orderStatus == 5) {//待支付首期款 - window.clearInterval(t2) // 去除定时器 - } + slfe.$api.refreshFaceStatus({objForm}).then(res => { + // window.clearInterval(t2) // 去除定时器 + if(res.body.status==1){ //人脸识别未出结果 + slfe.$api.getApplyStatus({...objForm,status:res.body.status}).then(res=>{ + if(res.body.faceResult==0){ + this.ResultIs =true + } + }) + }else{ + + } }) }, 5000) }, @@ -87,30 +74,22 @@ }, //生命周期 - 创建完成(可以访问当前this实例) created() { - if(this.getQueryVariable('orderNo')){ - this.orderNo=this.getQueryVariable('orderNo') - }else{ - this.orderNo=this.$route.query.orderNo - } + // if(this.getQueryVariable('orderNo')){ + // this.orderNo=this.getQueryVariable('orderNo') + // }else{ + // this.orderNo=this.$route.query.orderNo + // } - let orderStatus =this.$route.query.orderStatus - if(orderStatus && orderStatus==3){ - this.datastr='正在审核订单,请稍后...' - // this.bankCardNoInit() - window.location.href ="https://www.shouxinshibai.com/" - }else{ - // this.$api.faceIdResult({orderId: this.orderNo}).then(res=>{ - // this.datastr="活体校验成功" - // this.isActive =true - // this.ResultIs =true - // this.bankCardNoInit() - // }).catch(err=>{ - // this.ResultIs =false - // this.datastr =err.errMsg - // }) - this.datastr='正在审核订单,请稍后...' - this.bankCardNoInit() - } + // let orderStatus =this.$route.query.orderStatus + // if(orderStatus && orderStatus==3){ + // this.datastr='正在审核订单,请稍后...' + // // this.bankCardNoInit() + // window.location.href ="https://www.shouxinshibai.com/" + // }else{ + + // this.datastr='正在审核订单,请稍后...' + // // this.bankCardNoInit() + // } }, //生命周期 - 挂载完成(可以访问DOM元素) mounted() { diff --git a/webpack.common.js b/webpack.common.js index 2715a52..f874f03 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -79,7 +79,7 @@ options: { limit: 10000, outputPath: 'img/', - publicPath:env ?`${srcUrl}img`:`/img` + publicPath:env ?`${srcUrl}/img`:`/img` } }] }, diff --git a/webpack.dev.js b/webpack.dev.js index 28e5de1..e9181ae 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -26,7 +26,7 @@ port: 8011, // 代理配置 proxy:{ - "/lism": { + "/flb/cab": { // target: 'http://192.168.1.46:8096', target: 'https://t.finlean.com', // target: 'https://pre.finlean.com', -- Gitblit v1.8.0