demo.html 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  2. "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  4. <head>
  5. <title>CameraService</title>
  6. <meta http-equiv="content-type" content="text/html; charset=utf8" />
  7. <link rel="stylesheet" href="style.css" type="text/css" />
  8. <script type="text/javascript" src="jquery.js"></script>
  9. <script type="text/javascript" src="jquery.rotate.js"></script>
  10. <script type="text/javascript" src="./jquery-2.0.3.min.js"></script>
  11. <!--[if IE 6]>
  12. <link rel="stylesheet" href="fix.css" type="text/css" />
  13. <![endif]-->
  14. <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
  15. <script type="text/javascript">
  16. var phi = 0;
  17. var camidx = 0;
  18. var uuid = "";
  19. var filepath = "";
  20. var filelist = "";
  21. var isIE = false;
  22. var IdBase64 = "";
  23. var FaceBase64 = "";
  24. var index = 1;
  25. //修改
  26. //储存图片路径的变量和数组
  27. //var imgPath = "";
  28. var imgPathArray = new Array();
  29. var imgPathToPdfArray = new Array();
  30. var timer = null;
  31. function BeginTimer()
  32. {
  33. if(timer == null)
  34. {
  35. timer = setInterval("GetData()", 3000);
  36. }
  37. }
  38. var Pdftimer = null;
  39. function BeginPdfTimer(ntime)
  40. {
  41. if (Pdftimer == null) {
  42. Pdftimer = setInterval("GetPdfEx()", ntime * 1000);
  43. }
  44. }
  45. function BrowserType()
  46. {
  47. var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
  48. if (userAgent.indexOf("Firefox") > -1)
  49. return "Firefox";
  50. if (userAgent.indexOf("Chrome") > -1)
  51. return "Chrome";
  52. return "IE";
  53. }
  54. function IsIE()
  55. {
  56. if (BrowserType() == "IE")
  57. return true;
  58. else
  59. return false;
  60. }
  61. //初始化
  62. function Init(){
  63. isIE = IsIE();
  64. if(isIE) //ie浏览器
  65. {
  66. var ui = document.getElementById("noniediv");
  67. ui.style.display="none";
  68. ui.style.visibility="hidden";
  69. showVideoOcx.StartPreview(0);
  70. showVideoOcx1.StartPreview(1);
  71. }
  72. else
  73. {
  74. var ui = document.getElementById("ocxdiv");
  75. ui.style.display="none";
  76. ui.style.visibility="hidden";
  77. OpenMainCamera();
  78. //OpenAssisCamera();
  79. }
  80. }
  81. function Load()
  82. {
  83. Init();
  84. //OpenSerialport(); //需要在打开APP软件才可以打开成功
  85. }
  86. function Unload()
  87. {
  88. if(isIE)
  89. {
  90. showVideoOcx.StopPreview();
  91. }
  92. else
  93. {
  94. CloseMainCamera();
  95. CloseAssisCamera();
  96. }
  97. }
  98. function OpenSerialport()
  99. {
  100. var params = "{\"port\":\"0\", \"baud\":\"115200\",\"parity\":\"0\",\"databits\":\"8\",\"stopbits\":\"0\"}";
  101. var url = "http://127.0.0.1:38088/serialport=initserialport";
  102. $.ajax({
  103. type: "post",
  104. url: url,
  105. dataType: "json",
  106. data: params,
  107. success: function (data) {
  108. if(data.code == 0)
  109. {
  110. var date = new Date().toLocaleString();
  111. log(date + '\t' + "打开端口成功");
  112. }
  113. else
  114. {
  115. var date = new Date().toLocaleString();
  116. log(date + '\t' + "打开端口失败");
  117. }
  118. }
  119. });
  120. }
  121. function CloseSerialport()
  122. {
  123. var params = "{\"port\":\"0\"}";
  124. var url = "http://127.0.0.1:38088/serialport=deinitserialport";
  125. $.ajax({
  126. type: "post",
  127. url: url,
  128. dataType: "json",
  129. data: params,
  130. success: function (data) {
  131. if(data.code == 0)
  132. {
  133. var date = new Date().toLocaleString();
  134. log(date + '\t' + "关闭端口成功");
  135. }
  136. else
  137. {
  138. var date = new Date().toLocaleString();
  139. log(date + '\t' + "关闭端口失败");
  140. }
  141. }
  142. });
  143. }
  144. function GrabImage()
  145. {
  146. var cutpage = 0;// document.getElementsByName("cutpage");
  147. var params = "{\"filepath\":\"\",\"rotate\":\"" + "0" + "\",\"camidx\":\"" + "0" + "\",\"cutpage\":\"" + "0" + "\"}";
  148. var url = "http://127.0.0.1:38088/video=grabimage";
  149. $.ajax({
  150. type: "post",
  151. url: url,
  152. dataType: "json",
  153. data: params,
  154. success: function (data) {
  155. if (data.code != 0)
  156. {
  157. var date = new Date().toLocaleString();
  158. log(date + '\t' + "生成图片失败");
  159. document.getElementById("result").innerHTML = "GrabImage 失败<br />返回代码 = " + data.code + "<br /> 返回信息 = " + data.message;
  160. }
  161. else
  162. {
  163. //index = index + 1;
  164. //AddPhotoToPDF(data.filepath); //将图片添加到PDF队列中
  165. //document.getElementById("snapshot").src = "http://127.0.0.1:38088/video=snapshot&id=" + data.uuid;
  166. //uuid = data.uuid;
  167. //filepath = data.filepath;
  168. //var date = new Date().toLocaleString();
  169. //log(date + '\t' + "生成图片路径:" + filepath);
  170. //addImgDiv(data.filepath);
  171. addImgDiv(data.photoBase64);
  172. //alert(data.photoBase64);
  173. }
  174. }
  175. });
  176. }
  177. function GrabImageBase64()
  178. {
  179. FaceBase64 = "";
  180. var cutpage = document.getElementsByName("cutpage");
  181. var params = "{\"filepath\":\"base64\",\"rotate\":\"" + phi.toString() + "\",\"camidx\":\"1\",\"cutpage\":\"" + "0" + "\"}";
  182. var url = "http://127.0.0.1:38088/video=grabimage";
  183. $.ajax({
  184. type: "post",
  185. url: url,
  186. dataType: "json",
  187. data: params,
  188. success: function (data)
  189. {
  190. FaceBase64 = data.photoBase64;
  191. var date = new Date().toLocaleString();
  192. log(date + '\t' + "获取图片base64数据:" + data.photoBase64);
  193. //document.getElementById("snapshot").src = "data:image/jpg;base64," + data.data;
  194. document.getElementById("snapshot").src = "data:image/jpg;base64," + data.photoBase64;
  195. document.getElementById("result").innerHTML = "";
  196. }
  197. });
  198. }
  199. function GrabImagebyautoflat()
  200. {
  201. var cutpage = 0;// document.getElementsByName("cutpage");
  202. var leftfilepath = "D://testleft.jpg";
  203. var rightfilepath = "D://testright.jpg";
  204. var autoflat = "\"autoflat\":{\"flat\":\"1\",\"leftfilepath\":\"" + leftfilepath.toString() + "\",\"rightfilepath\":\"" + rightfilepath.toString() + "\",\"removefinger\":\"1\",\"doublepage\":\"1\"}";
  205. var params = "{\"filepath\":\"\",\"rotate\":\"" + "0" + "\",\"camidx\":\"" + "0" + "\",\"cutpage\":\"" + "0" + "\"," + autoflat + "}";
  206. var url = "http://127.0.0.1:38088/video=autoflat";
  207. $.ajax({
  208. type: "post",
  209. url: url,
  210. dataType: "json",
  211. data: params,
  212. success: function (data) {
  213. if (data.code != 0)
  214. {
  215. var date = new Date().toLocaleString();
  216. log(date + '\t' + "生成图片失败");
  217. document.getElementById("result").innerHTML = "GrabImage 失败<br />返回代码 = " + data.code + "<br /> 返回信息 = " + data.message;
  218. }
  219. else
  220. {
  221. //index = index + 1;
  222. //AddPhotoToPDF(data.filepath); //将图片添加到PDF队列中
  223. //document.getElementById("snapshot").src = "http://127.0.0.1:38088/video=snapshot&id=" + data.uuid;
  224. //uuid = data.uuid;
  225. //filepath = data.filepath;
  226. //var date = new Date().toLocaleString();
  227. //log(date + '\t' + "生成图片路径:" + filepath);
  228. //addImgDiv(data.filepath);
  229. addImgDiv(data.photoBase64);
  230. addImgDiv(data.leftphotoBase64);
  231. addImgDiv(data.rightphotoBase64);
  232. //alert(data.photoBase64);
  233. }
  234. }
  235. });
  236. }
  237. function StartSignDlg()
  238. {
  239. if(timer != null)
  240. {
  241. clearInterval(timer);
  242. timer=null;
  243. }
  244. var params = "";
  245. var url = "http://127.0.0.1:38088/serialport=sign";
  246. $.ajax({
  247. type: "post",
  248. url: url,
  249. dataType: "json",
  250. data: params,
  251. success: function (data) {
  252. if(data.code == 0)
  253. {
  254. var date = new Date().toLocaleString();
  255. log(date + '\t' + "签名窗口弹出成功");
  256. BeginTimer();
  257. }
  258. else
  259. {
  260. var date = new Date().toLocaleString();
  261. log(date + '\t' + "签名窗口弹出失败");
  262. }
  263. }
  264. });
  265. }
  266. function StartAppraiseDlg()
  267. {
  268. if(timer != null)
  269. {
  270. clearInterval(timer);
  271. timer=null;
  272. }
  273. var params = "";
  274. var url = "http://127.0.0.1:38088/serialport=appraise";
  275. $.ajax({
  276. type: "post",
  277. url: url,
  278. dataType: "json",
  279. data: params,
  280. success: function (data) {
  281. if(data.code == 0)
  282. {
  283. var date = new Date().toLocaleString();
  284. log(date + '\t' + "评价窗口弹出成功");
  285. BeginTimer();
  286. }
  287. else
  288. {
  289. var date = new Date().toLocaleString();
  290. log(date + '\t' + "评价窗口弹出失败");
  291. }
  292. }
  293. });
  294. }
  295. function GetData()
  296. {
  297. var params = "";
  298. var url = "http://127.0.0.1:38088/serialport=getdata";
  299. $.ajax({
  300. type: "post",
  301. url: url,
  302. dataType: "json",
  303. data: params,
  304. success: function (data) {
  305. if(data.code == 0)
  306. {
  307. var date = new Date().toLocaleString();
  308. log(date + '\t' + "获取签名数据:" + data.data);
  309. document.getElementById("snapshot").src = "data:image/jpg;base64," + data.data;
  310. }
  311. else
  312. {
  313. var date = new Date().toLocaleString();
  314. log(date + '\t' + "获取数据错误");
  315. }
  316. }
  317. });
  318. if(timer != null)
  319. {
  320. clearInterval(timer);
  321. timer=null;
  322. }
  323. }
  324. function FaceComparisonEx()
  325. {
  326. var params = "{\"FaceOne\":\"" + IdBase64.toString() + "\",\"FaceTwo\":\"" + FaceBase64.toString() + "\"}";
  327. var url = "http://127.0.0.1:38088/comparison=imgdata";
  328. $.ajax({
  329. type: "post",
  330. url: url,
  331. dataType: "json",
  332. data: params,
  333. success: function (data)
  334. {
  335. if(data.code == 0)
  336. {
  337. var date = new Date().toLocaleString();
  338. log(date + '\t' + "人证比对值一般大于50可以认为是同一个人,比对值为:" + data.data);
  339. }
  340. else if(data.code != 0)
  341. {
  342. var date = new Date().toLocaleString();
  343. log(date + '\t' + "错误原因:" + data.data);
  344. }
  345. }
  346. });
  347. }
  348. function OpenMainCamera()
  349. {
  350. //<img id="ImgMain" class="xform" src="http://127.0.0.1:38088/video=stream&camidx=0" WIDTH="600" HEIGHT="400"/>
  351. document.getElementById("ImgMain").src = "http://127.0.0.1:38088/video=stream&camidx=0";
  352. }
  353. function CloseMainCamera()
  354. {
  355. //document.getElementById("ImgMain").src = "";
  356. var params = "{\"camidx\":\"0\"}";
  357. var url = "http://127.0.0.1:38088/video=close";
  358. $.ajax({
  359. type: "post",
  360. url: url,
  361. dataType: "json",
  362. data: params,
  363. success: function (data) {
  364. if(data.code == 0)
  365. {
  366. var date = new Date().toLocaleString();
  367. log(date + '\t' + "关闭视频成功");
  368. document.getElementById("ImgMain").src = "";
  369. }
  370. else
  371. {
  372. var date = new Date().toLocaleString();
  373. log(date + '\t' + "关闭视频失败");
  374. }
  375. }
  376. });
  377. }
  378. function OpenAssisCamera()
  379. {
  380. //<img id="ImgAssisi" class="xform" src="http://127.0.0.1:38088/video=stream&camidx=1" WIDTH="600" HEIGHT="400"/>
  381. document.getElementById("ImgAssis").src="http://127.0.0.1:38088/video=stream&camidx=1";
  382. }
  383. function CloseAssisCamera()
  384. {
  385. //document.getElementById("ImgAssis").src = "";
  386. var params = "{\"camidx\":\"1\"}";
  387. var url = "http://127.0.0.1:38088/video=close";
  388. $.ajax({
  389. type: "post",
  390. url: url,
  391. dataType: "json",
  392. data: params,
  393. success: function (data) {
  394. if(data.code == 0)
  395. {
  396. var date = new Date().toLocaleString();
  397. log(date + '\t' + "关闭视频成功");
  398. document.getElementById("ImgAssis").src = "";
  399. }
  400. else
  401. {
  402. var date = new Date().toLocaleString();
  403. log(date + '\t' + "关闭视频失败");
  404. }
  405. }
  406. });
  407. }
  408. function ReadIDCard()
  409. {
  410. IdBase64 = "";
  411. document.getElementById("result").innerHTML = "二代证信息获取请求中......";
  412. var params = "";
  413. var url = "http://127.0.0.1:38088/card=idcard";
  414. $.ajax({
  415. type: "post",
  416. url: url,
  417. dataType: "json",
  418. data: params,
  419. success: function(data)
  420. {
  421. if(data.code != 0)
  422. {
  423. document.getElementById("result").innerHTML = "ReadIDCard 失败<br />返回代码 = " + data.code + "<br /> 返回信息 = " + data.message;
  424. }
  425. else
  426. {
  427. document.getElementById("result").innerHTML = "ReadIDCard <br />返回代码:" + data.code +
  428. "<br />返回信息:" + data.message +
  429. "<br />姓名:" + data.IDCardInfo.name +
  430. "<br />性别:" + data.IDCardInfo.sex +
  431. "<br />民族:" + data.IDCardInfo.nationCode +
  432. "<br />生日:" + data.IDCardInfo.birthday +
  433. "<br />地址:" + data.IDCardInfo.address +
  434. "<br />身份证号:" + data.IDCardInfo.cardID +
  435. "<br />发卡机构:" + data.IDCardInfo.issueOrgan +
  436. "<br />有效时间:" + data.IDCardInfo.validStart + "-" + data.IDCardInfo.validEnd;
  437. document.getElementById("photo").src= "data:image/gif;base64," + data.IDCardInfo.photoBase64;
  438. document.getElementById("photo1").src= "data:image/gif;base64," + data.IDCardInfo.photoBase64_Z;
  439. document.getElementById("photo2").src= "data:image/gif;base64," + data.IDCardInfo.photoBase64_F;
  440. IdBase64 = data.IDCardInfo.photoBase64;
  441. }
  442. }
  443. });
  444. }
  445. function AddPhotoToPDF(PhotoPath)
  446. {
  447. var sImagepath = PhotoPath;
  448. //var params = "{\"ImagePath\":\"" + sImagepath.toString() + "\"}";
  449. var params = "{\"ImagePath\":\"\", \"ImageBase64\":\"" + sImagepath.toString() + "\"}";
  450. var url = "http://127.0.0.1:38088/pdf=addimage";
  451. $.ajax({
  452. type: "post",
  453. url: url,
  454. dataType: "json",
  455. data: params,
  456. success: function (data) {
  457. if(data.code == 0)
  458. {
  459. var date = new Date().toLocaleString();
  460. log(date + '\t' + "添加图片到PDF队列成功");
  461. }
  462. else
  463. {
  464. var date = new Date().toLocaleString();
  465. log(date + '\t' + "添加图片到PDF队列失败");
  466. }
  467. }
  468. });
  469. }
  470. function GetPdfEx()
  471. {
  472. if (Pdftimer != null) {
  473. clearInterval(Pdftimer);
  474. Pdftimer = null;
  475. }
  476. var sPdfpath = "D:/HttpCamera/test.pdf";
  477. var params = "{\"PdfPath\":\"" + sPdfpath.toString() + "\"}";
  478. var url = "http://127.0.0.1:38088/pdf=save";
  479. $.ajax({
  480. type: "post",
  481. url: url,
  482. dataType: "json",
  483. data: params,
  484. success: function (data) {
  485. if (data.code == 0) {
  486. var date = new Date().toLocaleString();
  487. //log(date + '\t' + "生成PDF成功:路径是D:/HttpCamera/test.pdf" + '\t' + "Base64数据是:" + data.data);
  488. log(date + '\t' + "生成PDF成功:路径是D:/HttpCamera/test.pdf");
  489. //alert(data.data);
  490. }
  491. else {
  492. var date = new Date().toLocaleString();
  493. log(date + '\t' + "生成PDF失败,原因:" + data.data);
  494. }
  495. }
  496. });
  497. }
  498. function GetPDF()
  499. {
  500. for (var i = 0; i < imgPathToPdfArray.length; i++)
  501. {
  502. AddPhotoToPDF(imgPathToPdfArray[i]);
  503. }
  504. var ntime;
  505. ntime = imgPathToPdfArray.length / 5;
  506. //alert(ntime);
  507. BeginPdfTimer(ntime);
  508. }
  509. function Rotate90()
  510. {
  511. var params = "{\"camidx\":\"" + "0" + "\",\"rotate\":\"" + "90" + "\"}";
  512. var url = "http://127.0.0.1:38088/video=rotate";
  513. $.ajax({
  514. type: "post",
  515. url: url,
  516. dataType: "json",
  517. data: params,
  518. success: function (data) {
  519. if(data.code == 0)
  520. {
  521. var date = new Date().toLocaleString();
  522. log(date + '\t' + "设置旋转角度成功");
  523. }
  524. else
  525. {
  526. var date = new Date().toLocaleString();
  527. log(date + '\t' + "设置旋转角度失败");
  528. }
  529. }
  530. });
  531. }
  532. function Rotate270()
  533. {
  534. var params = "{\"camidx\":\"" + "0" + "\",\"rotate\":\"" + "270" + "\"}";
  535. var url = "http://127.0.0.1:38088/video=rotate";
  536. $.ajax({
  537. type: "post",
  538. url: url,
  539. dataType: "json",
  540. data: params,
  541. success: function (data) {
  542. if(data.code == 0)
  543. {
  544. var date = new Date().toLocaleString();
  545. log(date + '\t' + "设置旋转角度成功");
  546. }
  547. else
  548. {
  549. var date = new Date().toLocaleString();
  550. log(date + '\t' + "设置旋转角度失败");
  551. }
  552. }
  553. });
  554. }
  555. function FaceLive()
  556. {
  557. var date1 = new Date().toLocaleString();
  558. log(date1 + '\t' + "开始活体比对");
  559. var params = "{\"time\":\"" + "10" + "\"}";
  560. var url = "http://127.0.0.1:38088/faceLive=start";
  561. $.ajax({
  562. type: "post",
  563. url: url,
  564. dataType: "json",
  565. data: params,
  566. success: function (data) {
  567. if(data.code == 0)
  568. {
  569. if(data.data == 1)
  570. {
  571. var date = new Date().toLocaleString();
  572. log(date + '\t' + "活体比对结果:比对通过");
  573. }
  574. else
  575. {
  576. var date = new Date().toLocaleString();
  577. log(date + '\t' + "活体比对结果:比对不通过");
  578. }
  579. }
  580. else
  581. {
  582. var date = new Date().toLocaleString();
  583. log(date + '\t' + "活体比对失败");
  584. }
  585. }
  586. });
  587. }
  588. function GetBarcode()
  589. {
  590. var date = new Date().toLocaleString();
  591. log(date + '\t' + "开始读取");
  592. var params = "{\"time\":\"" + "20" + "\"}";
  593. var url = "http://127.0.0.1:38088/barcode=get";
  594. $.ajax({
  595. type: "post",
  596. url: url,
  597. dataType: "json",
  598. data: params,
  599. success: function (data)
  600. {
  601. if(data.code == 0)
  602. {
  603. var obj2 = eval(data);
  604. var count = obj2.data.length;
  605. for(var i=0;i<count;i++)
  606. {
  607. var date = new Date().toLocaleString();
  608. log(date + '\t' + "识别数据:" + obj2.data[i].barcodedata);
  609. }
  610. }
  611. else if(data.code == 1)
  612. {
  613. var date = new Date().toLocaleString();
  614. log(date + '\t' + "识别超时");
  615. }
  616. else if(data.code == 2)
  617. {
  618. var date = new Date().toLocaleString();
  619. log(date + '\t' + "其他错误");
  620. }
  621. }
  622. });
  623. }
  624. function SetA3A4Switch(obj)
  625. {
  626. var params;
  627. if (obj.checked)
  628. {
  629. params = "{\"switchflag\":\"" + "1" + "\",\"a3size\":\"" + "0.5" + "\",\"a4size\":\"" + "0.9" + "\"}";
  630. }
  631. else
  632. {
  633. params = "{\"switchflag\":\"" + "0" + "\",\"a3size\":\"" + "0.5" + "\",\"a4size\":\"" + "0.9" + "\"}";
  634. }
  635. var url = "http://127.0.0.1:38088/device=a3a4switch";
  636. $.ajax({
  637. type: "post",
  638. url: url,
  639. dataType: "json",
  640. data: params,
  641. success: function (data) {
  642. if(data.code == 0)
  643. {
  644. var date = new Date().toLocaleString();
  645. log(date + '\t' + "切换成功");
  646. }
  647. else
  648. {
  649. var date = new Date().toLocaleString();
  650. log(date + '\t' + "切换失败");
  651. }
  652. }
  653. });
  654. }
  655. function SetA3A4Switch(obj)
  656. {
  657. var params;
  658. if (obj.checked)
  659. {
  660. params = "{\"switchflag\":\"" + "1" + "\",\"a3size\":\"" + "0.5" + "\",\"a4size\":\"" + "0.9" + "\"}";
  661. }
  662. else
  663. {
  664. params = "{\"switchflag\":\"" + "0" + "\",\"a3size\":\"" + "0.5" + "\",\"a4size\":\"" + "0.9" + "\"}";
  665. }
  666. var url = "http://127.0.0.1:38088/device=a3a4switch";
  667. $.ajax({
  668. type: "post",
  669. url: url,
  670. dataType: "json",
  671. data: params,
  672. success: function (data) {
  673. if(data.code == 0)
  674. {
  675. var date = new Date().toLocaleString();
  676. log(date + '\t' + "切换成功");
  677. }
  678. else
  679. {
  680. var date = new Date().toLocaleString();
  681. log(date + '\t' + "切换失败");
  682. }
  683. }
  684. });
  685. }
  686. function AutoScan()
  687. {
  688. //var date = new Date().toLocaleString();
  689. //log(date + '\t' + "自动拍照开始");
  690. var sListpath = "D://HttpCamera";
  691. var params = "{\"movedetecflag\":\"" + "1" + "\",\"listpath\":\"" + sListpath.toString() + "\",\"filepath\":\"" + "LT" + "\"}";
  692. //var params = "{\"MoveDetecFlag\":\"" + "1" + "\"}";
  693. var url = "http://127.0.0.1:38088/video=movedetec";
  694. $.ajax({
  695. type: "post",
  696. url: url,
  697. dataType: "json",
  698. data: params,
  699. success: function (data)
  700. {
  701. if(data.code == 0)
  702. {
  703. //var date = new Date().toLocaleString();
  704. //log(date + '\t' + "识别数据:" + data.data);
  705. addImgDiv(data.data);
  706. AutoScan();
  707. }
  708. else if(data.code == 1)
  709. {
  710. var date = new Date().toLocaleString();
  711. log(date + '\t' + "自动连拍停止");
  712. }
  713. }
  714. });
  715. }
  716. function AutoScanStop()
  717. {
  718. var date = new Date().toLocaleString();
  719. log(date + '\t' + "自动拍照关闭");
  720. var params = "{\"movedetecflag\":\"" + "0" + "\"}";
  721. var url = "http://127.0.0.1:38088/video=movedetec";
  722. $.ajax({
  723. type: "post",
  724. url: url,
  725. dataType: "json",
  726. data: params,
  727. success: function (data)
  728. {
  729. if(data.code == 0)
  730. {
  731. var date = new Date().toLocaleString();
  732. log(date + '\t' + "关闭自动连拍成功");
  733. }
  734. }
  735. });
  736. }
  737. function OCR()
  738. {
  739. var date = new Date().toLocaleString();
  740. log(date + '\t' + "ocr开始");
  741. var sOcrpath = "D://ocr123.pdf";
  742. var sPicpath = "D://ocr123.jpg";
  743. var params = "{\"ocrflag\":\"" + "0" + "\",\"picfilepath\":\"" + sPicpath.toString() + "\",\"savefilepath\":\"" + sOcrpath.toString() + "\"}";
  744. var url = "http://127.0.0.1:38088/video=ocr";
  745. $.ajax({
  746. type: "post",
  747. url: url,
  748. dataType: "json",
  749. data: params,
  750. success: function (data)
  751. {
  752. if(data.code == 0)
  753. {
  754. var date = new Date().toLocaleString();
  755. log(date + '\t' + "ocr结束");
  756. log(date + '\t' + data.data);
  757. }
  758. }
  759. });
  760. }
  761. //修改
  762. //预览图片
  763. function openImage(imageItem) {
  764. var url = imageItem.parentNode.id;
  765. window.showModalDialog(url, null, "dialogHeight:800px; dialogWidth:1000px; resizable:no");
  766. //var top = screen.availHeight - 500;
  767. //var left = screen.availWidth - 170;
  768. // window.open("./new.html", 'newwindow', 'height=500, width=770, top=' + top + ', left=' + left + ', toolbar=no, menubar=no, scrollbars=yes,resizable=no,location=no, status=no');
  769. }
  770. //增加图片缩略图
  771. function addImgDiv(imgPath)
  772. {
  773. var container = document.getElementById('container');
  774. var newchild = document.createElement("div");
  775. newchild.setAttribute("style", "float:left");
  776. imgPathToPdfArray.push(imgPath);
  777. //imgPath = "file:///" + imgPath;
  778. newchild.setAttribute("id", imgPath);
  779. imgPathArray.push(imgPath); ////增加缩略图时默认把路径加入图片数组
  780. newchild.innerHTML = "<img width='105' height='85' src='" + "data:image/jpg;base64," + imgPath + "' onclick='openImage(this)' /></img><input type='checkbox' checked='checked' onchange='checkboxClicked(this)' />";
  781. container.appendChild(newchild);
  782. }
  783. //清空缩略图
  784. function removeAll() {
  785. document.getElementById('container').innerHTML = "";
  786. imgPathArray = [];
  787. imgPathToPdfArray = [];
  788. }
  789. //处理缩略图CheckBox点击事件
  790. function checkboxClicked(checkboxItem)
  791. {
  792. if (imgPathArray.indexOf(checkboxItem.parentNode.id) < 0)
  793. {
  794. imgPathArray.push(checkboxItem.parentNode.id);
  795. imgPathToPdfArray.push(checkboxItem.parentNode.id);
  796. }
  797. else
  798. {
  799. var index = imgPathArray.indexOf(checkboxItem.parentNode.id);
  800. imgPathArray.splice(index, 1);
  801. imgPathToPdfArray.splice(index, 1);
  802. }
  803. }
  804. function clean()
  805. {
  806. document.getElementById("objLog").value="";
  807. }
  808. function log(s)
  809. {
  810. var oldValue = document.getElementById("objLog").value;
  811. if (oldValue.length > 0)
  812. {
  813. oldValue += "\n";
  814. }
  815. document.getElementById("objLog").value = s + "\n" + oldValue;
  816. }
  817. </script>
  818. </head>
  819. <body onload="Load()" onunload="Unload()" onbeforeunload="Release()">
  820. <div id="sidebar">
  821. <h1>CameraService Demo Page</h1>
  822. <h2>Function</h2>
  823. </div>
  824. <div id="noniediv">
  825. <p class="xform-p"></p>
  826. <p id="streamwrap" class="xform-p">
  827. <img id="ImgMain" class="xform" WIDTH="400" HEIGHT="300"/>
  828. <img id="ImgAssis" class="xform" WIDTH="400" HEIGHT="300"/>
  829. </p>
  830. </div>
  831. <!-- 如果是ie浏览器,会显示ocx -->
  832. <div id="ocxdiv">
  833. <OBJECT classid="clsid:A4B4E9B5-78E6-4CE3-B8A1-4B36237943F8" id="ocxstreamimage" name="showVideoOcx" width="360px" height="270px"></OBJECT>
  834. <OBJECT classid="clsid:A4B4E9B5-78E6-4CE3-B8A1-4B36237943F8" id="ocxstreamimage1" name="showVideoOcx1" width="360px" height="270px"></OBJECT>
  835. </div>
  836. </br>
  837. <input type="button" onclick="OpenMainCamera()" value="Open(主头)" style="width:200px" />
  838. <input type="button" onclick="CloseMainCamera()" value="Close(主头)" style="width:200px" />
  839. <input type="button" onclick="OpenAssisCamera()" value="Open(副头)" style="width:200px" />
  840. <input type="button" onclick="CloseAssisCamera()" value="Close(副头)" style="width:200px" />
  841. <input id="SetState" type="checkbox" value="" onclick="SetA3A4Switch(this)" />A3A4切换
  842. <b>|</b>
  843. XDpi:<input type="text" id="XDpi" size = "5" value = "300"/>
  844. YDpi:<input type="text" id="YDpi" size = "5" value = "300"/>
  845. <input id="SetDpi" type="checkbox" value="" onclick="SetDpi(this)" />设置DPI
  846. </br>
  847. <input type="button" onclick="Rotate90()" value="Rotate(左转90)" style="width:200px" />
  848. <input type="button" onclick="Rotate270()" value="Rotate(右转90)" style="width:200px" />
  849. <input type="button" onclick="GrabImage()" value="GrabImage(拍照保存在本地)" style="width:200px" />
  850. <input type="button" onclick="GrabImageBase64()" value="GrabImage(获取图片Base64)" style="width:200px"/>
  851. <input type="button" onclick="GrabImagebyautoflat()" value="GrabImagebyautoflat(展平拍照)" style="width:200px" />
  852. <input type="button" onclick="AutoScan()" value="AutoScan(自动拍照)" style="width:200px"/>
  853. <input type="button" onclick="AutoScanStop()" value="AutoScanStop(关闭自动拍照)" style="width:200px"/>
  854. </br>
  855. <input type="button" onclick="GetBarcode()" value="GetBarcode(识别条码)" style="width:200px"/>
  856. <input type="button" onclick="ReadIDCard()" value="ReadIDCard(读身份证)" style="width:200px"/>
  857. <input type="button" onclick="FaceComparisonEx()" value="FaceComparisonEx(人证比对)" style="width:200px"/>
  858. <input type="button" onclick="FaceLive()" value="FaceLive(活体比对)" style="width:200px"/>
  859. <input type="button" onclick="OCR()" value="OCR(OCR识别)" style="width:200px"/>
  860. </br>
  861. <input type="button" onclick="StartSignDlg()" value="StartApp(签名窗口弹出)" style="width:200px"/>
  862. <input type="button" onclick="StartAppraiseDlg()" value="StartApp(评价窗口弹出)" style="width:200px"/>
  863. </br>
  864. <input type="button" onclick="GetPDF()" value="GetPDF(获得PDF)" style="width:200px"/>
  865. <input type="button" onclick="removeAll()" value="removeAll(清空缩略图)" style="width:200px"/>
  866. </br>
  867. </div>
  868. </br>
  869. <div id="result"></div>
  870. </br>
  871. <input class="submit_01" type="button" value="清空信息" onclick="clean()" />
  872. </br>
  873. </div>
  874. <br />
  875. <div id="container" style="float:left;" width="320px" height="200px"> </div>
  876. </br>
  877. <img id="snapshot" src="" alt="This is a static snapshot" width="320px" height="200px"/>
  878. <img id="photo" src="" alt="This is a photo" width="200px" height="240px" />
  879. <img id="photo1" src="" alt="This is a photo" width="400px" height="200x" />
  880. <img id="photo2" src="" alt="This is a photo" width="400" height="200px" />
  881. <textarea cols="185" rows="25" id="objLog" name="objLog" ></textarea>
  882. <img src="file:///D:/image/1634199181477.jpg" alt="">
  883. </div>
  884. </body>
  885. </html>