unify-external-plugin-platform 0.0.2-36 → 0.0.2-38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -81789,6 +81789,359 @@ var index = (function () {
81789
81789
  /* harmony default export */ __webpack_exports__["default"] = (index);
81790
81790
 
81791
81791
 
81792
+ /***/ }),
81793
+
81794
+ /***/ 8601:
81795
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
81796
+
81797
+ "use strict";
81798
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
81799
+ /* harmony export */ "g$": function() { return /* binding */ tsToJs; },
81800
+ /* harmony export */ "oK": function() { return /* binding */ GetIDCardOnly; },
81801
+ /* harmony export */ "xj": function() { return /* binding */ loadCamera; }
81802
+ /* harmony export */ });
81803
+ /* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7658);
81804
+ /* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);
81805
+
81806
+ var tsToJs = {
81807
+ /**
81808
+ * @return {any}
81809
+ */
81810
+ getElement: function Stirng(flag, photoId) {
81811
+ var plugin;
81812
+ if (flag == 1) {
81813
+ // 中正人脸识别,但是用不起来,换websocket形式调用了,此处弃用,害!
81814
+ debugger;
81815
+ // if (location.href.indexOf('TakePhoto') == -1) {
81816
+ console.log("人脸识别开始-----");
81817
+ var plugin = document.getElementById("facePlugin");
81818
+ console.log("plugin-----", plugin);
81819
+ var data = "$=Action";
81820
+ var temp = plugin.SendDataToADB("127.0.0.1", 1352, 15000, data, data.length);
81821
+ console.log(temp + "-----====");
81822
+ //处理返回的结果,获取相应的属性
81823
+ if (typeof temp === "undefined") {
81824
+ return null;
81825
+ }
81826
+ var str = temp.split("$");
81827
+ var result = str[1].split("=#=")[1];
81828
+ console.log("result:" + result + "-----++++");
81829
+ var name = str[2].split("=#=")[1];
81830
+ var sex = str[3].split("=#=")[1];
81831
+ var cardNo = str[4].split("=#=")[1];
81832
+ console.log("cardNo:" + cardNo + "-----++++");
81833
+ var address = str[5].split("=#=")[1];
81834
+ var birthday = str[6].split("=#=")[1];
81835
+ var cardImg = str[8].split("=#=")[1];
81836
+ var faceImg = str[9].split("=#=")[1];
81837
+ var race = str[10].split("=#=")[1];
81838
+ var regOrg = str[11].split("=#=")[1];
81839
+ var validTime = str[12].split("=#=")[1];
81840
+ var validTimeStart = validTime.split("-")[0];
81841
+ var validTimeEnd = validTime.split("-")[1];
81842
+ //处理身份证信息并赋值
81843
+ var objSfz = {
81844
+ "idCard": {
81845
+ "info": {
81846
+ "name": name.toString(),
81847
+ "sex": sex.toString(),
81848
+ "nation": race.toString(),
81849
+ "birthday": birthday.toString(),
81850
+ "address": address.toString(),
81851
+ "cardId": cardNo.toString(),
81852
+ "police": regOrg.toString(),
81853
+ "validStart": validTimeStart.toString(),
81854
+ "validEnd": validTimeEnd.toString(),
81855
+ "sexCode": "",
81856
+ "nationCode": ""
81857
+ },
81858
+ "headImage": cardImg.toString()
81859
+ },
81860
+ "faceimg": faceImg.toString(),
81861
+ "zt": ""
81862
+ };
81863
+ // objSfz = {
81864
+ // "zjh": cardNo.toString(),
81865
+ // "xm": name.toString(),
81866
+ // "xb": sex.toString(),
81867
+ // "sr": birthday.toString(),
81868
+ // "mz": race.toString(),
81869
+ // "zz": address.toString(),
81870
+ // "qfjg": regOrg.toString(),
81871
+ // "yxqx": validTime.toString(),
81872
+ // "yxqx1": validTimeStart.toString(),
81873
+ // "yxqx2": validTimeEnd.toString(),
81874
+ // "zpString": cardImg.toString(),
81875
+ // "faceImg": faceImg.toString()
81876
+ // };
81877
+ console.log('-------------------objSfz成功返回数据---------------------');
81878
+ console.log('人脸识别结果===>', objSfz);
81879
+ return objSfz;
81880
+ // }
81881
+ } else if (flag == 2) {
81882
+ // console.log("idcard");
81883
+ plugin = document.getElementById('plugin');
81884
+ var temp2 = plugin.On_OpenDevice(1001);
81885
+ var obj = eval('(' + temp2 + ')');
81886
+ if (typeof obj['照片'] != "undefined") {
81887
+ if (photoId && document.getElementById(photoId)) {
81888
+ document.getElementById(photoId).src = "data:image/jpeg;base64," + obj['照片'];
81889
+ }
81890
+ console.log(obj['身份证号2'] + '._____.');
81891
+ console.log(obj['照片2'] + '._____.-----------');
81892
+ }
81893
+ return obj;
81894
+ } else if (flag == 3) {
81895
+ console.log("-----开始读取身份证信息-----");
81896
+ var plugin = document.getElementById('plugin');
81897
+ var temp2 = plugin.On_OpenDevice(1001);
81898
+ var obj = eval('(' + temp2 + ')');
81899
+ var result = {
81900
+ "info": {
81901
+ "name": obj['姓名'],
81902
+ "sex": obj['性别'],
81903
+ "nation": obj['名族'],
81904
+ "birthday": obj['出生日期'],
81905
+ "address": obj['地址'],
81906
+ "cardId": obj['身份证号'],
81907
+ "police": obj['发证机关'],
81908
+ "validStart": obj['有效期开始'],
81909
+ "validEnd": obj['有效期结束'],
81910
+ "sexCode": "",
81911
+ "nationCode": ""
81912
+ },
81913
+ "headImage": obj['照片']
81914
+ };
81915
+ console.log("-----身份证信息读取结果-----");
81916
+ console.log(result);
81917
+ return result;
81918
+ } else if (flag == 4) {
81919
+ return GetIDCardAndMatchImage();
81920
+ }
81921
+ },
81922
+ getExportInfo: function Stirng() {
81923
+ var columNameStr = '';
81924
+ var captionNameStr = '';
81925
+ $.ajaxSettings.async = false;
81926
+ $.get("assets/xml/Export.xml", false, function (d) {
81927
+ var columNameArray = [];
81928
+ var captionNameArray = [];
81929
+ $(d).find('ElementTable').each(function () {
81930
+ var $book = $(this);
81931
+ var ColumnName = $book.attr("ColumnName");
81932
+ var CaptionName = $book.attr("CaptionName");
81933
+ columNameArray.push(ColumnName);
81934
+ captionNameArray.push(CaptionName);
81935
+ // console.log(ColumnName + 'nei');
81936
+ // console.log(CaptionName + 'nei');
81937
+ });
81938
+
81939
+ columNameStr = columNameArray.join(",");
81940
+ captionNameStr = captionNameArray.join(",");
81941
+ xmlxx = {
81942
+ "columNameStr": columNameStr,
81943
+ "captionNameStr": captionNameStr
81944
+ };
81945
+ // var url = commonPath+"/blacklist/exportExcel?1=1"+queryConfig;
81946
+ // var iframe = document.createElement('IFRAME');
81947
+ // iframe.setAttribute("id","testIframe");
81948
+ // iframe.setAttribute('style', 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;');
81949
+ // document.body.appendChild(iframe);
81950
+ // iframe.src = url;
81951
+
81952
+ // console.log(columNameStr+"&&"+captionNameStr);
81953
+ });
81954
+
81955
+ $.ajaxSettings.async = true;
81956
+ return xmlxx;
81957
+ },
81958
+ getAreaData: function Stirng() {
81959
+ $.ajaxSettings.async = false;
81960
+ var nameArray = [];
81961
+ var dataBaseLinkArray = [];
81962
+ $.get('assets/xml/AreaData.xml', function (d) {
81963
+ $(d).find('ElementTable').each(function () {
81964
+ var $book = $(this);
81965
+ var value = $book.attr("tableName");
81966
+ var dataBaseLink = $book.children("DataBaseLink").attr("Name");
81967
+ nameArray.push(value);
81968
+ dataBaseLinkArray.push(dataBaseLink);
81969
+ });
81970
+ // loadTableList(1,true);
81971
+ });
81972
+
81973
+ $.ajaxSettings.async = true;
81974
+ xmlxx = {
81975
+ "nameArray": nameArray,
81976
+ "dataBaseLinkArray": dataBaseLinkArray
81977
+ };
81978
+ return xmlxx;
81979
+ },
81980
+ getAreaTable: function () {
81981
+ $.ajaxSettings.async = false;
81982
+ var areaTable = [];
81983
+ $.get('assets/xml/AreaData.xml', function (d) {
81984
+ $(d).find('ElementTable').each(function () {
81985
+ var $book = $(this);
81986
+ var value = $book.attr("tableName");
81987
+ var dataBaseLink = $book.children("DataBaseLink").attr("Name");
81988
+ xmlxx = {
81989
+ "tableName": value,
81990
+ "dataBaseLink": dataBaseLink
81991
+ };
81992
+ areaTable.push(xmlxx);
81993
+ });
81994
+ // loadTableList(1,true);
81995
+ });
81996
+
81997
+ $.ajaxSettings.async = true;
81998
+ return areaTable;
81999
+ },
82000
+ getPhoto: function (imgBase64, photoId) {
82001
+ document.getElementById(photoId).src = "data:image/jpeg;base64," + imgBase64;
82002
+ },
82003
+ printImg: function (domId) {
82004
+ $('#' + domId).jqprint();
82005
+ }
82006
+ };
82007
+ (function ($) {
82008
+ var opt;
82009
+ $.fn.jqprint = function (options) {
82010
+ opt = $.extend({}, $.fn.jqprint.defaults, options);
82011
+ var $element = this instanceof jQuery ? this : $(this);
82012
+ var $iframe = $("<iframe />");
82013
+ if (!opt.debug) {
82014
+ $iframe.css({
82015
+ position: "absolute",
82016
+ width: "0px",
82017
+ height: "0px",
82018
+ left: "-600px",
82019
+ top: "-600px"
82020
+ });
82021
+ }
82022
+ $iframe.appendTo("body");
82023
+ var doc = $iframe[0].contentWindow.document;
82024
+ if (opt.importCSS) {
82025
+ if ($("link[media=print]").length > 0) {
82026
+ $("link[media=print]").each(function () {
82027
+ doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' media='print' />");
82028
+ });
82029
+ } else {
82030
+ $("link").each(function () {
82031
+ doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' />");
82032
+ });
82033
+ }
82034
+ }
82035
+ if (opt.printContainer) {
82036
+ doc.write($element.outer());
82037
+ } else {
82038
+ $element.each(function () {
82039
+ doc.write($(this).html());
82040
+ });
82041
+ }
82042
+ doc.close();
82043
+ $iframe[0].contentWindow.focus();
82044
+ setTimeout(function () {
82045
+ $iframe[0].contentWindow.print();
82046
+ }, 1000);
82047
+ };
82048
+ $.fn.jqprint.defaults = {
82049
+ debug: false,
82050
+ importCSS: true,
82051
+ printContainer: true,
82052
+ operaSupport: true
82053
+ };
82054
+
82055
+ // Thanks to 9__, found at http://users.livejournal.com/9__/380664.html
82056
+ jQuery.fn.outer = function () {
82057
+ return $($('<div></div>').html(this.clone())).html();
82058
+ };
82059
+ }); //(jQuery);
82060
+
82061
+ function loadCamera() {
82062
+ // var IDCard = document.getElementById("IDCard_chrome");
82063
+ // var cameraRow = document.getElementById("camera_row")
82064
+ // cameraRow.innerHTML = '<embed clsid="{23D85CA3-E783-431E-A229-18BB6BEB9AD9}" type="application/x-itst-activex" width=300 height=180 name="FaceObj" />'
82065
+ // ;
82066
+ var IDCard = document.getElementById("IDCard_chrome");
82067
+ var cameraRow = document.getElementById("camera_row");
82068
+ cameraRow.innerHTML = '<object clsid="{23D85CA3-E783-431E-A229-18BB6BEB9AD9}" type="application/x-itst-activex" width=320 height=240 name="FaceObj"></object>';
82069
+ }
82070
+ function GetIDCardOnly() {
82071
+ var IDCard = document.getElementById("IDCard_chrome");
82072
+ var ret = IDCard.OpenDevice();
82073
+ if (ret != 0) {
82074
+ debug("一体机启动失败");
82075
+ return;
82076
+ }
82077
+ ret = IDCard.ReadIDCardInfo();
82078
+ //处理身份证信息并赋值
82079
+ var objSfz = {
82080
+ "info": {
82081
+ "name": IDCard.IDName,
82082
+ "sex": IDCard.IDSex,
82083
+ "nation": IDCard.IDFolk,
82084
+ "birthday": IDCard.IDBirth,
82085
+ "address": IDCard.IDAddress,
82086
+ "cardId": IDCard.IDNumber,
82087
+ "police": IDCard.IDOrgan,
82088
+ "validStart": IDCard.IDTermBegin.substring(0, 4) + '.' + IDCard.IDTermBegin.substring(4, 6) + '.' + IDCard.IDTermBegin.substring(6, 8),
82089
+ "validEnd": IDCard.IDTermEnd.substring(0, 4) + '.' + IDCard.IDTermEnd.substring(4, 6) + '.' + IDCard.IDTermEnd.substring(6, 8),
82090
+ "sexCode": "",
82091
+ "nationCode": ""
82092
+ },
82093
+ "headImage": IDCard.IDPhoto64
82094
+ };
82095
+ return objSfz;
82096
+ }
82097
+
82098
+ // 一体机插件 (丽水)
82099
+ function GetIDCardAndMatchImage() {
82100
+ console.log("-----开启一体机功能-----");
82101
+ var IDCard = document.getElementById("IDCard_chrome");
82102
+ // var cameraRow = document.getElementById("camera_row")
82103
+ // cameraRow.innerHTML = '<object clsid="{23D85CA3-E783-431E-A229-18BB6BEB9AD9}" type="application/x-itst-activex" width=320 height=240 name="FaceObj"></object>'
82104
+ // cameraRow.innerHTML = '<embed clsid="{23D85CA3-E783-431E-A229-18BB6BEB9AD9}" type="application/x-itst-activex" width=300 height=180 name="FaceObj" id="FaceObj" />'
82105
+ var ret = IDCard.OpenDevice();
82106
+ if (ret != 0) {
82107
+ debug("一体机启动失败");
82108
+ return;
82109
+ }
82110
+ ret = IDCard.ReadIDCardInfo();
82111
+ //处理身份证信息并赋值
82112
+ var objSfz = {
82113
+ "idCard": {
82114
+ "info": {
82115
+ "name": IDCard.IDName,
82116
+ "sex": IDCard.IDSex,
82117
+ "nation": IDCard.IDFolk,
82118
+ "birthday": IDCard.IDBirth,
82119
+ "address": IDCard.IDAddress,
82120
+ "cardId": IDCard.IDNumber,
82121
+ "police": IDCard.IDOrgan,
82122
+ "validStart": IDCard.IDTermBegin.substring(0, 4) + '.' + IDCard.IDTermBegin.substring(4, 6) + '.' + IDCard.IDTermBegin.substring(6, 8),
82123
+ "validEnd": IDCard.IDTermEnd.substring(0, 4) + '.' + IDCard.IDTermEnd.substring(4, 6) + '.' + IDCard.IDTermEnd.substring(6, 8),
82124
+ "sexCode": "",
82125
+ "nationCode": ""
82126
+ },
82127
+ "headImage": IDCard.IDPhoto64
82128
+ },
82129
+ "faceimg": "",
82130
+ "zt": ""
82131
+ };
82132
+ return MatchImage(objSfz);
82133
+ }
82134
+ function MatchImage(objSfz) {
82135
+ debugger;
82136
+ // var FaceObj = document.getElementById("FaceObj");
82137
+ var ret = FaceObj.MatchFace(objSfz.idCard.headImage);
82138
+ var obj = JSON.parse(ret);
82139
+ objSfz.faceimg = obj.image;
82140
+ objSfz.zt = obj.retinfo;
82141
+ console.log(objSfz);
82142
+ return objSfz;
82143
+ }
82144
+
81792
82145
  /***/ }),
