提交IE下活体检测代码

This commit is contained in:
袁帅
2022-10-28 17:23:46 +08:00
parent 38fd61e948
commit 2e5ae855f5
9 changed files with 4714 additions and 10975 deletions

View File

@ -14,11 +14,14 @@ export default class FrameFaceLogin extends React.Component {
componentDidMount() {
// 接收Iframe传递的数据
window.addEventListener("message", (e) => {
const{detectResult,actionAndTimer} = e.data|| {};
if(e.data == 'detectFinish'){
const{image,detectResult,actionAndTimer} = e.data|| {};
if(image){
this.props.faceCompareEvent2(image);
}
else if(detectResult){
this.props.faceCompareEvent(detectResult);
}else if(e.data == 'detectStatus'){
this.props.faceDetectStatusEvent(actionAndTimer.action, actionAndTimer.timer);
}else if(actionAndTimer){
this.props.faceDetectStatusEvent(actionAndTimer.arg1, actionAndTimer.arg2);
}
});
}

View File

@ -9,7 +9,7 @@ import { history } from 'umi';
import cookie from 'react-cookies';
import moment from 'moment';
import FrameFaceLogin from '../faceLogin/FrameFaceLogin';
import Living from './living.min.js';
import LivingNotIE from './living.min.js';
import { _KJUR } from './jsrsasign-latest-all-min';
import { time } from 'echarts';
@ -38,7 +38,7 @@ const Index: React.FC<{}> = () => {
const { TabPane } = Tabs;
const [submitLoading, setSubmitLoading] = useState<boolean>(false);
const [faceLoginDisable, setFaceLoginDisable] = useState<boolean>(false);
const lv = useRef<Living>();
const lv = useRef<LivingNotIE>();
const [timerShow, setTimeShow] = useState<boolean>(false);
const [itemShow, setItemShow] = useState<boolean>(false);
const [action, setAction] = useState<number>(1);
@ -75,7 +75,7 @@ const Index: React.FC<{}> = () => {
*/
const liveDetectStart = () => {
liveDetectStop();
let _lv = new Living(null, {
let _lv = new LivingNotIE(null, {
timer: 10000,
action : [1,3,2],
token: setLiveDetectToken(),
@ -428,14 +428,26 @@ const Index: React.FC<{}> = () => {
return new Blob([uInt8Array], { type: contentType });
};
const IELiveDetectFinish2 = async(data:any) => {
console.log(data);
setAction(4);
hanleFaceSubmit(data, null);
}
//IELiveDetectFinish
const IELiveDetectFinish = async (data: any) => {
setSubmitLoading(true);
setAction(4);
hanleFaceSubmit(base64ToBlob(data.file.file), null);
if(data.code != 0){
console.log(data);
setAction(4);
hanleFaceSubmit(data.file.file, null);
}else{
message.error('活体检测失败');
setSubmitLoading(false);
}
}
const UpdateDetectStatus = async(action:number, timer:number)=>{
setSubmitLoading(true);
setAction(action);
setTimer(timer);
}
@ -581,7 +593,7 @@ const Index: React.FC<{}> = () => {
</div>
</Form.Item> */}
<Form.Item>
{!whetherIE.current ? (<video ref={video} width="382" height="200"></video>) : (<FrameFaceLogin faceCompareEvent={IELiveDetectFinish} faceDetectStatusEvent = {UpdateDetectStatus}/>)}
{!whetherIE.current ? (<video ref={video} width="382" height="200"></video>) : (<FrameFaceLogin faceCompareEvent2={IELiveDetectFinish2} faceCompareEvent={IELiveDetectFinish} faceDetectStatusEvent = {UpdateDetectStatus}/>)}
{/* <video ref={video} width="382" height="200"></video> */}
</Form.Item>
<Form.Item>