幼儿园

- 金币
- 11
- 好评
- 0
- 信誉
- 100
|
学习通最新版 6.7.6,考试前的人脸提交。接口:/exam/phone/face-compare 需要的参数修改了,网上找到的都是过期的。
最新版通过调用APP的方法:CLIENT_FORM_SIGN,生成加密结果。
我要如何操作才可以知道这个加密参数是怎么实现的?
获取到的HTML代码片段
```js
function _jsBridgeReady(){
var icon_src = location.origin + _CP_ + '/images/phone/';
jsBridge.postNotification('CLIENT_CUSTOM_LEFTBTN', {show:'1',icon:{ios:{iconHd:icon_src + 'back_icon3x.png',icon:icon_src + 'back_icon3x.png'},android:{iconHd:icon_src + 'backLevel_android_h.png',icon:icon_src + 'backLevel_android_h.png'}},option:"customLeftBinAction()"});
jsBridge.postNotification('CLIENT_SWIPE_EXIT', {'forbiddenFlag': 1});
jsBridge && jsBridge.unbind('CLIENT_FORM_SIGN');
jsBridge && jsBridge.bind('CLIENT_FORM_SIGN', function(object){
var typeFlagObj = {};
try{
typeFlagObj = JSON.parse(object.typeFlag);
}catch(err){}
if(typeFlagObj.type == 'faceCompare'){
var count = (typeof object.checkCount != 'undefined' ? object.checkCount : '');
var ecode = (typeof object.extraInfo != 'undefined' && typeof object.extraInfo.code != 'undefined' ? object.extraInfo.code : '');
var cxcid = object.cxcid || '';
var cxtime = object.cxtime || '';
var signk = object.paramToken || '';
var signt = object.signToken || '';
window[typeFlagObj.funckey](cxcid,cxtime,signk,signt,object.result,count,ecode);
}
});
preFaceCompare();
}
```
人脸对比代码
```js
function faceCompare(cxcid,cxtime,signk,signt,code,count,ecode) {
var courseId = $("#courseId").val(),
classId = $("#classId").val(),
cpi = $("#cpi").val(),
relationid = $("#relationid").val(),
currentFaceId = $("#currentFaceId").val(),
liveDetectionStatus = $("#liveDetectionStatus").val(),
collectStatus = $("#collectStatus").val(),
recogType = $("#recogType").val(),
_provider = $("#_provider").val(),
sessionId = $("#sessionId").val(),
SenseDetectionStatus = $("#SenseDetectionStatus").val(),
tk = $("#tk").val();
var dataParam = {
relationid: relationid,
courseId: courseId,
classId: classId,
currentFaceId: currentFaceId,
liveDetectionStatus: liveDetectionStatus,
collectStatus: collectStatus,
recogType: recogType,
_provider: _provider,
sessionId: sessionId,
SenseDetectionStatus: SenseDetectionStatus,
tk: tk,
cpi: cpi,
_d: 'mobile'
};
if (signk != undefined) {
dataParam._signcode = code;
dataParam._signc = count;
dataParam._signe = ecode;
dataParam.signk = signk;
dataParam.cxcid = cxcid;
dataParam.cxtime = cxtime;
dataParam.signt = signt;
}
$.ajax({
url: _HOST_CP2_ + '/exam/phone/face-compare',
type: 'get',
dataType: 'json',
data: dataParam,
success: function (result) {
if (result.status) {
processResult(result.data);
} else {
openWindowHint(HINT_TYPE_TIME, '', result.msg, null, 2000);
}
},
error: function () {
openWindowHint(HINT_TYPE_TIME, '', '服务异常,请重新开始', null, 2000);
}
});
}
```
|
|