81793
82146
 
81794
82147
  /***/ 2823:
@@ -81929,6 +82282,22 @@ module.exports = function ( delay, noTrailing, callback, debounceMode ) {
81929
82282
  };
81930
82283
 
81931
82284
 
82285
+ /***/ }),
82286
+
82287
+ /***/ 2234:
82288
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
82289
+
82290
+ "use strict";
82291
+ module.exports = __webpack_require__.p + "img/idcardbg1.1f8e1fc6.gif";
82292
+
82293
+ /***/ }),
82294
+
82295
+ /***/ 4923:
82296
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
82297
+
82298
+ "use strict";
82299
+ module.exports = __webpack_require__.p + "img/idcardbg2.2e47b05f.gif";
82300
+
81932
82301
  /***/ }),
81933
82302
 
81934
82303
  /***/ 5053:
@@ -83037,8 +83406,8 @@ var scanner_eloamvue_type_template_id_a80d3a26_scoped_true_render = function ren
83037
83406
  };
83038
83407
  var scanner_eloamvue_type_template_id_a80d3a26_scoped_true_staticRenderFns = [];
83039
83408
 
83040
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/scanner/scanner-eloam/src/component/scanner-eloam-component.vue?vue&type=template&id=3f7ff8bb&scoped=true&
83041
- var scanner_eloam_componentvue_type_template_id_3f7ff8bb_scoped_true_render = function render() {
83409
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/scanner/scanner-eloam/src/component/scanner-eloam-component.vue?vue&type=template&id=428304e7&scoped=true&
83410
+ var scanner_eloam_componentvue_type_template_id_428304e7_scoped_true_render = function render() {
83042
83411
  var _vm = this,
83043
83412
  _c = _vm._self._c;
83044
83413
  return _c('div', {
@@ -83051,8 +83420,8 @@ var scanner_eloam_componentvue_type_template_id_3f7ff8bb_scoped_true_render = fu
83051
83420
  staticClass: "load-success"
83052
83421
  }, [_c('img', {
83053
83422
  staticStyle: {
83054
- "width": "100%",
83055
- "height": "100%"
83423
+ "width": "800px",
83424
+ "height": "600px"
83056
83425
  },
83057
83426
  attrs: {
83058
83427
  "id": "photo",
@@ -83102,7 +83471,7 @@ var scanner_eloam_componentvue_type_template_id_3f7ff8bb_scoped_true_render = fu
83102
83471
  }, [_vm._v(_vm._s(item.label))]), _vm._t("action")];
83103
83472
  })], 2)])]);
83104
83473
  };
83105
- var scanner_eloam_componentvue_type_template_id_3f7ff8bb_scoped_true_staticRenderFns = [];
83474
+ var scanner_eloam_componentvue_type_template_id_428304e7_scoped_true_staticRenderFns = [];
83106
83475
 
83107
83476
  ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
83108
83477
  function _typeof(obj) {
@@ -83305,7 +83674,7 @@ class ELoamPassService {
83305
83674
  validStart,
83306
83675
  validEnd
83307
83676
  },
83308
- headImage: `data:image/jpg;base64,${photoBase64}`
83677
+ headImage: photoBase64
83309
83678
  };
83310
83679
  return IDCardData;
83311
83680
  }
@@ -83380,10 +83749,10 @@ const scanner_eloam_componentvue_type_script_lang_js_BEGIN_DATA = 'data:image/jp
83380
83749
  });
83381
83750
  ;// CONCATENATED MODULE: ./packages/scanner/scanner-eloam/src/component/scanner-eloam-component.vue?vue&type=script&lang=js&
83382
83751
  /* harmony default export */ var component_scanner_eloam_componentvue_type_script_lang_js_ = (scanner_eloam_componentvue_type_script_lang_js_);
83383
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/scanner/scanner-eloam/src/component/scanner-eloam-component.vue?vue&type=style&index=0&id=3f7ff8bb&prod&scoped=true&lang=scss&
83752
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/scanner/scanner-eloam/src/component/scanner-eloam-component.vue?vue&type=style&index=0&id=428304e7&prod&scoped=true&lang=scss&
83384
83753
  // extracted by mini-css-extract-plugin
83385
83754
 
83386
- ;// CONCATENATED MODULE: ./packages/scanner/scanner-eloam/src/component/scanner-eloam-component.vue?vue&type=style&index=0&id=3f7ff8bb&prod&scoped=true&lang=scss&
83755
+ ;// CONCATENATED MODULE: ./packages/scanner/scanner-eloam/src/component/scanner-eloam-component.vue?vue&type=style&index=0&id=428304e7&prod&scoped=true&lang=scss&
83387
83756
 
83388
83757
  ;// CONCATENATED MODULE: ./packages/scanner/scanner-eloam/src/component/scanner-eloam-component.vue
83389
83758
 
@@ -83396,11 +83765,11 @@ const scanner_eloam_componentvue_type_script_lang_js_BEGIN_DATA = 'data:image/jp
83396
83765
 
83397
83766
  var scanner_eloam_component_component = normalizeComponent(
83398
83767
  component_scanner_eloam_componentvue_type_script_lang_js_,
83399
- scanner_eloam_componentvue_type_template_id_3f7ff8bb_scoped_true_render,
83400
- scanner_eloam_componentvue_type_template_id_3f7ff8bb_scoped_true_staticRenderFns,
83768
+ scanner_eloam_componentvue_type_template_id_428304e7_scoped_true_render,
83769
+ scanner_eloam_componentvue_type_template_id_428304e7_scoped_true_staticRenderFns,
83401
83770
  false,
83402
83771
  null,
83403
- "3f7ff8bb",
83772
+ "428304e7",
83404
83773
  null
83405
83774
 
83406
83775
  )
@@ -83687,7 +84056,1909 @@ id_card_reader_eloam.install = Vue => {
83687
84056
  Vue.component(id_card_reader_eloam.name, id_card_reader_eloam);
83688
84057
  };
83689
84058
  /* harmony default export */ var id_card_reader_id_card_reader_eloam = (id_card_reader_eloam);
