From 2fdc3dc444a2f8199866780205c0fa4b5ac40522 Mon Sep 17 00:00:00 2001 From: liuwh <hugeinfo123> Date: Fri, 29 May 2020 10:38:46 +0800 Subject: [PATCH] 指纹登记与对比 --- SunshineIns/src/copy/fingerprint/js/fingerprint.js | 1117 ++++++++++++++++++++++++---------------------------------- 1 files changed, 456 insertions(+), 661 deletions(-) diff --git a/SunshineIns/src/copy/fingerprint/js/fingerprint.js b/SunshineIns/src/copy/fingerprint/js/fingerprint.js index 138ada4..0ff39a7 100644 --- a/SunshineIns/src/copy/fingerprint/js/fingerprint.js +++ b/SunshineIns/src/copy/fingerprint/js/fingerprint.js @@ -31,9 +31,9 @@ //是否是访客 var isVisPager = false; //定义驱动的版本号 -var fpDriverVersion="5.0.0.1"; +var fpDriverVersion = "5.0.0.1"; //是否为比对功能 -var isComp= false; +var isComp = false; /** * 加载xml中ISSOnline_server的ip和port @@ -41,30 +41,27 @@ * @create 2013-06-15 15:01:31 pm * @param url 加载xml的url */ -function loadXml(url) -{ - $.ajax( { - type : "GET", - url : url, - dataType : "xml", +function loadXml(url) { + $.ajax({ + type: "GET", + url: url, + dataType: "xml", async: false, - success : function(xml) - { - $(xml).find('service').each(function(){ + success: function (xml) { + $(xml).find('service').each(function () { var service = $(this); - serverIp = service.find('ISSOnline_serverIp').text(); + serverIp = service.find('ISSOnline_serverIp').text(); serverPort = service.find('ISSOnline_serverPort').text(); }) }, - error : function(XMLHttpRequest, textStatus, errorThrown) - { + error: function (XMLHttpRequest, textStatus, errorThrown) { //如果取配置文件出错,则设置默认 serverIp = "127.0.0.1"; serverPort = "22001"; - } + } }); //给issOnlineUrl赋值 - issOnlineUrl = "http://"+serverIp+":"+serverPort+"/ZKBIOOnline"; + issOnlineUrl = "http://" + serverIp + ":" + serverPort + "/ZKBIOOnline"; } /** @@ -74,22 +71,17 @@ * @param fingerIdList 数据库查询的指纹标记 * @param templateList 数据库查询的指纹模板 */ -function loadFPDataTemplate(fingerIdList, templateList) -{ - if(fingerIdList == "[]") - { +function loadFPDataTemplate(fingerIdList, templateList) { + if (fingerIdList == "[]") { $("#fingerId").val(" "); - } - else - { + } + else { $("#fingerId").val(fingerIdList); } - if(templateList == "[]") - { + if (templateList == "[]") { $("#fingerTemplate10").val(" "); - } - else - { + } + else { $("#fingerTemplate10").val(templateList); } } @@ -100,24 +92,20 @@ * @author wenxin * @create 2013-08-09 17:24:31 pm */ -function getBrowserType() -{ +function getBrowserType() { var browserFlag = ""; - //是否支持html5的cors跨域 - if (typeof(Worker) !== "undefined") - { - browserFlag = "html5"; - } - //此处判断ie8、ie9 - else if(navigator.userAgent.indexOf("MSIE 8.0")>0 || navigator.userAgent.indexOf("MSIE 9.0")>0) - { - browserFlag = "simple"; - } - else - { + //是否支持html5的cors跨域 + if (typeof (Worker) !== "undefined") { + browserFlag = "html5"; + } + //此处判断ie8、ie9 + else if (navigator.userAgent.indexOf("MSIE 8.0") > 0 || navigator.userAgent.indexOf("MSIE 9.0") > 0) { + browserFlag = "simple"; + } + else { browserFlag = "upgradeBrowser";//当前浏览器不支持该功能,请升级浏览器 } - return browserFlag; + return browserFlag; } /** @@ -128,28 +116,22 @@ * @param paramArray 存放国际化元素的数组 * @param isFPLogin 是否是指纹登录 true:是;false:否 */ -function checkDriver(paramArray, browserFlag, isFPLogin) -{ +function checkDriver(paramArray, browserFlag, isFPLogin) { var hrefStr = ""; - if(browserFlag == "html5") - { + if (browserFlag == "html5") { // 发送一个请求,检查是否安装驱动 getWebServerInfo(paramArray, isFPLogin, "0"); } - else if(browserFlag == "simple") - { + else if (browserFlag == "simple") { //发送一个请求,检查是否安装驱动 getWebServerInfoForSimple(paramArray, isFPLogin, "0"); } - else if(browserFlag == "upgradeBrowser") - { - if($("#userLoginForm [name='fingerLogin']").val() != undefined) - { + else if (browserFlag == "upgradeBrowser") { + if ($("#userLoginForm [name='fingerLogin']").val() != undefined) { $("#userLoginForm [name='fingerLogin']").attr("onclick", ""); $("#userLoginForm [name='fingerLogin']").attr("title", "当前浏览器不支持改功能,请升级浏览器!"); } - if($("#fpRegister").val() != undefined) - { + if ($("#fpRegister").val() != undefined) { $("#fpRegister").attr("onclick", ""); $("#fpRegister").attr("title", "当前浏览器不支持改功能,请升级浏览器!"); } @@ -165,32 +147,27 @@ * @param type 0 表示发送完请求后,还有别的操作。1 表示发送完请求后,没有其余的操作了 * @create 2013-08-09 17:24:31 pm */ -function getWebServerInfo(paramArray, isFPLogin, type) -{ - $.ajax( { - type : "GET", - url : issOnlineUrl+"/info", - dataType : "json", +function getWebServerInfo(paramArray, isFPLogin, type) { + $.ajax({ + type: "GET", + url: issOnlineUrl + "/info", + dataType: "json", async: true, //timeout:1000, - success : function(result) - { + success: function (result) { //检查驱动 - if(type == "0") - { + if (type == "0") { getWebServerInfoCallBack(result, paramArray, isFPLogin); } //检查动态库连接 - else if(type == "1") - { - getDLLConnectCallBack(result,isComp); + else if (type == "1") { + getDLLConnectCallBack(result, isComp); } - + }, - error : function(XMLHttpRequest, textStatus, errorThrown) - { - - } + error: function (XMLHttpRequest, textStatus, errorThrown) { + + } }); } @@ -202,34 +179,28 @@ * @param type 0 表示发送完请求后,还有别的操作。1 表示发送完请求后,没有其余的操作了 * @create 2013-08-09 17:24:31 pm */ -function getWebServerInfoForSimple(paramArray, isFPLogin, type) -{ +function getWebServerInfoForSimple(paramArray, isFPLogin, type) { //创建XDomainRequest实例,用于ie8和ie9跨域访问 var xDomainRequest = new XDomainRequest(); //如果xDomainRequest存在,则可以使用xDomainRequest函数,否则,说明不是ie浏览器 - if (xDomainRequest) - { - xDomainRequest.open('GET', issOnlineUrl+"/info?random="+getRandomNum()); - xDomainRequest.onload = function() - { + if (xDomainRequest) { + xDomainRequest.open('GET', issOnlineUrl + "/info?random=" + getRandomNum()); + xDomainRequest.onload = function () { //检查驱动 - if(type == "0") - { + if (type == "0") { getInfoForSimpleCallBack(xDomainRequest, paramArray, isFPLogin); } //检查动态库连接 - else if(type == "1") - { - getDLLConnectCallBack(xDomainRequest,isComp); + else if (type == "1") { + getDLLConnectCallBack(xDomainRequest, isComp); } - }; - xDomainRequest.onerror = function() - { + }; + xDomainRequest.onerror = function () { //用完后,将对象置为空 xDomainRequest = null; }; - xDomainRequest.send(); - } + xDomainRequest.send(); + } } @@ -238,21 +209,17 @@ * @author wenxin * @create 2013-08-09 17:24:31 pm */ -function getWebServerInfoCallBack(result, paramArray, isFPLogin) -{ +function getWebServerInfoCallBack(result, paramArray, isFPLogin) { //返回码 var ret = null; ret = result.ret; //接口调用成功返回时 - if(ret == 0) - { - if(isFPLogin) - { + if (ret == 0) { + if (isFPLogin) { //显示指纹登录 showFPVerify(paramArray); } - else - { + else { //显示登记--可以点击采集指纹 showRegister(paramArray); //计算指纹数量${pers_person_templateCount}:指纹数 @@ -260,11 +227,11 @@ //鼠标over事件 //mouseOverEvent(); // 对比指纹驱动 - if (result.data&&result.data.server_version){ - compareFPDriver(result.data.server_version); + if (result.data && result.data.server_version) { + compareFPDriver(result.data.server_version); } } - + } } @@ -274,8 +241,7 @@ * @create 2013-06-14 10:09:20 am * @param paramArray 存放国际化元素的数组 */ -function showFPVerify(paramArray) -{ +function showFPVerify(paramArray) { $("#userLoginForm .but_fing_disabled").hide(); $("#userLoginForm .but_fing").show(); } @@ -286,14 +252,13 @@ * @create 2013-06-14 10:09:20 am * @param paramArray 存放国际化元素的数组 */ -function showRegister(paramArray) -{ +function showRegister(paramArray) { var hrefStr = ""; - var param = '"'+paramArray[0]+'", "'+paramArray[1]+'", "'+paramArray[2]+'", '+null+''; + var param = '"' + paramArray[0] + '", "' + paramArray[1] + '", "' + paramArray[2] + '", ' + null + ''; $("#fpRegister").remove(); $("#downloadDriver").remove(); //webservice接口调用成功,说明驱动已经安装 - hrefStr = "<a id='fpRegister' onclick='submitRegister("+param+", true"+")' title='"+paramArray[3]+"' class='linkStyle'>"+paramArray[3]+"</a>"; + hrefStr = "<button id='fpRegister' onclick='submitRegister(" + param + ", true" + ")' title='" + paramArray[3] + "' class='linkStyle'>" + paramArray[3] + "</button>"; $("#fpRegisterDiv").append(hrefStr); } @@ -303,9 +268,8 @@ * @create 2013-04-25 11:31:20 am * */ -function showFPCountInit(fingerIdCount, text) -{ - $("#fpCountMessage").text(text +" "+ fingerIdCount); +function showFPCountInit(fingerIdCount, text) { + $("#fpCountMessage").text(text + " " + fingerIdCount); } /** @@ -314,28 +278,23 @@ * @param oldVersion 旧驱动版本 * @create 2015-01-28 17:24:31 pm */ -function compareFPDriver(oldVersion) -{ - var existVersion = fpDriverVersion +function compareFPDriver(oldVersion) { + var existVersion = fpDriverVersion var curVersion = oldVersion;//3.5.2 var existVersionArr = existVersion.split("."); var curVersionArr = curVersion.split("."); var isLast = true; var len = existVersionArr.length; - for(var i=len;i>0;i--) - { - var existVersionTemp = parseInt(existVersionArr[i-1]); - var curVersionTemp = parseInt(curVersionArr[i-1]); - if(existVersionTemp<curVersionTemp) - { + for (var i = len; i > 0; i--) { + var existVersionTemp = parseInt(existVersionArr[i - 1]); + var curVersionTemp = parseInt(curVersionArr[i - 1]); + if (existVersionTemp < curVersionTemp) { isLast = false; } - else if(existVersionTemp>curVersionTemp) - { + else if (existVersionTemp > curVersionTemp) { isLast = true; } - else - { + else { //等于 忽略 } } @@ -345,9 +304,9 @@ * @author gordon.zhang * @create 2015-01-28 17:24:31 pm */ -function showNewDriver(){ - var hrefStr = "<a id='downloadDriver' href='base/middleware/zkbioonline.exe' title='下载新驱动'>下载新驱动</a>"; - $("#driverDownload").append(hrefStr); +function showNewDriver() { + var hrefStr = "<a id='downloadDriver' href='base/middleware/zkbioonline.exe' title='下载新驱动'>下载新驱动</a>"; + $("#driverDownload").append(hrefStr); } /** @@ -357,32 +316,27 @@ * @param isFPLogin 是否是指纹登录 true:是;false:否 * @create 2013-08-09 17:43:31 pm */ -function getInfoForSimpleCallBack(xDomainRequest, paramArray, isFPLogin) -{ +function getInfoForSimpleCallBack(xDomainRequest, paramArray, isFPLogin) { //获取接口返回值 var resultData = xDomainRequest.responseText; //转化为json对象 var obj = jQuery.parseJSON(resultData); //返回码 var ret = null; - if(obj != null && obj.ret != undefined) - { + if (obj != null && obj.ret != undefined) { ret = obj.ret; } //接口调用成功返回时 - if(ret == 0) - { - if(isFPLogin) - { + if (ret == 0) { + if (isFPLogin) { //显示指纹比对 showFPVerify(paramArray); } - else - { + else { //显示登记--点击采集指纹 showRegister(paramArray); //计算指纹数量${pers_person_templateCount}:指纹数 - + showFPCountInit(paramArray[5], paramArray[6]); //鼠标over事件 //mouseOverEvent(); @@ -402,37 +356,32 @@ * @param downloadText 驱动安装国际化内容 * @param isDriverInstall 是否安装了驱动 */ -function submitRegister(title, fpCount, saveText, downloadText, isDriverInstall) -{ +function submitRegister(title, fpCount, saveText, downloadText, isDriverInstall) { //支持html5 - if (typeof(Worker) !== "undefined" && isDriverInstall) - { - var box=document.getElementById("box"); - var bg=document.getElementById("bg"); - box.style.display="block";//显示内容层,显示覆盖层 - box.style.left=parseInt((document.documentElement.scrollWidth-box.offsetWidth)/2)+document.documentElement.scrollLeft+"px"; - box.style.top=Math.abs(parseInt((document.documentElement.clientHeight-box.offsetHeight)/2))+document.documentElement.scrollTop+"px"; //为内容层设置位置 - bg.style.display="block"; - bg.style.height=document.documentElement.scrollHeight+"px"; - isComp=false; - dataInitReg(); - //关闭页面时,提示保存数据 + if (typeof (Worker) !== "undefined" && isDriverInstall) { + var box = document.getElementById("box"); + var bg = document.getElementById("bg"); + box.style.display = "block";//显示内容层,显示覆盖层 + box.style.left = parseInt((document.documentElement.scrollWidth - box.offsetWidth) / 2) + document.documentElement.scrollLeft + "px"; + box.style.top = Math.abs(parseInt((document.documentElement.clientHeight - box.offsetHeight) / 2)) + document.documentElement.scrollTop + "px"; //为内容层设置位置 + bg.style.display = "block"; + bg.style.height = document.documentElement.scrollHeight + "px"; + isComp = false; + dataInitReg(); + //关闭页面时,提示保存数据 //storeBeforeClose(fpCount, saveText); - } - else if(typeof(Worker) == "undefined" && isDriverInstall) - { - //createWindow('base_baseFPRegisterSimple.action?random=' + getRandomNum() + '^0^0^465^460^' + title);//public/html/applet.html - showModalDialog('webapp/html/baseFPRegisterSimple.html',title,'dialogWidth:465px;dialogHeight:460px;dialogLeft:600px;dialogTop:150px;center:yes;resizable:no;status:yes'); - //关闭页面时,提示保存数据 + } + else if (typeof (Worker) == "undefined" && isDriverInstall) { + //createWindow('base_baseFPRegisterSimple.action?random=' + getRandomNum() + '^0^0^465^460^' + title);//public/html/applet.html + showModalDialog('webapp/html/baseFPRegisterSimple.html', title, 'dialogWidth:465px;dialogHeight:460px;dialogLeft:600px;dialogTop:150px;center:yes;resizable:no;status:yes'); + //关闭页面时,提示保存数据 //storeBeforeClose(fpCount, saveText); - } - else if(!isDriverInstall) - { + } + else if (!isDriverInstall) { alert("请安装指纹驱动或启动该服务!"); //messageBox({messageType: "alert", title: "提示", text: "请安装指纹驱动或启动该服务!"}); - if(typeof($("#downloadDriver").val()) == "undefined") - { - var hrefStr = "<a id='downloadDriver' href='webapp/middleware/zkbioonline.exe' title='" + downloadText + "'>"+downloadText+"</a>"; + if (typeof ($("#downloadDriver").val()) == "undefined") { + var hrefStr = "<a id='downloadDriver' href='webapp/middleware/zkbioonline.exe' title='" + downloadText + "'>" + downloadText + "</a>"; $("#driverDownload").append(hrefStr); } } @@ -446,22 +395,19 @@ * @param fpCount 指纹数国际化内容 * @param saveText 提示:是否保存国际化内容 */ -function storeBeforeClose(fpCount, saveText) -{ - //关闭页面时,监听关闭的onclick事件 - getCurrentWindow().button("close").attachEvent("onClick", function(){ +function storeBeforeClose(fpCount, saveText) { + //关闭页面时,监听关闭的onclick事件 + getCurrentWindow().button("close").attachEvent("onClick", function () { //判断是否修改了数据(包括新增和删除) - if ($("#whetherModify").val() != undefined && (fpModifyFlag != undefined && fpModifyFlag)) - { + if ($("#whetherModify").val() != undefined && (fpModifyFlag != undefined && fpModifyFlag)) { //获取指纹标记数据 var fingerIdData = fingerIdArray; //获取指纹模板数据 var fingerTemplateData = templateDataArray; - var flag=confirm(saveText); + var flag = confirm(saveText); saveFPData(flag, fpCount); } - else - { + else { //取消采集 cancelRegister(); //将定时器的递归调用关闭 @@ -478,21 +424,19 @@ * @create 2013-05-13 10:18:31 am * @param */ -function getDataFromPage() -{ - var fingerId = $("#fingerId").val(); - var fingerTemplate = $("#fingerTemplate10").val(); - //如果有数据 - if($.trim(fingerId) != "") - { - fingerId = fingerId.substr(1, fingerId.length-2); - fingerTemplate = fingerTemplate.substr(1, fingerTemplate.length-2); - fingerIdArray = fingerId.split(","); - templateDataArray = fingerTemplate.split(","); - }else{ - fingerIdArray=new Array(); - templateDataArray=new Array(); - } +function getDataFromPage() { + var fingerId = $("#fingerId").val(); + var fingerTemplate = $("#fingerTemplate10").val(); + //如果有数据 + if ($.trim(fingerId) != "") { + fingerId = fingerId.substr(1, fingerId.length - 2); + fingerTemplate = fingerTemplate.substr(1, fingerTemplate.length - 2); + fingerIdArray = fingerId.split(","); + templateDataArray = fingerTemplate.split(","); + } else { + fingerIdArray = new Array(); + templateDataArray = new Array(); + } } /** @@ -500,21 +444,20 @@ * @author wenxin * @create 2013-06-15 15:40:31 pm */ -function initCoordJson() -{ - var coordJson = [{"num" : 0, "coord" : {"x" : x + 3, "y" : y - 37}}, - {"num" : 1, "coord" : {"x" : x + 25, "y" : y - 37}}, - {"num" : 2, "coord" : {"x" : x + 47, "y" : y - 34}}, - {"num" : 3, "coord" : {"x" : x + 67, "y" : y - 26}}, - {"num" : 4, "coord" : {"x" : x + 77, "y" : y + 18}}, - {"num" : 5, "coord" : {"x" : x + 153, "y" : y + 34}}, - {"num" : 6, "coord" : {"x" : x + 159, "y" : y - 19}}, - {"num" : 7, "coord" : {"x" : x + 177, "y" : y - 30}}, - {"num" : 8, "coord" : {"x" : x + 198, "y" : y - 36}}, - {"num" : 9, "coord" : {"x" : x + 220, "y" : y - 36}}, - {"num" : 10, "coord" : {"x" : x, "y" : y}}, - {"num" : 11, "coord" : {"x" : x + 170, "y" : y + 12}}, - {"num" : 12, "coord" : {"x" : x + 210, "y" : y - 346}}]; +function initCoordJson() { + var coordJson = [{ "num": 0, "coord": { "x": x + 3, "y": y - 37 } }, + { "num": 1, "coord": { "x": x + 25, "y": y - 37 } }, + { "num": 2, "coord": { "x": x + 47, "y": y - 34 } }, + { "num": 3, "coord": { "x": x + 67, "y": y - 26 } }, + { "num": 4, "coord": { "x": x + 77, "y": y + 18 } }, + { "num": 5, "coord": { "x": x + 153, "y": y + 34 } }, + { "num": 6, "coord": { "x": x + 159, "y": y - 19 } }, + { "num": 7, "coord": { "x": x + 177, "y": y - 30 } }, + { "num": 8, "coord": { "x": x + 198, "y": y - 36 } }, + { "num": 9, "coord": { "x": x + 220, "y": y - 36 } }, + { "num": 10, "coord": { "x": x, "y": y } }, + { "num": 11, "coord": { "x": x + 170, "y": y + 12 } }, + { "num": 12, "coord": { "x": x + 210, "y": y - 346 } }]; return coordJson; } @@ -526,10 +469,8 @@ * @param x, y 绘画手指的起点的坐标 * @param num 手指、手掌编号0-9:手指编号;10:左手掌,11:右手掌,12:圆弧。 */ -function initCoordArray(coordArray, x, y, num) -{ - if(num == 0) - { +function initCoordArray(coordArray, x, y, num) { + if (num == 0) { coordArray[0] = new Coord(x, y); coordArray[1] = new Coord(x + 2, y - 35); coordArray[2] = new Coord(x + 5, y - 40); @@ -542,8 +483,7 @@ coordArray[9] = new Coord(x + 3, y + 5); coordArray[10] = new Coord(x, y); } - else if(num == 1) - { + else if (num == 1) { coordArray[0] = new Coord(x, y); coordArray[1] = new Coord(x + 8, y - 50); coordArray[2] = new Coord(x + 12, y - 54); @@ -556,8 +496,7 @@ coordArray[9] = new Coord(x + 3, y + 4); coordArray[10] = new Coord(x, y); } - else if(num == 2) - { + else if (num == 2) { coordArray[0] = new Coord(x, y); coordArray[1] = new Coord(x + 14, y - 54); coordArray[2] = new Coord(x + 16, y - 57); @@ -570,8 +509,7 @@ coordArray[9] = new Coord(x + 1, y + 5); coordArray[10] = new Coord(x, y); } - else if(num == 3) - { + else if (num == 3) { coordArray[0] = new Coord(x, y); coordArray[1] = new Coord(x + 19, y - 37); coordArray[2] = new Coord(x + 21, y - 39); @@ -584,7 +522,7 @@ coordArray[9] = new Coord(x + 1, y + 6); coordArray[10] = new Coord(x, y); } - else if(num == 4){ + else if (num == 4) { coordArray[0] = new Coord(x, y); coordArray[1] = new Coord(x + 30, y - 18); coordArray[2] = new Coord(x + 34, y - 17); @@ -598,8 +536,7 @@ coordArray[10] = new Coord(x - 2, y + 8); coordArray[11] = new Coord(x, y); } - else if(num == 5) - { + else if (num == 5) { coordArray[0] = new Coord(x, y); coordArray[1] = new Coord(x - 26, y - 21); coordArray[2] = new Coord(x - 27, y - 24); @@ -612,8 +549,7 @@ coordArray[9] = new Coord(x + 7, y + 1); coordArray[10] = new Coord(x, y); } - else if(num == 6) - { + else if (num == 6) { coordArray[0] = new Coord(x, y); coordArray[1] = new Coord(x - 17, y - 46); coordArray[2] = new Coord(x - 17, y - 50); @@ -626,8 +562,7 @@ coordArray[9] = new Coord(x + 4, y + 2); coordArray[10] = new Coord(x, y); } - else if(num == 7) - { + else if (num == 7) { coordArray[0] = new Coord(x, y); coordArray[1] = new Coord(x - 12, y - 54); coordArray[2] = new Coord(x - 10, y - 58); @@ -640,8 +575,7 @@ coordArray[9] = new Coord(x + 5, y + 4); coordArray[10] = new Coord(x, y); } - else if(num == 8) - { + else if (num == 8) { coordArray[0] = new Coord(x, y); coordArray[1] = new Coord(x - 5, y - 50); coordArray[2] = new Coord(x - 2, y - 54); @@ -654,8 +588,7 @@ coordArray[9] = new Coord(x + 4, y + 5); coordArray[10] = new Coord(x, y); } - else if(num == 9) - { + else if (num == 9) { coordArray[0] = new Coord(x, y); coordArray[1] = new Coord(x, y - 37); coordArray[2] = new Coord(x + 3, y - 41); @@ -668,8 +601,7 @@ coordArray[9] = new Coord(x + 3, y + 4); coordArray[10] = new Coord(x, y); } - else if(num == 10) - { + else if (num == 10) { coordArray[0] = new Coord(x, y); coordArray[1] = new Coord(x + 2, y - 8); coordArray[2] = new Coord(x + 6, y - 16); @@ -680,7 +612,7 @@ coordArray[7] = new Coord(x + 64, y - 16); coordArray[8] = new Coord(x + 69, y - 11); coordArray[9] = new Coord(x + 73, y - 3); - + coordArray[10] = new Coord(x + 73, y + 10); coordArray[11] = new Coord(x + 71, y + 18); coordArray[12] = new Coord(x + 57, y + 40); @@ -693,8 +625,7 @@ coordArray[19] = new Coord(x + 2, y + 29); coordArray[20] = new Coord(x, y); } - else if(num == 11) - { + else if (num == 11) { coordArray[0] = new Coord(x, y); coordArray[1] = new Coord(x - 2, y - 10); coordArray[2] = new Coord(x + 1, y - 20); @@ -705,7 +636,7 @@ coordArray[7] = new Coord(x + 68, y - 26); coordArray[8] = new Coord(x + 72, y - 16); coordArray[9] = new Coord(x + 72, y + 13); - + coordArray[10] = new Coord(x + 68, y + 22); coordArray[11] = new Coord(x + 62, y + 29); coordArray[12] = new Coord(x + 60, y + 30); @@ -715,8 +646,7 @@ coordArray[16] = new Coord(x + 16, y + 29); coordArray[17] = new Coord(x, y); } - else if(num == 12) - { + else if (num == 12) { coordArray[0] = new Coord(x - 10, y); coordArray[1] = new Coord(x + 212, y); coordArray[2] = new Coord(x + 212, y + 129); @@ -727,7 +657,7 @@ coordArray[7] = new Coord(x + 142, y + 127); coordArray[8] = new Coord(x + 133, y + 125); coordArray[9] = new Coord(x + 114, y + 120); - + coordArray[10] = new Coord(x + 97, y + 113); coordArray[11] = new Coord(x + 86, y + 108); coordArray[12] = new Coord(x + 72, y + 100); @@ -746,8 +676,7 @@ * @author wenxin * @create 2013-05-31 18:01:33 pm */ -var Coord = function(x, y) -{ +var Coord = function (x, y) { this.x = x; this.y = y; } @@ -761,40 +690,31 @@ * @param renderFlag 渲染标记 stroke:绘画边线;fill:填充 * @param color 渲染颜色 */ -var renderFinger = function(context, pointArray) -{ +var renderFinger = function (context, pointArray) { this.context = context; this.pointArray = pointArray; this.isClick = false; - this.drawFinger = function(renderFlag, color) - { - if(renderFlag == "stroke") - { + this.drawFinger = function (renderFlag, color) { + if (renderFlag == "stroke") { this.context.strokeStyle = color; } - else if(renderFlag == "fill") - { + else if (renderFlag == "fill") { this.context.fillStyle = color; } this.context.lineWidth = 1; this.context.beginPath(); - for(var i=0; i<this.pointArray.length; i++) - { - if(i == 0) - { + for (var i = 0; i < this.pointArray.length; i++) { + if (i == 0) { this.context.moveTo(this.pointArray[0].x, this.pointArray[0].y); } - else - { + else { this.context.lineTo(this.pointArray[i].x, this.pointArray[i].y); } } - if(renderFlag == "stroke") - { + if (renderFlag == "stroke") { this.context.stroke(); } - else if(renderFlag == "fill") - { + else if (renderFlag == "fill") { this.context.fill(); } }; @@ -808,36 +728,28 @@ * @param num 当前需要渲染的手指编号 * @param browserFlag 浏览器标记 simple:简易版本,表示是ie浏览器;html5:表示支持html5的浏览器 */ -function renderInit(context, num, browserFlag) -{ +function renderInit(context, num, browserFlag) { var fingerId; - for(var i=0; i<fingerIdArray.length; i++) - { + for (var i = 0; i < fingerIdArray.length; i++) { fingerId = eval(fingerIdArray[i]); - if(fingerId >= DURESS_FINGER_NUM) - { - fingerId = fingerId -DURESS_FINGER_NUM; - if(browserFlag == "html5") - { - if(fingerId == num) - { + if (fingerId >= DURESS_FINGER_NUM) { + fingerId = fingerId - DURESS_FINGER_NUM; + if (browserFlag == "html5") { + if (fingerId == num) { context.fillStyle = "red"; context.fill(); - } + } } } - else - { - if(browserFlag == "html5"){ - if(fingerId == num) - { + else { + if (browserFlag == "html5") { + if (fingerId == num) { context.fillStyle = "rgb(122,193,66)"; context.fill(); } } } - if(browserFlag == "simple") - { + if (browserFlag == "simple") { document.getElementById("finger" + fingerId).checked = true; } } @@ -850,16 +762,15 @@ * @param context 2d画布上下文 * @param browserFlag 浏览器标记 simple:简易版本,表示是ie浏览器;html5:表示支持html5的浏览器 */ -function showImage(context, base64FPImg, browserFlag) -{ +function showImage(context, base64FPImg, browserFlag) { var img; - var imgSrc = "data:image/jpg;base64,"+base64FPImg; - if(browserFlag == "html5"){ + var imgSrc = "data:image/jpg;base64," + base64FPImg; + if (browserFlag == "html5") { img = new Image(); //img.src = sysCfg.rootPath + "/public/html/bmpFile1.jpg"; img.src = ""; img.src = imgSrc; - img.onload=function() { + img.onload = function () { // 保存当前的绘图状态 context.save(); // 开始创建路径 @@ -871,17 +782,16 @@ // 剪切路径 context.clip(); //将图片画到画布上 - context.drawImage(img, 70, 70, 112, 145); + context.drawImage(img, 70, 70, 112, 145); //调用restore最后一次存储的状态会被恢复 - context.restore(); - } + context.restore(); + } } - else if(browserFlag == "verification") - { + else if (browserFlag == "verification") { img = new Image(); img.src = ""; img.src = imgSrc; - img.onload=function() { + img.onload = function () { // 保存当前的绘图状态 context.save(); // 开始创建路径 @@ -893,28 +803,25 @@ // 剪切路径 context.clip(); //将图片画到画布上 - context.drawImage(img, 37, 90, 112, 145); + context.drawImage(img, 37, 90, 112, 145); //调用restore最后一次存储的状态会被恢复 - context.restore(); - } + context.restore(); + } } - else if(browserFlag == "clearForVerify" || browserFlag == "clearForRegister") - { + else if (browserFlag == "clearForVerify" || browserFlag == "clearForRegister") { img = new Image(); img.src = ""; img.src = base64FPImg; - img.onload=function() { + img.onload = function () { // 保存当前的绘图状态 context.save(); // 开始创建路径 context.beginPath(); // 画一个椭圆 - if(browserFlag == "clearForVerify") - { + if (browserFlag == "clearForVerify") { context.oval(91, 160, 112, 145); } - else if(browserFlag == "clearForRegister") - { + else if (browserFlag == "clearForRegister") { context.oval(125, 142, 132, 165); } // 关闭路径 @@ -922,29 +829,24 @@ // 剪切路径 context.clip(); //将图片画到画布上 - if(browserFlag == "clearForVerify") - { + if (browserFlag == "clearForVerify") { context.drawImage(img, 12, 54, 160, 213); } - else if(browserFlag == "clearForRegister") - { - context.drawImage(img, 60, 60, 132, 165); - } + else if (browserFlag == "clearForRegister") { + context.drawImage(img, 60, 60, 132, 165); + } //调用restore最后一次存储的状态会被恢复 - context.restore(); - } + context.restore(); + } } - else if(browserFlag == "simple") - { - $("#showFPImageDiv").html("<img src="+imgSrc+" width='112' height='145' />"); + else if (browserFlag == "simple") { + $("#showFPImageDiv").html("<img src=" + imgSrc + " width='112' height='145' />"); } - else if(browserFlag == "verifySimple") - { + else if (browserFlag == "verifySimple") { $("#showSeachingDiv").show(); $("#showSeachingDiv").html(" <img src=\"/public/images/searching.gif\" width='20' height='20'/></br><label style='color:yellow;align:center;font-size: 14px;'>处理中...</label>"); } - else if(browserFlag == "clearForSimple") - { + else if (browserFlag == "clearForSimple") { $("#showFPImageDiv").html(""); } } @@ -957,24 +859,19 @@ * @param pointArray 坐标点数组 * @param color 渲染颜色 */ -var renderHand = function(context, pointArray) -{ +var renderHand = function (context, pointArray) { this.context = context; this.pointArray = pointArray; this.isClick = false; - this.drawHand = function(color) - { + this.drawHand = function (color) { this.context.strokeStyle = color; this.context.lineWidth = 1; this.context.beginPath(); - for(var i=0; i<this.pointArray.length; i++) - { - if(i == 0) - { + for (var i = 0; i < this.pointArray.length; i++) { + if (i == 0) { this.context.moveTo(this.pointArray[0].x, this.pointArray[0].y); } - else - { + else { this.context.lineTo(this.pointArray[i].x, this.pointArray[i].y); } } @@ -990,38 +887,31 @@ * @param paramArray 存放国际化元素的数组 * @param browserFlag 浏览器标记 simple:简易版本,表示是ie浏览器;html5:表示支持html5的浏览器 */ -function checkFPReader(context, paramArray, browserFlag) -{ - if(browserFlag == "html5") - { - $.ajax( { - type : "GET", - url : issOnlineUrl+"/fingerprint/beginCapture?type=1&FakeFunOn=0&random="+getRandomNum(), - dataType : "json", +function checkFPReader(context, paramArray, browserFlag) { + if (browserFlag == "html5") { + $.ajax({ + type: "GET", + url: issOnlineUrl + "/fingerprint/beginCapture?type=1&FakeFunOn=0&random=" + getRandomNum(), + dataType: "json", async: false, //timeout:1000, - success : function(result) - { + success: function (result) { //返回码 var ret = null; ret = result.ret; //接口调用成功返回时 - if(ret == 0) - { + if (ret == 0) { //显示框--采集提示 collectTips(context, paramArray[0], "html5"); } - else if(ret == -2001) - { + else if (ret == -2001) { //显示框--采集提示 collectTips(context, paramArray[1], "html5"); } - else if(ret == -2002) - { + else if (ret == -2002) { getWebServerInfo(null, null, "1"); } - else if(ret == -2005) - { + else if (ret == -2005) { //显示框--采集提示 collectTips(context, paramArray[3], "html5"); } @@ -1029,59 +919,50 @@ //取消采集 cancelRegister(); }, - error : function(XMLHttpRequest, textStatus, errorThrown) - { + error: function (XMLHttpRequest, textStatus, errorThrown) { alert("请安装指纹驱动或启动该服务!"); //messageBox({messageType: "alert", title: "${common_prompt_title}", text: "${base_fp_connectPrompt}"}); - } + } }); } - else if(browserFlag == "simple") - { + else if (browserFlag == "simple") { //创建XDomainRequest实例,用于ie8和ie9跨域访问 var xDomainRequest = new XDomainRequest(); //如果xDomainRequest存在,则可以使用xDomainRequest函数,否则,说明不是ie浏览器 - if (xDomainRequest) - { - xDomainRequest.open('GET', issOnlineUrl+"/fingerprint/beginCapture?type=1&FakeFunOn=0&random="+getRandomNum()); - xDomainRequest.onload = function() - { + if (xDomainRequest) { + xDomainRequest.open('GET', issOnlineUrl + "/fingerprint/beginCapture?type=1&FakeFunOn=0&random=" + getRandomNum()); + xDomainRequest.onload = function () { //获取接口返回值 var resultData = xDomainRequest.responseText; //转化为json对象 var obj = jQuery.parseJSON(resultData); //返回码 var ret = null; - if(obj != null && obj.ret != undefined) - { + if (obj != null && obj.ret != undefined) { ret = obj.ret; } //接口调用成功返回时 - if(ret == 0) - { + if (ret == 0) { //显示框--采集提示 collectTips(null, paramArray[0], "simple"); } - else if(ret == -2001) - { + else if (ret == -2001) { //显示框--采集提示 collectTips(null, paramArray[1], "simple"); } - else if(ret == -2002) - { + else if (ret == -2002) { getWebServerInfoForSimple(null, null, "1"); } collectFlag = true; //取消采集 cancelRegister(); - }; - xDomainRequest.onerror = function() - { + }; + xDomainRequest.onerror = function () { //用完后,将对象置为空 xDomainRequest = null; }; - xDomainRequest.send(); - } + xDomainRequest.send(); + } } } @@ -1094,63 +975,58 @@ * @param browserFlag 浏览器标记或比对验证标记 simple:简易版本,表示是ie浏览器;html5:表示支持html5的浏览器 * --verification:指纹验证标记 */ -function collectTips(context, text, browserFlag) -{ - if(browserFlag == "simple") - { - $("#showCollInfoDiv").html("<span style='color:rgb(122,193,66); font-size: 12px;word-break: break-all; word-wrap: break-word;'>"+text+"</span>"); +function collectTips(context, text, browserFlag) { + if (browserFlag == "simple") { + $("#showCollInfoDiv").html("<span style='color:rgb(122,193,66); font-size: 12px;word-break: break-all; word-wrap: break-word;'>" + text + "</span>"); } - else if(browserFlag == "html5") - { + else if (browserFlag == "html5") { context.fillStyle = bgColor;//bgColor; context.fillRect(205, 18, 240, 16); - + //文字右对齐 context.fillStyle = "rgb(122,193,66)"; - context.font ="12px Arial,微软雅黑"; + context.font = "12px Arial,微软雅黑"; //context.shadowColor = 'white'; - //context.shadowBlur = 10; - //context.strokeText(text, 230, 30); + //context.shadowBlur = 10; + //context.strokeText(text, 230, 30); context.textAlign = "end"; context.fillText(text, 400, 30); } - else if(browserFlag == "verification") - { + else if (browserFlag == "verification") { //#6BA5D7 context.fillStyle = "#F3F5F0";//#6BA5D7 context.fillRect(2, 8, 600, 30); //获取canvas对象 - var canvas =""; - if(isComp){ + var canvas = ""; + if (isComp) { canvas = document.getElementById("canvasComp"); - }else{ + } else { canvas = document.getElementById("canvas"); } -// canvas.width = canvas.width; + // canvas.width = canvas.width; //返回一个文本的度量信息对象metrics var metrics = context.measureText(text); //文本宽度 var textWidth = metrics.width; //canvas宽度 - canvas != null?canvasWidth = canvas.width:canvasWidth = 450; + canvas != null ? canvasWidth = canvas.width : canvasWidth = 450; //文本开始x坐标 - var x = textWidth/2 + (canvasWidth - textWidth)/2; - - + var x = textWidth / 2 + (canvasWidth - textWidth) / 2; + + //context.fillStyle = bgColor; //context.fillRect(0, 18, 445, 16); - + //文字右对齐 context.fillStyle = "rgb(122,193,66)"; - context.font ="24px Arial,微软雅黑"; + context.font = "24px Arial,微软雅黑"; context.textAlign = "center"; //自动换行 - autoWordBreak(context,text,canvasWidth,x); + autoWordBreak(context, text, canvasWidth, x); context.restore(); } - else if(browserFlag == "verifyForSimple") - { - $("#showCollInfoDiv").html("<span style='color:yellow;align:center;font-size: 18px;word-break: break-all; word-wrap: break-word;'>"+text+"</span>"); + else if (browserFlag == "verifyForSimple") { + $("#showCollInfoDiv").html("<span style='color:yellow;align:center;font-size: 18px;word-break: break-all; word-wrap: break-word;'>" + text + "</span>"); } } @@ -1161,39 +1037,34 @@ * @param context 2d画布上下文 * @param x,y,width,height 进度条底框的坐标和宽度、高度 */ -function drawProgressBar(context, collCount) -{ +function drawProgressBar(context, collCount) { var x = 300; var y = 60; var width = 90; var height = 20; context.fillStyle = bgColor; context.fillRect(x, y, width, height); - if(collCount == 0) - { + if (collCount == 0) { context.fillStyle = "rgb(175,181,185)"; context.fillRect(x + 4, y + 2, width - 52, height - 4); - context.fillRect(x + 46, y + 2, width -52, height - 4); + context.fillRect(x + 46, y + 2, width - 52, height - 4); context.fillRect(x + 86, y + 2, width - 52, height - 4); } - else if(collCount == 1) - { + else if (collCount == 1) { context.fillStyle = "rgb(122,193,66)"; context.fillRect(x + 4, y + 2, width - 52, height - 4); context.fillStyle = "rgb(175,181,185)"; context.fillRect(x + 46, y + 2, width - 52, height - 4); context.fillRect(x + 86, y + 2, width - 52, height - 4); } - else if(collCount == 2) - { + else if (collCount == 2) { context.fillStyle = "rgb(122,193,66)"; context.fillRect(x + 4, y + 2, width - 52, height - 4); context.fillRect(x + 46, y + 2, width - 52, height - 4); context.fillStyle = "rgb(175,181,185)"; context.fillRect(x + 86, y + 2, width - 52, height - 4); } - else if(collCount == 3) - { + else if (collCount == 3) { context.fillStyle = "rgb(122,193,66)"; context.fillRect(x + 4, y + 2, width - 52, height - 4); context.fillRect(x + 46, y + 2, width - 52, height - 4); @@ -1209,19 +1080,15 @@ * @param fingerIdArray 存放手指编号的数组 * @return 返回boolean值 true:num包含在fingerIdArray中;false:没有包含 */ -function isContains(fingerIdArray, num) -{ +function isContains(fingerIdArray, num) { var fingerId; var isCollected = false; - for(var j=0; j<fingerIdArray.length; j++) - { + for (var j = 0; j < fingerIdArray.length; j++) { fingerId = eval(fingerIdArray[j]); - if(fingerId >= DURESS_FINGER_NUM) - { - fingerId = fingerId -DURESS_FINGER_NUM; + if (fingerId >= DURESS_FINGER_NUM) { + fingerId = fingerId - DURESS_FINGER_NUM; } - if(fingerId == num) - { + if (fingerId == num) { isCollected = true; } } @@ -1233,18 +1100,14 @@ * @author wenxin * @create 2013-09-05 15:15:11 pm */ -function clearFPImage(context, browserFlag) -{ - if(browserFlag == "verification") - { -// showImage(context, "${base}/base/images/base_fpVerify_clearImage.png", "clearForVerify"); +function clearFPImage(context, browserFlag) { + if (browserFlag == "verification") { + // showImage(context, "${base}/base/images/base_fpVerify_clearImage.png", "clearForVerify"); } - else if(browserFlag == "register") - { + else if (browserFlag == "register") { showImage(context, "image/base_fpVerify_clearImage.png", "clearForRegister"); } - else if(browserFlag == "verifyForSimple" || browserFlag == "registerForSimple") - { + else if (browserFlag == "verifyForSimple" || browserFlag == "registerForSimple") { showImage(null, "", "clearForSimple"); } } @@ -1256,79 +1119,69 @@ * @param paramArray 存放国际化元素的数组 * @param flag 判断是登记和验证标记 register:登记;verification:验证 */ -function getFPTemplate(paramArray, flag) -{ +function getFPTemplate(paramArray, flag) { var fpTemplate = ""; var collectSuccessFlag = false; - $.ajax( { - type : "GET", - url : issOnlineUrl+"/fingerprint/getTemplate?random="+getRandomNum(), - dataType : "json", + $.ajax({ + type: "GET", + url: issOnlineUrl + "/fingerprint/getTemplate?random=" + getRandomNum(), + dataType: "json", async: false, - success : function(result) - { + success: function (result) { //返回码 var ret = null; ret = result.ret; - if(ret == 0) - { + if (ret == 0) { fpTemplate = result.data.template; + console.log('fpTemplate', fpTemplate) + window.top.postMessage({ + fingerCode: result.data.template, + }); } //成功 - if(ret == 0) - { + if (ret == 0) { collectSuccessFlag = true; - if(flag == "register") - { + if (flag == "register") { //判断手指是否已经采集指纹 var compareRet = ""; //如果前面已经录入指纹 - if(templateDataArray.length > 0) - { + if (templateDataArray.length > 0) { //发送请求,进行后台指纹比对yls //compareRet = fpComparision(fpTemplate, templateDataArray, paramArray[3]); } - if($.trim(compareRet) == "dllNotExist") - { + if ($.trim(compareRet) == "dllNotExist") { //采集完指纹,渲染手指 renderAfterColl(globalContext, fpIdNum, bgColor, false);//bgColor判断 //显示框--采集提示 collectTips(globalContext, "动态库加载失败", "html5"); } - else - { - if(compareRet == "noFingerServer") - { + else { + if (compareRet == "noFingerServer") { //采集完指纹,渲染手指 renderAfterColl(globalContext, fpIdNum, bgColor, false);//bgColor判断 //显示框--采集提示 collectTips(globalContext, "未启动比对服务", "html5"); } - else - { + else { //此手指未采集指纹 - if(compareRet != "ok") - { + if (compareRet != "ok") { //采集完指纹,渲染手指 renderAfterColl(globalContext, fpIdNum, bgColor, true);//bgColor判断 //显示框--采集提示 collectTips(globalContext, paramArray[0], "html5"); //胁迫指纹 - if(duressFingerFlag) - { + if (duressFingerFlag) { //将手指标记保存到数组中 fingerIdArray[fingerIdArray.length] = fpIdNum + DURESS_FINGER_NUM; } - else - { + else { //将手指标记保存到数组中 fingerIdArray[fingerIdArray.length] = fpIdNum; } //将指纹模板保存到数组中 templateDataArray[templateDataArray.length] = fpTemplate; } - else - { + else { //采集完指纹,渲染手指 renderAfterColl(globalContext, fpIdNum, bgColor, false);//bgColor判断 //Please don't repeat input fingerprint! @@ -1338,26 +1191,23 @@ } } } - else if(flag == "verification") - { + else if (flag == "verification") { verifyFlag = false; //指纹比对 fpComparison(fpTemplate); } } - else if(ret == -2003) - { + else if (ret == -2003) { //采集完指纹,渲染手指 renderAfterColl(globalContext, fpIdNum, bgColor, false); //显示框--采集提示 collectTips(globalContext, paramArray[1], "html5"); } }, - error : function(XMLHttpRequest, textStatus, errorThrown) - { + error: function (XMLHttpRequest, textStatus, errorThrown) { alert(paramArray[3]); //messageBox({messageType: "alert", title: "${common_prompt_title}", text: paramArray[3]}); - } + } }); return collectSuccessFlag; } @@ -1370,42 +1220,36 @@ * @param templateArray 指纹模板数组 * @param errorMsg ajax请求报错,错误信息 */ -function fpComparision(fpTemplate, templateArray, errorMsg) -{ +function fpComparision(fpTemplate, templateArray, errorMsg) { var ret = ""; var templates = templateArray.toString(); - console.log('fpTemplate',fpTemplate) + console.log('fpTemplate', fpTemplate) //特殊字符转义 fpTemplate = transferredMeaning(fpTemplate); templates = transferredMeaning(templates); - console.log('fpTemplate',fpTemplate) - $.ajax( { - type : "POST", - url : "baseBioVerifyAction!fpComparison.action", - contentType : "application/x-www-form-urlencoded;charset=UTF-8", - data : "verifyTemplate="+fpTemplate+"&templates="+templates, - dataType : "json", + console.log('fpTemplate', fpTemplate) + $.ajax({ + type: "POST", + url: "baseBioVerifyAction!fpComparison.action", + contentType: "application/x-www-form-urlencoded;charset=UTF-8", + data: "verifyTemplate=" + fpTemplate + "&templates=" + templates, + dataType: "json", async: false, - success : function(result) - { - if(result.ret == "ok") - { + success: function (result) { + if (result.ret == "ok") { ret = "ok"; } - if(result.msg == "noFingerServer") - { + if (result.msg == "noFingerServer") { ret = "noFingerServer"; } - if(result.msg == "dllNotExist") - { + if (result.msg == "dllNotExist") { ret = "dllNotExist"; } }, - error : function(XMLHttpRequest, textStatus, errorThrown) - { + error: function (XMLHttpRequest, textStatus, errorThrown) { alert("服务器处理数据失败,请重试!错误码:"); //messageBox({messageType: "alert", title: "${common_prompt_title}", text: "${common_prompt_serverError}"}); - } + } }); return ret; } @@ -1419,12 +1263,11 @@ * @param fillColor 采集完后填充颜色 * @param successOrNot 采集是否成功--布尔值 true:采集成功;false:采集失败 */ -function renderAfterColl(context, num, fillColor, successOrNot) -{ - var canvas=""; - if(isComp){ +function renderAfterColl(context, num, fillColor, successOrNot) { + var canvas = ""; + if (isComp) { canvas = document.getElementById("canvasComp"); - }else{ + } else { canvas = document.getElementById("canvas"); } var localContext = canvas.getContext("2d"); @@ -1432,35 +1275,29 @@ //初始化起始坐标,并返回json格式数据 var coordJson = initCoordJson(); //进来页面,点击删除 - if(num == null) - { + if (num == null) { num = fpIdNum; } //点击的手指编号和json中num相等 - if(coordJson[num].num == num) - { + if (coordJson[num].num == num) { //初始化坐标数组和绘画手指 initCoordAndDrawFinger(context, coordArray, coordJson[num].coord.x, coordJson[num].coord.y, num); } - + //采集成功,填充颜色(红、绿) - if(successOrNot) - { - if(duressFingerFlag) - { + if (successOrNot) { + if (duressFingerFlag) { localContext.fillStyle = "red";//fillColor localContext.fill(); fpModifyFlag = true; } - else - { + else { localContext.fillStyle = "rgb(122,193,66)";//fillColor localContext.fill(); fpModifyFlag = true; } } - else - { + else { //采集失败,填充背景色--消除颜色(黄) localContext.fillStyle = fillColor; localContext.fill(); @@ -1476,8 +1313,7 @@ * @param x,y 绘画当前手指的起始坐标 * @param num 手指标记 */ -function initCoordAndDrawFinger(context, coordArray, x, y, num) -{ +function initCoordAndDrawFinger(context, coordArray, x, y, num) { coordArray = initCoordArray(coordArray, x, y, num); new renderFinger(context, coordArray).drawFinger(strokeStyle, fingerBorderColor); } @@ -1488,12 +1324,9 @@ * @create 2013-05-15 17:21:13 pm * @param "${base_fp_save}":确认保存当前修改吗? */ -function cancelEvent(saveText, fpCountText) -{ - if(!fpModifyFlag) - { - if(collectFlag) - { +function cancelEvent(saveText, fpCountText) { + if (!fpModifyFlag) { + if (collectFlag) { //取消采集 cancelRegister(); //将定时器的递归调用关闭 @@ -1502,17 +1335,16 @@ //closeWindow(); close(); } - else - { - var flag=confirm(saveText); - if(flag){ + else { + var flag = confirm(saveText); + if (flag) { saveFPData(flag, fpCountText); - }else{ + } else { close(); } - + } - + } /** @@ -1524,24 +1356,20 @@ * @param fpCount 指纹数国际化内容 * @param ${pers_person_templateCount}:指纹数 */ -var saveFPData = function(result, fpCount) -{ - if(collectFlag) - { +var saveFPData = function (result, fpCount) { + if (collectFlag) { //取消采集 cancelRegister(); //将定时器的递归调用关闭 clearTimeout(timer); } - if(result) - { + if (result) { storeDataToHtml(); showFPCount(fpCount); //closeWindow(); close(); } - else - { + else { clearImageData(); //closeWindow(); close(); @@ -1553,15 +1381,12 @@ * @author wenxin * @create 2013-04-22 21:26:31 pm */ -function showFPCount(text) -{ +function showFPCount(text) { var fingerId = $("#fingerId").val(); - if($.trim(fingerId) == "") - { + if ($.trim(fingerId) == "") { $("#fpCountMessage").text(text + " " + 0); } - else - { + else { fingerId = fingerId.substr(1, fingerId.length - 2); var fingerIdArray = new Array(); fingerIdArray = fingerId.split(","); @@ -1574,36 +1399,31 @@ * @author wenxin * @create 2013-05-24 16:12:21 pm */ -function storeDataToHtml() -{ +function storeDataToHtml() { //没有手指标记数据 - if(fingerIdArray.length == 0) - { + if (fingerIdArray.length == 0) { $("#fingerId").val(" "); } - else - { + else { //将手指标记数据保存到页面 - $("#fingerId").val("["+fingerIdArray.toString()+"]"); + $("#fingerId").val("[" + fingerIdArray.toString() + "]"); } //没有指纹模板数据 - if(templateDataArray.length == 0) - { + if (templateDataArray.length == 0) { $("#fingerTemplate10").val(" "); } - else - { + else { //将指纹模板数据保存到页面 - $("#fingerTemplate10").val("["+templateDataArray.toString()+"]"); + $("#fingerTemplate10").val("[" + templateDataArray.toString() + "]"); } } //关闭窗体 -function close(){ +function close() { $("#bg").css("display", "none"); $("#box").css("display", "none"); $("#comparisonDiv").css("display", "none"); - globalContext=""; + globalContext = ""; } /** @@ -1615,30 +1435,23 @@ * @param context 2d画布上下文 * @param browserFlag 浏览器标记 simple:简易版本,表示是ie浏览器;html5:表示支持html5的浏览器 */ -var delFPData = function(result, context, browserFlag) -{ +var delFPData = function (result, context, browserFlag) { var fingerId; - if(result) - { + if (result) { //将数组中的指定元素删除 - for(var i=0; i<fingerIdArray.length; i++) - { + for (var i = 0; i < fingerIdArray.length; i++) { fingerId = eval(fingerIdArray[i]); - if(fingerId >= DURESS_FINGER_NUM) - { + if (fingerId >= DURESS_FINGER_NUM) { fingerId = fingerId - DURESS_FINGER_NUM; - if(fingerId == fpIdNum) - { + if (fingerId == fpIdNum) { //fingerIdArray.remove(i); //templateDataArray.remove(i); removeItem(fingerIdArray, i); removeItem(templateDataArray, i); } } - else - { - if(fingerId == fpIdNum) - { + else { + if (fingerId == fpIdNum) { //fingerIdArray.remove(i); //templateDataArray.remove(i); removeItem(fingerIdArray, i); @@ -1646,17 +1459,14 @@ } } } - if(browserFlag == "simple") - { + if (browserFlag == "simple") { document.getElementById("finger" + fingerId).checked = false; } - else if(browserFlag == "html5") - { + else if (browserFlag == "html5") { //将手指颜色改变--重画时也要判断 context.fillStyle = bgColor; context.fill(); - if(lastFPIdNum != null && lastFPIdNum != lastFPIdNum) - { + if (lastFPIdNum != null && lastFPIdNum != lastFPIdNum) { //消除原来手指的颜色 renderAfterColl(globalContext, lastFPIdNum, bgColor, false); } @@ -1667,15 +1477,12 @@ $("#duressFinger").attr("disabled", false); $("#submitButtonId").attr("disabled", false); } - else - { - if(browserFlag == "simple") - { + else { + if (browserFlag == "simple") { document.getElementById("finger" + fpIdNum).checked = true collectFlag = true; } - else if(browserFlag == "html5") - { + else if (browserFlag == "html5") { //消除原来手指的颜色--有问题,如果原来手指和现在的一样,有问题 //renderAfterColl(globalContext, lastFPIdNum, bgColor, false); } @@ -1688,9 +1495,8 @@ * @create 2013-05-15 11:11:31 am * @param dx 要删除元素的下标 */ -function removeItem(array, dx) -{ - array.splice(dx, 1); +function removeItem(array, dx) { + array.splice(dx, 1); } /** @@ -1701,38 +1507,36 @@ * @param isDriverInstall 是否安装了驱动 * @param downloadPrompt 提示安装驱动国际化内容 */ -function fpVerification(title, downloadPrompt, isDriverInstall,context) -{ +{/* <div id="comparison" style="display: inline" + onclick='fpVerification("指纹比对","请安装指纹驱动或启动服务",true,globalContext)'>比对</div> + <div></div> */} +function fpVerification(title, downloadPrompt, isDriverInstall, context) { //安装驱动 - if(isDriverInstall) - { + if (isDriverInstall) { //支持html5 - if(typeof(Worker) != "undefined") - { + if (typeof (Worker) != "undefined") { //createWindow('base_baseFPVerify.do?random=' + getRandomNum() + '^0^0^465^320^'+title); - var comparisonDiv=document.getElementById("comparisonDiv"); - var bg=document.getElementById("bg"); - comparisonDiv.style.display="block";//显示内容层,显示覆盖层 - comparisonDiv.style.left=parseInt((document.documentElement.scrollWidth-comparisonDiv.offsetWidth)/2)+document.documentElement.scrollLeft+"px"; - comparisonDiv.style.top=Math.abs(parseInt((document.documentElement.clientHeight-comparisonDiv.offsetHeight)/2))+document.documentElement.scrollTop+"px"; //为内容层设置位置 - bg.style.display="block"; - bg.style.height=document.documentElement.scrollHeight+"px"; - isComp= true; - //开始采集 - //beginCapture(context); - dataInitComp(); - //关闭页面前,取消采集 + var comparisonDiv = document.getElementById("comparisonDiv"); + var bg = document.getElementById("bg"); + comparisonDiv.style.display = "block";//显示内容层,显示覆盖层 + comparisonDiv.style.left = parseInt((document.documentElement.scrollWidth - comparisonDiv.offsetWidth) / 2) + document.documentElement.scrollLeft + "px"; + comparisonDiv.style.top = Math.abs(parseInt((document.documentElement.clientHeight - comparisonDiv.offsetHeight) / 2)) + document.documentElement.scrollTop + "px"; //为内容层设置位置 + bg.style.display = "block"; + bg.style.height = document.documentElement.scrollHeight + "px"; + isComp = true; + //开始采集 + //beginCapture(context); + dataInitComp(); + //关闭页面前,取消采集 //cancelCaptureBeforeClose("html5"); } - else - { + else { createWindow('base_baseFPVerifySimple.do?random=' + getRandomNum() + '^0^0^465^320^' + title); - //关闭页面前,取消采集 + //关闭页面前,取消采集 //cancelCaptureBeforeClose("simple"); } } - else - { + else { alert(downloadPrompt); //messageBox({messageType: "alert", title: "提示", text: downloadPrompt}); } @@ -1748,27 +1552,24 @@ * @param x 文本X坐标值 * */ -function autoWordBreak(context,text,CWidth,x){ +function autoWordBreak(context, text, CWidth, x) { context.clear(); var rownum = CWidth / 10; var len = strlen(text); - if (rownum > len) - { + if (rownum > len) { context.fillText(text, x, 30); } - else - { - var endInd = rownum<text.length?rownum:text.length; + else { + var endInd = rownum < text.length ? rownum : text.length; var beginInd = 0; - var endTemp=0; - for (var i = 0; i <= text.length / rownum; i++) - { + var endTemp = 0; + for (var i = 0; i <= text.length / rownum; i++) { endTemp = text.substr(beginInd, endInd).lastIndexOf(" "); - if(endTemp!=-1) - endInd=beginInd+endTemp; + if (endTemp != -1) + endInd = beginInd + endTemp; context.fillText(text.substr(beginInd, endInd), x, (i + 1) * 30); - beginInd = endInd+1; - if(beginInd>=text.length) + beginInd = endInd + 1; + if (beginInd >= text.length) break; endInd = beginInd + rownum; } @@ -1778,66 +1579,60 @@ //清除画布内容 CanvasRenderingContext2D.prototype.clear = - CanvasRenderingContext2D.prototype.clear || function (preserveTransform) { - if (preserveTransform) { - this.save(); - this.setTransform(1, 0, 0, 1, 0, 0); - } - - this.clearRect(0, 0, this.canvas.width, this.canvas.height); - - if (preserveTransform) { - this.restore(); - } + CanvasRenderingContext2D.prototype.clear || function (preserveTransform) { + if (preserveTransform) { + this.save(); + this.setTransform(1, 0, 0, 1, 0, 0); + } + + this.clearRect(0, 0, this.canvas.width, this.canvas.height); + + if (preserveTransform) { + this.restore(); + } }; - - /** - * 关闭页面前,如果正在进行验证,则先取消采集 - * @author wenxin - * @create 2013-06-24 19:57:11 pm - * @param browserFlag 浏览器标记 simple:简易版本,表示是ie浏览器;html5:表示支持html5的浏览器 - */ - function cancelCaptureBeforeClose(browserFlag) - { - //关闭页面时,监听关闭的onclick事件 - getCurrentWindow().button("close").attachEvent("onClick", function() - { - clearTimeout(verifyTimer); - if(browserFlag == "html5") - { - //正在进行验证,还没有关闭指纹采集 - if(verifyFlag) - { - //取消采集 - cancelCapture(); - } - //关闭页面 - closeWindow(); + +/** + * 关闭页面前,如果正在进行验证,则先取消采集 + * @author wenxin + * @create 2013-06-24 19:57:11 pm + * @param browserFlag 浏览器标记 simple:简易版本,表示是ie浏览器;html5:表示支持html5的浏览器 + */ +function cancelCaptureBeforeClose(browserFlag) { + //关闭页面时,监听关闭的onclick事件 + getCurrentWindow().button("close").attachEvent("onClick", function () { + clearTimeout(verifyTimer); + if (browserFlag == "html5") { + //正在进行验证,还没有关闭指纹采集 + if (verifyFlag) { + //取消采集 + cancelCapture(); } - else if(browserFlag == "simple") - { - //alert("cancel capture before close window!"); - //将定时器的递归调用关闭 - clearTimeout(timer); - //取消采集 - cancelRegister(); - //此处应该在取消结束后,再关闭窗口 - closeWindow(); - } - }); - } - - /** - * 表单提交 - * @author wenxin - * @create 2013-08-05 15:19:11 pm - */ - function formSubmit(id) - { - - $('#'+id).serialize(); - $('#'+id).ajaxForm(function(data){ - callBackFormSubmit(data); - }); - $('#'+id).submit(); //表单提交。 - } \ No newline at end of file + //关闭页面 + closeWindow(); + } + else if (browserFlag == "simple") { + //alert("cancel capture before close window!"); + //将定时器的递归调用关闭 + clearTimeout(timer); + //取消采集 + cancelRegister(); + //此处应该在取消结束后,再关闭窗口 + closeWindow(); + } + }); +} + +/** + * 表单提交 + * @author wenxin + * @create 2013-08-05 15:19:11 pm + */ +function formSubmit(id) { + + $('#' + id).serialize(); + $('#' + id).ajaxForm(function (data) { + callBackFormSubmit(data); + }); + $('#' + id).submit(); //表单提交。 +} \ No newline at end of file -- Gitblit v1.8.0