|
|
@ -58,16 +58,21 @@ |
|
|
|
|
|
|
|
|
|
|
|
<!-- 实名认证 --> |
|
|
|
<div class="btn" |
|
|
|
<view class="btn" |
|
|
|
@click="handleTakePhotoClick" |
|
|
|
v-if="tipsText == '请拍照' && type == 'auth'"> |
|
|
|
v-if="tipsText == successText && type == 'auth'"> |
|
|
|
立即核验 |
|
|
|
</div> |
|
|
|
</view> |
|
|
|
|
|
|
|
<!-- 人脸核验 --> |
|
|
|
<view class="btn" |
|
|
|
v-else-if="tipsText == successText && !isVerifyFace" |
|
|
|
@click="handleTakePhotoClick"> |
|
|
|
立即核验 |
|
|
|
</view> |
|
|
|
|
|
|
|
<div class="btn" |
|
|
|
@click="handleTakePhotoClick" |
|
|
|
v-else-if="tipsText == '请拍照'"> |
|
|
|
<view class="btn" |
|
|
|
v-else-if="tipsText == successText"> |
|
|
|
<uv-upload |
|
|
|
multiple |
|
|
|
:maxCount="1" |
|
|
@ -76,10 +81,10 @@ |
|
|
|
@afterRead="afterRead"> |
|
|
|
<view style="display: flex;justify-content: center; |
|
|
|
width: 600rpx;"> |
|
|
|
立即核验 |
|
|
|
拍照打卡 |
|
|
|
</view> |
|
|
|
</uv-upload> |
|
|
|
</div> |
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
</view> |
|
|
@ -109,6 +114,10 @@ |
|
|
|
isAuthCamera: true, // 是否拥有相机权限 |
|
|
|
|
|
|
|
type : '', |
|
|
|
|
|
|
|
isVerifyFace : false,//人脸核验是否成功 |
|
|
|
|
|
|
|
successText : '请保持不动',//成功文案 |
|
|
|
} |
|
|
|
}, |
|
|
|
computed: { |
|
|
@ -125,8 +134,8 @@ |
|
|
|
position.getLocationDetail() |
|
|
|
.then(res => { |
|
|
|
console.log(res); |
|
|
|
self.form.lat = res.position.latitude |
|
|
|
self.form.lon = res.position.longitude |
|
|
|
self.form.lat = res.latitude |
|
|
|
self.form.lon = res.longitude |
|
|
|
self.form.address = res.address |
|
|
|
if(self.isLocationSubmit){ |
|
|
|
self.submit() |
|
|
@ -150,39 +159,6 @@ |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 人脸认证通过后拍照 |
|
|
|
photo() { |
|
|
|
let self = this |
|
|
|
uni.chooseImage({ |
|
|
|
count: 1, //默认9 |
|
|
|
sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有 |
|
|
|
// sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有 |
|
|
|
sourceType: ['camera '], //这要注意,camera掉拍照,album是打开手机相册 |
|
|
|
success: function(res) { |
|
|
|
console.log(JSON.stringify(res.tempFilePaths)); |
|
|
|
//后续在这里上传文件 |
|
|
|
|
|
|
|
self.$Oss.ossUpload(res.tempFilePaths[0]).then(url => { |
|
|
|
self.form.pic = url |
|
|
|
|
|
|
|
if(self.form.lat){ |
|
|
|
self.submit() |
|
|
|
}else{ |
|
|
|
uni.showLoading({ |
|
|
|
title: '定位中...' |
|
|
|
}) |
|
|
|
self.isLocationSubmit = true |
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
// uni.navigateTo({ |
|
|
|
// url: "/pages/subPack/punchCard/punchCard" |
|
|
|
// }) |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
async submit(){ |
|
|
|
if (this.$utils.verificationAll(this.form, { |
|
|
|
lat : '经纬度缺失,请打开GPS', |
|
|
@ -212,6 +188,10 @@ |
|
|
|
}, |
|
|
|
// 初始化相机引擎 |
|
|
|
initData() { |
|
|
|
|
|
|
|
let createTime = new Date().getTime() |
|
|
|
let num = 0 |
|
|
|
|
|
|
|
// #ifdef MP-WEIXIN |
|
|
|
|
|
|
|
|
|
|
@ -246,18 +226,33 @@ |
|
|
|
roll, |
|
|
|
yaw |
|
|
|
} = face.angleArray; |
|
|
|
|
|
|
|
const standard = 0.5 |
|
|
|
|
|
|
|
let faseP = 0.98 |
|
|
|
|
|
|
|
if (Math.abs(pitch) >= standard || Math.abs(roll) >= standard || |
|
|
|
Math.abs(yaw) >= standard) { |
|
|
|
this.tipsText = '请平视摄像头' |
|
|
|
} else if (face.confArray.global <= 0.8 || face.confArray.leftEye <= |
|
|
|
0.8 || face.confArray.mouth <= 0.8 || face.confArray.nose <= 0.8 || |
|
|
|
face.confArray.rightEye <= 0.8) { |
|
|
|
} else if (face.confArray.global <= faseP || face.confArray.leftEye <= |
|
|
|
faseP || face.confArray.mouth <= faseP || face.confArray.nose <= faseP || |
|
|
|
face.confArray.rightEye <= faseP) { |
|
|
|
this.tipsText = '请勿遮挡五官' |
|
|
|
} else { |
|
|
|
this.tipsText = '请拍照' |
|
|
|
this.tipsText = this.successText |
|
|
|
// 这里可以写自己的逻辑了 |
|
|
|
// this.handleTakePhotoClick() |
|
|
|
|
|
|
|
// if(num > 2){ |
|
|
|
// uni.showToast({ |
|
|
|
// title: '人脸核验' |
|
|
|
// }) |
|
|
|
// return |
|
|
|
// } |
|
|
|
|
|
|
|
// if(createTime - new Date().getTime() > 2000){ |
|
|
|
|
|
|
|
// } |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
@ -279,8 +274,8 @@ |
|
|
|
|
|
|
|
// 拍照 |
|
|
|
handleTakePhotoClick() { |
|
|
|
if (this.tipsText != "" |
|
|
|
&& this.tipsText != "请拍照" |
|
|
|
if (this.tipsText != "" |
|
|
|
&& this.tipsText != this.successText |
|
|
|
&& !this.tempImg) { |
|
|
|
return; |
|
|
|
} |
|
|
@ -329,7 +324,26 @@ |
|
|
|
|
|
|
|
this.form.image = url |
|
|
|
|
|
|
|
if(!this.isVerifyFace){ |
|
|
|
this.clockVerifyFace() |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 人脸核验 |
|
|
|
clockVerifyFace(){ |
|
|
|
this.$api('clockVerifyFace', |
|
|
|
this.form, res => { |
|
|
|
if(res.code == 200){ |
|
|
|
uni.showToast({ |
|
|
|
title: '核验成功!', |
|
|
|
icon: 'icon' |
|
|
|
}) |
|
|
|
this.isVerifyFace = true |
|
|
|
}else{ |
|
|
|
uni.navigateBack(-1) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|