83690
- ;// CONCATENATED MODULE: ./packages/index.js
84059
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/id-card-reader/id-card-reader-button/src/id-card-reader-button.vue?vue&type=template&id=7cd25906&scoped=true&
84060
+ var id_card_reader_buttonvue_type_template_id_7cd25906_scoped_true_render = function render() {
84061
+ var _vm = this,
84062
+ _c = _vm._self._c;
84063
+ return _vm.tip ? _c('el-tooltip', {
84064
+ staticClass: "id-card-reader-button",
84065
+ attrs: {
84066
+ "content": _vm.tip,
84067
+ "placement": "top"
84068
+ }
84069
+ }, [_vm.showIDCardChrome ? _c('embed', {
84070
+ attrs: {
84071
+ "clsid": "{E6B50A65-EDFB-4394-B092-A8C6E966C0E6}",
84072
+ "type": "application/x-itst-activex",
84073
+ "width": "0",
84074
+ "height": "0",
84075
+ "name": "IDCard_chrome",
84076
+ "id": "IDCard_chrome"
84077
+ }
84078
+ }) : _vm._e(), _c('el-button', _vm._b({
84079
+ on: {
84080
+ "click": _vm.handleClick
84081
+ }
84082
+ }, 'el-button', {
84083
+ disabled: _vm.disabled,
84084
+ icon: _vm.icon,
84085
+ loading: _vm.loading,
84086
+ plain: _vm.plain,
84087
+ round: _vm.round,
84088
+ size: _vm.size,
84089
+ type: _vm.type,
84090
+ class: _vm._className
84091
+ }, false), [_vm._t("default", function () {
84092
+ return [_vm._v(_vm._s(_vm.label))];
84093
+ })], 2)], 1) : _c('el-button', _vm._b({
84094
+ on: {
84095
+ "click": _vm.handleClick
84096
+ }
84097
+ }, 'el-button', {
84098
+ disabled: _vm.disabled,
84099
+ icon: _vm.icon,
84100
+ loading: _vm.loading,
84101
+ plain: _vm.plain,
84102
+ round: _vm.round,
84103
+ size: _vm.size,
84104
+ type: _vm.type,
84105
+ class: _vm._className
84106
+ }, false), [_vm.showIDCardChrome ? _c('embed', {
84107
+ attrs: {
84108
+ "clsid": "{E6B50A65-EDFB-4394-B092-A8C6E966C0E6}",
84109
+ "type": "application/x-itst-activex",
84110
+ "width": "0",
84111
+ "height": "0",
84112
+ "name": "IDCard_chrome",
84113
+ "id": "IDCard_chrome"
84114
+ }
84115
+ }) : _vm._e(), _vm._t("default", function () {
84116
+ return [_vm._v(_vm._s(_vm.label))];
84117
+ })], 2);
84118
+ };
84119
+ var id_card_reader_buttonvue_type_template_id_7cd25906_scoped_true_staticRenderFns = [];
84120
+
84121
+ ;// CONCATENATED MODULE: ./packages/service/external-plugins/default-plugin-socket.service.ts
84122
+
84123
+
84124
+ /**
84125
+ * 默认设备
84126
+ * 读卡器:普天、精伦
84127
+ * 签字版:有为签字、汉王签字
84128
+ * */
84129
+ var PluginApiType;
84130
+ (function (PluginApiType) {
84131
+ /**读取二代身份证信息 */
84132
+ PluginApiType["idcard"] = "sfz";
84133
+ /**精伦身份证*/
84134
+ PluginApiType["jlsfz"] = "jlsfz";
84135
+ /**读取人脸识别信息 */
84136
+ PluginApiType["camera"] = "sxt";
84137
+ /**有为签字 */
84138
+ PluginApiType["ywSign"] = "yw";
84139
+ /**汉王签字 */
84140
+ PluginApiType["hwSign"] = "hwsign";
84141
+ })(PluginApiType || (PluginApiType = {}));
84142
+ class IdCardReadService {
84143
+ // 精伦身份证 JLSFZManage
84144
+ // 之前 SFZManage
84145
+
84146
+ static startConnect(type = PluginApiType.idcard) {
84147
+ if (this.ws && this.ws.readyState === WebSocket.CONNECTING) {
84148
+ return this;
84149
+ }
84150
+ let webSocketUrl = this.idcardWebSocketUrl;
84151
+ switch (type) {
84152
+ case PluginApiType.idcard:
84153
+ webSocketUrl = this.idcardWebSocketUrl;
84154
+ break;
84155
+ case PluginApiType.jlsfz:
84156
+ webSocketUrl = this.jlsfzWebSocketUrl;
84157
+ }
84158
+ const ws = new WebSocket(webSocketUrl);
84159
+ let resolved;
84160
+ const onConnect = new Promise(resolve => {
84161
+ resolved = resolve;
84162
+ });
84163
+ ws.onopen = () => {
84164
+ resolved(true);
84165
+ };
84166
+ ws.onmessage = event => this.handleMessage(event);
84167
+ ws.onclose = () => this.handleClose();
84168
+ ws.onerror = () => this.handleError();
84169
+ this.ws = ws;
84170
+ return onConnect;
84171
+ }
84172
+ static handleError() {
84173
+ for (const type in this.requestStore) {
84174
+ this.requestStore.forEach(({
84175
+ reject
84176
+ }) => {
84177
+ reject('handleError');
84178
+ });
84179
+ }
84180
+ throw Error('读取身份证功能加载失败');
84181
+ }
84182
+ static handleClose() {
84183
+ for (const type in this.requestStore) {
84184
+ this.requestStore.forEach(({
84185
+ reject
84186
+ }) => {
84187
+ reject('close');
84188
+ });
84189
+ }
84190
+ }
84191
+ static handleMessage(msg) {
84192
+ let data = '';
84193
+ try {
84194
+ data = JSON.parse(msg.data);
84195
+ } catch (e) {
84196
+ data = '';
84197
+ }
84198
+ this.requestStore.forEach(({
84199
+ resolve
84200
+ }) => {
84201
+ resolve(data);
84202
+ });
84203
+ this.requestStore = [];
84204
+ this.ws.close();
84205
+ }
84206
+ static async read(type = PluginApiType.idcard) {
84207
+ await this.startConnect(type);
84208
+ if (this.ws.readyState === 1) {
84209
+ this.ws.send(type);
84210
+ return new Promise((resolve, reject) => {
84211
+ if (!this.requestStore) {
84212
+ this.requestStore = [];
84213
+ }
84214
+ this.requestStore.push({
84215
+ resolve,
84216
+ reject
84217
+ });
84218
+ });
84219
+ } else {
84220
+ throw Error('读取身份证未准备完成');
84221
+ }
84222
+ }
84223
+ static async idCardCommonRead() {
84224
+ let idcardInfo;
84225
+ // 顺序不要调整,先连接精伦读卡器,最后连接普通读卡器(也就是PluginApiType.idcard,因为该项读卡失败不会返回消息)
84226
+ for (const t of [PluginApiType.jlsfz, PluginApiType.idcard]) {
84227
+ const readData = await IdCardReadService.read(t);
84228
+ if (readData && readData.hasOwnProperty('info')) {
84229
+ idcardInfo = readData;
84230
+ break;
84231
+ }
84232
+ }
84233
+ if (idcardInfo) {
84234
+ return idcardInfo;
84235
+ } else {
84236
+ throw Error('未匹配可用的读卡器');
84237
+ }
84238
+ }
84239
+ }
84240
+ _defineProperty(IdCardReadService, "idcardWebSocketUrl", 'ws://127.0.0.1:8152/SFZManage');
84241
+ _defineProperty(IdCardReadService, "jlsfzWebSocketUrl", 'ws://127.0.0.1:8152/JLSFZManage');
84242
+ _defineProperty(IdCardReadService, "ws", void 0);
84243
+ _defineProperty(IdCardReadService, "requestStore", []);
84244
+ class default_plugin_socket_service_CameraReadService {
84245
+ static startConnect() {
84246
+ if (this.ws && this.ws.readyState === WebSocket.CONNECTING) {
84247
+ return this;
84248
+ }
84249
+ let webSocketUrl = this.cameraWebSocketUrl;
84250
+ const ws = new WebSocket(webSocketUrl);
84251
+ let resolved;
84252
+ const onConnect = new Promise(resolve => {
84253
+ resolved = resolve;
84254
+ });
84255
+ ws.onopen = () => {
84256
+ resolved(true);
84257
+ };
84258
+ ws.onmessage = event => this.handleMessage(event);
84259
+ ws.onclose = () => this.handleClose();
84260
+ ws.onerror = () => this.handleError();
84261
+ this.ws = ws;
84262
+ return onConnect;
84263
+ }
84264
+ static handleError() {
84265
+ for (const type in this.requestStore) {
84266
+ this.requestStore.forEach(({
84267
+ reject
84268
+ }) => {
84269
+ reject('handleError');
84270
+ });
84271
+ }
84272
+ throw Error('读取拍照功能加载失败');
84273
+ }
84274
+ static handleClose() {
84275
+ for (const type in this.requestStore) {
84276
+ this.requestStore.forEach(({
84277
+ reject
84278
+ }) => {
84279
+ reject('close');
84280
+ });
84281
+ }
84282
+ }
84283
+ static handleMessage(msg) {
84284
+ let data = msg.data;
84285
+ this.requestStore.forEach(({
84286
+ resolve
84287
+ }) => {
84288
+ resolve(data);
84289
+ });
84290
+ this.requestStore = [];
84291
+ this.ws.close();
84292
+ // this.ws = null;
84293
+ }
84294
+
84295
+ static async read() {
84296
+ await this.startConnect();
84297
+ if (this.ws.readyState === 1) {
84298
+ this.ws.send(PluginApiType.camera);
84299
+ return new Promise((resolve, reject) => {
84300
+ if (!this.requestStore) {
84301
+ this.requestStore = [];
84302
+ }
84303
+ this.requestStore.push({
84304
+ resolve,
84305
+ reject
84306
+ });
84307
+ });
84308
+ } else {
84309
+ throw Error('读取拍照未准备完成');
84310
+ }
84311
+ }
84312
+ }
84313
+ _defineProperty(default_plugin_socket_service_CameraReadService, "cameraWebSocketUrl", 'ws://127.0.0.1:8152/SXTManage');
84314
+ _defineProperty(default_plugin_socket_service_CameraReadService, "ws", void 0);
84315
+ _defineProperty(default_plugin_socket_service_CameraReadService, "requestStore", []);
84316
+ class SignReadService {
84317
+ static startConnect(signMode) {
84318
+ if (this.ws && this.ws.readyState === WebSocket.CONNECTING) {
84319
+ return this;
84320
+ }
84321
+ let webSocketUrl = this.signWebSocketUrl;
84322
+ if (signMode === PluginApiType.hwSign) {
84323
+ webSocketUrl = this.hwSignWebSocketUrl;
84324
+ }
84325
+ const ws = new WebSocket(webSocketUrl);
84326
+ let resolved;
84327
+ const onConnect = new Promise(resolve => {
84328
+ resolved = resolve;
84329
+ });
84330
+ ws.onopen = () => {
84331
+ resolved(true);
84332
+ };
84333
+ ws.onmessage = event => this.handleMessage(event);
84334
+ ws.onclose = () => this.handleClose();
84335
+ ws.onerror = () => this.handleError();
84336
+ this.ws = ws;
84337
+ return onConnect;
84338
+ }
84339
+ static handleError() {
84340
+ for (const type in this.requestStore) {
84341
+ this.requestStore.forEach(({
84342
+ reject
84343
+ }) => {
84344
+ reject('handleError');
84345
+ });
84346
+ }
84347
+ throw Error('签字板加载失败');
84348
+ }
84349
+ static handleClose() {
84350
+ for (const type in this.requestStore) {
84351
+ this.requestStore.forEach(({
84352
+ reject
84353
+ }) => {
84354
+ reject('close');
84355
+ });
84356
+ }
84357
+ }
84358
+ static handleMessage(msg) {
84359
+ let data = msg.data;
84360
+ this.requestStore.forEach(({
84361
+ resolve
84362
+ }) => {
84363
+ resolve(data);
84364
+ });
84365
+ this.requestStore = [];
84366
+ this.ws.close();
84367
+ }
84368
+ static async read(signMode = PluginApiType.ywSign) {
84369
+ await this.startConnect(signMode);
84370
+ if (this.ws.readyState === 1) {
84371
+ console.log('签字板连接成功');
84372
+ this.ws.send(signMode);
84373
+ return new Promise((resolve, reject) => {
84374
+ if (!this.requestStore) {
84375
+ this.requestStore = [];
84376
+ }
84377
+ this.requestStore.push({
84378
+ resolve,
84379
+ reject
84380
+ });
84381
+ });
84382
+ } else {
84383
+ throw Error('签字板未准备完成');
84384
+ }
84385
+ }
84386
+ }
84387
+ _defineProperty(SignReadService, "signWebSocketUrl", 'ws://127.0.0.1:8152/chromeManage');
84388
+ _defineProperty(SignReadService, "hwSignWebSocketUrl", 'ws://127.0.0.1:8152/HWSIGNManage');
84389
+ _defineProperty(SignReadService, "ws", void 0);
84390
+ _defineProperty(SignReadService, "requestStore", []);
84391
+ ;// CONCATENATED MODULE: ./packages/utils/idCard-common-utils.ts
84392
+ /**
84393
+ * 根据身份证号码获取指定数据
84394
+ */
84395
+ class IdCardCommonUtils {
84396
+ /**
84397
+ * 按身份证号码获取性别
84398
+ * @param idNumber 身份证号码
84399
+ * @returns 男;女;异常(身份证号码为空或长度、格式错误)
84400
+ */
84401
+ static getGenderByIdNumber(idNumber) {
84402
+ if (idNumber) {
84403
+ let genderCode; // 性别代码
84404
+ if (idNumber.length == 18) {
84405
+ // 二代身份证号码长度为18位(第17位为性别代码)
84406
+ genderCode = idNumber.charAt(16);
84407
+ } else if (idNumber.length == 15) {
84408
+ // 一代身份证号码长度为15位(第15位为性别代码)
84409
+ genderCode = idNumber.charAt(14);
84410
+ }
84411
+ if (genderCode && !isNaN(genderCode)) {
84412
+ // 两代身份证号码的性别代码都为男奇女偶
84413
+ if (parseInt(genderCode) % 2 == 0) {
84414
+ return '女';
84415
+ }
84416
+ return '男';
84417
+ }
84418
+ }
84419
+ return '';
84420
+ }
84421
+ /**
84422
+ * 按身份证号码获取出生年月
84423
+ * @param idNumber
84424
+ * @returns
84425
+ */
84426
+ static getBirthdayByIdNumber(idNumber) {
84427
+ if (idNumber && idNumber && idNumber.length > 13) {
84428
+ const year = idNumber.substring(6, 10);
84429
+ const month = idNumber.substring(10, 12);
84430
+ const day = idNumber.substring(12, 14);
84431
+ return year + '-' + month + '-' + day;
84432
+ }
84433
+ return '';
84434
+ }
84435
+ /**
84436
+ * 按身份证号码获取年龄
84437
+ * @param idNumber
84438
+ * @returns
84439
+ */
84440
+ static getAgeByIdNumber(idNumber) {
84441
+ if (idNumber) {
84442
+ const ageDate = new Date();
84443
+ const month = ageDate.getMonth() + 1;
84444
+ const day = ageDate.getDate();
84445
+ let age = ageDate.getFullYear() - idNumber.substring(6, 10) - 1;
84446
+ if (idNumber.substring(10, 12) < month || idNumber.substring(10, 12) === month && idNumber.substring(12, 14) <= day) {
84447
+ age++;
84448
+ }
84449
+ if (age <= 0) {
84450
+ age = 1;
84451
+ }
84452
+ return age;
84453
+ }
84454
+ return '';
84455
+ }
84456
+ }
84457
+ ;// CONCATENATED MODULE: ./packages/service/external-plugins/ewp-plugin-socket.service.ts
84458
+
84459
+
84460
+ /**
84461
+ * 沃斯德人证交互终端
84462
+ * E窗通WEBSOCKET服务
84463
+ *
84464
+ * */
84465
+
84466
+ var EWindowPassMethodCode;
84467
+ (function (EWindowPassMethodCode) {
84468
+ /** 读取社保卡 */
84469
+ EWindowPassMethodCode["iReadCardBas"] = "iReadCardBas";
84470
+ /** 获取签名*/
84471
+ EWindowPassMethodCode["GetSignName_Base64"] = "GetSignName_Base64";
84472
+ /** 读取二代身份证 */
84473
+ EWindowPassMethodCode["ReadIDCard_Base64"] = "ReadIDCard_Base64";
84474
+ /** 人证比对 */
84475
+ EWindowPassMethodCode["FaceValidateWithIdCard_Base64"] = "FaceValidateWithIdCard_Base64";
84476
+ /** 获取指纹 */
84477
+ EWindowPassMethodCode["FingerPrint_Base64"] = "FingerPrint_Base64";
84478
+ })(EWindowPassMethodCode || (EWindowPassMethodCode = {}));
84479
+ const EWindowPassMethodDesc = {
84480
+ [EWindowPassMethodCode.iReadCardBas]: '读取社保卡',
84481
+ [EWindowPassMethodCode.GetSignName_Base64]: '获取签名',
84482
+ [EWindowPassMethodCode.ReadIDCard_Base64]: '读取二代身份证',
84483
+ [EWindowPassMethodCode.FaceValidateWithIdCard_Base64]: '人证比对',
84484
+ [EWindowPassMethodCode.FingerPrint_Base64]: '获取指纹'
84485
+ };
84486
+ class EWindowPassService {
84487
+ static startConnect(method) {
84488
+ if (this.ws && this.ws.readyState === WebSocket.CONNECTING) {
84489
+ return this;
84490
+ }
84491
+ let webSocketUrl = '';
84492
+ switch (method) {
84493
+ case EWindowPassMethodCode.FingerPrint_Base64:
84494
+ webSocketUrl = this.fingerPrintBasWebSocketUrl;
84495
+ break;
84496
+ default:
84497
+ webSocketUrl = this.iReadCardBasWebSocketUrl;
84498
+ break;
84499
+ }
84500
+ const ws = new WebSocket(webSocketUrl);
84501
+ let resolved;
84502
+ const onConnect = new Promise(resolve => {
84503
+ resolved = resolve;
84504
+ });
84505
+ ws.onopen = () => {
84506
+ resolved(true);
84507
+ };
84508
+ ws.onmessage = event => {
84509
+ if (method === EWindowPassMethodCode.FingerPrint_Base64) {
84510
+ // 指纹后端返回的是string
84511
+ event = {
84512
+ ...event,
84513
+ data: JSON.stringify({
84514
+ fingerPrintInfo: event.data
84515
+ })
84516
+ };
84517
+ }
84518
+ this.handleMessage(event);
84519
+ };
84520
+ ws.onclose = () => this.handleClose();
84521
+ ws.onerror = () => this.handleError();
84522
+ this.ws = ws;
84523
+ return onConnect;
84524
+ }
84525
+ static handleError() {
84526
+ for (const type in this.requestStore) {
84527
+ this.requestStore.forEach(({
84528
+ reject
84529
+ }) => {
84530
+ reject('handleError');
84531
+ });
84532
+ }
84533
+ throw Error('E窗通设备功能加载失败');
84534
+ }
84535
+ static handleClose() {
84536
+ for (const type in this.requestStore) {
84537
+ this.requestStore.forEach(({
84538
+ reject
84539
+ }) => {
84540
+ reject('close');
84541
+ });
84542
+ }
84543
+ }
84544
+ static handleMessage(msg) {
84545
+ let data = '';
84546
+ try {
84547
+ data = JSON.parse(msg.data);
84548
+ } catch (e) {
84549
+ data = '';
84550
+ }
84551
+ this.requestStore.forEach(({
84552
+ resolve
84553
+ }) => {
84554
+ resolve(data);
84555
+ });
84556
+ this.requestStore = [];
84557
+ this.ws.close();
84558
+ }
84559
+ static async read(method) {
84560
+ await this.startConnect(method);
84561
+ const methodDesc = EWindowPassMethodDesc[method];
84562
+ if (this.ws.readyState === 1) {
84563
+ if (method !== EWindowPassMethodCode.FingerPrint_Base64) console.log(methodDesc + '连接成功');
84564
+ let jsonString;
84565
+ // outTimes:超时时间(秒)
84566
+ switch (method) {
84567
+ case EWindowPassMethodCode.ReadIDCard_Base64:
84568
+ // cardReader:0 读卡器-USB;1 读卡器-COM
84569
+ jsonString = JSON.stringify({
84570
+ method,
84571
+ args: {
84572
+ outTimes: 30,
84573
+ cardReader: 1
84574
+ }
84575
+ });
84576
+ break;
84577
+ case EWindowPassMethodCode.FaceValidateWithIdCard_Base64:
84578
+ // cardReader:0 读卡器-USB;1 读卡器-COM
84579
+ jsonString = JSON.stringify({
84580
+ method,
84581
+ args: {
84582
+ outTimes: 30,
84583
+ cardReader: 1,
84584
+ cameraType: 0
84585
+ }
84586
+ });
84587
+ break;
84588
+ case EWindowPassMethodCode.iReadCardBas:
84589
+ // icType:1接触卡;2非接触卡;3自动(接触优先);4自动(非接优先)
84590
+ jsonString = JSON.stringify({
84591
+ method,
84592
+ args: {
84593
+ icType: '1'
84594
+ }
84595
+ });
84596
+ break;
84597
+ case EWindowPassMethodCode.FingerPrint_Base64:
84598
+ // 获取指纹:getimgae,颜色(0黑色 1红色), 质量(默认0), 图像大小(288,360),类型(0民用,1公安)
84599
+ jsonString = 'getimgae,1,0,288,0';
84600
+ break;
84601
+ default:
84602
+ jsonString = JSON.stringify({
84603
+ method,
84604
+ args: {
84605
+ outTimes: 30
84606
+ }
84607
+ });
84608
+ break;
84609
+ }
84610
+ this.ws.send(jsonString);
84611
+ return new Promise((resolve, reject) => {
84612
+ if (!this.requestStore) {
84613
+ this.requestStore = [];
84614
+ }
84615
+ this.requestStore.push({
84616
+ resolve,
84617
+ reject
84618
+ });
84619
+ });
84620
+ } else {
84621
+ throw Error(methodDesc + '未准备完成');
84622
+ }
84623
+ }
84624
+ /**
84625
+ * 读取二代身份证
84626
+ * */
84627
+ static async idCardRead(method = EWindowPassMethodCode.ReadIDCard_Base64) {
84628
+ const readData = await EWindowPassService.read(EWindowPassMethodCode.ReadIDCard_Base64);
84629
+ console.log('读取二代身份证==>', readData);
84630
+ if (!readData) {
84631
+ throw Error('未匹配可用的E窗通读取设备');
84632
+ }
84633
+ if (readData.retVal !== 0) {
84634
+ throw Error("读取二代身份证失败,返回值:" + readData.retVal + ",错误信息:" + readData.errMsg);
84635
+ }
84636
+ const idInfo = readData.idInfo.data;
84637
+ const {
84638
+ name,
84639
+ sex,
84640
+ birthday,
84641
+ address,
84642
+ id_num,
84643
+ nations
84644
+ } = idInfo;
84645
+ const IDCardData = {
84646
+ info: {
84647
+ name,
84648
+ sex,
84649
+ birthday: birthday.replace('-', '').replace('-', ''),
84650
+ address,
84651
+ cardId: id_num,
84652
+ nation: nations
84653
+ },
84654
+ headImage: readData.idPhotoPicBase64
84655
+ };
84656
+ console.log('读取二代身份证结果==>', IDCardData);
84657
+ return IDCardData;
84658
+ }
84659
+ /**
84660
+ * 人证比对
84661
+ */
84662
+ static async faceValidateWithIdCardRead() {
84663
+ const readData = await EWindowPassService.read(EWindowPassMethodCode.FaceValidateWithIdCard_Base64);
84664
+ console.log('人证比对==>', readData);
84665
+ if (!readData) {
84666
+ throw Error('未匹配可用的E窗通读取设备');
84667
+ }
84668
+ if (readData.retVal !== 0) {
84669
+ throw Error("人证比对失败,返回值:" + readData.retVal + ",错误信息:" + readData.errMsg);
84670
+ }
84671
+ const idInfo = readData.idInfo.data;
84672
+ const {
84673
+ name,
84674
+ sex,
84675
+ birth,
84676
+ address,
84677
+ idNo,
84678
+ nation
84679
+ } = idInfo;
84680
+ const IDCardData = {
84681
+ idCard: {
84682
+ info: {
84683
+ name,
84684
+ sex,
84685
+ birthday: birth.replace('-', '').replace('-', ''),
84686
+ address,
84687
+ cardId: idNo,
84688
+ nation
84689
+ },
84690
+ headImage: readData.idPhotoBase64
84691
+ },
84692
+ faceimg: readData.scenceBase64
84693
+ };
84694
+ console.log('人证比对结果==>', IDCardData);
84695
+ return IDCardData;
84696
+ }
84697
+ /** 读取社保卡 */
84698
+ static async socialSecurityCardRead() {
84699
+ const readData = await EWindowPassService.read(EWindowPassMethodCode.iReadCardBas);
84700
+ if (!readData) {
84701
+ throw Error('未匹配可用的E窗通读取设备');
84702
+ }
84703
+ if (readData.retVal !== 0) {
84704
+ throw Error("读取社保卡基本信息失败,返回值:" + readData.retVal + ",错误信息:" + readData.outInfo);
84705
+ }
84706
+ // 返回数据:330100|350781196403072943|W57681892|331100D10600000300657BCF88899F8E|张三|3B6D000000815444368660330100286BCF|1.00|2020-08-12|2030-08-12|1|SN00000000|(邮编|身份证号|卡号|社会保障号码|姓名|...不知道是什么信息了)
84707
+ const outInfo = readData.outInfo;
84708
+ const outInfoArray = outInfo.split('|');
84709
+ const cardId = outInfoArray[1];
84710
+ const birthday = IdCardCommonUtils.getBirthdayByIdNumber(cardId).replace('-', '').replace('-', '');
84711
+ const sex = IdCardCommonUtils.getGenderByIdNumber(cardId);
84712
+ const IDCardData = {
84713
+ info: {
84714
+ name: outInfoArray[4],
84715
+ sex,
84716
+ birthday,
84717
+ address: '',
84718
+ cardId
84719
+ },
84720
+ headImage: ''
84721
+ };
84722
+ console.log('读取社保卡==>', readData);
84723
+ return IDCardData;
84724
+ }
84725
+ /** 获取签名-base64 */
84726
+ static async signNameRead() {
84727
+ const readData = await EWindowPassService.read(EWindowPassMethodCode.GetSignName_Base64);
84728
+ if (!readData) {
84729
+ throw Error('未匹配可用的E窗通读取设备');
84730
+ }
84731
+ if (readData.retVal !== 0) {
84732
+ throw Error("读取签名失败,返回值:" + readData.retVal + ",错误信息:" + readData.errMsg);
84733
+ }
84734
+ console.log('获取签名==>', readData);
84735
+ return readData.signPicBase64;
84736
+ }
84737
+ /** 获取指纹*/
84738
+ static async fingerPrintRead() {
84739
+ let timeOver = 30;
84740
+ async function readFingerPrint() {
84741
+ const readData = await EWindowPassService.read(EWindowPassMethodCode.FingerPrint_Base64);
84742
+ if (!readData) {
84743
+ throw Error('未匹配可用的E窗通读取设备');
84744
+ }
84745
+ let list = readData.fingerPrintInfo.split("|");
84746
+ console.log(list);
84747
+ let ret = Number(list[1]);
84748
+ if (ret > 1) {
84749
+ if (timeOver > 0) {
84750
+ timeOver--;
84751
+ return await readFingerPrint();
84752
+ } else {
84753
+ return {
84754
+ status: 'error',
84755
+ data: '已超时,请重新操作,按压指纹'
84756
+ };
84757
+ }
84758
+ } else {
84759
+ return {
84760
+ status: 'success',
84761
+ data: readData.fingerPrintInfo
84762
+ };
84763
+ }
84764
+ }
84765
+ let {
84766
+ status,
84767
+ data
84768
+ } = await readFingerPrint();
84769
+ if (status === 'error') {
84770
+ throw Error(data);
84771
+ } else {
84772
+ let [method, result, quality, image, featureCode] = data.split('|');
84773
+ // getimgae|1|68|......|......
84774
+ // method:方法,result:返回的状态,quality:指纹图片质量,image:图片base64,featureCode:指纹特征码
84775
+ return {
84776
+ method,
84777
+ result,
84778
+ quality,
84779
+ image,
84780
+ featureCode
84781
+ };
84782
+ }
84783
+ }
84784
+ }
84785
+ _defineProperty(EWindowPassService, "iReadCardBasWebSocketUrl", 'ws://127.0.0.1:5847');
84786
+ _defineProperty(EWindowPassService, "fingerPrintBasWebSocketUrl", 'ws://127.0.0.1:9000');
84787
+ _defineProperty(EWindowPassService, "ws", void 0);
84788
+ _defineProperty(EWindowPassService, "requestStore", []);
84789
+ ;// CONCATENATED MODULE: ./packages/service/external-plugins/huada-plugin-socket.service.ts
84790
+
84791
+
84792
+ /**
84793
+ * 华大读卡器
84794
+ *
84795
+ * */
84796
+
84797
+ var HuaDaCardReadMode;
84798
+ (function (HuaDaCardReadMode) {
84799
+ /** 读取社保卡 */
84800
+ HuaDaCardReadMode[HuaDaCardReadMode["ReadSocialSecurityCard"] = 1002] = "ReadSocialSecurityCard";
84801
+ /** 读取二代身份证 */
84802
+ HuaDaCardReadMode[HuaDaCardReadMode["ReadIDCard"] = 1003] = "ReadIDCard";
84803
+ })(HuaDaCardReadMode || (HuaDaCardReadMode = {}));
84804
+ /**
84805
+ * 广东华大读卡器
84806
+ */
84807
+ class HuzReadService {
84808
+ /**
84809
+ * 开启连接
84810
+ */
84811
+ static startConnect() {
84812
+ if (this.ws && this.ws.readyState === WebSocket.CONNECTING) {
84813
+ return this;
84814
+ }
84815
+ const webSocketUrl = this.HaDWebSocketUrl;
84816
+ const ws = new WebSocket(webSocketUrl);
84817
+ let resolved;
84818
+ const onConnect = new Promise(resolve => {
84819
+ resolved = resolve;
84820
+ });
84821
+ ws.onopen = () => {
84822
+ resolved(true);
84823
+ };
84824
+ ws.onmessage = event => this.handleMessage(event);
84825
+ ws.onclose = () => this.handleClose();
84826
+ ws.onerror = () => this.handleError();
84827
+ this.ws = ws;
84828
+ return onConnect;
84829
+ }
84830
+ /**
84831
+ * 错误回调
84832
+ */
84833
+ static handleError() {
84834
+ for (const type in this.requestStore) {
84835
+ this.requestStore.forEach(({
84836
+ reject
84837
+ }) => {
84838
+ reject('handleError');
84839
+ });
84840
+ }
84841
+ }
84842
+ /**
84843
+ * 关闭请求
84844
+ */
84845
+ static handleClose() {
84846
+ for (const type in this.requestStore) {
84847
+ this.requestStore.forEach(({
84848
+ reject
84849
+ }) => {
84850
+ reject('close');
84851
+ });
84852
+ }
84853
+ }
84854
+ /**
84855
+ * 回调数据
84856
+ * @param msg
84857
+ */
84858
+ static handleMessage(msg) {
84859
+ debugger;
84860
+ // 返回参数格式
84861
+ // tsCode 入参返回数据码
84862
+ // code 状态码
84863
+ // message 返回信息
84864
+ // cardInfo 身份证信息
84865
+ // base64_ID 人像照片
84866
+ // base64_IDPDF ""
84867
+ // base64_PhotoPDF ""
84868
+ // birth 生日,格式:1996年06月10日
84869
+ // depart 签发机关
84870
+ // id_num 身份证号码
84871
+ // name 姓名
84872
+ // nation 民族
84873
+ // passFlag 是否成功,true,false(type=5的额外参数)
84874
+ // score 成绩,90.0(type=5的额外参数)
84875
+ // sex 性别:男,女
84876
+ // time 认证耗时,ms(type=5的额外参数)
84877
+ // type 接口类型
84878
+ // validityTime 有限期限,格式:2014.06.09-2024.06.09
84879
+ const data = JSON.parse(msg.data);
84880
+ this.requestStore.forEach(({
84881
+ resolve
84882
+ }) => {
84883
+ resolve(data);
84884
+ });
84885
+ this.requestStore = [];
84886
+ this.ws.close();
84887
+ }
84888
+ /**
84889
+ * 发送请求,开启签字版
84890
+ * @param type 接口类型,3:指定位置签名或点击电子签名;54:关键字签名(对接时未返回数据,不建议用)4:读取身份证信息;5:人脸识别; 2:关闭设备
84891
+ * @param pdf pdf或图片的base64,不能带地址前缀
84892
+ * @param location 捷宇签字版签字时坐标(必传,不然接口调用会失败),非指定位置时该坐标也需要传,但不会起作用
84893
+ * @param timeout 签字版签字超时时间,秒
84894
+ * @param retain 是否按传入坐标签名,传入任意字符【如test】时签名会展示在传入的坐标上,
84895
+ * 传入空字符则在屏幕点击的位置上签名---接口类型3依据此字段区分是否为指定位置签名
84896
+ */
84897
+ static async read(tsCode) {
84898
+ await this.startConnect();
84899
+ if (this.ws.readyState === 1) {
84900
+ debugger;
84901
+ let jsonPattern;
84902
+ // 签名和指纹
84903
+ if (tsCode === 1003 || tsCode === 1002) {
84904
+ jsonPattern = {
84905
+ 'tsCode': tsCode.toString(),
84906
+ 'picFilePath': 'd:\\zp.bmp'
84907
+ };
84908
+ }
84909
+ const jsonStr = JSON.stringify(jsonPattern);
84910
+ this.ws.send(jsonStr);
84911
+ return new Promise((resolve, reject) => {
84912
+ if (!this.requestStore) {
84913
+ this.requestStore = [];
84914
+ }
84915
+ this.requestStore.push({
84916
+ resolve,
84917
+ reject
84918
+ });
84919
+ });
84920
+ } else {
84921
+ throw Error('设备未准备完成');
84922
+ }
84923
+ }
84924
+ /**
84925
+ * 读取二代身份证
84926
+ * */
84927
+ static async idCardRead() {
84928
+ const readData = await HuzReadService.read(HuaDaCardReadMode.ReadIDCard);
84929
+ console.log('读取二代身份证==>', readData);
84930
+ if (!readData) {
84931
+ throw Error('未匹配可用的读取设备');
84932
+ }
84933
+ const name = readData.cardInfo.split('|')[1];
84934
+ const sex = readData.cardInfo.split('|')[2];
84935
+ const nation = readData.cardInfo.split('|')[3];
84936
+ const birthday = readData.cardInfo.split('|')[4];
84937
+ const address = readData.cardInfo.split('|')[5];
84938
+ const cardId = readData.cardInfo.split('|')[6];
84939
+ const police = readData.cardInfo.split('|')[7];
84940
+ const yxqx1 = readData.cardInfo.split('|')[8];
84941
+ const yxqx2 = readData.cardInfo.split('|')[9];
84942
+ const zpString = readData.cardInfo.split('|')[10];
84943
+ const IDCardData = {
84944
+ info: {
84945
+ name,
84946
+ sex,
84947
+ birthday,
84948
+ address,
84949
+ cardId,
84950
+ nation
84951
+ },
84952
+ headImage: zpString
84953
+ };
84954
+ console.log('读取二代身份证结果==>', IDCardData);
84955
+ return IDCardData;
84956
+ }
84957
+ /** 读取社保卡 */
84958
+ static async socialSecurityCardRead() {
84959
+ const readData = await HuzReadService.read(HuaDaCardReadMode.ReadSocialSecurityCard);
84960
+ if (!readData) {
84961
+ throw Error('未匹配可用的读取设备');
84962
+ }
84963
+ const cardId = readData.cardInfo.split('|')[1];
84964
+ const name = readData.cardInfo.split('|')[2];
84965
+ const birthday = IdCardCommonUtils.getBirthdayByIdNumber(cardId).replace('-', '').replace('-', '');
84966
+ const sex = IdCardCommonUtils.getGenderByIdNumber(cardId);
84967
+ const IDCardData = {
84968
+ info: {
84969
+ name,
84970
+ sex,
84971
+ birthday,
84972
+ address: '',
84973
+ cardId
84974
+ },
84975
+ headImage: ''
84976
+ };
84977
+ console.log('读取社保卡==>', readData);
84978
+ return IDCardData;
84979
+ }
84980
+ }
84981
+ _defineProperty(HuzReadService, "HaDWebSocketUrl", 'ws://127.0.0.1:36669/');
84982
+ _defineProperty(HuzReadService, "ws", void 0);
84983
+ _defineProperty(HuzReadService, "requestStore", []);
84984
+ ;// CONCATENATED MODULE: ./packages/utils/js/BASE64.js
84985
+ var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
84986
+ var base64DecodeChars = new Array(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);
84987
+ //������
84988
+ function base64encode(str) {
84989
+ var out, i, len;
84990
+ var c1, c2, c3;
84991
+ len = str.length;
84992
+ i = 0;
84993
+ out = "";
84994
+ while (i < len) {
84995
+ c1 = str.charCodeAt(i++) & 0xff;
84996
+ if (i == len) {
84997
+ out += base64EncodeChars.charAt(c1 >> 2);
84998
+ out += base64EncodeChars.charAt((c1 & 0x3) << 4);
84999
+ out += "==";
85000
+ break;
85001
+ }
85002
+ c2 = str.charCodeAt(i++);
85003
+ if (i == len) {
85004
+ out += base64EncodeChars.charAt(c1 >> 2);
85005
+ out += base64EncodeChars.charAt((c1 & 0x3) << 4 | (c2 & 0xF0) >> 4);
85006
+ out += base64EncodeChars.charAt((c2 & 0xF) << 2);
85007
+ out += "=";
85008
+ break;
85009
+ }
85010
+ c3 = str.charCodeAt(i++);
85011
+ out += base64EncodeChars.charAt(c1 >> 2);
85012
+ out += base64EncodeChars.charAt((c1 & 0x3) << 4 | (c2 & 0xF0) >> 4);
85013
+ out += base64EncodeChars.charAt((c2 & 0xF) << 2 | (c3 & 0xC0) >> 6);
85014
+ out += base64EncodeChars.charAt(c3 & 0x3F);
85015
+ }
85016
+ return out;
85017
+ }
85018
+ //������
85019
+ function base64decode(str) {
85020
+ var c1, c2, c3, c4;
85021
+ var i, len, out;
85022
+ len = str.length;
85023
+ i = 0;
85024
+ out = "";
85025
+ while (i < len) {
85026
+ do {
85027
+ c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
85028
+ } while (i < len && c1 == -1);
85029
+ if (c1 == -1) break;
85030
+ do {
85031
+ c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
85032
+ } while (i < len && c2 == -1);
85033
+ if (c2 == -1) break;
85034
+ out += String.fromCharCode(c1 << 2 | (c2 & 0x30) >> 4);
85035
+ do {
85036
+ c3 = str.charCodeAt(i++) & 0xff;
85037
+ if (c3 == 61) return out;
85038
+ c3 = base64DecodeChars[c3];
85039
+ } while (i < len && c3 == -1);
85040
+ if (c3 == -1) break;
85041
+ out += String.fromCharCode((c2 & 0XF) << 4 | (c3 & 0x3C) >> 2);
85042
+ do {
85043
+ c4 = str.charCodeAt(i++) & 0xff;
85044
+ if (c4 == 61) return out;
85045
+ c4 = base64DecodeChars[c4];
85046
+ } while (i < len && c4 == -1);
85047
+ if (c4 == -1) break;
85048
+ out += String.fromCharCode((c3 & 0x03) << 6 | c4);
85049
+ }
85050
+ return out;
85051
+ }
85052
+ function utf16to8(str) {
85053
+ var out, i, len, c;
85054
+ out = "";
85055
+ len = str.length;
85056
+ for (i = 0; i < len; i++) {
85057
+ c = str.charCodeAt(i);
85058
+ if (c >= 0x0001 && c <= 0x007F) {
85059
+ out += str.charAt(i);
85060
+ } else if (c > 0x07FF) {
85061
+ out += String.fromCharCode(0xE0 | c >> 12 & 0x0F);
85062
+ out += String.fromCharCode(0x80 | c >> 6 & 0x3F);
85063
+ out += String.fromCharCode(0x80 | c >> 0 & 0x3F);
85064
+ } else {
85065
+ out += String.fromCharCode(0xC0 | c >> 6 & 0x1F);
85066
+ out += String.fromCharCode(0x80 | c >> 0 & 0x3F);
85067
+ }
85068
+ }
85069
+ return out;
85070
+ }
85071
+ function utf8to16(str) {
85072
+ var out, i, len, c;
85073
+ var char2, char3;
85074
+ out = "";
85075
+ len = str.length;
85076
+ i = 0;
85077
+ while (i < len) {
85078
+ c = str.charCodeAt(i++);
85079
+ switch (c >> 4) {
85080
+ case 0:
85081
+ case 1:
85082
+ case 2:
85083
+ case 3:
85084
+ case 4:
85085
+ case 5:
85086
+ case 6:
85087
+ case 7:
85088
+ // 0xxxxxxx
85089
+ out += str.charAt(i - 1);
85090
+ break;
85091
+ case 12:
85092
+ case 13:
85093
+ // 110x xxxx 10xx xxxx
85094
+ char2 = str.charCodeAt(i++);
85095
+ out += String.fromCharCode((c & 0x1F) << 6 | char2 & 0x3F);
85096
+ break;
85097
+ case 14:
85098
+ // 1110 xxxx 10xx xxxx 10xx xxxx
85099
+ char2 = str.charCodeAt(i++);
85100
+ char3 = str.charCodeAt(i++);
85101
+ out += String.fromCharCode((c & 0x0F) << 12 | (char2 & 0x3F) << 6 | (char3 & 0x3F) << 0);
85102
+ break;
85103
+ }
85104
+ }
85105
+ return out;
85106
+ }
85107
+ ;// CONCATENATED MODULE: ./packages/service/external-plugins/mr-adb-plugin-socket.service.ts
85108
+
85109
+
85110
+ /**
85111
+ * 中正智能人证核验一体机 MR860 Websocket v1.0.2
85112
+ *
85113
+ * */
85114
+
85115
+ var MRAdbReadMode;
85116
+ (function (MRAdbReadMode) {
85117
+ /** 人证核验:读取二代身份证、人脸识别 */
85118
+ MRAdbReadMode["ReadIDCard"] = "$=Action|127.0.0.1|1352";
85119
+ })(MRAdbReadMode || (MRAdbReadMode = {}));
85120
+ /**
85121
+ * 中正智能人证核验一体机
85122
+ */
85123
+ class MRAdbReadService {
85124
+ /**
85125
+ * 开启连接
85126
+ */
85127
+ static startConnect(command) {
85128
+ if (this.ws && this.ws.readyState === WebSocket.CONNECTING) {
85129
+ return this;
85130
+ }
85131
+ const webSocketUrl = this.MRAdbWebSocketUrl;
85132
+ const ws = new WebSocket(webSocketUrl);
85133
+ let resolved;
85134
+ const onConnect = new Promise(resolve => {
85135
+ resolved = resolve;
85136
+ });
85137
+ ws.onopen = () => {
85138
+ ws.send(command);
85139
+ resolved(true);
85140
+ };
85141
+ ws.onmessage = event => this.handleMessage(event);
85142
+ ws.onclose = () => this.handleClose();
85143
+ ws.onerror = () => this.handleError();
85144
+ this.ws = ws;
85145
+ return onConnect;
85146
+ }
85147
+ /**
85148
+ * 错误回调
85149
+ */
85150
+ static handleError() {
85151
+ for (const type in this.requestStore) {
85152
+ this.requestStore.forEach(({
85153
+ reject
85154
+ }) => {
85155
+ reject('handleError');
85156
+ });
85157
+ }
85158
+ }
85159
+ /**
85160
+ * 关闭请求
85161
+ */
85162
+ static handleClose() {
85163
+ for (const type in this.requestStore) {
85164
+ this.requestStore.forEach(({
85165
+ reject
85166
+ }) => {
85167
+ reject('close');
85168
+ });
85169
+ }
85170
+ }
85171
+ /**
85172
+ * 回调数据
85173
+ * @param msg
85174
+ */
85175
+ static handleMessage(msg) {
85176
+ const data = JSON.parse(msg.data);
85177
+ this.requestStore.forEach(({
85178
+ resolve
85179
+ }) => {
85180
+ resolve(data);
85181
+ });
85182
+ this.requestStore = [];
85183
+ this.ws.close();
85184
+ }
85185
+ static async read(command) {
85186
+ await this.startConnect(command);
85187
+ return new Promise((resolve, reject) => {
85188
+ if (!this.requestStore) {
85189
+ this.requestStore = [];
85190
+ }
85191
+ this.requestStore.push({
85192
+ resolve,
85193
+ reject
85194
+ });
85195
+ });
85196
+ }
85197
+ /**
85198
+ * 人证核验
85199
+ * */
85200
+ static async idCardRead() {
85201
+ const returnData = await MRAdbReadService.read(MRAdbReadMode.ReadIDCard);
85202
+ console.log('中正智能人证核验返回==>', returnData);
85203
+ if (!returnData) {
85204
+ throw Error('未匹配可用的读取设备');
85205
+ }
85206
+ // result: 0 - 成功;其他 - 失败
85207
+ // data: if(result==0) 返回值Base64字符串格式,进行base64解码,再进行数据解析
85208
+ const {
85209
+ result,
85210
+ data
85211
+ } = returnData;
85212
+ switch (result) {
85213
+ case -1:
85214
+ throw Error('服务器IP地址或者服务端口错误');
85215
+ case -2:
85216
+ throw Error('输入的发送数据参数非法');
85217
+ case -3:
85218
+ throw Error('连接服务器失败');
85219
+ case -4:
85220
+ throw Error('发送数据失败');
85221
+ case -5:
85222
+ throw Error('接收应答数据超时');
85223
+ case -6:
85224
+ throw Error('接收应答数据失败');
85225
+ case -7:
85226
+ throw Error('输出应答数据参数非法');
85227
+ case -8:
85228
+ throw Error('Websocket无法识别命令字');
85229
+ case -9:
85230
+ throw Error('Websocket解析命令字错误');
85231
+ case -10:
85232
+ throw Error('Websocket base64编码失败');
85233
+ case -11:
85234
+ throw Error('指纹驱动未安装或者未启动');
85235
+ case 0:
85236
+ {
85237
+ const deData = utf8to16(base64decode(data));
85238
+ console.log('中正智能人证核验结果==>', deData);
85239
+ const reStrs = deData.split("\$");
85240
+ const name = reStrs[2].split("=#=")[1];
85241
+ const sex = reStrs[3].split("=#=")[1];
85242
+ const nation = reStrs[10].split("=#=")[1];
85243
+ const birthday = reStrs[6].split("=#=")[1];
85244
+ const address = reStrs[5].split("=#=")[1];
85245
+ const cardId = reStrs[4].split("=#=")[1];
85246
+ const police = reStrs[11].split("=#=")[1];
85247
+ const headImage = reStrs[8].split("=#=")[1];
85248
+ const faceimg = reStrs[9].split("=#=")[1];
85249
+ const IDCardData = {
85250
+ idCard: {
85251
+ info: {
85252
+ name,
85253
+ sex,
85254
+ birthday,
85255
+ address,
85256
+ cardId,
85257
+ nation
85258
+ },
85259
+ headImage
85260
+ },
85261
+ faceimg
85262
+ };
85263
+ console.log('中正智能人证核验结果转换==>', {
85264
+ name,
85265
+ sex,
85266
+ birthday,
85267
+ address,
85268
+ cardId,
85269
+ nation
85270
+ });
85271
+ return IDCardData;
85272
+ }
85273
+ }
85274
+ return '';
85275
+ }
85276
+ }
85277
+ _defineProperty(MRAdbReadService, "MRAdbWebSocketUrl", 'ws://127.0.0.1:8003/finger');
85278
+ _defineProperty(MRAdbReadService, "ws", void 0);
85279
+ _defineProperty(MRAdbReadService, "requestStore", []);
85280
+ // EXTERNAL MODULE: ./packages/utils/js/tsToJs.js
85281
+ var tsToJs = __webpack_require__(8601);
85282
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/id-card-reader/id-card-reader-button/src/dialog/face-auth-dialog.vue?vue&type=template&id=370e03c8&
85283
+ var face_auth_dialogvue_type_template_id_370e03c8_render = function render() {
85284
+ var _vm = this,
85285
+ _c = _vm._self._c;
85286
+ return _vm.visibility ? _c('el-dialog', {
85287
+ staticClass: "face-auth-dialog",
85288
+ attrs: {
85289
+ "title": "人脸识别",
85290
+ "top": '5vh',
85291
+ "width": "1280px",
85292
+ "visible": _vm.visibility,
85293
+ "close-on-click-modal": false
85294
+ },
85295
+ on: {
85296
+ "update:visible": function ($event) {
85297
+ _vm.visibility = $event;
85298
+ }
85299
+ }
85300
+ }, [_c('el-container', [_c('el-aside', {
85301
+ attrs: {
85302
+ "width": "900px"
85303
+ }
85304
+ }, [_c('zs-card', {
85305
+ attrs: {
85306
+ "title": "身份证信息读取"
85307
+ }
85308
+ }, [_c('div', {
85309
+ staticClass: "idcard-photo"
85310
+ }, [_c('div', {
85311
+ staticClass: "flex-1"
85312
+ }, [_c('img', {
85313
+ staticStyle: {
85314
+ "width": "433px",
85315
+ "height": "278px"
85316
+ },
85317
+ attrs: {
85318
+ "src": __webpack_require__(2234)
85319
+ }
85320
+ }), _c('span', {
85321
+ staticClass: "idcard-info name"
85322
+ }, [_vm._v(_vm._s(_vm.IDInfo.name))]), _c('span', {
85323
+ staticClass: "idcard-info sex"
85324
+ }, [_vm._v(_vm._s(_vm.IDInfo.sex))]), _c('span', {
85325
+ staticClass: "idcard-info nation"
85326
+ }, [_vm._v(_vm._s(_vm.IDInfo.nation))]), _c('span', {
85327
+ staticClass: "idcard-info year"
85328
+ }, [_vm._v(_vm._s(_vm.birthYear))]), _c('span', {
85329
+ staticClass: "idcard-info month"
85330
+ }, [_vm._v(_vm._s(_vm.birthMonth))]), _c('span', {
85331
+ staticClass: "idcard-info day"
85332
+ }, [_vm._v(_vm._s(_vm.birthDay))]), _c('span', {
85333
+ staticClass: "idcard-info address"
85334
+ }, [_vm._v(_vm._s(_vm.IDInfo.address))]), _c('span', {
85335
+ staticClass: "idcard-info idnumber"
85336
+ }, [_vm._v(_vm._s(_vm.IDInfo.cardId))])]), _c('div', [_c('img', {
85337
+ staticStyle: {
85338
+ "width": "433px",
85339
+ "height": "278px"
85340
+ },
85341
+ attrs: {
85342
+ "src": __webpack_require__(4923)
85343
+ }
85344
+ }), _c('span', {
85345
+ staticClass: "idcard-info qfjg"
85346
+ }, [_vm._v(_vm._s(_vm.IDInfo.police))]), _c('span', {
85347
+ staticClass: "idcard-info yxrq"
85348
+ }, [_vm._v(_vm._s(_vm.validDate))])])])])], 1), _c('el-main', [_c('zs-card', {
85349
+ staticClass: "camera",
85350
+ attrs: {
85351
+ "title": "摄像头"
85352
+ },
85353
+ scopedSlots: _vm._u([{
85354
+ key: "extra",
85355
+ fn: function () {
85356
+ return [_c('el-button', {
85357
+ attrs: {
85358
+ "type": "primary",
85359
+ "size": "mini"
85360
+ },
85361
+ on: {
85362
+ "click": _vm.veriface
85363
+ }
85364
+ }, [_vm._v("开始识别")])];
85365
+ },
85366
+ proxy: true
85367
+ }], null, false, 3429989024)
85368
+ }, [_c('div', {
85369
+ staticStyle: {
85370
+ "width": "320px",
85371
+ "height": "240px"
85372
+ },
85373
+ attrs: {
85374
+ "id": "camera_row"
85375
+ }
85376
+ })])], 1)], 1), _c('span', {
85377
+ staticClass: "dialog-footer",
85378
+ attrs: {
85379
+ "slot": "footer"
85380
+ },
85381
+ slot: "footer"
85382
+ }, _vm._l(_vm.buttonList, function (button) {
85383
+ return _c('el-button', _vm._b({
85384
+ key: button.name,
85385
+ on: {
85386
+ "click": function ($event) {
85387
+ return _vm.buttonClickEvent(button.name);
85388
+ }
85389
+ }
85390
+ }, 'el-button', button, false), [_vm._v(_vm._s(button.label) + " ")]);
85391
+ }), 1)], 1) : _vm._e();
85392
+ };
85393
+ var face_auth_dialogvue_type_template_id_370e03c8_staticRenderFns = [];
85394
+
85395
+ ;// CONCATENATED MODULE: ./packages/id-card-reader/id-card-reader-button/src/dialog/face-auth-dialog.vue?vue&type=template&id=370e03c8&
85396
+
85397
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/id-card-reader/id-card-reader-button/src/dialog/face-auth-dialog.vue?vue&type=script&lang=js&
85398
+
85399
+ /* harmony default export */ var face_auth_dialogvue_type_script_lang_js_ = ({
85400
+ name: 'face-auth-dialog',
85401
+ data: () => {
85402
+ return {
85403
+ visibility: true,
85404
+ buttonList: [{
85405
+ name: 'cancel',
85406
+ label: '取消',
85407
+ size: 'small'
85408
+ }, {
85409
+ name: 'sure',
85410
+ label: '确定',
85411
+ type: 'primary',
85412
+ size: 'small',
85413
+ icon: 'el-icon-success'
85414
+ }],
85415
+ idCardInfo: {
85416
+ info: {
85417
+ name: '',
85418
+ sex: '',
85419
+ nation: '',
85420
+ birthday: '',
85421
+ address: '',
85422
+ cardId: '',
85423
+ police: '',
85424
+ validStart: '',
85425
+ validEnd: '',
85426
+ sexCode: '',
85427
+ nationCode: ''
85428
+ },
85429
+ headImage: undefined
85430
+ },
85431
+ verifaceData
85432
+ };
85433
+ },
85434
+ computed: {
85435
+ IDInfo() {
85436
+ return this.idCardInfo.info;
85437
+ },
85438
+ birthYear() {
85439
+ return this.idCardInfo.info.birthday ? this.idCardInfo.info.birthday.slice(0, 4) : '';
85440
+ },
85441
+ birthMonth() {
85442
+ return this.idCardInfo.info.birthday ? this.idCardInfo.info.birthday.slice(4, 6) : '';
85443
+ },
85444
+ birthDay() {
85445
+ return this.idCardInfo.info.birthday ? this.idCardInfo.info.birthday.slice(6, 8) : '';
85446
+ },
85447
+ validDate() {
85448
+ return this.idCardInfo.info.validStart && this.idCardInfo.info.validEnd ? this.idCardInfo.info.validStart + '-' + this.idCardInfo.info.validEnd : '';
85449
+ }
85450
+ },
85451
+ mounted() {
85452
+ this.$nextTick(() => {
85453
+ (0,tsToJs/* loadCamera */.xj)();
85454
+ });
85455
+ },
85456
+ methods: {
85457
+ async veriface() {
85458
+ const data = await tsToJs/* tsToJs.getElement */.g$.getElement(4);
85459
+ this.idCardInfo = data.idCard;
85460
+ this.verifaceData = data;
85461
+ },
85462
+ buttonClickEvent(name) {
85463
+ switch (name) {
85464
+ case 'cancel':
85465
+ this.visibility = false;
85466
+ break;
85467
+ case 'sure':
85468
+ this.$emit('close', this.verifaceData);
85469
+ this.visibility = false;
85470
+ break;
85471
+ }
85472
+ }
85473
+ }
85474
+ });
85475
+ ;// CONCATENATED MODULE: ./packages/id-card-reader/id-card-reader-button/src/dialog/face-auth-dialog.vue?vue&type=script&lang=js&
85476
+ /* harmony default export */ var dialog_face_auth_dialogvue_type_script_lang_js_ = (face_auth_dialogvue_type_script_lang_js_);
85477
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/id-card-reader/id-card-reader-button/src/dialog/face-auth-dialog.vue?vue&type=style&index=0&id=370e03c8&prod&lang=scss&
85478
+ // extracted by mini-css-extract-plugin
85479
+
85480
+ ;// CONCATENATED MODULE: ./packages/id-card-reader/id-card-reader-button/src/dialog/face-auth-dialog.vue?vue&type=style&index=0&id=370e03c8&prod&lang=scss&
85481
+
85482
+ ;// CONCATENATED MODULE: ./packages/id-card-reader/id-card-reader-button/src/dialog/face-auth-dialog.vue
85483
+
85484
+
85485
+
85486
+ ;
85487
+
85488
+
85489
+ /* normalize component */
85490
+
85491
+ var face_auth_dialog_component = normalizeComponent(
85492
+ dialog_face_auth_dialogvue_type_script_lang_js_,
85493
+ face_auth_dialogvue_type_template_id_370e03c8_render,
85494
+ face_auth_dialogvue_type_template_id_370e03c8_staticRenderFns,
85495
+ false,
85496
+ null,
85497
+ null,
85498
+ null
85499
+
85500
+ )
85501
+
85502
+ /* harmony default export */ var face_auth_dialog = (face_auth_dialog_component.exports);
85503
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/id-card-reader/id-card-reader-button/src/dialog/eloam-take-photo-dialog.vue?vue&type=template&id=6e18b4de&scoped=true&
85504
+ var eloam_take_photo_dialogvue_type_template_id_6e18b4de_scoped_true_render = function render() {
85505
+ var _vm = this,
85506
+ _c = _vm._self._c;
85507
+ return _vm.visibility ? _c('el-dialog', {
85508
+ staticClass: "face-auth-dialog",
85509
+ attrs: {
85510
+ "title": "拍照",
85511
+ "top": '5vh',
85512
+ "width": '620px',
85513
+ "visible": _vm.visibility,
85514
+ "close-on-click-modal": false
85515
+ },
85516
+ on: {
85517
+ "update:visible": function ($event) {
85518
+ _vm.visibility = $event;
85519
+ }
85520
+ }
85521
+ }, [_c('div', {
85522
+ staticClass: "image-container"
85523
+ }, [_c('img', {
85524
+ directives: [{
85525
+ name: "show",
85526
+ rawName: "v-show",
85527
+ value: !_vm.scannerPhotoSrc,
85528
+ expression: "!scannerPhotoSrc"
85529
+ }],
85530
+ staticStyle: {
85531
+ "width": "600px",
85532
+ "height": "450px"
85533
+ },
85534
+ attrs: {
85535
+ "id": "photo",
85536
+ "src": _vm.scannerVideoSrc
85537
+ }
85538
+ }), _c('img', {
85539
+ directives: [{
85540
+ name: "show",
85541
+ rawName: "v-show",
85542
+ value: _vm.scannerPhotoSrc,
85543
+ expression: "scannerPhotoSrc"
85544
+ }],
85545
+ staticStyle: {
85546
+ "width": "600px",
85547
+ "height": "450px"
85548
+ },
85549
+ attrs: {
85550
+ "id": "photo",
85551
+ "src": 'data:image/jpg;base64,' + _vm.scannerPhotoSrc
85552
+ }
85553
+ })]), _c('span', {
85554
+ staticClass: "dialog-footer",
85555
+ attrs: {
85556
+ "slot": "footer"
85557
+ },
85558
+ slot: "footer"
85559
+ }, [_vm._l(_vm.buttonList, function (button) {
85560
+ return [_vm.isShowButton(button.name) ? _c('el-button', _vm._b({
85561
+ key: button.name,
85562
+ on: {
85563
+ "click": function ($event) {
85564
+ return _vm.buttonClickEvent(button.name);
85565
+ }
85566
+ }
85567
+ }, 'el-button', button, false), [_vm._v(_vm._s(button.label) + " ")]) : _vm._e()];
85568
+ })], 2)]) : _vm._e();
85569
+ };
85570
+ var eloam_take_photo_dialogvue_type_template_id_6e18b4de_scoped_true_staticRenderFns = [];
85571
+
85572
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/id-card-reader/id-card-reader-button/src/dialog/eloam-take-photo-dialog.vue?vue&type=script&lang=js&
85573
+
85574
+ /* harmony default export */ var eloam_take_photo_dialogvue_type_script_lang_js_ = ({
85575
+ name: 'eloam-take-photo-dialog',
85576
+ data: () => {
85577
+ return {
85578
+ visibility: true,
85579
+ scannerVideoSrc: ELoamPassService.secondaryCameraUrl,
85580
+ scannerPhotoSrc: '',
85581
+ buttonList: [{
85582
+ name: 'cancel',
85583
+ label: '取消',
85584
+ size: 'small'
85585
+ }, {
85586
+ name: 'take-photo',
85587
+ label: '拍照',
85588
+ type: 'primary',
85589
+ size: 'small'
85590
+ }, {
85591
+ name: 'retake-photo',
85592
+ label: '重拍',
85593
+ type: 'primary',
85594
+ size: 'small'
85595
+ }, {
85596
+ name: 'sure',
85597
+ label: '确定',
85598
+ type: 'primary',
85599
+ size: 'small'
85600
+ }]
85601
+ };
85602
+ },
85603
+ methods: {
85604
+ isShowButton(name) {
85605
+ switch (name) {
85606
+ case 'take-photo':
85607
+ return !this.scannerPhotoSrc;
85608
+ case 'retake-photo':
85609
+ return this.scannerPhotoSrc;
85610
+ default:
85611
+ return true;
85612
+ }
85613
+ },
85614
+ async buttonClickEvent(name) {
85615
+ switch (name) {
85616
+ case 'cancel':
85617
+ this.visibility = false;
85618
+ break;
85619
+ case 'take-photo':
85620
+ const res = await ELoamPassService.scanBySecondaryCamera();
85621
+ this.scannerPhotoSrc = res;
85622
+ break;
85623
+ case 'retake-photo':
85624
+ this.scannerPhotoSrc = '';
85625
+ break;
85626
+ case 'sure':
85627
+ let data = {
85628
+ faceimg: this.scannerPhotoSrc
85629
+ };
85630
+ this.$emit('close', data);
85631
+ this.visibility = false;
85632
+ break;
85633
+ }
85634
+ }
85635
+ }
85636
+ });
85637
+ ;// CONCATENATED MODULE: ./packages/id-card-reader/id-card-reader-button/src/dialog/eloam-take-photo-dialog.vue?vue&type=script&lang=js&
85638
+ /* harmony default export */ var dialog_eloam_take_photo_dialogvue_type_script_lang_js_ = (eloam_take_photo_dialogvue_type_script_lang_js_);
85639
+ ;// CONCATENATED MODULE: ./packages/id-card-reader/id-card-reader-button/src/dialog/eloam-take-photo-dialog.vue
85640
+
85641
+
85642
+
85643
+
85644
+
85645
+ /* normalize component */
85646
+ ;
85647
+ var eloam_take_photo_dialog_component = normalizeComponent(
85648
+ dialog_eloam_take_photo_dialogvue_type_script_lang_js_,
85649
+ eloam_take_photo_dialogvue_type_template_id_6e18b4de_scoped_true_render,
85650
+ eloam_take_photo_dialogvue_type_template_id_6e18b4de_scoped_true_staticRenderFns,
85651
+ false,
85652
+ null,
85653
+ "6e18b4de",
85654
+ null
85655
+
85656
+ )
85657
+
85658
+ /* harmony default export */ var eloam_take_photo_dialog = (eloam_take_photo_dialog_component.exports);
85659
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/id-card-reader/id-card-reader-button/src/id-card-reader-button.vue?vue&type=script&lang=js&
85660
+
85661
+
85662
+
85663
+
85664
+
85665
+
85666
+
85667
+
85668
+
85669
+ /* harmony default export */ var id_card_reader_buttonvue_type_script_lang_js_ = ({
85670
+ name: 'id-card-reader-button',
85671
+ props: {
85672
+ label: {
85673
+ default: '',
85674
+ type: String
85675
+ },
85676
+ tip: {
85677
+ default: '',
85678
+ type: String
85679
+ },
85680
+ className: {
85681
+ default: '',
85682
+ type: String
85683
+ },
85684
+ size: {
85685
+ default: 'mini',
85686
+ type: String
85687
+ },
85688
+ type: {
85689
+ default: 'primary',
85690
+ type: String
85691
+ },
85692
+ plain: {
85693
+ default: false,
85694
+ type: Boolean
85695
+ },
85696
+ /** Determine whether it's a round button */
85697
+ round: {
85698
+ default: false,
85699
+ type: Boolean
85700
+ },
85701
+ /** Determine whether it's loading */
85702
+ loading: {
85703
+ default: false,
85704
+ type: Boolean
85705
+ },
85706
+ /** Button icon, accepts an icon name of Element icon component */
85707
+ icon: {
85708
+ default: 'el-icon-postcard',
85709
+ type: String
85710
+ },
85711
+ disabled: {
85712
+ default: false,
85713
+ type: Boolean
85714
+ },
85715
+ /**
85716
+ * 读卡器:0-默认读卡器及精伦读卡器;1-丽水一体机;2-沃斯德人证交互终端;3-中正人脸识别;4-华大读卡器;5-良田
85717
+ * 人脸识别:0-默认人脸识别(拍照);1-丽水一体机 2-沃斯德人证交互终端;3-中正人脸识别;5-良田
85718
+ * 读取社保卡:2-沃斯德人证交互终端;4-华大读卡器
85719
+ * 签字版:0-有为签字版;1-汉王签字版;2-沃斯德人证交互终端签字
85720
+ */
85721
+ readMachineType: {
85722
+ default: 0,
85723
+ type: Number
85724
+ },
85725
+ /**
85726
+ * 读取模式:idCard-读取二代身份证;veriface-人证核验;socialSecurityCard-读取社保卡;sign-签字
85727
+ */
85728
+ readerMode: {
85729
+ default: 'idCard',
85730
+ type: String
85731
+ }
85732
+ },
85733
+ data: () => {
85734
+ return {
85735
+ showIDCardChrome: false
85736
+ };
85737
+ },
85738
+ computed: {
85739
+ _className() {
85740
+ const classBase = ['z-button'];
85741
+ if (this.type === 'text') {
85742
+ classBase.push('i-font-size');
85743
+ }
85744
+ if (!this.className) {
85745
+ return classBase;
85746
+ } else if (typeof this.className === 'string') {
85747
+ classBase.push(this.className);
85748
+ } else {
85749
+ classBase.push(...this.className);
85750
+ }
85751
+ return classBase;
85752
+ }
85753
+ },
85754
+ methods: {
85755
+ handleClick() {
85756
+ switch (this.readerMode) {
85757
+ case 'idCard':
85758
+ return this.idCardRReaderEvent();
85759
+ case 'veriface':
85760
+ return this.faceReaderEvent();
85761
+ }
85762
+ },
85763
+ /**
85764
+ * 读取二代身份证
85765
+ */
85766
+ async idCardRReaderEvent() {
85767
+ let idcardInfo;
85768
+ switch (this.readMachineType) {
85769
+ case 0:
85770
+ idcardInfo = await IdCardReadService.idCardCommonRead();
85771
+ this.$emit('click', idcardInfo);
85772
+ break;
85773
+ case 2:
85774
+ idcardInfo = await EWindowPassService.idCardRead();
85775
+ this.$emit('click', idcardInfo);
85776
+ break;
85777
+ case 3:
85778
+ const data = await MRAdbReadService.idCardRead();
85779
+ if (data) idcardInfo = data.idCard;
85780
+ this.$emit('click', idcardInfo);
85781
+ break;
85782
+ case 4:
85783
+ idcardInfo = await HuzReadService.idCardRead();
85784
+ this.$emit('click', idcardInfo);
85785
+ break;
85786
+ case 1:
85787
+ return this.readLSIDCard();
85788
+ case 5:
85789
+ idcardInfo = await ELoamPassService.idCardRead();
85790
+ this.$emit('click', idcardInfo);
85791
+ break;
85792
+ }
85793
+ },
85794
+ /**
85795
+ * 人证核验
85796
+ */
85797
+ async faceReaderEvent() {
85798
+ switch (this.readMachineType) {
85799
+ case 0:
85800
+ {
85801
+ const realPicture = await CameraReadService.read();
85802
+ this.$emit('click', {
85803
+ faceimg: realPicture
85804
+ });
85805
+ break;
85806
+ }
85807
+ case 1:
85808
+ this.readLSIDCardAndMatchFace();
85809
+ break;
85810
+ case 2:
85811
+ {
85812
+ const data = await EWindowPassService.faceValidateWithIdCardRead();
85813
+ this.$emit('click', data);
85814
+ break;
85815
+ }
85816
+ case 3:
85817
+ {
85818
+ const data = await MRAdbReadService.idCardRead();
85819
+ this.$emit('click', data);
85820
+ break;
85821
+ }
85822
+ case 5:
85823
+ this.readFacePhotoByELoam();
85824
+ }
85825
+ },
85826
+ /**
85827
+ * 读取社保卡
85828
+ */
85829
+ async socialSecurityCardReaderEvent() {
85830
+ try {
85831
+ let idcardInfo;
85832
+ switch (this.readMachineType) {
85833
+ case 2:
85834
+ idcardInfo = await EWindowPassService.socialSecurityCardRead();
85835
+ break;
85836
+ case 4:
85837
+ idcardInfo = await HuzReadService.socialSecurityCardRead();
85838
+ break;
85839
+ }
85840
+ this.$emit('click', idcardInfo);
85841
+ } catch (e) {
85842
+ throw Error('读取社保卡失败');
85843
+ }
85844
+ },
85845
+ /**
85846
+ * 签字
85847
+ */
85848
+ async signEvent() {
85849
+ let userSignature = '';
85850
+ switch (this.signFlag) {
85851
+ case 0:
85852
+ userSignature = await SignReadService.read();
85853
+ break;
85854
+ case 1:
85855
+ userSignature = await SignReadService.read(PluginApiType.hwSign);
85856
+ break;
85857
+ case 2:
85858
+ userSignature = await EWindowPassService.signNameRead();
85859
+ break;
85860
+ }
85861
+ // 返回base64编码内容,无前缀
85862
+ this.$emit('click', userSignature);
85863
+ },
85864
+ async readLSIDCardAndMatchFace() {
85865
+ this.showIDCardChrome = true;
85866
+ debugger;
85867
+ const modalNode = document.createElement('div');
85868
+ document.body.appendChild(modalNode);
85869
+ const vm = new Vue({
85870
+ render: h => {
85871
+ return h(face_auth_dialog, {
85872
+ props: {},
85873
+ on: {
85874
+ close: data => {
85875
+ console.log('destroy data=>', data);
85876
+ if (data.zt !== '比对成功') {
85877
+ throw Error('认证失败');
85878
+ } else {
85879
+ this.$message.success('认证成功');
85880
+ this.$emit('click', data);
85881
+ }
85882
+ this.showIDCardChrome = false;
85883
+ vm.$destroy();
85884
+ vm.$el.remove();
85885
+ }
85886
+ }
85887
+ });
85888
+ },
85889
+ parent: this
85890
+ }).$mount(modalNode);
85891
+ },
85892
+ /** 良田拍照*/
85893
+ readFacePhotoByELoam() {
85894
+ const modalNode = document.createElement('div');
85895
+ document.body.appendChild(modalNode);
85896
+ const vm = new Vue({
85897
+ render: h => {
85898
+ return h(eloam_take_photo_dialog, {
85899
+ props: {},
85900
+ on: {
85901
+ close: data => {
85902
+ this.$emit('photo-change', data);
85903
+ vm.$destroy();
85904
+ vm.$el.remove();
85905
+ }
85906
+ }
85907
+ });
85908
+ },
85909
+ parent: this
85910
+ }).$mount(modalNode);
85911
+ },
85912
+ readLSIDCard() {
85913
+ this.showIDCardChrome = true;
85914
+ this.$nextTick(async () => {
85915
+ try {
85916
+ debugger;
85917
+ const idcardInfo = await (0,tsToJs/* GetIDCardOnly */.oK)();
85918
+ console.log('丽水一体机读取身份证信息=>', idcardInfo);
85919
+ this.$emit('click', idcardInfo);
85920
+ } catch (e) {
85921
+ throw Error('读取身份证信息失败');
85922
+ } finally {
85923
+ this.showIDCardChrome = false;
85924
+ }
85925
+ });
85926
+ }
85927
+ }
85928
+ });
85929
+ ;// CONCATENATED MODULE: ./packages/id-card-reader/id-card-reader-button/src/id-card-reader-button.vue?vue&type=script&lang=js&
85930
+ /* harmony default export */ var src_id_card_reader_buttonvue_type_script_lang_js_ = (id_card_reader_buttonvue_type_script_lang_js_);
85931
+ ;// CONCATENATED MODULE: ./packages/id-card-reader/id-card-reader-button/src/id-card-reader-button.vue
85932
+
85933
+
85934
+
85935
+
85936
+
85937
+ /* normalize component */
85938
+ ;
85939
+ var id_card_reader_button_component = normalizeComponent(
85940
+ src_id_card_reader_buttonvue_type_script_lang_js_,
85941
+ id_card_reader_buttonvue_type_template_id_7cd25906_scoped_true_render,
85942
+ id_card_reader_buttonvue_type_template_id_7cd25906_scoped_true_staticRenderFns,
85943
+ false,
85944
+ null,
85945
+ "7cd25906",
85946
+ null
85947
+
85948
+ )
85949
+
85950
+ /* harmony default export */ var id_card_reader_button = (id_card_reader_button_component.exports);
85951
+ ;// CONCATENATED MODULE: ./packages/id-card-reader/id-card-reader-button/index.js
85952
+
85953
+
85954
+ // 组件的install方法用于按需引入
85955
+ // @ts-ignore
85956
+ id_card_reader_button.install = Vue => {
85957
+ Vue.component(id_card_reader_button.name, id_card_reader_button);
85958
+ };
85959
+ /* harmony default export */ var id_card_reader_id_card_reader_button = (id_card_reader_button);
85960
+ ;// CONCATENATED MODULE: ./packages/index.js
85961
+
83691
85962
 
83692
85963
 
83693
85964
 
@@ -83710,7 +85981,7 @@ id_card_reader_eloam.install = Vue => {
83710
85981
  // Dialog
83711
85982
  // ]
83712
85983
  // 组件列表
83713
- const components = [packages_zs_empty, id_card_reader_id_card_reader_demo, scanner_scanner_high_camera_jieyu, scanner_scanner_eloam, id_card_reader_id_card_reader_eloam];
85984
+ const components = [packages_zs_empty, id_card_reader_id_card_reader_demo, scanner_scanner_high_camera_jieyu, scanner_scanner_eloam, id_card_reader_id_card_reader_eloam, id_card_reader_id_card_reader_button];
83714
85985
 
83715
85986
  // 定义 install 方法,接收 Vue 作为参数。如果使用 use 注册插件,那么所有的组件都会被注册
83716
85987
  const install = Vue => {