unify-external-plugin-platform 0.0.2-99 → 0.0.3-1
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.
@@ -84212,15 +84212,14 @@ class eloam_plugin_service_ELoamPassService {
|
|
84212
84212
|
param = {
|
84213
84213
|
filepath: "",
|
84214
84214
|
rotate: "0",
|
84215
|
-
deskew: "
|
84216
|
-
deskewval: "
|
84215
|
+
deskew: "0",
|
84216
|
+
deskewval: "0",
|
84217
84217
|
camidx: "0",
|
84218
84218
|
ColorMode: "0",
|
84219
84219
|
quality: "0",
|
84220
84220
|
bIsPrint1to1: "0"
|
84221
84221
|
};
|
84222
|
-
|
84223
|
-
requestType = 'get';
|
84222
|
+
requestType = 'post';
|
84224
84223
|
break;
|
84225
84224
|
case eloam_plugin_service_ELoamMethodCode.ScannerSecondaryCamera_Base64:
|
84226
84225
|
// rotate: 旋转角度,;deskew:纠偏,主摄像头1,副摄像头0 camidx:主摄像头0,副摄像头1;ColorMode:quality
|
@@ -84235,8 +84234,7 @@ class eloam_plugin_service_ELoamPassService {
|
|
84235
84234
|
quality: "0",
|
84236
84235
|
bIsPrint1to1: "0"
|
84237
84236
|
};
|
84238
|
-
|
84239
|
-
requestType = 'get';
|
84237
|
+
requestType = 'post';
|
84240
84238
|
break;
|
84241
84239
|
case eloam_plugin_service_ELoamMethodCode.ReadIDCard_Base64:
|
84242
84240
|
url = this.baseServiceUrl + '/card=idcard';
|
@@ -84222,15 +84222,14 @@ class eloam_plugin_service_ELoamPassService {
|
|
84222
84222
|
param = {
|
84223
84223
|
filepath: "",
|
84224
84224
|
rotate: "0",
|
84225
|
-
deskew: "
|
84226
|
-
deskewval: "
|
84225
|
+
deskew: "0",
|
84226
|
+
deskewval: "0",
|
84227
84227
|
camidx: "0",
|
84228
84228
|
ColorMode: "0",
|
84229
84229
|
quality: "0",
|
84230
84230
|
bIsPrint1to1: "0"
|
84231
84231
|
};
|
84232
|
-
|
84233
|
-
requestType = 'get';
|
84232
|
+
requestType = 'post';
|
84234
84233
|
break;
|
84235
84234
|
case eloam_plugin_service_ELoamMethodCode.ScannerSecondaryCamera_Base64:
|
84236
84235
|
// rotate: 旋转角度,;deskew:纠偏,主摄像头1,副摄像头0 camidx:主摄像头0,副摄像头1;ColorMode:quality
|
@@ -84245,8 +84244,7 @@ class eloam_plugin_service_ELoamPassService {
|
|
84245
84244
|
quality: "0",
|
84246
84245
|
bIsPrint1to1: "0"
|
84247
84246
|
};
|
84248
|
-
|
84249
|
-
requestType = 'get';
|
84247
|
+
requestType = 'post';
|
84250
84248
|
break;
|
84251
84249
|
case eloam_plugin_service_ELoamMethodCode.ReadIDCard_Base64:
|
84252
84250
|
url = this.baseServiceUrl + '/card=idcard';
|
@@ -21,4 +21,4 @@
|
|
21
21
|
* @internal
|
22
22
|
* @license Modernizr 3.0.0pre (Custom Build) | MIT
|
23
23
|
*/
|
24
|
-
function a(e,t){if(!r.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,a=n in document;if(!a){var s=document.createElement("div");s.setAttribute(n,"return;"),a="function"===typeof s[n]}return!a&&i&&"wheel"===e&&(a=document.implementation.hasFeature("Events.wheel","3.0")),a}r.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=a},643:function(e,t,n){"use strict";var i=n(4518),r=n(6534),a=10,s=40,o=800;function l(e){var t=0,n=0,i=0,r=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),i=t*a,r=n*a,"deltaY"in e&&(r=e.deltaY),"deltaX"in e&&(i=e.deltaX),(i||r)&&e.deltaMode&&(1==e.deltaMode?(i*=s,r*=s):(i*=o,r*=o)),i&&!t&&(t=i<1?-1:1),r&&!n&&(n=r<1?-1:1),{spinX:t,spinY:n,pixelX:i,pixelY:r}}l.getEventType=function(){return i.firefox()?"DOMMouseScroll":r("wheel")?"wheel":"mousewheel"},e.exports=l},1033:function(e,t,n){"use strict";n.r(t);var i=function(){if("undefined"!==typeof Map)return Map;function e(e,t){var n=-1;return e.some((function(e,i){return e[0]===t&&(n=i,!0)})),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var n=e(this.__entries__,t),i=this.__entries__[n];return i&&i[1]},t.prototype.set=function(t,n){var i=e(this.__entries__,t);~i?this.__entries__[i][1]=n:this.__entries__.push([t,n])},t.prototype.delete=function(t){var n=this.__entries__,i=e(n,t);~i&&n.splice(i,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var n=0,i=this.__entries__;n<i.length;n++){var r=i[n];e.call(t,r[1],r[0])}},t}()}(),r="undefined"!==typeof window&&"undefined"!==typeof document&&window.document===document,a=function(){return"undefined"!==typeof n.g&&n.g.Math===Math?n.g:"undefined"!==typeof self&&self.Math===Math?self:"undefined"!==typeof window&&window.Math===Math?window:Function("return this")()}(),s=function(){return"function"===typeof requestAnimationFrame?requestAnimationFrame.bind(a):function(e){return setTimeout((function(){return e(Date.now())}),1e3/60)}}(),o=2;function l(e,t){var n=!1,i=!1,r=0;function a(){n&&(n=!1,e()),i&&c()}function l(){s(a)}function c(){var e=Date.now();if(n){if(e-r<o)return;i=!0}else n=!0,i=!1,setTimeout(l,t);r=e}return c}var c=20,u=["top","right","bottom","left","width","height","size","weight"],d="undefined"!==typeof MutationObserver,h=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=l(this.refresh.bind(this),c)}return e.prototype.addObserver=function(e){~this.observers_.indexOf(e)||this.observers_.push(e),this.connected_||this.connect_()},e.prototype.removeObserver=function(e){var t=this.observers_,n=t.indexOf(e);~n&&t.splice(n,1),!t.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){var e=this.updateObservers_();e&&this.refresh()},e.prototype.updateObservers_=function(){var e=this.observers_.filter((function(e){return e.gatherActive(),e.hasActive()}));return e.forEach((function(e){return e.broadcastActive()})),e.length>0},e.prototype.connect_=function(){r&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),d?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){r&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=void 0===t?"":t,i=u.some((function(e){return!!~n.indexOf(e)}));i&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),f=function(e,t){for(var n=0,i=Object.keys(t);n<i.length;n++){var r=i[n];Object.defineProperty(e,r,{value:t[r],enumerable:!1,writable:!1,configurable:!0})}return e},p=function(e){var t=e&&e.ownerDocument&&e.ownerDocument.defaultView;return t||a},m=S(0,0,0,0);function g(e){return parseFloat(e)||0}function v(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return t.reduce((function(t,n){var i=e["border-"+n+"-width"];return t+g(i)}),0)}function b(e){for(var t=["top","right","bottom","left"],n={},i=0,r=t;i<r.length;i++){var a=r[i],s=e["padding-"+a];n[a]=g(s)}return n}function y(e){var t=e.getBBox();return S(0,0,t.width,t.height)}function C(e){var t=e.clientWidth,n=e.clientHeight;if(!t&&!n)return m;var i=p(e).getComputedStyle(e),r=b(i),a=r.left+r.right,s=r.top+r.bottom,o=g(i.width),l=g(i.height);if("border-box"===i.boxSizing&&(Math.round(o+a)!==t&&(o-=v(i,"left","right")+a),Math.round(l+s)!==n&&(l-=v(i,"top","bottom")+s)),!_(e)){var c=Math.round(o+a)-t,u=Math.round(l+s)-n;1!==Math.abs(c)&&(o-=c),1!==Math.abs(u)&&(l-=u)}return S(r.left,r.top,o,l)}var w=function(){return"undefined"!==typeof SVGGraphicsElement?function(e){return e instanceof p(e).SVGGraphicsElement}:function(e){return e instanceof p(e).SVGElement&&"function"===typeof e.getBBox}}();function _(e){return e===p(e).document.documentElement}function x(e){return r?w(e)?y(e):C(e):m}function k(e){var t=e.x,n=e.y,i=e.width,r=e.height,a="undefined"!==typeof DOMRectReadOnly?DOMRectReadOnly:Object,s=Object.create(a.prototype);return f(s,{x:t,y:n,width:i,height:r,top:n,right:t+i,bottom:r+n,left:t}),s}function S(e,t,n,i){return{x:e,y:t,width:n,height:i}}var I=function(){function e(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=S(0,0,0,0),this.target=e}return e.prototype.isActive=function(){var e=x(this.target);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var e=this.contentRect_;return this.broadcastWidth=e.width,this.broadcastHeight=e.height,e},e}(),E=function(){function e(e,t){var n=k(t);f(this,{target:e,contentRect:n})}return e}(),D=function(){function e(e,t,n){if(this.activeObservations_=[],this.observations_=new i,"function"!==typeof e)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=t,this.callbackCtx_=n}return e.prototype.observe=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!==typeof Element&&Element instanceof Object){if(!(e instanceof p(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new I(e)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!==typeof Element&&Element instanceof Object){if(!(e instanceof p(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach((function(t){t.isActive()&&e.activeObservations_.push(t)}))},e.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map((function(e){return new E(e.target,e.broadcastRect())}));this.callback_.call(e,t,e),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),A="undefined"!==typeof WeakMap?new WeakMap:new i,O=function(){function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=h.getInstance(),i=new D(t,n,this);A.set(this,i)}return e}();["observe","unobserve","disconnect"].forEach((function(e){O.prototype[e]=function(){var t;return(t=A.get(this))[e].apply(t,arguments)}}));var T=function(){return"undefined"!==typeof a.ResizeObserver?a.ResizeObserver:O}();t["default"]=T},1478:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,{g$:function(){return tsToJs},oK:function(){return GetIDCardOnly},xj:function(){return loadCamera}});var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(7658),core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__),tsToJs={getElement:function Stirng(flag,photoId){var plugin;if(1==flag){console.log("人脸识别开始-----");var plugin=document.getElementById("facePlugin");console.log("plugin-----",plugin);var data="$=Action",temp=plugin.SendDataToADB("127.0.0.1",1352,15e3,data,data.length);if(console.log(temp+"-----===="),"undefined"===typeof temp)return null;var str=temp.split("$"),result=str[1].split("=#=")[1];console.log("result:"+result+"-----++++");var name=str[2].split("=#=")[1],sex=str[3].split("=#=")[1],cardNo=str[4].split("=#=")[1];console.log("cardNo:"+cardNo+"-----++++");var address=str[5].split("=#=")[1],birthday=str[6].split("=#=")[1],cardImg=str[8].split("=#=")[1],faceImg=str[9].split("=#=")[1],race=str[10].split("=#=")[1],regOrg=str[11].split("=#=")[1],validTime=str[12].split("=#=")[1],validTimeStart=validTime.split("-")[0],validTimeEnd=validTime.split("-")[1],objSfz={idCard:{info:{name:name.toString(),sex:sex.toString(),nation:race.toString(),birthday:birthday.toString(),address:address.toString(),cardId:cardNo.toString(),police:regOrg.toString(),validStart:validTimeStart.toString(),validEnd:validTimeEnd.toString(),sexCode:"",nationCode:""},headImage:cardImg.toString()},faceimg:faceImg.toString(),zt:""};return console.log("-------------------objSfz成功返回数据---------------------"),console.log("人脸识别结果===>",objSfz),objSfz}if(2==flag){plugin=document.getElementById("plugin");var temp2=plugin.On_OpenDevice(1001),obj=eval("("+temp2+")");return"undefined"!=typeof obj["照片"]&&(photoId&&document.getElementById(photoId)&&(document.getElementById(photoId).src="data:image/jpeg;base64,"+obj["照片"]),console.log(obj["身份证号2"]+"._____."),console.log(obj["照片2"]+"._____.-----------")),obj}if(3==flag){console.log("-----开始读取身份证信息-----");var plugin=document.getElementById("plugin"),temp2=plugin.On_OpenDevice(1001),obj=eval("("+temp2+")"),result={info:{name:obj["姓名"],sex:obj["性别"],nation:obj["名族"],birthday:obj["出生日期"],address:obj["地址"],cardId:obj["身份证号"],police:obj["发证机关"],validStart:obj["有效期开始"],validEnd:obj["有效期结束"],sexCode:"",nationCode:""},headImage:obj["照片"]};return console.log("-----身份证信息读取结果-----"),console.log(result),result}if(4==flag)return GetIDCardAndMatchImage()},getExportInfo:function(){var e="",t="";return $.ajaxSettings.async=!1,$.get("assets/xml/Export.xml",!1,(function(n){var i=[],r=[];$(n).find("ElementTable").each((function(){var e=$(this),t=e.attr("ColumnName"),n=e.attr("CaptionName");i.push(t),r.push(n)})),e=i.join(","),t=r.join(","),xmlxx={columNameStr:e,captionNameStr:t}})),$.ajaxSettings.async=!0,xmlxx},getAreaData:function(){$.ajaxSettings.async=!1;var e=[],t=[];return $.get("assets/xml/AreaData.xml",(function(n){$(n).find("ElementTable").each((function(){var n=$(this),i=n.attr("tableName"),r=n.children("DataBaseLink").attr("Name");e.push(i),t.push(r)}))})),$.ajaxSettings.async=!0,xmlxx={nameArray:e,dataBaseLinkArray:t},xmlxx},getAreaTable:function(){$.ajaxSettings.async=!1;var e=[];return $.get("assets/xml/AreaData.xml",(function(t){$(t).find("ElementTable").each((function(){var t=$(this),n=t.attr("tableName"),i=t.children("DataBaseLink").attr("Name");xmlxx={tableName:n,dataBaseLink:i},e.push(xmlxx)}))})),$.ajaxSettings.async=!0,e},getPhoto:function(e,t){document.getElementById(t).src="data:image/jpeg;base64,"+e},printImg:function(e){$("#"+e).jqprint()}};function loadCamera(){document.getElementById("IDCard_chrome");var e=document.getElementById("camera_row");e.innerHTML='<object clsid="{23D85CA3-E783-431E-A229-18BB6BEB9AD9}" type="application/x-itst-activex" width=320 height=240 name="FaceObj"></object>'}function GetIDCardOnly(){var e=document.getElementById("IDCard_chrome"),t=e.OpenDevice();if(0==t){t=e.ReadIDCardInfo();var n={info:{name:e.IDName,sex:e.IDSex,nation:e.IDFolk,birthday:e.IDBirth,address:e.IDAddress,cardId:e.IDNumber,police:e.IDOrgan,validStart:e.IDTermBegin.substring(0,4)+"."+e.IDTermBegin.substring(4,6)+"."+e.IDTermBegin.substring(6,8),validEnd:e.IDTermEnd.substring(0,4)+"."+e.IDTermEnd.substring(4,6)+"."+e.IDTermEnd.substring(6,8),sexCode:"",nationCode:""},headImage:e.IDPhoto64};return n}debug("一体机启动失败")}function GetIDCardAndMatchImage(){console.log("-----开启一体机功能-----");var e=document.getElementById("IDCard_chrome"),t=e.OpenDevice();if(0==t){t=e.ReadIDCardInfo();var n={idCard:{info:{name:e.IDName,sex:e.IDSex,nation:e.IDFolk,birthday:e.IDBirth,address:e.IDAddress,cardId:e.IDNumber,police:e.IDOrgan,validStart:e.IDTermBegin.substring(0,4)+"."+e.IDTermBegin.substring(4,6)+"."+e.IDTermBegin.substring(6,8),validEnd:e.IDTermEnd.substring(0,4)+"."+e.IDTermEnd.substring(4,6)+"."+e.IDTermEnd.substring(6,8),sexCode:"",nationCode:""},headImage:e.IDPhoto64},faceimg:"",zt:""};return MatchImage(n)}debug("一体机启动失败")}function MatchImage(e){var t=FaceObj.MatchFace(e.idCard.headImage),n=JSON.parse(t);return e.faceimg=n.image,e.zt=n.retinfo,console.log(e),e}},2823:function(e,t,n){var i=n(8563);e.exports=function(e,t,n){return void 0===n?i(e,t,!1):i(e,n,!1!==t)}},4592:function(e,t,n){var i=n(8563),r=n(2823);e.exports={throttle:i,debounce:r}},8563:function(e){e.exports=function(e,t,n,i){var r,a=0;function s(){var s=this,o=Number(new Date)-a,l=arguments;function c(){a=Number(new Date),n.apply(s,l)}function u(){r=void 0}i&&!r&&c(),r&&clearTimeout(r),void 0===i&&o>e?c():!0!==t&&(r=setTimeout(i?u:c,void 0===i?e-o:e))}return"boolean"!==typeof t&&(i=n,n=t,t=void 0),s}},2234:function(e,t,n){"use strict";e.exports=n.p+"img/idcardbg1.1f8e1fc6.gif"},4923:function(e,t,n){"use strict";e.exports=n.p+"img/idcardbg2.2e47b05f.gif"},5053:function(e,t,n){"use strict";e.exports=n.p+"img/img_blank_empty.92ddadbb.png"},7203:function(e){"use strict";e.exports=__WEBPACK_EXTERNAL_MODULE__7203__}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}!function(){__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return __webpack_require__.d(t,{a:t}),t}}(),function(){__webpack_require__.d=function(e,t){for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){__webpack_require__.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){__webpack_require__.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}}(),function(){__webpack_require__.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e}}(),function(){__webpack_require__.p=""}();var __webpack_exports__={};return function(){"use strict";if(__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:function(){return Ht}}),"undefined"!==typeof window){var e=window.document.currentScript,t=e&&e.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);t&&(__webpack_require__.p=t[1])}var n=__webpack_require__(4720),i=__webpack_require__.n(n),r=function(){var e=this;e._self._c;return e._m(0)},a=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"zs-empty"},[t("img",{attrs:{src:__webpack_require__(5053)}})])}],s={name:"zs-empty",props:{emptyTip:{default:"暂无数据",type:String}},methods:{}},o=s;function l(e,t,n,i,r,a,s,o){var l,c="function"===typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),s?(l=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},c._ssrRegister=l):r&&(l=o?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}var c=l(o,r,a,!1,null,"88c40896",null),u=c.exports;u.install=e=>{e.component(u.name,u)};var d=u,h=function(){var e=this,t=e._self._c;return e.tip?t("el-tooltip",{staticClass:"id-card-reader-demo",attrs:{content:e.tip,placement:"top"}},[t("el-button",e._b({on:{click:e.handleClick}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2)],1):t("el-button",e._b({on:{click:e.handleClick}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2)},f=[],p=(__webpack_require__(7658),{name:"id-card-reader-demo",props:{label:{default:"",type:String},tip:{default:"",type:String},className:{default:"",type:String},size:{default:"mini",type:String},type:{default:"primary",type:String},plain:{default:!1,type:Boolean},round:{default:!1,type:Boolean},loading:{default:!1,type:Boolean},icon:{default:"el-icon-postcard",type:String},disabled:{default:!1,type:Boolean}},computed:{_className(){const e=["z-button"];return"text"===this.type&&e.push("i-font-size"),this.className?("string"===typeof this.className?e.push(this.className):e.push(...this.className),e):e}},methods:{handleClick(){const e={info:{name:"",sex:"",nation:"",birthday:"",address:"",cardId:"",police:"",validStart:"",validEnd:""},headImage:""};this.$emit("click",e)}}}),m=p,g=l(m,h,f,!1,null,"3d89866c",null),v=g.exports;v.install=e=>{e.component(v.name,v)};var b=v,y=function(){var e=this,t=e._self._c;return t("div",{staticClass:"scanner-high-camera-container"},["dialog"===e.openMode?t("div",{staticClass:"scanner-high-camera-button"},[e.tip?t("el-tooltip",{staticClass:"id-card-reader-demo",attrs:{content:e.tip,placement:"top"}},[t("el-button",e._b({on:{click:e.openScanDialog}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2)],1):t("el-button",e._b({on:{click:e.openScanDialog}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2),t("el-dialog",{staticClass:"scanner-high-camera-dialog",attrs:{title:"影像扫描",visible:e.dialogVisible,width:"60%"},on:{"update:visible":function(t){e.dialogVisible=t}}},[e.dialogVisible?t("scanner-high-camera-component",{on:{"send-scanner-result":e.setScannerResult},scopedSlots:e._u([{key:"action",fn:function(){return[e._t("right-action")]},proxy:!0}],null,!0)}):e._e(),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),t("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.sendScannerResult}},[e._v("确 定")])],1)],1)],1):t("scanner-high-camera-component",{on:{"send-scanner-result":e.setScannerResult},scopedSlots:e._u([{key:"action",fn:function(){return[e._t("right-action")]},proxy:!0}],null,!0)})],1)},C=[],w=function(){var e=this,t=e._self._c;return t("div",{staticClass:"scanner-high-camera-component"},[t("div",{staticClass:"scanner-result-content"},[t("div",{staticClass:"content-main flex-1"},[e.loadSuccess?t("div",{staticClass:"load-success"},[t("img",{attrs:{id:"photo",src:e.scannerResultSrc}})]):t("div",{staticClass:"load-error"},[t("i",{staticClass:"el-icon-s-cooperation"}),t("p",[e._v("请先安装插件")])])]),t("div",{staticClass:"handle-action"},[t("el-select",{staticClass:"select",attrs:{size:"small"},on:{change:e.selectChange},model:{value:e.camera,callback:function(t){e.camera=t},expression:"camera"}},e._l(e.cameras,(function(e){return t("el-option",{key:e.value,attrs:{label:e.name,value:e.value}})})),1),e._l(e.buttonList,(function(n){return[t("el-button",{key:n.name,attrs:{type:"primary",size:"small"},on:{click:function(t){return e.handleAction(n.name)}}},[e._v(e._s(n.label))]),e._t("action")]}))],2)])])},_=[];const x="data:image/jpeg;base64,";var k={name:"scanner-high-camera-component",data:()=>({totalTimeLength:0,timeLength:"",timer:0,str1:"",str2:"",webSocket:{},scannerResultSrc:"",loadSuccess:!0,camera:0,cameras:[{name:"文档",value:0},{name:"照片",value:1}],buttonList:[{label:"拍照",name:"take-pictures"}]}),mounted(){this.webSocket=new WebSocket("ws://127.0.0.1:1818"),window.onbeforeunload=()=>{this.webSocket.send("bStopPlay()"),this.webSocket.send("bStopPlay4()")},this.webSocket.onerror=e=>{this.onError(e)},this.webSocket.onopen=e=>{this.onOpen(e)},this.webSocket.onclose=e=>{this.onClose(e),this.webSocket.send("bStopPlay()")},this.webSocket.onmessage=e=>{this.onMessage(e)},setTimeout((()=>{this.handleAction("start-main")}),800)},destroyed(){this.handleAction("stop"),this.webSocket.close()},methods:{selectChange(e){let t=1===e?"start-vice":"start-main";this.handleAction(t)},handleAction(e){switch(e){case"start-main":this.StartPlay_onclick();break;case"rotation":this.start("bStartPlayRotate(90)");break;case"start-vice":this.start("bStartPlay2");break;case"stop":this.start("bStopPlay");break;case"autofocus":this.start("AutoFocus");break;case"Black edge":this.start("vSetDelHBFlag(true)");break;case"base64":this.start("sGetBase64");break;case"start-record":this.start("bStartRec(d:\\test.avi)");break;case"stop-record":this.start("bStopRec");break;case"take-pictures":this.start("bSaveJPG(D:\\,Photo)"),this.$emit("send-scanner-result",this.scannerResultSrc);break}},timeGo(){this.totalTimeLength++;let e=0,t=0,n=0;e=Math.floor(this.totalTimeLength/3600),t=Math.floor(this.totalTimeLength/60%60),n=Math.floor(this.totalTimeLength%60),this.timeLength=e+"时"+t+"分"+n+"秒"},onMessage(e){e.data.indexOf("BarCodeTransferBegin")>=0?console.log(e.data.replace("BarCodeTransferBegin","").replace("BarCodeTransferEnd","")):e.data.indexOf("BeginbSaveJPG")>=0?(this.str1=e.data.replace("BeginbSaveJPG","").replace("EndbSaveJPG",""),console.log(this.str1)):e.data.indexOf("BeginbStopPlay")>=0?(console.log(e.data),console.log(e.data.replace("BeginbStopPlay","").replace("EndbStopPlay",""))):e.data.indexOf("BeginvSetResolution")>=0?console.log(e.data.replace("BeginvSetResolution","").replace("EndvSetResolution","")):e.data.indexOf("BeginvSetRemoveGBFlag")>=0?console.log(e.data.replace("BeginvSetRemoveGBFlag","").replace("EndvSetRemoveGBFlag","")):e.data.indexOf("BeginbFileExist")>=0?console.log(e.data.replace("BeginbFileExist","").replace("EndbFileExist","")):e.data.indexOf("BeginbStartPlay2")>=0?console.log(e.data.replace("BeginbStartPlay2","").replace("EndbStartPlay2","")):e.data.indexOf("BeginbStartPlay")>=0?console.log(e.data.replace("BeginbStartPlay","").replace("EndbStartPlay","")):e.data.indexOf("BeginbSetMode")>=0?console.log(e.data.replace("BeginbSetMode","").replace("EndbSetMode","")):this.scannerResultSrc=`${x}${e.data}`},onError(e){console.log("error",e.data),this.loadSuccess=!1},onClose(e){this.webSocket.send("bStopPlay()"),this.webSocket.send("bStopPlay4()")},onOpen(e){},start(e){return"bStartRec(d:\\test.avi)"==e&&(this.timer=window.setInterval(this.timeGo,1e3)),"bStopRec"==e&&(window.clearInterval(this.timer),this.totalTimeLength=0,console.log("录屏结束")),this.webSocket.send(e),!1},vout_OnClick(){},Stop_onclick(){this.webSocket.send("bStopPlay()")},StartPlay_onclick(){this.webSocket.send("vSetResolution(8)"),this.webSocket.send("bStartPlay()")}}},S=k,I=l(S,w,_,!1,null,"e24dd0c8",null),E=I.exports,D={name:"scanner-high-camera-jieyu",components:{ScannerHighCameraComponent:E},props:{openMode:{default:"",type:String},label:{default:"",type:String},tip:{default:"",type:String},className:{default:"",type:String},size:{default:"",type:String},type:{default:"",type:String},plain:{default:!1,type:Boolean},round:{default:!1,type:Boolean},loading:{default:!1,type:Boolean},icon:{default:"",type:String},disabled:{default:!1,type:Boolean}},data:()=>({dialogVisible:!1,scannerResult:""}),computed:{_className(){const e=["z-button"];return"text"===this.type&&e.push("i-font-size"),this.className?("string"===typeof this.className?e.push(this.className):e.push(...this.className),e):e}},methods:{openScanDialog(){this.dialogVisible=!0},setScannerResult(e){this.scannerResult=e,"dialog"!==this.openMode&&this.$emit("send-scanner-result",this.scannerResult)},sendScannerResult(){this.scannerResult&&(this.$emit("send-scanner-result",this.scannerResult),this.dialogVisible=!1)}}},A=D,O=l(A,y,C,!1,null,"ffa79d1e",null),T=O.exports;T.install=e=>{e.component(T.name,T)};var M,N=T,P=function(){var e=this,t=e._self._c;return t("div",{staticClass:"scanner-high-camera-container"},["dialog"===e.openMode?t("div",{staticClass:"scanner-high-camera-button"},[e.tip?t("el-tooltip",{staticClass:"id-card-reader-demo",attrs:{content:e.tip,placement:"top"}},[t("el-button",e._b({on:{click:e.openScanDialog}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2)],1):t("el-button",e._b({on:{click:e.openScanDialog}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2),t("el-dialog",{staticClass:"scanner-high-camera-dialog",attrs:{title:"影像扫描",visible:e.dialogVisible,width:"60%"},on:{"update:visible":function(t){e.dialogVisible=t}}},[e.dialogVisible?t("scanner-eloam-component",{on:{"send-scanner-result":e.setScannerResult},scopedSlots:e._u([{key:"action",fn:function(){return[e._t("right-action")]},proxy:!0}],null,!0)}):e._e(),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),t("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.sendScannerResult}},[e._v("确 定")])],1)],1)],1):t("scanner-eloam-component",{on:{"send-scanner-result":e.setScannerResult},scopedSlots:e._u([{key:"action",fn:function(){return[e._t("right-action")]},proxy:!0}],null,!0)})],1)},j=[],F=function(){var e=this,t=e._self._c;return t("div",{staticClass:"scanner-high-camera-component"},[t("div",{staticClass:"scanner-result-content"},[t("div",{staticClass:"content-main flex-1"},[e.loadSuccess?t("div",{staticClass:"load-success"},[t("img",{staticStyle:{width:"800px",height:"600px"},attrs:{id:"photo",src:e.scannerVideoSrc}})]):t("div",{staticClass:"load-error"},[t("i",{staticClass:"el-icon-s-cooperation"}),t("p",[e._v("请先安装插件")])])]),t("div",{staticClass:"handle-action"},[t("el-select",{staticClass:"select",attrs:{size:"small"},on:{change:e.selectChange},model:{value:e.camera,callback:function(t){e.camera=t},expression:"camera"}},e._l(e.cameras,(function(e){return t("el-option",{key:e.value,attrs:{label:e.name,value:e.value}})})),1),e._l(e.buttonList,(function(n){return[t("el-button",{key:n.name,attrs:{type:"primary",size:"small"},on:{click:function(t){return e.handleAction(n.name)}}},[e._v(e._s(n.label))]),e._t("action")]}))],2)])])},$=[];function R(e){return R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},R(e)}function L(e,t){if("object"!==R(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==R(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function B(e){var t=L(e,"string");return"symbol"===R(t)?t:String(t)}function V(e,t,n){return t=B(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class z{static startConnect(e,t,n={}){return new Promise(((i,r)=>{let a=new XMLHttpRequest;if(e=e.toUpperCase(),"GET"==e){let e="";Object.keys(n).forEach((t=>{e+=`${t}=${n[t]}&`})),e=e.substring(0,e.lastIndexOf("&")),t=t+"?"+e}else"POST"==e||r("error method: Currently only supported GET or POST method!");a.open(e,t,!0),a.setRequestHeader("Accept","application/json"),"GET"===e?a.send():a.send(JSON.stringify(n)),a.onreadystatechange=function(){if(4===this.readyState)if(200===this.status){let e=this.response;"object"!==typeof e&&(e=JSON.parse(e)),i(e)}else r(a)}}))}static async get(e){let t=await z.startConnect("GET",e);return t}static async post(e,t){let n=await z.startConnect("POST",e,t);return n}}(function(e){e["ScannerMainCamera_Base64"]="ScannerMainCamera_Base64",e["ScannerSecondaryCamera_Base64"]="ScannerSecondaryCamera_Base64",e["ReadIDCard_Base64"]="ReadIDCard_Base64"})(M||(M={}));M.ScannerMainCamera_Base64,M.ScannerSecondaryCamera_Base64,M.ReadIDCard_Base64;class W{static get mainCameraUrl(){return this.baseServiceUrl+"/video=stream&camidx=0"}static get secondaryCameraUrl(){return this.baseServiceUrl+"/video=stream&camidx=1"}static async read(e){let t={},n="";switch(e){case M.ScannerMainCamera_Base64:n=this.baseServiceUrl+"/video=grabimage",t={filepath:"base64",rotate:"0",deskew:"1",camidx:"0",ColorMode:"0",quality:"0"};break;case M.ScannerSecondaryCamera_Base64:n=this.baseServiceUrl+"/video=grabimage",t={filepath:"base64",rotate:"0",deskew:"0",camidx:"1",ColorMode:"0",quality:"0"};break;case M.ReadIDCard_Base64:n=this.baseServiceUrl+"/card=idcard";break}let i=await z.post(n,t);return i}static async scanByMainCamera(){const e=await W.read(M.ScannerMainCamera_Base64);return e.photoBase64}static async scanBySecondaryCamera(){const e=await W.read(M.ScannerSecondaryCamera_Base64);return e.photoBase64}static async idCardRead(){const e=await W.read(M.ReadIDCard_Base64);let{name:t,sex:n,birthday:i,address:r,cardID:a,nationCode:s,photoBase64:o,issueOrgan:l,validStart:c,validEnd:u}=e.IDCardInfo;const d={info:{name:t,sex:n,birthday:i.replace("-","").replace("-",""),address:r,cardId:a,nation:s,police:l,validStart:c,validEnd:u},headImage:o};return d}}V(W,"baseServiceUrl","http://127.0.0.1:38088");const H="data:image/jpg;base64,";var q={name:"scanner-eloam-component",data:()=>({totalTimeLength:0,timeLength:"",timer:0,str1:"",str2:"",webSocket:{},scannerVideoSrc:"",scannerResultSrc:"",loadSuccess:!0,camera:0,cameras:[{name:"文档",value:0},{name:"照片",value:1}],buttonList:[{label:"拍照",name:"take-pictures"}]}),created(){this.scannerVideoSrc=W.mainCameraUrl},methods:{selectChange(e){let t=1===e?"start-vice":"start-main";this.handleAction(t)},handleAction(e){switch(e){case"start-main":this.scannerVideoSrc=W.mainCameraUrl;break;case"start-vice":this.scannerVideoSrc=W.secondaryCameraUrl;break;case"take-pictures":this.takePictures();break}},async takePictures(){if(0===this.camera){const e=await W.scanByMainCamera();this.$emit("send-scanner-result",`${H}${e}`)}else{const e=await W.scanBySecondaryCamera();this.$emit("send-scanner-result",`${H}${e}`)}}}},U=q,G=l(U,F,$,!1,null,"428304e7",null),Q=G.exports,K={name:"scanner-eloam",components:{ScannerEloamComponent:Q},props:{openMode:{default:"",type:String},label:{default:"",type:String},tip:{default:"",type:String},className:{default:"",type:String},size:{default:"",type:String},type:{default:"",type:String},plain:{default:!1,type:Boolean},round:{default:!1,type:Boolean},loading:{default:!1,type:Boolean},icon:{default:"",type:String},disabled:{default:!1,type:Boolean}},data:()=>({dialogVisible:!1,scannerResult:""}),computed:{_className(){const e=["z-button"];return"text"===this.type&&e.push("i-font-size"),this.className?("string"===typeof this.className?e.push(this.className):e.push(...this.className),e):e}},methods:{openScanDialog(){this.dialogVisible=!0},setScannerResult(e){this.scannerResult=e,"dialog"!==this.openMode&&this.$emit("send-scanner-result",this.scannerResult)},sendScannerResult(){this.scannerResult&&(this.$emit("send-scanner-result",this.scannerResult),this.dialogVisible=!1)}}},Y=K,Z=l(Y,P,j,!1,null,"a80d3a26",null),X=Z.exports;X.install=e=>{e.component(X.name,X)};var J,ee=X,te=function(){var e=this,t=e._self._c;return t("div",{staticClass:"scanner-camera-container"},["dialog"===e.openMode?t("div",{staticClass:"scanner-camera-button"},[e.tip?t("el-tooltip",{staticClass:"id-card-reader-demo",attrs:{content:e.tip,placement:"top"}},[t("el-button",e._b({on:{click:e.openScanDialog}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2)],1):t("el-button",e._b({on:{click:e.openScanDialog}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2),t("el-dialog",{staticClass:"scanner-camera-dialog",attrs:{title:"影像扫描",visible:e.dialogVisible,width:"60%"},on:{"update:visible":function(t){e.dialogVisible=t}}},[e.dialogVisible?t("scanner-camera-component",{attrs:{"machine-type":e.machineType},on:{"send-scanner-result":e.setScannerResult},scopedSlots:e._u([{key:"action",fn:function(){return[e._t("right-action")]},proxy:!0}],null,!0)}):e._e(),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),t("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.sendScannerResult}},[e._v("确 定")])],1)],1)],1):t("scanner-camera-component",{attrs:{"machine-type":e.machineType},on:{"send-scanner-result":e.setScannerResult},scopedSlots:e._u([{key:"action",fn:function(){return[e._t("right-action")]},proxy:!0}],null,!0)})],1)},ne=[],ie=function(){var e=this,t=e._self._c;return t("div",{staticClass:"scanner-high-camera-component"},[t("div",{staticClass:"scanner-result-content"},[t("div",{staticClass:"content-main flex-1"},[e.loadSuccess?t("div",{staticClass:"load-success"},[t("img",{staticStyle:{width:"800px",height:"600px"},attrs:{id:"photo",src:e.scannerVideoSrc}})]):t("div",{staticClass:"load-error"},[t("i",{staticClass:"el-icon-s-cooperation"}),t("p",[e._v("请先安装插件")])])]),t("div",{staticClass:"handle-action"},[t("el-select",{staticClass:"select",attrs:{size:"small"},on:{change:e.selectChange},model:{value:e.camera,callback:function(t){e.camera=t},expression:"camera"}},e._l(e.cameras,(function(e){return t("el-option",{key:e.value,attrs:{label:e.name,value:e.value}})})),1),[e._l(e.buttonList,(function(n){return[e._isShowButton(n.name)?t("el-button",{key:n.name,attrs:{type:"primary",size:"small"},on:{click:function(t){return e.handleAction(n.name)}}},[e._v(e._s(n.label))]):e._e()]})),e._t("action")]],2)])])},re=[];class ae{static startConnect(e,t,n={}){return new Promise(((i,r)=>{let a=new XMLHttpRequest;if(e=e.toUpperCase(),"GET"==e){let e="";Object.keys(n).forEach((t=>{e+=`${t}=${n[t]}&`})),e=e.substring(0,e.lastIndexOf("&")),t=e?t+"?"+e:t}else"POST"==e||r("error method: Currently only supported GET or POST method!");a.open(e,t,!0),a.setRequestHeader("Accept","application/json"),"GET"===e?a.send():a.send(JSON.stringify(n)),a.onreadystatechange=function(){if(4===this.readyState)if(200===this.status){let t=this.response;if("object"!==typeof t)try{t=JSON.parse(t)}catch(e){}i(t)}else r(a)}}))}static async get(e){let t=await ae.startConnect("GET",e);return t}static async post(e,t){let n=await ae.startConnect("POST",e,t);return n}}(function(e){e["ScannerCameraDeskew_Base64"]="ScannerCameraDeskew_Base64",e["ScannerCameraMerge_Base64"]="ScannerCameraMerge_Base64",e["ScannerMainCamera_Base64"]="ScannerMainCamera_Base64",e["ScannerSecondaryCamera_Base64"]="ScannerSecondaryCamera_Base64",e["ReadIDCard_Base64"]="ReadIDCard_Base64"})(J||(J={}));J.ScannerMainCamera_Base64,J.ScannerSecondaryCamera_Base64,J.ReadIDCard_Base64;class se{static get mainCameraUrl(){return this.baseServiceUrl+"/video=stream&camidx=0"}static get secondaryCameraUrl(){return this.baseServiceUrl+"/video=stream&camidx=1"}static async read(e,t){let n={},i="",r="";switch(e){case J.ScannerCameraDeskew_Base64:i=this.baseServiceUrl+"/dvideo=cameradeskew",n={camidx:"0",open:"1"},r="post";break;case J.ScannerCameraMerge_Base64:i=this.baseServiceUrl+"/compose=photos",n={outputfilepath:"",outputmaxwidth:"3000",inputimagetype:"1",outputimagetype:"0",imagelist:t.toString()},r="post";break;case J.ScannerMainCamera_Base64:i=this.baseServiceUrl+"/video=grabimage",n={filepath:"",rotate:"0",deskew:"1",deskewval:"10",camidx:"0",ColorMode:"0",quality:"0",bIsPrint1to1:"0"},i=`${i}?${JSON.stringify(n)}`,r="get";break;case J.ScannerSecondaryCamera_Base64:i=this.baseServiceUrl+"/video=grabimage",n={filepath:"",rotate:"0",deskew:"0",deskewval:"0",camidx:"1",ColorMode:"0",quality:"0",bIsPrint1to1:"0"},i=`${i}?${JSON.stringify(n)}`,r="get";break;case J.ReadIDCard_Base64:i=this.baseServiceUrl+"/card=idcard",r="post";break}let a=await ae[r](i,n);return a}static async scanByMainCamera(){const e=await se.read(J.ScannerMainCamera_Base64);return e.photoBase64}static async scanBySecondaryCamera(){const e=await se.read(J.ScannerSecondaryCamera_Base64);return e.photoBase64}static async mergeImage(e){const t=await se.read(J.ScannerCameraMerge_Base64,e);return t.base64}static async scanByCamera(e){switch(e){case"main":return this.scanByMainCamera();case"vice":return this.scanBySecondaryCamera()}}static async turnOnTheCamera(){}static async idCardRead(){const e=await se.read(J.ReadIDCard_Base64);var t=e.IDCardInfo,n=t.name,i=t.enname,r=t.cnname,a=t.sex,s=t.birthday,o=t.address,l=t.cardID,c=t.nationCode,u=t.issueOrgan,d=t.photoBase64,h=t.validStart,f=t.validEnd,p=t.cardType,m="",g="",v="1",b="中国";2!=p&&4!=p||(g=i,m=r||"无中文姓名",n="无中文姓名"===r?i:r||i,u="中华人民共和国国家移民管理局",v="9",b=c,c="");const y={info:{cardType:v,nationality:b,name:n,chineseName:m,englishName:g,sex:a,birthday:s,address:o,cardId:l,nation:c,police:u,validStart:h,validEnd:f},headImage:d};return y}}V(se,"baseServiceUrl","http://127.0.0.1:38088");const oe="scanner-camera-refresh-photo-event";class le extends Event{constructor(e){super(oe),V(this,"scannerResultUrl",""),this.scannerResultUrl=e}}class ce{static getGenderByIdNumber(e){if(e){let t;if(18==e.length?t=e.charAt(16):15==e.length&&(t=e.charAt(14)),t&&!isNaN(t))return parseInt(t)%2==0?"女":"男"}return""}static getBirthdayByIdNumber(e){if(e&&e&&e.length>13){const t=e.substring(6,10),n=e.substring(10,12),i=e.substring(12,14);return t+"-"+n+"-"+i}return""}static getAgeByIdNumber(e){if(e){const t=new Date,n=t.getMonth()+1,i=t.getDate();let r=t.getFullYear()-e.substring(6,10)-1;return(e.substring(10,12)<n||e.substring(10,12)===n&&e.substring(12,14)<=i)&&r++,r<=0&&(r=1),r}return""}static isForeignersIdCard(e){let t=/^[a-zA-Z]{3}[0-9]{12}$/;return t.test(e)||e.startsWith("9")}}var ue,de,he,fe;(function(e){e["ScannerCamera"]="scannerCamera",e["InteractiveTerminal"]="interactiveTerminal"})(ue||(ue={})),function(e){e["ScannerMainCamera_Base64"]="main",e["ScannerSecondaryCamera_Base64"]="vice",e["TakePhoto_Base64"]="takePhoto",e["ScannerReadCard"]="ScannerReadCard",e["InitParams"]="InitParams",e["GetSignName_Base64"]="GetSignName_Base64",e["ReadIDCard_Base64"]="ReadIDCard_Base64",e["FaceValidateWithIdCard_Base64"]="FaceValidateWithIdCard_Base64",e["FingerPrint_Base64"]="FingerPrint_Base64",e["ScanQRCode"]="ScanQRCode",e["Evaluate"]="Evaluate",e["StartProjection"]="StartProjection",e["EndProjection"]="EndProjection"}(de||(de={}));class pe{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let t="";switch(e){case ue.InteractiveTerminal:t=this.interactiveTerminalUrl;break;case ue.ScannerCamera:t=this.scannerCameraUrl;break}const n=new WebSocket(t);let i;const r=new Promise((e=>{i=e}));return n.onopen=()=>{i(!0)},n.onmessage=e=>{this.handleMessage(e)},n.onclose=()=>this.handleClose(),n.onerror=e=>this.handleError(e),this.ws=n,r}static handleError(e){for(const t in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));if(e.target.url&&!e.target.url.includes(this.interactiveTerminalUrl))throw Error("统一插件平台捷宇设备功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){let t="";if(e.origin===this.interactiveTerminalUrl){try{t=JSON.parse(e.data)}catch(n){t=""}this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}else{if(t=e.data,!t.startsWith("BarCode")&&!t.startsWith("Begin")){const e=new le(t);return window.dispatchEvent(e)}(t.indexOf("BeginbSaveJPGEx")>=0||t.indexOf("BeginReadCard")>=0)&&(this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[])}}static async read(e,t,n){if(await this.startConnect(e),1===this.ws.readyState){let e="";switch(t){case de.ScannerMainCamera_Base64:this.ws.send("vSetResolution(7)"),this.ws.send("bStopPlay()"),this.ws.send("bStartPlay()"),this.ws.send("bSetMode(3)"),e="vSetOpenInpain(1)";break;case de.ScannerSecondaryCamera_Base64:e="bStartPlay2";break;case de.TakePhoto_Base64:e="bSaveJPGEx";break;case de.ScannerReadCard:e="ReadCard(1001, C:Doccamera)";break;case de.InitParams:e=JSON.stringify({projectCode:n.projectCode,type:181});break;case de.GetSignName_Base64:e=JSON.stringify({type:3,Timeout:60,Location:"0,1,450,500|1,1,450,500",PDFPath:n.PDFPath,Retain:"test",XmlPath:""});break;case de.ReadIDCard_Base64:e=JSON.stringify({type:4});break;case de.FaceValidateWithIdCard_Base64:e=JSON.stringify({type:5});break;case de.FingerPrint_Base64:e=JSON.stringify({FileFullName:"d:\\Fingerprint.png",TimeOut:60,type:12});break;case de.ScanQRCode:e=JSON.stringify({type:61});break;case de.StartProjection:e=JSON.stringify({type:82});break;case de.EndProjection:e=JSON.stringify({type:83});break;case de.Evaluate:e=JSON.stringify({type:90,URL:n.URL});break}return this.ws.send(e),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}if(t!==de.InitParams)throw Error("统一插件平台设备未准备完成")}static async turnOnTheCamera(e){this.ws&&this.ws.close(),await pe.read(ue.ScannerCamera,e)}static async scanByCamera(){let e=await pe.read(ue.ScannerCamera,de.TakePhoto_Base64);return e.replace("BeginbSaveJPGEx","").replace("EndbSaveJPGEx","")}static async initParams(){this.ws&&this.ws.close();let e="ls8t1IYtBhOg5kwajaZsmeim/GIw0PY6NEoJ2cbNoptx678YKIqWaRVe0XPy1u5/cXLuXKW/Vufptwgo8Gc/lHMHbqiOHj7ySAqb9VCvP9KI1HAoqzPMpueyQhJskyfGk+L8/9dKK5/rySTLDuT4Un0W1o/1p9D41EDPwkAm2YY=";await pe.read(ue.InteractiveTerminal,de.InitParams,{projectCode:e})}static async signNameRead(e){let t=await pe.read(ue.InteractiveTerminal,de.GetSignName_Base64,{PDFPath:e});if(!t)throw Error("未匹配可用的捷宇信息交互终端设备");if(0!==t.ret)throw Error("读取二代身份证失败,返回值:"+t.ret+",错误信息:"+t.errMsg);return t}static async idCardReadByScanner(){let e=await pe.read(ue.ScannerCamera,de.ScannerReadCard);if(!e)throw Error("未匹配可用的捷宇高拍仪设备");let t=JSON.parse(e.replace("BeginReadCard","").replace("EndReadCard",""));if(1!==t.result)throw Error("读取二代身份证失败,返回值:"+t.ret+",错误信息:"+t.errMsg);console.log(t);let{Name:n,EnglishName:i,Sex:r,BirthDate:a,Address:s,IdNo:o,Folk:l,Agency:c,Valid:u,PhotoB64:d}=t,[h,f]=u.split("-"),p="",m="1",g="中国",v=ce.isForeignersIdCard(o);v&&(m="9",p=n,n="无中文姓名"===n?i:n,c="中华人民共和国国家移民管理局",g=l,l="");const b={info:{cardType:m,nationality:g,name:n,chineseName:p,englishName:i,sex:r,birthday:a,address:s,cardId:o,nation:l,police:c,validStart:h,validEnd:f},headImage:d};return console.log(b),b}static async idCardRead(){let e=await pe.read(ue.InteractiveTerminal,de.ReadIDCard_Base64);if(!e)throw Error("未匹配可用的捷宇信息交互终端设备");if(0!==e.ret)throw Error("读取二代身份证失败,返回值:"+e.ret+",错误信息:"+e.errMsg);let{name:t,sex:n,birth:i,addr:r,id_num:a,nation:s,base64_ID:o,depart:l,validityTime:c}=e,[u,d]=c.split("-");const h={info:{name:t,sex:n,birthday:i.replace("年","").replace("月","").replace("日",""),address:r,cardId:a,nation:s,police:l,validStart:u,validEnd:d},headImage:o};return console.log("读取二代身份证结果==>",h),h}static async faceValidateWithIdCardRead(){let e=await pe.read(ue.InteractiveTerminal,de.FaceValidateWithIdCard_Base64);if(!e)throw Error("未匹配可用的捷宇信息交互终端设备");if(0!==e.ret)throw Error("读取二代身份证失败,返回值:"+e.ret+",错误信息:"+e.errMsg);let{name:t,sex:n,birth:i,addr:r,id_num:a,nation:s,base64_ID:o,depart:l,validityTime:c,base64_Face:u}=e,[d,h]=c.split("-");const f={idCard:{info:{name:t,sex:n,birthday:i.replace("年","").replace("月","").replace("日",""),address:r,cardId:a,nation:s,police:l,validStart:d,validEnd:h},headImage:o},faceimg:e.base64_Face};return console.log("读取二代身份证结果==>",f),f}static async mergeImage(e,t){return new Promise(((n,i)=>{let r=document.createElement("canvas");r.width=600,r.height=360;let a=r.getContext("2d");a.rect(0,0,r.width,r.height),a.fillStyle="#fff",a.fill();let s=new Image;s.src="data:image/png;base64,"+e,s.crossOrigin="Anonymous",s.onload=function(){a.drawImage(s,0,0,500,360);let e=new Image;e.src="data:image/png;base64,"+t,e.crossOrigin="Anonymous",e.onload=function(){a.drawImage(e,320,0,256,360);let t=r.toDataURL("image/png");t=t.replace("data:image/png;base64,",""),n(t)}}}))}}V(pe,"scannerCameraUrl","ws://127.0.0.1:1818"),V(pe,"interactiveTerminalUrl","ws://127.0.0.1:1919"),V(pe,"ws",void 0),V(pe,"requestStore",[]);class me{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const e=new WebSocket(this.scannerCameraUrl);let t;const n=new Promise((e=>{t=e}));return e.onopen=()=>{t(!0)},e.onmessage=e=>{this.handleMessage(e)},e.onclose=()=>this.handleClose(),e.onerror=()=>this.handleError(),this.ws=e,n}static handleError(){throw Error("统一插件平台方正高影仪设备功能加载失败")}static handleClose(){this.ws&&this.ws.close()}static handleMessage(e){let t=e.data?JSON.parse(e.data):{};if("video_stream"===t.function){const e=new le(t.image_base64);return window.dispatchEvent(e)}}static async read(e){if(await this.startConnect(),1!==this.ws.readyState)throw Error("统一插件平台设备未准备完成");this.ws.send(JSON.stringify({function:"open_camera",camidx:"0"})),this.ws.send(JSON.stringify(e))}static async turnOnTheCamera(){let e={function:"set_cutpage",params:{cutpage:"false"}};await me.read(e)}}V(me,"scannerCameraUrl","ws://127.0.0.1:38088"),V(me,"ws",void 0),function(e){e["TurnOnCamera"]="turnOnCamera",e["TakePhoto_Base64"]="TakePhoto_Base64"}(he||(he={}));class ge{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const e=new WebSocket(this.scannerCameraUrl);let t;const n=new Promise((e=>{t=e}));return e.onopen=()=>{t(!0)},e.onmessage=e=>{this.handleMessage(e)},e.onclose=()=>this.handleClose(),e.onerror=()=>this.handleError(),this.ws=e,n}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台紫图速拍仪设备功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}));this.ws&&this.ws.close()}static handleMessage(e){let t=e.data?JSON.parse(e.data):{};if("ShowVideo"===t.FuncName){const e=new le(t.result);return window.dispatchEvent(e)}"CaptureBase64"!==t.FuncName&&"CaptureDualBase64"!==t.FuncName||(this.requestStore.forEach((({resolve:e})=>{e(t.result)})),this.requestStore=[])}static async read(e,t){if(await this.startConnect(),1===this.ws.readyState){let t="";switch(e){case he.TurnOnCamera:this.ws.send(JSON.stringify({Func:"StartRunMain",arg:0})),t=JSON.stringify({Func:"ChangeCutType",arg:0});break;case he.TakePhoto_Base64:this.ws.send(JSON.stringify({Func:"SetJPGQuality",arg:70})),this.ws.send(JSON.stringify({Func:"SetColorType",arg:"彩色"})),this.ws.send(JSON.stringify({Func:"SetBoardColor",arg:0})),this.ws.send(JSON.stringify({Func:"SetCamDPI",arg:720})),t=JSON.stringify({Func:"CaptureBase64",arg:0})}return this.ws.send(t),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}throw Error("统一插件平台设备未准备完成")}static async turnOnTheCamera(){await ge.read(he.TurnOnCamera)}static async scanByCamera(){const e=await ge.read(he.TakePhoto_Base64);return e}}V(ge,"scannerCameraUrl","ws://127.0.0.1:8341"),V(ge,"ws",void 0),V(ge,"requestStore",[]),function(e){e["ReadCard_Base64"]="ReadCard_Base64",e["StartSignName"]="StartSignName",e["GetSignNameStatus"]="GetSignNameStatus",e["GetSignName_Base64"]="GetSignName_Base64",e["FaceValidateWithIdCard_Base64"]="FaceValidateWithIdCard_Base64",e["TurnOnTheCamera"]="TurnOnTheCamera",e["ScannerCamera"]="ScannerCamera",e["StopCamera"]="StopCamera"}(fe||(fe={}));class ve{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.OPEN)return this;const t=new WebSocket(this.webSocketUrl);let n;const i=new Promise((e=>{n=e}));return t.onopen=()=>{n(!0)},t.onmessage=e=>{this.handleMessage(e)},t.onclose=()=>this.handleClose(),t.onerror=()=>this.handleError(),this.ws=t,i}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台设备功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){let t="";try{t=JSON.parse(e.data)}catch(n){t=""}if("FaceScreenStream"===t.method||"VideoStream"===t.method){const e=new le(t.imgBase64);return window.dispatchEvent(e)}this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[]}static async read(e){if(await this.startConnect(e),1===this.ws.readyState){let t;switch(e){case fe.ReadCard_Base64:t=JSON.stringify({method:"ReadIDCard_Base64",args:{outTimes:30,cardReader:0}});break;case fe.FaceValidateWithIdCard_Base64:t=JSON.stringify({method:"FaceValidateWithIdCard_Base64",args:{outTimes:30,score:75}});break;case fe.StartSignName:t=JSON.stringify({method:"SignNameScreen_Start",args:{outTimes:30}});break;case fe.GetSignNameStatus:t=JSON.stringify({method:"SignNameScreen_Status",args:{}});break;case fe.GetSignName_Base64:t=JSON.stringify({method:"SignNameScreen_Get",args:{}});break;case fe.TurnOnTheCamera:t=JSON.stringify({method:"VideoStart",args:{}});break;case fe.ScannerCamera:t=JSON.stringify({method:"GetCameraImage",args:{imagePath:""}});break;case fe.StopCamera:t=JSON.stringify({method:"VideoStop",args:{}});break}return this.ws.send(t),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}throw Error("统一插件平台设备未准备完成")}static async idCardRead(){const e=await ve.read(fe.ReadCard_Base64);if(!e)throw Error("未匹配到可用的读取设备");if(0!==e.retVal)throw this.ws&&this.ws.close(),Error("读取二代身份证失败,返回值:"+e.retVal+",错误信息:"+e.errMsg);let t=e.idInfo,{name:n,ENfullname:i,Nationality:r,sex:a,birthday:s,address:o,number:l,nation:c,organs:u,signdate:d,validterm:h}=t,f="",p="1",m="中国";1==e.cardType||2==e.cardType?(p="9",f=n,n=n||i,u=u||"中华人民共和国国家移民管理局",m=r,c=""):p="1";const g={info:{cardType:p,nationality:m,name:n,chineseName:f,englishName:i,sex:a,birthday:s.replace("-","").replace("-",""),address:o,cardId:l,nation:c,police:u,validStart:d,validEnd:h},headImage:e.idPhotoBase64};return this.ws&&this.ws.close(),g}static async socialSecurityCardRead(){const e=await ve.read(fe.ReadCard_Base64);if(!e)throw Error("未匹配可用的读取设备");if(0!==e.retVal)throw this.ws&&this.ws.close(),Error("读取社保卡基本信息失败,返回值:"+e.retVal+",错误信息:"+e.idInfo);const t=e.idInfo;let{name:n,sex:i,birthday:r,number:a,cardnumber:s}=t;const o={info:{name:n,sex:i,birthday:r,address:"",cardId:a,cardnumber:s},headImage:""};return this.ws&&this.ws.close(),o}static async faceValidateWithIdCardRead(){const e=await ve.read(fe.FaceValidateWithIdCard_Base64);if("FaceValidateWithIdCard_Base64"===e.method&&"0"==e.retVal){const t=e.idInfo;let{name:n,ENfullname:i,Nationality:r,sex:a,birthday:s,address:o,number:l,nation:c,organs:u,signdate:d,validterm:h}=t,f="",p="1",m="中国";1==e.cardType||2==e.cardType?(p="9",f=n,n=n||i,u=u||"中华人民共和国国家移民管理局",m=r,c=""):p="1";const g={idCard:{info:{cardType:p,nationality:m,name:n,chineseName:f,englishName:i,sex:a,birthday:s.replace("-","").replace("-",""),address:o,cardId:l,nation:c,police:u,validStart:d,validEnd:h},headImage:e.idPhotoBase64},faceimg:e.scenceBase64,score:e.score};return this.ws&&this.ws.close(),g}this.ws&&this.ws.close()}static async signNameRead(){return new Promise((async(e,t)=>{const n=await ve.read(fe.StartSignName);"SignNameScreen_Start"===n.method&&(0!==n.retVal?(this.ws&&this.ws.close(),t(`开始签名失败,返回值:${n.retVal},错误信息:${n.errMsg}`)):this.timer||(this.timer=setInterval((async()=>{let n=await ve.read(fe.GetSignNameStatus);if(2==n.signScreenStatus){clearInterval(this.timer),this.timer=null;let t=await ve.read(fe.GetSignName_Base64);this.ws&&this.ws.close(),e(t.signPicBase64)}else 3==n.retVal&&(clearInterval(this.timer),this.timer=null,this.ws&&this.ws.close(),t("签字结果=>签字失败,或意外中断!"))}),2e3)))}))}static async turnOnTheCamera(){await ve.read(fe.TurnOnTheCamera)}static async scanByCamera(){let e=await ve.read(fe.ScannerCamera);if("GetCameraImage"===e.method&&0==e.retVal)return e.cameraImgBase64}static async stopCamera(){await ve.read(fe.StopCamera);this.ws&&this.ws.close()}}V(ve,"webSocketUrl","ws://127.0.0.1:5847"),V(ve,"ws",void 0),V(ve,"requestStore",[]),V(ve,"timer",null);const be="data:image/jpg;base64,";var ye={name:"scanner-camera-component",props:{machineType:{default:0,type:Number}},data:()=>({scannerVideoSrc:"",scannerResultSrc:"",loadSuccess:!0,camera:0,cameras:[{name:"文档",value:0},{name:"照片",value:1}],buttonList:[{label:"拍照",name:"take-pictures"},{label:"合并拍照",name:"take-pictures-merge"}],mergeImageList:[]}),watch:{machineType:function(){let e=1===this.camera?"start-vice":"start-main";this.handleAction(e)}},created(){this.handleAction("start-main"),window.addEventListener(oe,(e=>{e.type===oe&&(this.scannerVideoSrc=`${be}${e.scannerResultUrl}`)})),window.addEventListener("beforeunload",this.beforeunload)},async destroyed(){window.removeEventListener("beforeunload",this.beforeunload)},methods:{async beforeunload(e){switch(e.returnValue="确定要离开吗?",this.machineType){case 6:await ve.stopCamera();break}},selectChange(e){let t=1===e?"start-vice":"start-main";this.handleAction(t)},async takePictures(){switch(this.machineType){case 0:let e=await pe.scanByCamera();this.$emit("send-scanner-result",`${be}${e}`);break;case 3:this.$emit("send-scanner-result",this.scannerVideoSrc);break;case 4:{let e=await ge.scanByCamera();this.$emit("send-scanner-result",`${be}${e}`);break}case 5:{let e=0===this.camera?"main":"vice";const t=await se.scanByCamera(e);console.log("良田=>",t),t?this.$emit("send-scanner-result",`${be}${t}`):this.$message.error("拍照出错,请检查设备是否连接成功");break}case 6:{let e=await ve.scanByCamera();this.$emit("send-scanner-result",`${be}${e}`);break}}},async handleStartMain(){switch(this.machineType){case 0:await pe.turnOnTheCamera("main");break;case 3:await me.turnOnTheCamera();break;case 4:await ge.turnOnTheCamera();break;case 5:this.scannerVideoSrc=se.mainCameraUrl,setTimeout((()=>{se.read(J.ScannerCameraDeskew_Base64)}),2e3);break;case 6:await ve.turnOnTheCamera();break}},async handleStartVice(){switch(this.machineType){case 0:await pe.turnOnTheCamera("vice");break;case 3:await me.turnOnTheCamera();break;case 4:await ge.turnOnTheCamera();break;case 5:this.scannerVideoSrc=se.secondaryCameraUrl;break;case 6:await ve.turnOnTheCamera();break}},async takePictureMerge(){const e=await se.scanByCamera("main");if(e){if(this.mergeImageList.push(e),1===this.mergeImageList.length&&this.$message.success("第一张拍摄成功,请拍第二张"),2===this.mergeImageList.length){let e=await se.mergeImage(this.mergeImageList);this.mergeImageList=[],this.$message.success("合并成功"),this.$emit("send-scanner-result",`${be}${e}`)}}else this.$message.error("合并拍照出错,请检查设备是否连接成功")},_isShowButton(e){switch(e){case"take-pictures-merge":return 5===this.machineType;default:return!0}},handleAction(e){switch(e){case"start-main":this.handleStartMain();break;case"start-vice":this.handleStartVice();break;case"take-pictures":this.takePictures();break;case"take-pictures-merge":this.takePictureMerge();break}}}},Ce=ye,we=l(Ce,ie,re,!1,null,"dc9fa1f2",null),_e=we.exports,xe={name:"scanner-camera",components:{ScannerCameraComponent:_e},props:{machineType:{default:0,type:Number},openMode:{default:"",type:String},label:{default:"",type:String},tip:{default:"",type:String},className:{default:"",type:String},size:{default:"",type:String},type:{default:"",type:String},plain:{default:!1,type:Boolean},round:{default:!1,type:Boolean},loading:{default:!1,type:Boolean},icon:{default:"",type:String},disabled:{default:!1,type:Boolean}},data:()=>({dialogVisible:!1,scannerResult:""}),computed:{_className(){const e=["z-button"];return"text"===this.type&&e.push("i-font-size"),this.className?("string"===typeof this.className?e.push(this.className):e.push(...this.className),e):e}},methods:{openScanDialog(){this.dialogVisible=!0},setScannerResult(e){this.scannerResult=e,"dialog"!==this.openMode&&this.$emit("send-scanner-result",this.scannerResult)},sendScannerResult(){this.scannerResult&&(this.$emit("send-scanner-result",this.scannerResult),this.dialogVisible=!1)}}},ke=xe,Se=l(ke,te,ne,!1,null,"00e9072f",null),Ie=Se.exports;Ie.install=e=>{e.component(Ie.name,Ie)};var Ee=Ie,De=function(){var e=this,t=e._self._c;return e.tip?t("el-tooltip",{staticClass:"id-card-reader-eloam",attrs:{content:e.tip,placement:"top"}},[t("el-button",e._b({on:{click:e.handleClick}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2)],1):t("el-button",e._b({on:{click:e.handleClick}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2)},Ae=[],Oe={name:"id-card-reader-eloam",props:{label:{default:"",type:String},tip:{default:"",type:String},className:{default:"",type:String},size:{default:"mini",type:String},type:{default:"primary",type:String},plain:{default:!1,type:Boolean},round:{default:!1,type:Boolean},loading:{default:!1,type:Boolean},icon:{default:"el-icon-postcard",type:String},disabled:{default:!1,type:Boolean}},computed:{_className(){const e=["z-button"];return"text"===this.type&&e.push("i-font-size"),this.className?("string"===typeof this.className?e.push(this.className):e.push(...this.className),e):e}},methods:{async handleClick(){let e=await W.idCardRead();this.$emit("click",e)}}},Te=Oe,Me=l(Te,De,Ae,!1,null,"5b7ce781",null),Ne=Me.exports;Ne.install=e=>{e.component(Ne.name,Ne)};var Pe,je,Fe=Ne,$e=function(){var e=this,t=e._self._c;return e.tip?t("el-tooltip",{staticClass:"id-card-reader-button",attrs:{content:e.tip,placement:"top"}},[e.showIDCardChrome?t("embed",{attrs:{clsid:"{E6B50A65-EDFB-4394-B092-A8C6E966C0E6}",type:"application/x-itst-activex",width:"0",height:"0",name:"IDCard_chrome",id:"IDCard_chrome"}}):e._e(),t("el-button",e._b({on:{click:e.handleClick}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2),t("canvas",{staticStyle:{display:"none"},attrs:{id:"canvas",width:"500",height:"360"}})],1):t("el-button",e._b({on:{click:e.handleClick}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e.showIDCardChrome?t("embed",{attrs:{clsid:"{E6B50A65-EDFB-4394-B092-A8C6E966C0E6}",type:"application/x-itst-activex",width:"0",height:"0",name:"IDCard_chrome",id:"IDCard_chrome"}}):e._e(),e._t("default",(function(){return[e._v(e._s(e.label))]})),t("canvas",{staticStyle:{display:"none"},attrs:{id:"canvas",width:"500",height:"360"}})],2)},Re=[];(function(e){e["idcard"]="sfz",e["jlsfz"]="jlsfz",e["camera"]="sxt",e["ywSign"]="yw",e["hwSign"]="hwsign"})(Pe||(Pe={}));class Le{static startConnect(e=Pe.idcard){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let t=this.idcardWebSocketUrl;switch(e){case Pe.idcard:t=this.idcardWebSocketUrl;break;case Pe.jlsfz:t=this.jlsfzWebSocketUrl}const n=new WebSocket(t);let i;const r=new Promise((e=>{i=e}));return n.onopen=()=>{i(!0)},n.onmessage=e=>this.handleMessage(e),n.onclose=()=>this.handleClose(),n.onerror=()=>this.handleError(),this.ws=n,r}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台读取身份证功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){let t="";try{t=JSON.parse(e.data)}catch(n){t=""}this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(e=Pe.idcard){if(await this.startConnect(e),1===this.ws.readyState)return this.ws.send(e),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}));throw Error("统一插件平台读取身份证未准备完成")}static async idCardCommonRead(){let e;for(const t of[Pe.jlsfz,Pe.idcard]){const n=await Le.read(t);if(n&&n.hasOwnProperty("info")){e=n;break}}if(e)return e;throw Error("统一插件平台未匹配可用的读卡器")}}V(Le,"idcardWebSocketUrl","ws://127.0.0.1:8152/SFZManage"),V(Le,"jlsfzWebSocketUrl","ws://127.0.0.1:8152/JLSFZManage"),V(Le,"ws",void 0),V(Le,"requestStore",[]);class Be{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let e=this.cameraWebSocketUrl;const t=new WebSocket(e);let n;const i=new Promise((e=>{n=e}));return t.onopen=()=>{n(!0)},t.onmessage=e=>this.handleMessage(e),t.onclose=()=>this.handleClose(),t.onerror=()=>this.handleError(),this.ws=t,i}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台读取拍照功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){let t=e.data;this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(){if(await this.startConnect(),1===this.ws.readyState)return this.ws.send(Pe.camera),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}));throw Error("统一插件平台读取拍照未准备完成")}}V(Be,"cameraWebSocketUrl","ws://127.0.0.1:8152/SXTManage"),V(Be,"ws",void 0),V(Be,"requestStore",[]);class Ve{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let t=this.signWebSocketUrl;e===Pe.hwSign&&(t=this.hwSignWebSocketUrl);const n=new WebSocket(t);let i;const r=new Promise((e=>{i=e}));return n.onopen=()=>{i(!0)},n.onmessage=e=>this.handleMessage(e),n.onclose=()=>this.handleClose(),n.onerror=()=>this.handleError(),this.ws=n,r}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台签字板加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){let t=e.data;this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(e=Pe.ywSign){if(await this.startConnect(e),1===this.ws.readyState)return console.log("签字板连接成功"),this.ws.send(e),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}));throw Error("统一插件平台签字板未准备完成")}}V(Ve,"signWebSocketUrl","ws://127.0.0.1:8152/chromeManage"),V(Ve,"hwSignWebSocketUrl","ws://127.0.0.1:8152/HWSIGNManage"),V(Ve,"ws",void 0),V(Ve,"requestStore",[]),function(e){e["iReadCardBas"]="iReadCardBas",e["GetSignName_Base64"]="GetSignName_Base64",e["ReadIDCard_Base64"]="ReadIDCard_Base64",e["FaceValidateWithIdCard_Base64"]="FaceValidateWithIdCard_Base64",e["FingerPrint_Base64"]="FingerPrint_Base64"}(je||(je={}));const ze={[je.iReadCardBas]:"读取社保卡",[je.GetSignName_Base64]:"获取签名",[je.ReadIDCard_Base64]:"读取二代身份证",[je.FaceValidateWithIdCard_Base64]:"人证比对",[je.FingerPrint_Base64]:"获取指纹"};class We{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let t="";switch(e){case je.FingerPrint_Base64:t=this.fingerPrintBasWebSocketUrl;break;default:t=this.iReadCardBasWebSocketUrl;break}const n=new WebSocket(t);let i;const r=new Promise((e=>{i=e}));return n.onopen=()=>{i(!0)},n.onmessage=t=>{e===je.FingerPrint_Base64&&(t={...t,data:JSON.stringify({fingerPrintInfo:t.data})}),this.handleMessage(t)},n.onclose=()=>this.handleClose(),n.onerror=()=>this.handleError(),this.ws=n,r}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台E窗通设备功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){let t="";try{t=JSON.parse(e.data)}catch(n){t=""}this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(e){await this.startConnect(e);const t=ze[e];if(1===this.ws.readyState){let n;switch(e!==je.FingerPrint_Base64&&console.log(t+"连接成功"),e){case je.ReadIDCard_Base64:n=JSON.stringify({method:e,args:{outTimes:30,cardReader:1}});break;case je.FaceValidateWithIdCard_Base64:n=JSON.stringify({method:e,args:{outTimes:30,cardReader:1,cameraType:0}});break;case je.iReadCardBas:n=JSON.stringify({method:e,args:{icType:"1"}});break;case je.FingerPrint_Base64:n="getimgae,1,0,288,0";break;default:n=JSON.stringify({method:e,args:{outTimes:30}});break}return this.ws.send(n),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}throw Error("统一插件平台"+t+"未准备完成")}static async idCardRead(e=je.ReadIDCard_Base64){const t=await We.read(je.ReadIDCard_Base64);if(console.log("读取二代身份证==>",t),!t)throw Error("未匹配可用的E窗通读取设备");if(0!==t.retVal)throw Error("读取二代身份证失败,返回值:"+t.retVal+",错误信息:"+t.errMsg);const n=t.idInfo.data,{name:i,sex:r,birthday:a,address:s,id_num:o,nations:l}=n,c={info:{name:i,sex:r,birthday:a.replace("-","").replace("-",""),address:s,cardId:o,nation:l},headImage:t.idPhotoPicBase64};return console.log("读取二代身份证结果==>",c),c}static async faceValidateWithIdCardRead(){const e=await We.read(je.FaceValidateWithIdCard_Base64);if(console.log("人证比对==>",e),!e)throw Error("未匹配可用的E窗通读取设备");if(0!==e.retVal)throw Error("人证比对失败,返回值:"+e.retVal+",错误信息:"+e.errMsg);const t=e.idInfo.data,{name:n,sex:i,birth:r,address:a,idNo:s,nation:o}=t,l={idCard:{info:{name:n,sex:i,birthday:r.replace("-","").replace("-",""),address:a,cardId:s,nation:o},headImage:e.idPhotoBase64},faceimg:e.scenceBase64};return console.log("人证比对结果==>",l),l}static async socialSecurityCardRead(){const e=await We.read(je.iReadCardBas);if(!e)throw Error("未匹配可用的E窗通读取设备");if(0!==e.retVal)throw Error("读取社保卡基本信息失败,返回值:"+e.retVal+",错误信息:"+e.outInfo);const t=e.outInfo,n=t.split("|"),i=n[1],r=ce.getBirthdayByIdNumber(i).replace("-","").replace("-",""),a=ce.getGenderByIdNumber(i),s={info:{name:n[4],sex:a,birthday:r,address:"",cardId:i},headImage:""};return console.log("读取社保卡==>",e),s}static async signNameRead(){const e=await We.read(je.GetSignName_Base64);if(!e)throw Error("未匹配可用的E窗通读取设备");if(0!==e.retVal)throw Error("读取签名失败,返回值:"+e.retVal+",错误信息:"+e.errMsg);return console.log("获取签名==>",e),e.signPicBase64}static async fingerPrintRead(){let e=30;async function t(){const n=await We.read(je.FingerPrint_Base64);if(!n)throw Error("未匹配可用的E窗通读取设备");let i=n.fingerPrintInfo.split("|");console.log(i);let r=Number(i[1]);return r>1?e>0?(e--,await t()):{status:"error",data:"已超时,请重新操作,按压指纹"}:{status:"success",data:n.fingerPrintInfo}}let{status:n,data:i}=await t();if("error"===n)throw Error(i);{let[e,t,n,r,a]=i.split("|");return{method:e,result:t,quality:n,image:r,featureCode:a}}}}var He;V(We,"iReadCardBasWebSocketUrl","ws://127.0.0.1:5847"),V(We,"fingerPrintBasWebSocketUrl","ws://127.0.0.1:9000"),V(We,"ws",void 0),V(We,"requestStore",[]),function(e){e[e["ReadSocialSecurityCard"]=1002]="ReadSocialSecurityCard",e[e["ReadIDCard"]=1003]="ReadIDCard"}(He||(He={}));class qe{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const e=this.HaDWebSocketUrl,t=new WebSocket(e);let n;const i=new Promise((e=>{n=e}));return t.onopen=()=>{n(!0)},t.onmessage=e=>this.handleMessage(e),t.onclose=()=>this.handleClose(),t.onerror=()=>this.handleError(),this.ws=t,i}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台华大读卡器功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){const t=JSON.parse(e.data);this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(e){if(await this.startConnect(),1===this.ws.readyState){let t;1003!==e&&1002!==e||(t={tsCode:e.toString(),picFilePath:"d:\\zp.bmp"});const n=JSON.stringify(t);return this.ws.send(n),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}throw Error("统一插件平台设备未准备完成")}static async idCardRead(){const e=await qe.read(He.ReadIDCard);if(console.log("读取二代身份证==>",e),!e)throw Error("未匹配可用的读取设备");const t=e.cardInfo.split("|")[1],n=e.cardInfo.split("|")[2],i=e.cardInfo.split("|")[3],r=e.cardInfo.split("|")[4],a=e.cardInfo.split("|")[5],s=e.cardInfo.split("|")[6],o=(e.cardInfo.split("|")[7],e.cardInfo.split("|")[8],e.cardInfo.split("|")[9],e.cardInfo.split("|")[10]),l={info:{name:t,sex:n,birthday:r,address:a,cardId:s,nation:i},headImage:o};return console.log("读取二代身份证结果==>",l),l}static async socialSecurityCardRead(){const e=await qe.read(He.ReadSocialSecurityCard);if(!e)throw Error("未匹配可用的读取设备");const t=e.cardInfo.split("|")[1],n=e.cardInfo.split("|")[2],i=ce.getBirthdayByIdNumber(t).replace("-","").replace("-",""),r=ce.getGenderByIdNumber(t),a={info:{name:n,sex:r,birthday:i,address:"",cardId:t},headImage:""};return console.log("读取社保卡==>",e),a}}V(qe,"HaDWebSocketUrl","ws://127.0.0.1:36669/"),V(qe,"ws",void 0),V(qe,"requestStore",[]);var Ue,Ge=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);function Qe(e){var t,n,i,r,a,s,o;s=e.length,a=0,o="";while(a<s){do{t=Ge[255&e.charCodeAt(a++)]}while(a<s&&-1==t);if(-1==t)break;do{n=Ge[255&e.charCodeAt(a++)]}while(a<s&&-1==n);if(-1==n)break;o+=String.fromCharCode(t<<2|(48&n)>>4);do{if(i=255&e.charCodeAt(a++),61==i)return o;i=Ge[i]}while(a<s&&-1==i);if(-1==i)break;o+=String.fromCharCode((15&n)<<4|(60&i)>>2);do{if(r=255&e.charCodeAt(a++),61==r)return o;r=Ge[r]}while(a<s&&-1==r);if(-1==r)break;o+=String.fromCharCode((3&i)<<6|r)}return o}function Ke(e){var t,n,i,r,a,s;t="",i=e.length,n=0;while(n<i)switch(r=e.charCodeAt(n++),r>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:t+=e.charAt(n-1);break;case 12:case 13:a=e.charCodeAt(n++),t+=String.fromCharCode((31&r)<<6|63&a);break;case 14:a=e.charCodeAt(n++),s=e.charCodeAt(n++),t+=String.fromCharCode((15&r)<<12|(63&a)<<6|(63&s)<<0);break}return t}(function(e){e["ReadIDCard"]="$=Action|127.0.0.1|1352"})(Ue||(Ue={}));class Ye{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const t=this.MRAdbWebSocketUrl,n=new WebSocket(t);let i;const r=new Promise((e=>{i=e}));return n.onopen=()=>{n.send(e),i(!0)},n.onmessage=e=>this.handleMessage(e),n.onclose=()=>this.handleClose(),n.onerror=()=>this.handleError(),this.ws=n,r}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}))}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){const t=JSON.parse(e.data);this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(e){return await this.startConnect(e),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}static async idCardRead(){const e=await Ye.read(Ue.ReadIDCard);if(console.log("中正智能人证核验返回==>",e),!e)throw Error("未匹配可用的读取设备");const{result:t,data:n}=e;switch(t){case-1:throw Error("服务器IP地址或者服务端口错误");case-2:throw Error("输入的发送数据参数非法");case-3:throw Error("连接服务器失败");case-4:throw Error("发送数据失败");case-5:throw Error("接收应答数据超时");case-6:throw Error("接收应答数据失败");case-7:throw Error("输出应答数据参数非法");case-8:throw Error("Websocket无法识别命令字");case-9:throw Error("Websocket解析命令字错误");case-10:throw Error("Websocket base64编码失败");case-11:throw Error("指纹驱动未安装或者未启动");case 0:{const e=Ke(Qe(n));console.log("中正智能人证核验结果==>",e);const t=e.split("$"),i=t[2].split("=#=")[1],r=t[3].split("=#=")[1],a=t[10].split("=#=")[1],s=t[6].split("=#=")[1],o=t[5].split("=#=")[1],l=t[4].split("=#=")[1],c=(t[11].split("=#=")[1],t[8].split("=#=")[1]),u=t[9].split("=#=")[1],d={idCard:{info:{name:i,sex:r,birthday:s,address:o,cardId:l,nation:a},headImage:c},faceimg:u};return console.log("中正智能人证核验结果转换==>",{name:i,sex:r,birthday:s,address:o,cardId:l,nation:a}),d}}return""}}V(Ye,"MRAdbWebSocketUrl","ws://127.0.0.1:8003/finger"),V(Ye,"ws",void 0),V(Ye,"requestStore",[]);var Ze=__webpack_require__(1478),Xe=function(){var e=this,t=e._self._c;return e.visibility?t("el-dialog",{staticClass:"face-auth-dialog",attrs:{title:"人脸识别",top:"5vh",width:"1280px",visible:e.visibility,"close-on-click-modal":!1},on:{"update:visible":function(t){e.visibility=t}}},[t("el-container",[t("el-aside",{attrs:{width:"900px"}},[t("zs-card",{attrs:{title:"身份证信息读取"}},[t("div",{staticClass:"idcard-photo"},[t("div",{staticClass:"flex-1"},[t("img",{staticStyle:{width:"433px",height:"278px"},attrs:{src:__webpack_require__(2234)}}),t("span",{staticClass:"idcard-info name"},[e._v(e._s(e.IDInfo.name))]),t("span",{staticClass:"idcard-info sex"},[e._v(e._s(e.IDInfo.sex))]),t("span",{staticClass:"idcard-info nation"},[e._v(e._s(e.IDInfo.nation))]),t("span",{staticClass:"idcard-info year"},[e._v(e._s(e.birthYear))]),t("span",{staticClass:"idcard-info month"},[e._v(e._s(e.birthMonth))]),t("span",{staticClass:"idcard-info day"},[e._v(e._s(e.birthDay))]),t("span",{staticClass:"idcard-info address"},[e._v(e._s(e.IDInfo.address))]),t("span",{staticClass:"idcard-info idnumber"},[e._v(e._s(e.IDInfo.cardId))])]),t("div",[t("img",{staticStyle:{width:"433px",height:"278px"},attrs:{src:__webpack_require__(4923)}}),t("span",{staticClass:"idcard-info qfjg"},[e._v(e._s(e.IDInfo.police))]),t("span",{staticClass:"idcard-info yxrq"},[e._v(e._s(e.validDate))])])])])],1),t("el-main",[t("zs-card",{staticClass:"camera",attrs:{title:"摄像头"},scopedSlots:e._u([{key:"extra",fn:function(){return[t("el-button",{attrs:{type:"primary",size:"mini"},on:{click:e.veriface}},[e._v("开始识别")])]},proxy:!0}],null,!1,3429989024)},[t("div",{staticStyle:{width:"320px",height:"240px"},attrs:{id:"camera_row"}})])],1)],1),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},e._l(e.buttonList,(function(n){return t("el-button",e._b({key:n.name,on:{click:function(t){return e.buttonClickEvent(n.name)}}},"el-button",n,!1),[e._v(e._s(n.label)+" ")])})),1)],1):e._e()},Je=[],et={name:"face-auth-dialog",data:()=>({visibility:!0,buttonList:[{name:"cancel",label:"取消",size:"small"},{name:"sure",label:"确定",type:"primary",size:"small",icon:"el-icon-success"}],idCardInfo:{info:{name:"",sex:"",nation:"",birthday:"",address:"",cardId:"",police:"",validStart:"",validEnd:"",sexCode:"",nationCode:""},headImage:void 0},verifaceData:verifaceData}),computed:{IDInfo(){return this.idCardInfo.info},birthYear(){return this.idCardInfo.info.birthday?this.idCardInfo.info.birthday.slice(0,4):""},birthMonth(){return this.idCardInfo.info.birthday?this.idCardInfo.info.birthday.slice(4,6):""},birthDay(){return this.idCardInfo.info.birthday?this.idCardInfo.info.birthday.slice(6,8):""},validDate(){return this.idCardInfo.info.validStart&&this.idCardInfo.info.validEnd?this.idCardInfo.info.validStart+"-"+this.idCardInfo.info.validEnd:""}},mounted(){this.$nextTick((()=>{(0,Ze.xj)()}))},methods:{async veriface(){const e=await Ze.g$.getElement(4);this.idCardInfo=e.idCard,this.verifaceData=e},buttonClickEvent(e){switch(e){case"cancel":this.visibility=!1;break;case"sure":this.$emit("close",this.verifaceData),this.visibility=!1;break}}}},tt=et,nt=l(tt,Xe,Je,!1,null,null,null),it=nt.exports,rt=function(){var e=this,t=e._self._c;return e.visibility?t("el-dialog",{staticClass:"face-auth-dialog",attrs:{title:"拍照",top:"5vh",width:"620px",visible:e.visibility,"close-on-click-modal":!1},on:{"update:visible":function(t){e.visibility=t}}},[t("div",{staticClass:"image-container"},[t("img",{directives:[{name:"show",rawName:"v-show",value:!e.scannerPhotoSrc,expression:"!scannerPhotoSrc"}],staticStyle:{width:"600px",height:"450px"},attrs:{id:"photo",src:e.scannerVideoSrc}}),t("img",{directives:[{name:"show",rawName:"v-show",value:e.scannerPhotoSrc,expression:"scannerPhotoSrc"}],staticStyle:{width:"600px",height:"450px"},attrs:{id:"photo",src:"data:image/jpg;base64,"+e.scannerPhotoSrc}})]),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[e._l(e.buttonList,(function(n){return[e.isShowButton(n.name)?t("el-button",e._b({key:n.name,on:{click:function(t){return e.buttonClickEvent(n.name)}}},"el-button",n,!1),[e._v(e._s(n.label)+" ")]):e._e()]}))],2)]):e._e()},at=[],st={name:"eloam-take-photo-dialog",data:()=>({visibility:!0,scannerVideoSrc:W.secondaryCameraUrl,scannerPhotoSrc:"",buttonList:[{name:"cancel",label:"取消",size:"small"},{name:"take-photo",label:"拍照",type:"primary",size:"small"},{name:"retake-photo",label:"重拍",type:"primary",size:"small"},{name:"sure",label:"确定",type:"primary",size:"small"}]}),methods:{isShowButton(e){switch(e){case"take-photo":return!this.scannerPhotoSrc;case"retake-photo":return this.scannerPhotoSrc;default:return!0}},async buttonClickEvent(e){switch(e){case"cancel":this.visibility=!1;break;case"take-photo":const e=await W.scanBySecondaryCamera();this.scannerPhotoSrc=e;break;case"retake-photo":this.scannerPhotoSrc="";break;case"sure":let t={faceimg:this.scannerPhotoSrc};this.$emit("close",t),this.visibility=!1;break}}}},ot=st,lt=l(ot,rt,at,!1,null,"6e18b4de",null),ct=lt.exports,ut=__webpack_require__(7203),dt=__webpack_require__.n(ut);class ht{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let e=this.idCardWebSocketUrl;const t=new WebSocket(e);let n;const i=new Promise((e=>{n=e}));return t.onopen=()=>{n(!0)},t.onmessage=e=>this.handleMessage(e),t.onclose=()=>this.handleClose(),t.onerror=()=>this.handleError(),this.ws=t,i}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台读取身份证功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){let t="";try{t=e.data}catch(n){t=""}this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(){if(await this.startConnect(),1===this.ws.readyState)return this.ws.send("04?timeout=10000"),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}));throw Error("统一插件平台读取身份证未准备完成")}static async idCardRead(){const e=await ht.read();if(e){let[t,n,i,r,a,s,o,l,c,u]=e.split("|"),d=e.split("|")[17];const h={info:{name:n,sex:i,birthday:a,address:s,cardId:o,nation:r,police:l,validStart:c,validEnd:u},headImage:d};return h}throw Error("未匹配可用的读卡器")}}V(ht,"idCardWebSocketUrl","ws://127.0.0.1:7415"),V(ht,"ws",void 0),V(ht,"requestStore",[]);var ft=function(){var e=this,t=e._self._c;return t("el-dialog",{staticClass:"face-auth-dialog",attrs:{title:"拍照",top:"5vh",width:"620px",visible:e.visibility,"close-on-click-modal":!1},on:{"update:visible":function(t){e.visibility=t}}},[t("div",{staticClass:"image-container"},[t("video",{ref:"monitor",staticClass:"videoContainer",attrs:{autoplay:"",width:"250",height:"300"}}),t("canvas",{ref:"photo",staticClass:"videoContainer photo",staticStyle:{display:"none"},attrs:{width:"1920",height:"1080"}}),t("img",{staticClass:"videoContainer photo",attrs:{src:e.viewerPhotoSrc}})]),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[e._l(e.buttonList,(function(n){return[t("el-button",e._b({key:n.name,on:{click:function(t){return e.buttonClickEvent(n.name)}}},"el-button",n,!1),[e._v(e._s(n.label)+" ")])]}))],2)])},pt=[],mt={name:"default-take-photo-dialog",data:()=>({visibility:!0,viewerPhotoSrc:"",scannerPhotoSrc:"",cameraStream:"",buttonList:[{name:"cancel",label:"取消",size:"small"},{name:"take-photo",label:"拍照",type:"primary",size:"small"},{name:"sure",label:"确定",type:"primary",size:"small"}]}),mounted(){this.$nextTick((()=>{this.initDefaultCamera()}))},beforeDestroy(){this.cameraStream.getVideoTracks().forEach((e=>{e.stop()}))},methods:{async initDefaultCamera(){let e=this.$refs.monitor,t=this.$refs.photo;console.log(e,t);let n={audio:!1,video:{width:1920,height:1080}};if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)try{let t=await navigator.mediaDevices.getUserMedia(n);e.srcObject=t,e.play(),this.cameraStream=t}catch(i){this.$message.error("没有可用的摄像头!"),console.log(i)}else this.$message.error("调用摄像头失败,请在首页右上角我的设备中设置读拍照/人脸识别选项,并确保已为浏览器设置相关权限!")},takePicture(){let e=this.$refs.monitor,t=this.$refs.photo,n=t.getContext("2d");n.drawImage(e,0,0,1920,1080);let i=t.toDataURL("image/png");t.src=i,this.viewerPhotoSrc=i,this.scannerPhotoSrc=i.replace("data:image/png;base64,","")},async buttonClickEvent(e){switch(e){case"cancel":this.visibility=!1,this.$emit("close");break;case"take-photo":this.takePicture();break;case"sure":let e={faceimg:this.scannerPhotoSrc};this.$emit("close",e),this.visibility=!1;break}}}},gt=mt,vt=l(gt,ft,pt,!1,null,null,null),bt=vt.exports,yt=function(){var e=this,t=e._self._c;return e.visibility?t("el-dialog",{staticClass:"wei-rong-face-auth-dialog",attrs:{title:"人脸识别",top:"5vh",width:"640px",visible:e.visibility,"close-on-click-modal":!1},on:{"update:visible":function(t){e.visibility=t}}},[t("div",{staticClass:"image-container"},[t("img",{staticStyle:{width:"600px",height:"450px"},attrs:{id:"photo",src:e.viewFaceImage}})])]):e._e()},Ct=[];const wt="data:image/jpg;base64,";var _t,xt={name:"wei-rong-face-auth-dialog",data:()=>({visibility:!0,viewFaceImage:""}),async created(){window.addEventListener(oe,(e=>{e.type===oe&&(this.viewFaceImage=`${wt}${e.scannerResultUrl}`)}));let e=await ve.faceValidateWithIdCardRead();this.$message.success("认证成功"),setTimeout((()=>{this.$emit("close",e)}),1500)}},kt=xt,St=l(kt,yt,Ct,!1,null,"5bbb0afc",null),It=St.exports;(function(e){e["GetStatus"]="GetStatus",e["ManualRead"]="ManualRead",e["GetReadResult"]="GetReadResult"})(_t||(_t={}));const Et={AND:"安道尔",AFG:"阿富汗",ATG:"安提瓜和巴布达",AIA:"安圭拉",ALB:"阿尔巴尼亚",ARM:"亚美尼亚",AGO:"安哥拉",ATA:"南极洲",ARG:"阿根廷",ASM:"美属萨摩亚",AUT:"奥地利",AUS:"澳大利亚",ABW:"阿鲁巴",ALA:"奥兰群岛",AZE:"阿塞拜疆",BIH:"波黑",BRB:"巴巴多斯",BGD:"孟加拉",BEL:"比利时",BFA:"布基纳法索",BGR:"保加利亚",BHR:"巴林",BDI:"布隆迪",BEN:"贝宁",BLM:"圣巴泰勒米岛",BMU:"百慕大",BRN:"文莱",BOL:"玻利维亚",BES:"荷兰加勒比区",BRA:"巴西",BHS:"巴哈马",BTN:"不丹",BVT:"布韦岛",BWA:"博茨瓦纳",BLR:"白俄罗斯",BLZ:"伯利兹",CAN:"加拿大",CCK:"科科斯群岛",CAF:"中非",CHE:"瑞士",CHL:"智利",CMR:"喀麦隆",COL:"哥伦比亚",CRI:"哥斯达黎加",CUB:"古巴",CPV:"佛得角",CXR:"圣诞岛",CYP:"塞浦路斯",CZE:"捷克",DEU:"德国",DJI:"吉布提",DNK:"丹麦",DMA:"多米尼克",DOM:"多米尼加",DZA:"阿尔及利亚",ECU:"厄瓜多尔",EST:"爱沙尼亚",EGY:"埃及",ESH:"西撒哈拉",ERI:"厄立特里亚",ESP:"西班牙",FIN:"芬兰",FJI:"斐济群岛",FLK:"马尔维纳斯群岛(福克兰)",FSM:"密克罗尼西亚联邦",FRO:"法罗群岛",FRA:"法国",GAB:"加蓬",GRD:"格林纳达",GEO:"格鲁吉亚",GUF:"法属圭亚那",GHA:"加纳",GIB:"直布罗陀",GRL:"格陵兰",GIN:"几内亚",GLP:"瓜德罗普",GNQ:"赤道几内亚",GRC:"希腊",SGS:"南乔治亚岛和南桑威奇群岛",GTM:"危地马拉",GUM:"关岛",GNB:"几内亚比绍",GUY:"圭亚那",HKG:"中国",HMD:"赫德岛和麦克唐纳群岛",HND:"洪都拉斯",HRV:"克罗地亚",HTI:"海地",HUN:"匈牙利",IDN:"印尼",IRL:"爱尔兰",ISR:"以色列",IMN:"马恩岛",IND:"印度",IOT:"英属印度洋领地",IRQ:"伊拉克",IRN:"伊朗",ISL:"冰岛",ITA:"意大利",JEY:"泽西岛",JAM:"牙买加",JOR:"约旦",JPN:"日本",KHM:"柬埔寨",KIR:"基里巴斯",COM:"科摩罗",KWT:"科威特",CYM:"开曼群岛",LBN:"黎巴嫩",LIE:"列支敦士登",LKA:"斯里兰卡",LBR:"利比里亚",LSO:"莱索托",LTU:"立陶宛",LUX:"卢森堡",LVA:"拉脱维亚",LBY:"利比亚",MAR:"摩洛哥",MCO:"摩纳哥",MDA:"摩尔多瓦",MNE:"黑山",MAF:"法属圣马丁",MDG:"马达加斯加",MHL:"马绍尔群岛",MKD:"马其顿",MLI:"马里",MMR:"缅甸",MAC:"中国",MTQ:"马提尼克",MRT:"毛里塔尼亚",MSR:"蒙塞拉特岛",MLT:"马耳他",MDV:"马尔代夫",MWI:"马拉维",MEX:"墨西哥",MYS:"马来西亚",NAM:"纳米比亚",NER:"尼日尔",NFK:"诺福克岛",NGA:"尼日利亚",NIC:"尼加拉瓜",NLD:"荷兰",NOR:"挪威",NPL:"尼泊尔",NRU:"瑙鲁",OMN:"阿曼",PAN:"巴拿马",PER:"秘鲁",PYF:"法属波利尼西亚",PNG:"巴布亚新几内亚",PHL:"菲律宾",PAK:"巴基斯坦",POL:"波兰",PCN:"皮特凯恩群岛",PRI:"波多黎各",PSE:"巴勒斯坦",PLW:"帕劳",PRY:"巴拉圭",QAT:"卡塔尔",REU:"留尼汪",ROU:"罗马尼亚",SRB:"塞尔维亚",RUS:"俄罗斯",RWA:"卢旺达",SLB:"所罗门群岛",SYC:"塞舌尔",SDN:"苏丹",SWE:"瑞典",SGP:"新加坡",SVN:"斯洛文尼亚",SJM:"斯瓦尔巴群岛和 扬马延岛",SVK:"斯洛伐克",SLE:"塞拉利昂",SMR:"圣马力诺",SEN:"塞内加尔",SOM:"索马里",SUR:"苏里南",SSD:"南苏丹",STP:"圣多美和普林西比",SLV:"萨尔瓦多",SYR:"叙利亚",SWZ:"斯威士兰",TCA:"特克斯和凯科斯群岛",TCD:"乍得",TGO:"多哥",THA:"泰国",TKL:"托克劳",TLS:"东帝汶",TUN:"突尼斯",TON:"汤加",TUR:"土耳其",TUV:"图瓦卢",TZA:"坦桑尼亚",UKR:"乌克兰",UGA:"乌干达",USA:"美国",URY:"乌拉圭",VAT:"梵蒂冈",VEN:"委内瑞拉",VGB:"英属维尔京群岛",VIR:"美属维尔京群岛",VNM:"越南",WLF:"瓦利斯和富图纳",WSM:"萨摩亚",YEM:"也门",MYT:"马约特",ZAF:"南非",ZMB:"赞比亚",ZWE:"津巴布韦",CHN:"中国",COG:"刚果(布)",COD:"刚果(金)",MOZ:"莫桑比克",GGY:"根西岛",GMB:"冈比亚",MNP:"北马里亚纳群岛",ETH:"埃塞俄比亚",NCL:"新喀里多尼亚",VUT:"瓦努阿图",ATF:"法属南部领地",NIU:"纽埃",UMI:"美国本土外小岛屿",COK:"库克群岛",GBR:"英国",TTO:"特立尼达和多巴哥",VCT:"圣文森特和格林纳丁斯",TWN:"中国",NZL:"新西兰",SAU:"沙特阿拉伯",LAO:"老挝",PRK:"朝鲜",KOR:"韩国",PRT:"葡萄牙",KGZ:"吉尔吉斯斯坦",KAZ:"哈萨克斯坦",TJK:"塔吉克斯坦",TKM:"土库曼斯坦",UZB:"乌兹别克斯坦",KNA:"圣基茨和尼维斯",SPM:"圣皮埃尔和密克隆",SHN:"圣赫勒拿",LCA:"圣卢西亚",MUS:"毛里求斯",CIV:"科特迪瓦",KEN:"肯尼亚",MNG:"蒙古国"};var Dt;function At(e){return Et[e]}function Ot(e){return new Promise(((t,n)=>{let i=new Image;i.setAttribute("crossOrigin","Anonymous"),i.src=e,i.onload=function(){let e=document.createElement("canvas"),n=i.width,r=i.height;e.width=n,e.height=r,e.getContext("2d").drawImage(i,0,0);let a=e.toDataURL("image/png");t(a)},i.onerror=()=>{n(new Error("urlToBase64 error"))}}))}async function Tt(e){let{doc_number:t,state:n,name:i,truncation_name:r,sex:a,birth_DateFormat:s,dg11:o,expired_DateFormat:l,pic_nfc_face:c}=e,u=o&&o.name||"无中文姓名",d=i+r,h=await Ot(c);return{name:"无中文姓名"===u?d:u,chineseName:u,englishName:d,sex:Dt[a]||"未知",cardId:t,birthday:s.replace("-","").replace("-",""),nationality:At(n),validEnd:l.replace("-","").replace("-",""),headImage:h.replace("data:image/png;base64,","")}}async function Mt(e){let{csrq:t,dzmc:n,gmsfhm:i,jdxp:r,mzdm:a,qfjgmc:s,xbdm:o,xm:l,yxqjzrq:c,yxqqsrq:u}=e,d=await Ot(r);return{name:l,chineseName:"",englishName:"",sex:o.replace("性",""),cardId:i,birthday:t,nationality:"中国",nation:a,police:s,address:n,validStart:u,validEnd:c,headImage:d.replace("data:image/png;base64,","")}}async function Nt(e){let{zwxm:t,ywxm:n,xbdm:i,yjjlzhm:r,zjhm:a,gjdm:s,zjqfrq:o,zjzzrq:l,yxqqsrq:c,yxqjzrq:u,csrq:d,jdxp:h}=e,f=t||"无中文姓名",p=n,m=await Ot(h);return{name:"无中文姓名"===f?p:f,chineseName:f,englishName:p,sex:i.replace("性",""),cardId:a||r,birthday:d,nationality:At(s),validStart:c||o,validEnd:u||l,police:"中华人民共和国国家移民管理局",headImage:m.replace("data:image/png;base64,","")}}(function(e){e["MALE"]="男",e["FEMALE"]="女"})(Dt||(Dt={}));class Pt{static async read(e){let t="";switch(e){case _t.GetStatus:t=`${Pt.baseServiceUrl}/PassportReader/${e}`;break;case _t.ManualRead:t=`${Pt.baseServiceUrl}/PassportReader/${e}`;break;case _t.GetReadResult:t=`${Pt.baseServiceUrl}/PassportReader/${e}`;break}let n=await ae.get(t);return n}static async getStatus(){await Pt.read(_t.GetStatus)}static async manualRead(){await Pt.read(_t.ManualRead)}static async getReadResult(){await Pt.manualRead();let e=await Pt.read(_t.GetReadResult);while("done"!==e.data.reader_stat)await new Promise((e=>setTimeout(e,1e3))),e=await Pt.read(_t.GetReadResult);let t,n,i=e.data,{nfc_result:r,idcard_result:a,idcard_fi_result:s,idcard_fy_result:o,idcard_j_result:l}=i;switch(i.card_type){case"TD3":t="3",n=await Tt(r);break;case"IDCARD":t="1",n=await Mt(a);break;case"IDCARD_FI":case"IDCARD_FY":t="9",n=await Nt(s||o);break;case"TD1_HC":case"TD1_MC":case"TD1_TC":case"TD1_CT":case"TD1_CR":t="12",n=Tt(r);break;case"IDCARD_J":t="2",n=await Mt(l)}let{nationality:c,name:u,chineseName:d,englishName:h,sex:f,birthday:p,address:m,cardId:g,nation:v,police:b,validStart:y,validEnd:C,headImage:w}=n;const _={info:{cardType:t,nationality:c,name:u,chineseName:d,englishName:h,sex:f,birthday:p,address:m,cardId:g,nation:v,police:b,validStart:y,validEnd:C},headImage:w};return _}}V(Pt,"baseServiceUrl","http://127.0.0.1:7770");class jt{static async read(e){let t="";switch(e){case"ReadIDCard_Base64":t=this.idCardWebSocketUrl+"/readCard";break}let n=await ae.get(t);return n}static async idCardRead(){const e=await jt.read("ReadIDCard_Base64");if(e){let t=e.split("|");if("0"!=t[0])throw Error(t[1]);let n,i,r,a,s,o,l,c,u,d,h,f,p="",m="";switch(t[1]){case"1":n="1",i=t[2],r=t[4],a=t[6],o=t[7],l=t[8],c=t[9],u=t[10],d=t[11],h=t[12],f=t[13],s="中国";break;case"2":n="9",p=t[2],r=t[4],c=t[5],s=t[7],m=t[8]||"无中文姓名",d=t[9],h=t[10],o=t[11],u=t[14],f=t[15],i="无中文姓名"===m?p:m;break;case"4":n="9",m=t[2]||"无中文姓名",r=t[4],o=t[6],p=t[7],c=t[8],d=t[10],h=t[11],s=t[13],u="中华人民共和国国家移民管理局",f=t[15],i="无中文姓名"===m?p:m;break;case"3":}const g={info:{cardType:n,nationality:s,name:i,chineseName:m,englishName:p,sex:r,birthday:o,address:l,cardId:c,nation:a,police:u,validStart:d,validEnd:h},headImage:f};return console.log(g),g}throw Error("未匹配可用的读卡器")}}V(jt,"idCardWebSocketUrl","http://127.0.0.1:10012"),V(jt,"ws",void 0),V(jt,"requestStore",[]);var Ft={name:"id-card-reader-button",props:{label:{default:"",type:String},tip:{default:"",type:String},className:{default:"",type:String},size:{default:"mini",type:String},type:{default:"primary",type:String},plain:{default:!1,type:Boolean},round:{default:!1,type:Boolean},loading:{default:!1,type:Boolean},icon:{default:"el-icon-postcard",type:String},disabled:{default:!1,type:Boolean},readMachineType:{default:0,type:Number},readerMode:{default:"idCard",type:String},filePath:{default:"JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFuZyh6aCkgL1N0cnVjdFRyZWVSb290IDE3IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4vTWV0YWRhdGEgMzYgMCBSL1ZpZXdlclByZWZlcmVuY2VzIDM3IDAgUj4+DQplbmRvYmoNCjIgMCBvYmoNCjw8L1R5cGUvUGFnZXMvQ291bnQgMS9LaWRzWyAzIDAgUl0gPj4NCmVuZG9iag0KMyAwIG9iag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9Gb250PDwvRjEgNSAwIFIvRjIgOSAwIFIvRjMgMTQgMCBSPj4vRXh0R1N0YXRlPDwvR1M3IDcgMCBSL0dTOCA4IDAgUj4+L1Byb2NTZXRbL1BERi9UZXh0L0ltYWdlQi9JbWFnZUMvSW1hZ2VJXSA+Pi9NZWRpYUJveFsgMCAwIDUyMS42NCAzNjguNTJdIC9Db250ZW50cyA0IDAgUi9Hcm91cDw8L1R5cGUvR3JvdXAvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCPj4vVGFicy9TL1N0cnVjdFBhcmVudHMgMD4+DQplbmRvYmoNCjQgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjkyPj4NCnN0cmVhbQ0KeJylkUtPQkEMhfeTzH84SyBxbqfzNCEk98ElGl0YMC6IC0KAuPBGkf8fe5ENom6c1XTanvY7g2L+tuowHhf39U0DKu5W3Q6DTXf1OB9OJqiaGu9akaH+pJQcCIGtiR4uZhMY+41WTyN0WlULrYrWgqMhj8VWKyvVhP6FTHZwZE2QzKvUzeYJuw+Rxu4Y5VM002o5wPAZi1utpqL4oBWm9zWKcn942a7WB1QS2b7NRcOwvXaC98lkJDLuuNF2dGrDOaH9hVCkokh5k3MvhciG8wUbC/QZmHcy1OZgfDhikQnE/WpfF4GBeMfCvF6OQ9lm11YlU1tzJfkmRNu0tdhCnCnwlCznuvZlarkMeXJpwjca/heNu6BJwVzz3zw/f84nOqN5cQ0KZW5kc3RyZWFtDQplbmRvYmoNCjUgMCBvYmoNCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL05hbWUvRjEvQmFzZUZvbnQvQkNERUVFK0RlbmdYaWFuL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250RGVzY3JpcHRvciA2IDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIgMzIvV2lkdGhzIDMwIDAgUj4+DQplbmRvYmoNCjYgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkNERUVFK0RlbmdYaWFuL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDgxMC9EZXNjZW50IC0yMzIvQ2FwSGVpZ2h0IDgxMC9BdmdXaWR0aCA0NDcvTWF4V2lkdGggMTI5Mi9Gb250V2VpZ2h0IDQwMC9YSGVpZ2h0IDI1MC9TdGVtViA0NC9Gb250QkJveFsgLTE0MSAtMjMyIDExNTEgODEwXSAvRm9udEZpbGUyIDMxIDAgUj4+DQplbmRvYmoNCjcgMCBvYmoNCjw8L1R5cGUvRXh0R1N0YXRlL0JNL05vcm1hbC9jYSAxPj4NCmVuZG9iag0KOCAwIG9iag0KPDwvVHlwZS9FeHRHU3RhdGUvQk0vTm9ybWFsL0NBIDE+Pg0KZW5kb2JqDQo5IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMC9CYXNlRm9udC9CQ0RGRUUrRGVuZ1hpYW4tQm9sZC9FbmNvZGluZy9JZGVudGl0eS1IL0Rlc2NlbmRhbnRGb250cyAxMCAwIFIvVG9Vbmljb2RlIDMyIDAgUj4+DQplbmRvYmoNCjEwIDAgb2JqDQpbIDExIDAgUl0gDQplbmRvYmoNCjExIDAgb2JqDQo8PC9CYXNlRm9udC9CQ0RGRUUrRGVuZ1hpYW4tQm9sZC9TdWJ0eXBlL0NJREZvbnRUeXBlMi9UeXBlL0ZvbnQvQ0lEVG9HSURNYXAvSWRlbnRpdHkvRFcgMTAwMC9DSURTeXN0ZW1JbmZvIDEyIDAgUi9Gb250RGVzY3JpcHRvciAxMyAwIFIvVyAzNCAwIFI+Pg0KZW5kb2JqDQoxMiAwIG9iag0KPDwvT3JkZXJpbmcoSWRlbnRpdHkpIC9SZWdpc3RyeShBZG9iZSkgL1N1cHBsZW1lbnQgMD4+DQplbmRvYmoNCjEzIDAgb2JqDQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0JDREZFRStEZW5nWGlhbi1Cb2xkL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDgxMC9EZXNjZW50IC0yMzIvQ2FwSGVpZ2h0IDgxMC9BdmdXaWR0aCA0NTYvTWF4V2lkdGggMTM3MC9Gb250V2VpZ2h0IDcwMC9YSGVpZ2h0IDI1MC9TdGVtViA0NS9Gb250QkJveFsgLTE3MyAtMjMyIDExOTcgODEwXSAvRm9udEZpbGUyIDMzIDAgUj4+DQplbmRvYmoNCjE0IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YzL0Jhc2VGb250L0JDREdFRStEZW5nWGlhbi1Cb2xkL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250RGVzY3JpcHRvciAxNSAwIFIvRmlyc3RDaGFyIDMyL0xhc3RDaGFyIDMyL1dpZHRocyAzNSAwIFI+Pg0KZW5kb2JqDQoxNSAwIG9iag0KPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9CQ0RHRUUrRGVuZ1hpYW4tQm9sZC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA4MTAvRGVzY2VudCAtMjMyL0NhcEhlaWdodCA4MTAvQXZnV2lkdGggNDU2L01heFdpZHRoIDEzNzAvRm9udFdlaWdodCA3MDAvWEhlaWdodCAyNTAvU3RlbVYgNDUvRm9udEJCb3hbIC0xNzMgLTIzMiAxMTk3IDgxMF0gL0ZvbnRGaWxlMiAzMyAwIFI+Pg0KZW5kb2JqDQoxNiAwIG9iag0KPDwvQXV0aG9yKP7/Zx2WMwAgVBUpIC9DcmVhdG9yKP7/AE0AaQBjAHIAbwBzAG8AZgB0AK4AIABXAG8AcgBkACAAMgAwADEAOSkgL0NyZWF0aW9uRGF0ZShEOjIwMjQwODA1MTcxNDIwKzA4JzAwJykgL01vZERhdGUoRDoyMDI0MDgwNTE3MTQyMCswOCcwMCcpIC9Qcm9kdWNlcij+/wBNAGkAYwByAG8AcwBvAGYAdACuACAAVwBvAHIAZAAgADIAMAAxADkpID4+DQplbmRvYmoNCjI1IDAgb2JqDQo8PC9U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Q2VoaUh6cmVTek5UY3prYzlkIj8+PHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iMy4xLTcwMSI+CjxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczpwZGY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8iPgo8cGRmOlByb2R1Y2VyPk1pY3Jvc29mdMKuIFdvcmQgMjAxOTwvcGRmOlByb2R1Y2VyPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KPGRjOmNyZWF0b3I+PHJkZjpTZXE+PHJkZjpsaT7mnJ3pmLMg5ZCVPC9yZGY6bGk+PC9yZGY6U2VxPjwvZGM6Y3JlYXRvcj48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+Cjx4bXA6Q3JlYXRvclRvb2w+TWljcm9zb2Z0wq4gV29yZCAyMDE5PC94bXA6Q3JlYXRvclRvb2w+PHhtcDpDcmVhdGVEYXRlPjIwMjQtMDgtMDVUMTc6MTQ6MjArMDg6MDA8L3htcDpDcmVhdGVEYXRlPjx4bXA6TW9kaWZ5RGF0ZT4yMDI0LTA4LTA1VDE3OjE0OjIwKzA4OjAwPC94bXA6TW9kaWZ5RGF0ZT48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIj4KPHhtcE1NOkRvY3VtZW50SUQ+dXVpZDo4MzY4MEUxMi1FNTNBLTRGQzItOENENi05Qzg3NTc3RjdEOEQ8L3htcE1NOkRvY3VtZW50SUQ+PHhtcE1NOkluc3RhbmNlSUQ+dXVpZDo4MzY4MEUxMi1FNTNBLTRGQzItOENENi05Qzg3NTc3RjdEOEQ8L3htcE1NOkluc3RhbmNlSUQ+PC9yZGY6RGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8L3JkZjpSREY+PC94OnhtcG1ldGE+PD94cGFja2V0IGVuZD0idyI/Pg0KZW5kc3RyZWFtDQplbmRvYmoNCjM3IDAgb2JqDQo8PC9EaXNwbGF5RG9jVGl0bGUgdHJ1ZT4+DQplbmRvYmoNCjM4IDAgb2JqDQo8PC9UeXBlL1hSZWYvU2l6ZSAzOC9XWyAxIDQgMl0gL1Jvb3QgMSAwIFIvSW5mbyAxNiAwIFIvSURbPDEyMEU2ODgzM0FFNUMyNEY4Q0Q2OUM4NzU3N0Y3RDhEPjwxMjBFNjg4MzNBRTVDMjRGOENENjlDODc1NzdGN0Q4RD5dIC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDEzMz4+DQpzdHJlYW0NCnicNc4rDsJQEIXhub19UwModoFr0rAdDEGgEUgMEo/BkJDgWQvrQDRpUobzw4j5Msm8zDzGMXiemn25wkuEQcSNSGciS6CFLbxFPoenKCL0oryJ6mLmG2xhBZRQQQ05BPgNTHy8PvyrDFJIIHpLs9Oh5iS6u1gtxX4NZ3iIoz//Aa+yEw8NCmVuZHN0cmVhbQ0KZW5kb2JqDQp4cmVmDQowIDM5DQowMDAwMDAwMDE3IDY1NTM1IGYNCjAwMDAwMDAwMTcgMDAwMDAgbg0KMDAwMDAwMDE2MyAwMDAwMCBuDQowMDAwMDAwMjE5IDAwMDAwIG4NCjAwMDAwMDA1MDggMDAwMDAgbg0KMDAwMDAwMDg3NCAwMDAwMCBuDQowMDAwMDAxMDQyIDAwMDAwIG4NCjAwMDAwMDEyODIgMDAwMDAgbg0KMDAwMDAwMTMzNSAwMDAwMCBuDQowMDAwMDAxMzg4IDAwMDAwIG4NCjAwMDAwMDE1MjUgMDAwMDAgbg0KMDAwMDAwMTU1NSAwMDAwMCBuDQowMDAwMDAxNzIxIDAwMDAwIG4NCjAwMDAwMDE3OTUgMDAwMDAgbg0KMDAwMDAwMjA0MSAwMDAwMCBuDQowMDAwMDAyMjE2IDAwMDAwIG4NCjAwMDAwMDI0NjIgMDAwMDAgbg0KMDAwMDAwMDAxOCA2NTUzNSBmDQowMDAwMDAwMDE5IDY1NTM1IGYNCjAwMDAwMDAwMjAgNjU1MzUgZg0KMDAwMDAwMDAyMSA2NTUzNSBmDQowMDAwMDAwMDIyIDY1NTM1IGYNCjAwMDAwMDAwMjMgNjU1MzUgZg0KMDAwMDAwMDAyNCA2NTUzNSBmDQowMDAwMDAwMDI1IDY1NTM1IGYNCjAwMDAwMDAwMjYgNjU1MzUgZg0KMDAwMDAwMDAyNyA2NTUzNSBmDQowMDAwMDAwMDI4IDY1NTM1IGYNCjAwMDAwMDAwMjkgNjU1MzUgZg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAzMTg0IDAwMDAwIG4NCjAwMDAwMDMyMTEgMDAwMDAgbg0KMDAwMDAxNTAxOSAwMDAwMCBuDQowMDAwMDE1NDA4IDAwMDAwIG4NCjAwMDAwMzEzMzMgMDAwMDAgbg0KMDAwMDAzMTM3OSAwMDAwMCBuDQowMDAwMDMxNDA2IDAwMDAwIG4NCjAwMDAwMzQ1NDkgMDAwMDAgbg0KMDAwMDAzNDU5NCAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDM5L1Jvb3QgMSAwIFIvSW5mbyAxNiAwIFIvSURbPDEyMEU2ODgzM0FFNUMyNEY4Q0Q2OUM4NzU3N0Y3RDhEPjwxMjBFNjg4MzNBRTVDMjRGOENENjlDODc1NzdGN0Q4RD5dID4+DQpzdGFydHhyZWYNCjM0OTI4DQolJUVPRg0KeHJlZg0KMCAwDQp0cmFpbGVyDQo8PC9TaXplIDM5L1Jvb3QgMSAwIFIvSW5mbyAxNiAwIFIvSURbPDEyMEU2ODgzM0FFNUMyNEY4Q0Q2OUM4NzU3N0Y3RDhEPjwxMjBFNjg4MzNBRTVDMjRGOENENjlDODc1NzdGN0Q4RD5dIC9QcmV2IDM0OTI4L1hSZWZTdG0gMzQ1OTQ+Pg0Kc3RhcnR4cmVmDQozNTg2NQ0KJSVFT0Y=",type:String}},data:()=>({showIDCardChrome:!1,plugType:"读卡器"}),computed:{_className(){const e=["z-button"];return"text"===this.type&&e.push("i-font-size"),this.className?("string"===typeof this.className?e.push(this.className):e.push(...this.className),e):e},isJIEYUPlugin(){return"sign"===this.readerMode&&3===this.readMachineType||"idCard"===this.readerMode&&6===this.readMachineType||"idCard"===this.readerMode&&6===this.readMachineType},isExitAndEntryPlugin(){return"idCard"===this.readerMode&&11===this.readMachineType}},watch:{isJIEYUPlugin:{handler:async e=>{e&&await pe.initParams()}},isExitAndEntryPlugin:{handler:async e=>{e&&await Pt.getStatus()}}},async created(){this.isJIEYUPlugin&&await pe.initParams(),this.isExitAndEntryPlugin&&await Pt.getStatus()},mounted(){let e=this;window.onerror=function(t){if(t.indexOf("统一插件平台")>-1){let n=t.split(": ")[1]||"提示";n=n.replace("统一插件平台",""),e.$emit("hardwareError",e.plugType,n)}}},methods:{handleClick(){switch(this.readerMode){case"idCard":this.plugType="读卡器",this.idCardRReaderEvent();break;case"veriface":this.plugType="拍照设备",this.faceReaderEvent();break;case"sign":this.plugType="签字板",this.signEvent();break;case"socialSecurityCard":this.plugType="社保卡",this.socialSecurityCardReaderEvent();break}this.$emit("sendPluginType",this.plugType)},async idCardRReaderEvent(){let e;switch(this.readMachineType){case 0:e=await Le.idCardCommonRead(),this.$emit("click",e);break;case 1:return this.readLSIDCard();case 2:e=await We.idCardRead(),this.$emit("click",e);break;case 3:const t=await Ye.idCardRead();t&&(e=t.idCard),this.$emit("click",e);break;case 4:e=await qe.idCardRead(),this.$emit("click",e);break;case 5:e=await W.idCardRead(),this.$emit("click",e);break;case 6:e=await pe.idCardRead(),this.$emit("click",e);break;case 8:e=await ht.idCardRead(),this.$emit("click",e);break;case 9:e=await pe.idCardReadByScanner(),this.$emit("click",e);break;case 10:e=await ve.idCardRead(),this.$emit("click",e);break;case 11:e=await Pt.getReadResult(),this.$emit("click",e);break;case 12:e=await jt.idCardRead(),this.$emit("click",e);break;default:this.$message.warning("请在首页右上角我的设备中设置读卡器选项!");break}},async faceReaderEvent(){switch(this.readMachineType){case 0:this.readFacePhotoByDefault();break;case 1:this.readLSIDCardAndMatchFace();break;case 2:{const e=await We.faceValidateWithIdCardRead();this.$emit("click",e);break}case 3:{const e=await Ye.idCardRead();this.$emit("click",e);break}case 5:this.readFacePhotoByELoam();break;case 6:{const e=await pe.faceValidateWithIdCardRead();this.$emit("click",e);break}case 10:this.openWEIRONGFaceValidateDialog();break;default:this.$message.warning("请在首页右上角我的设备中设置读拍照/人脸识别选项!");break}},async socialSecurityCardReaderEvent(){try{let e;switch(this.readMachineType){case 2:e=await We.socialSecurityCardRead();break;case 4:e=await qe.socialSecurityCardRead();break;case 5:e=await ve.socialSecurityCardRead();break;default:this.$message.warning("请在首页右上角我的设备中设置社保卡选项!");break}this.$emit("click",e)}catch(e){throw Error("读取社保卡失败")}},async signEvent(){let e="";switch(this.readMachineType){case 0:e=await Ve.read();break;case 1:e=await Ve.read(Pe.hwSign);break;case 2:e=await We.signNameRead();break;case 3:const t=await pe.signNameRead(this.filePath),n=t.SignNameBase64?JSON.parse(t.SignNameBase64):{SignName0:""},i=t.FingerPrintBase64?JSON.parse(t.FingerPrintBase64):{FingerPrint0:""},r=n.SignName0.split(";")[0],a=i.FingerPrint0.split(";")[0];console.log("签字&指纹",r,a),a?(e=await pe.mergeImage(r,a),console.log(e)):e=r;break;case 5:e=await ve.signNameRead();break;default:this.$message.warning("请在首页右上角我的设备中设置签字板选项!");break}this.$emit("click",e)},async readLSIDCardAndMatchFace(){this.showIDCardChrome=!0;const e=document.createElement("div");document.body.appendChild(e);const t=new(dt())({render:e=>e(it,{props:{},on:{close:e=>{if(console.log("destroy data=>",e),"比对成功"!==e.zt)throw Error("认证失败");this.$message.success("认证成功"),this.$emit("click",e),this.showIDCardChrome=!1,t.$destroy(),t.$el.remove()}}}),parent:this}).$mount(e)},openWEIRONGFaceValidateDialog(){console.log("打开人脸识别弹框");const e=document.createElement("div");document.body.appendChild(e);const t=new(dt())({render:e=>e(It,{props:{},on:{close:e=>{this.$emit("click",e),t.$destroy(),t.$el.remove()}}}),parent:this}).$mount(e)},readFacePhotoByELoam(){const e=document.createElement("div");document.body.appendChild(e);const t=new(dt())({render:e=>e(ct,{props:{},on:{close:e=>{console.log("良田拍照信息=>",e),this.$emit("click",e),t.$destroy(),t.$el.remove()}}}),parent:this}).$mount(e)},readFacePhotoByDefault(){const e=document.createElement("div");document.body.appendChild(e);const t=new(dt())({render:e=>e(bt,{props:{},on:{close:e=>{e&&(console.log("浏览器自带拍照=>",e),this.$emit("click",e)),t.$destroy(),t.$el.remove()}}}),parent:this}).$mount(e)},readLSIDCard(){this.showIDCardChrome=!0,this.$nextTick((async()=>{try{const e=await(0,Ze.oK)();console.log("丽水一体机读取身份证信息=>",e),this.$emit("click",e)}catch(e){throw Error("读取身份证信息失败")}finally{this.showIDCardChrome=!1}}))}}},$t=Ft,Rt=l($t,$e,Re,!1,null,"d4b32654",null),Lt=Rt.exports;Lt.install=e=>{e.component(Lt.name,Lt)};var Bt=Lt;const Vt=[d,b,Fe,Bt,N,ee,Ee],zt=e=>{e.use(i()),zt.installed||Vt.forEach((t=>{e.component(t.name,t)}))};"undefined"!==typeof window&&window.Vue&&zt(window.Vue);var Wt={install:zt,...Vt},Ht=Wt}(),__webpack_exports__}()}));
|
24
|
+
function a(e,t){if(!r.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,a=n in document;if(!a){var s=document.createElement("div");s.setAttribute(n,"return;"),a="function"===typeof s[n]}return!a&&i&&"wheel"===e&&(a=document.implementation.hasFeature("Events.wheel","3.0")),a}r.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=a},643:function(e,t,n){"use strict";var i=n(4518),r=n(6534),a=10,s=40,o=800;function l(e){var t=0,n=0,i=0,r=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),i=t*a,r=n*a,"deltaY"in e&&(r=e.deltaY),"deltaX"in e&&(i=e.deltaX),(i||r)&&e.deltaMode&&(1==e.deltaMode?(i*=s,r*=s):(i*=o,r*=o)),i&&!t&&(t=i<1?-1:1),r&&!n&&(n=r<1?-1:1),{spinX:t,spinY:n,pixelX:i,pixelY:r}}l.getEventType=function(){return i.firefox()?"DOMMouseScroll":r("wheel")?"wheel":"mousewheel"},e.exports=l},1033:function(e,t,n){"use strict";n.r(t);var i=function(){if("undefined"!==typeof Map)return Map;function e(e,t){var n=-1;return e.some((function(e,i){return e[0]===t&&(n=i,!0)})),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var n=e(this.__entries__,t),i=this.__entries__[n];return i&&i[1]},t.prototype.set=function(t,n){var i=e(this.__entries__,t);~i?this.__entries__[i][1]=n:this.__entries__.push([t,n])},t.prototype.delete=function(t){var n=this.__entries__,i=e(n,t);~i&&n.splice(i,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var n=0,i=this.__entries__;n<i.length;n++){var r=i[n];e.call(t,r[1],r[0])}},t}()}(),r="undefined"!==typeof window&&"undefined"!==typeof document&&window.document===document,a=function(){return"undefined"!==typeof n.g&&n.g.Math===Math?n.g:"undefined"!==typeof self&&self.Math===Math?self:"undefined"!==typeof window&&window.Math===Math?window:Function("return this")()}(),s=function(){return"function"===typeof requestAnimationFrame?requestAnimationFrame.bind(a):function(e){return setTimeout((function(){return e(Date.now())}),1e3/60)}}(),o=2;function l(e,t){var n=!1,i=!1,r=0;function a(){n&&(n=!1,e()),i&&c()}function l(){s(a)}function c(){var e=Date.now();if(n){if(e-r<o)return;i=!0}else n=!0,i=!1,setTimeout(l,t);r=e}return c}var c=20,u=["top","right","bottom","left","width","height","size","weight"],d="undefined"!==typeof MutationObserver,h=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=l(this.refresh.bind(this),c)}return e.prototype.addObserver=function(e){~this.observers_.indexOf(e)||this.observers_.push(e),this.connected_||this.connect_()},e.prototype.removeObserver=function(e){var t=this.observers_,n=t.indexOf(e);~n&&t.splice(n,1),!t.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){var e=this.updateObservers_();e&&this.refresh()},e.prototype.updateObservers_=function(){var e=this.observers_.filter((function(e){return e.gatherActive(),e.hasActive()}));return e.forEach((function(e){return e.broadcastActive()})),e.length>0},e.prototype.connect_=function(){r&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),d?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){r&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=void 0===t?"":t,i=u.some((function(e){return!!~n.indexOf(e)}));i&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),f=function(e,t){for(var n=0,i=Object.keys(t);n<i.length;n++){var r=i[n];Object.defineProperty(e,r,{value:t[r],enumerable:!1,writable:!1,configurable:!0})}return e},p=function(e){var t=e&&e.ownerDocument&&e.ownerDocument.defaultView;return t||a},m=S(0,0,0,0);function g(e){return parseFloat(e)||0}function v(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return t.reduce((function(t,n){var i=e["border-"+n+"-width"];return t+g(i)}),0)}function b(e){for(var t=["top","right","bottom","left"],n={},i=0,r=t;i<r.length;i++){var a=r[i],s=e["padding-"+a];n[a]=g(s)}return n}function y(e){var t=e.getBBox();return S(0,0,t.width,t.height)}function C(e){var t=e.clientWidth,n=e.clientHeight;if(!t&&!n)return m;var i=p(e).getComputedStyle(e),r=b(i),a=r.left+r.right,s=r.top+r.bottom,o=g(i.width),l=g(i.height);if("border-box"===i.boxSizing&&(Math.round(o+a)!==t&&(o-=v(i,"left","right")+a),Math.round(l+s)!==n&&(l-=v(i,"top","bottom")+s)),!_(e)){var c=Math.round(o+a)-t,u=Math.round(l+s)-n;1!==Math.abs(c)&&(o-=c),1!==Math.abs(u)&&(l-=u)}return S(r.left,r.top,o,l)}var w=function(){return"undefined"!==typeof SVGGraphicsElement?function(e){return e instanceof p(e).SVGGraphicsElement}:function(e){return e instanceof p(e).SVGElement&&"function"===typeof e.getBBox}}();function _(e){return e===p(e).document.documentElement}function x(e){return r?w(e)?y(e):C(e):m}function k(e){var t=e.x,n=e.y,i=e.width,r=e.height,a="undefined"!==typeof DOMRectReadOnly?DOMRectReadOnly:Object,s=Object.create(a.prototype);return f(s,{x:t,y:n,width:i,height:r,top:n,right:t+i,bottom:r+n,left:t}),s}function S(e,t,n,i){return{x:e,y:t,width:n,height:i}}var I=function(){function e(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=S(0,0,0,0),this.target=e}return e.prototype.isActive=function(){var e=x(this.target);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var e=this.contentRect_;return this.broadcastWidth=e.width,this.broadcastHeight=e.height,e},e}(),E=function(){function e(e,t){var n=k(t);f(this,{target:e,contentRect:n})}return e}(),D=function(){function e(e,t,n){if(this.activeObservations_=[],this.observations_=new i,"function"!==typeof e)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=t,this.callbackCtx_=n}return e.prototype.observe=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!==typeof Element&&Element instanceof Object){if(!(e instanceof p(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new I(e)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!==typeof Element&&Element instanceof Object){if(!(e instanceof p(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach((function(t){t.isActive()&&e.activeObservations_.push(t)}))},e.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map((function(e){return new E(e.target,e.broadcastRect())}));this.callback_.call(e,t,e),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),A="undefined"!==typeof WeakMap?new WeakMap:new i,O=function(){function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=h.getInstance(),i=new D(t,n,this);A.set(this,i)}return e}();["observe","unobserve","disconnect"].forEach((function(e){O.prototype[e]=function(){var t;return(t=A.get(this))[e].apply(t,arguments)}}));var T=function(){return"undefined"!==typeof a.ResizeObserver?a.ResizeObserver:O}();t["default"]=T},1478:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,{g$:function(){return tsToJs},oK:function(){return GetIDCardOnly},xj:function(){return loadCamera}});var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(7658),core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__),tsToJs={getElement:function Stirng(flag,photoId){var plugin;if(1==flag){console.log("人脸识别开始-----");var plugin=document.getElementById("facePlugin");console.log("plugin-----",plugin);var data="$=Action",temp=plugin.SendDataToADB("127.0.0.1",1352,15e3,data,data.length);if(console.log(temp+"-----===="),"undefined"===typeof temp)return null;var str=temp.split("$"),result=str[1].split("=#=")[1];console.log("result:"+result+"-----++++");var name=str[2].split("=#=")[1],sex=str[3].split("=#=")[1],cardNo=str[4].split("=#=")[1];console.log("cardNo:"+cardNo+"-----++++");var address=str[5].split("=#=")[1],birthday=str[6].split("=#=")[1],cardImg=str[8].split("=#=")[1],faceImg=str[9].split("=#=")[1],race=str[10].split("=#=")[1],regOrg=str[11].split("=#=")[1],validTime=str[12].split("=#=")[1],validTimeStart=validTime.split("-")[0],validTimeEnd=validTime.split("-")[1],objSfz={idCard:{info:{name:name.toString(),sex:sex.toString(),nation:race.toString(),birthday:birthday.toString(),address:address.toString(),cardId:cardNo.toString(),police:regOrg.toString(),validStart:validTimeStart.toString(),validEnd:validTimeEnd.toString(),sexCode:"",nationCode:""},headImage:cardImg.toString()},faceimg:faceImg.toString(),zt:""};return console.log("-------------------objSfz成功返回数据---------------------"),console.log("人脸识别结果===>",objSfz),objSfz}if(2==flag){plugin=document.getElementById("plugin");var temp2=plugin.On_OpenDevice(1001),obj=eval("("+temp2+")");return"undefined"!=typeof obj["照片"]&&(photoId&&document.getElementById(photoId)&&(document.getElementById(photoId).src="data:image/jpeg;base64,"+obj["照片"]),console.log(obj["身份证号2"]+"._____."),console.log(obj["照片2"]+"._____.-----------")),obj}if(3==flag){console.log("-----开始读取身份证信息-----");var plugin=document.getElementById("plugin"),temp2=plugin.On_OpenDevice(1001),obj=eval("("+temp2+")"),result={info:{name:obj["姓名"],sex:obj["性别"],nation:obj["名族"],birthday:obj["出生日期"],address:obj["地址"],cardId:obj["身份证号"],police:obj["发证机关"],validStart:obj["有效期开始"],validEnd:obj["有效期结束"],sexCode:"",nationCode:""},headImage:obj["照片"]};return console.log("-----身份证信息读取结果-----"),console.log(result),result}if(4==flag)return GetIDCardAndMatchImage()},getExportInfo:function(){var e="",t="";return $.ajaxSettings.async=!1,$.get("assets/xml/Export.xml",!1,(function(n){var i=[],r=[];$(n).find("ElementTable").each((function(){var e=$(this),t=e.attr("ColumnName"),n=e.attr("CaptionName");i.push(t),r.push(n)})),e=i.join(","),t=r.join(","),xmlxx={columNameStr:e,captionNameStr:t}})),$.ajaxSettings.async=!0,xmlxx},getAreaData:function(){$.ajaxSettings.async=!1;var e=[],t=[];return $.get("assets/xml/AreaData.xml",(function(n){$(n).find("ElementTable").each((function(){var n=$(this),i=n.attr("tableName"),r=n.children("DataBaseLink").attr("Name");e.push(i),t.push(r)}))})),$.ajaxSettings.async=!0,xmlxx={nameArray:e,dataBaseLinkArray:t},xmlxx},getAreaTable:function(){$.ajaxSettings.async=!1;var e=[];return $.get("assets/xml/AreaData.xml",(function(t){$(t).find("ElementTable").each((function(){var t=$(this),n=t.attr("tableName"),i=t.children("DataBaseLink").attr("Name");xmlxx={tableName:n,dataBaseLink:i},e.push(xmlxx)}))})),$.ajaxSettings.async=!0,e},getPhoto:function(e,t){document.getElementById(t).src="data:image/jpeg;base64,"+e},printImg:function(e){$("#"+e).jqprint()}};function loadCamera(){document.getElementById("IDCard_chrome");var e=document.getElementById("camera_row");e.innerHTML='<object clsid="{23D85CA3-E783-431E-A229-18BB6BEB9AD9}" type="application/x-itst-activex" width=320 height=240 name="FaceObj"></object>'}function GetIDCardOnly(){var e=document.getElementById("IDCard_chrome"),t=e.OpenDevice();if(0==t){t=e.ReadIDCardInfo();var n={info:{name:e.IDName,sex:e.IDSex,nation:e.IDFolk,birthday:e.IDBirth,address:e.IDAddress,cardId:e.IDNumber,police:e.IDOrgan,validStart:e.IDTermBegin.substring(0,4)+"."+e.IDTermBegin.substring(4,6)+"."+e.IDTermBegin.substring(6,8),validEnd:e.IDTermEnd.substring(0,4)+"."+e.IDTermEnd.substring(4,6)+"."+e.IDTermEnd.substring(6,8),sexCode:"",nationCode:""},headImage:e.IDPhoto64};return n}debug("一体机启动失败")}function GetIDCardAndMatchImage(){console.log("-----开启一体机功能-----");var e=document.getElementById("IDCard_chrome"),t=e.OpenDevice();if(0==t){t=e.ReadIDCardInfo();var n={idCard:{info:{name:e.IDName,sex:e.IDSex,nation:e.IDFolk,birthday:e.IDBirth,address:e.IDAddress,cardId:e.IDNumber,police:e.IDOrgan,validStart:e.IDTermBegin.substring(0,4)+"."+e.IDTermBegin.substring(4,6)+"."+e.IDTermBegin.substring(6,8),validEnd:e.IDTermEnd.substring(0,4)+"."+e.IDTermEnd.substring(4,6)+"."+e.IDTermEnd.substring(6,8),sexCode:"",nationCode:""},headImage:e.IDPhoto64},faceimg:"",zt:""};return MatchImage(n)}debug("一体机启动失败")}function MatchImage(e){var t=FaceObj.MatchFace(e.idCard.headImage),n=JSON.parse(t);return e.faceimg=n.image,e.zt=n.retinfo,console.log(e),e}},2823:function(e,t,n){var i=n(8563);e.exports=function(e,t,n){return void 0===n?i(e,t,!1):i(e,n,!1!==t)}},4592:function(e,t,n){var i=n(8563),r=n(2823);e.exports={throttle:i,debounce:r}},8563:function(e){e.exports=function(e,t,n,i){var r,a=0;function s(){var s=this,o=Number(new Date)-a,l=arguments;function c(){a=Number(new Date),n.apply(s,l)}function u(){r=void 0}i&&!r&&c(),r&&clearTimeout(r),void 0===i&&o>e?c():!0!==t&&(r=setTimeout(i?u:c,void 0===i?e-o:e))}return"boolean"!==typeof t&&(i=n,n=t,t=void 0),s}},2234:function(e,t,n){"use strict";e.exports=n.p+"img/idcardbg1.1f8e1fc6.gif"},4923:function(e,t,n){"use strict";e.exports=n.p+"img/idcardbg2.2e47b05f.gif"},5053:function(e,t,n){"use strict";e.exports=n.p+"img/img_blank_empty.92ddadbb.png"},7203:function(e){"use strict";e.exports=__WEBPACK_EXTERNAL_MODULE__7203__}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}!function(){__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return __webpack_require__.d(t,{a:t}),t}}(),function(){__webpack_require__.d=function(e,t){for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){__webpack_require__.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){__webpack_require__.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}}(),function(){__webpack_require__.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e}}(),function(){__webpack_require__.p=""}();var __webpack_exports__={};return function(){"use strict";if(__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:function(){return Ht}}),"undefined"!==typeof window){var e=window.document.currentScript,t=e&&e.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);t&&(__webpack_require__.p=t[1])}var n=__webpack_require__(4720),i=__webpack_require__.n(n),r=function(){var e=this;e._self._c;return e._m(0)},a=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"zs-empty"},[t("img",{attrs:{src:__webpack_require__(5053)}})])}],s={name:"zs-empty",props:{emptyTip:{default:"暂无数据",type:String}},methods:{}},o=s;function l(e,t,n,i,r,a,s,o){var l,c="function"===typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),s?(l=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},c._ssrRegister=l):r&&(l=o?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}var c=l(o,r,a,!1,null,"88c40896",null),u=c.exports;u.install=e=>{e.component(u.name,u)};var d=u,h=function(){var e=this,t=e._self._c;return e.tip?t("el-tooltip",{staticClass:"id-card-reader-demo",attrs:{content:e.tip,placement:"top"}},[t("el-button",e._b({on:{click:e.handleClick}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2)],1):t("el-button",e._b({on:{click:e.handleClick}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2)},f=[],p=(__webpack_require__(7658),{name:"id-card-reader-demo",props:{label:{default:"",type:String},tip:{default:"",type:String},className:{default:"",type:String},size:{default:"mini",type:String},type:{default:"primary",type:String},plain:{default:!1,type:Boolean},round:{default:!1,type:Boolean},loading:{default:!1,type:Boolean},icon:{default:"el-icon-postcard",type:String},disabled:{default:!1,type:Boolean}},computed:{_className(){const e=["z-button"];return"text"===this.type&&e.push("i-font-size"),this.className?("string"===typeof this.className?e.push(this.className):e.push(...this.className),e):e}},methods:{handleClick(){const e={info:{name:"",sex:"",nation:"",birthday:"",address:"",cardId:"",police:"",validStart:"",validEnd:""},headImage:""};this.$emit("click",e)}}}),m=p,g=l(m,h,f,!1,null,"3d89866c",null),v=g.exports;v.install=e=>{e.component(v.name,v)};var b=v,y=function(){var e=this,t=e._self._c;return t("div",{staticClass:"scanner-high-camera-container"},["dialog"===e.openMode?t("div",{staticClass:"scanner-high-camera-button"},[e.tip?t("el-tooltip",{staticClass:"id-card-reader-demo",attrs:{content:e.tip,placement:"top"}},[t("el-button",e._b({on:{click:e.openScanDialog}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2)],1):t("el-button",e._b({on:{click:e.openScanDialog}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2),t("el-dialog",{staticClass:"scanner-high-camera-dialog",attrs:{title:"影像扫描",visible:e.dialogVisible,width:"60%"},on:{"update:visible":function(t){e.dialogVisible=t}}},[e.dialogVisible?t("scanner-high-camera-component",{on:{"send-scanner-result":e.setScannerResult},scopedSlots:e._u([{key:"action",fn:function(){return[e._t("right-action")]},proxy:!0}],null,!0)}):e._e(),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),t("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.sendScannerResult}},[e._v("确 定")])],1)],1)],1):t("scanner-high-camera-component",{on:{"send-scanner-result":e.setScannerResult},scopedSlots:e._u([{key:"action",fn:function(){return[e._t("right-action")]},proxy:!0}],null,!0)})],1)},C=[],w=function(){var e=this,t=e._self._c;return t("div",{staticClass:"scanner-high-camera-component"},[t("div",{staticClass:"scanner-result-content"},[t("div",{staticClass:"content-main flex-1"},[e.loadSuccess?t("div",{staticClass:"load-success"},[t("img",{attrs:{id:"photo",src:e.scannerResultSrc}})]):t("div",{staticClass:"load-error"},[t("i",{staticClass:"el-icon-s-cooperation"}),t("p",[e._v("请先安装插件")])])]),t("div",{staticClass:"handle-action"},[t("el-select",{staticClass:"select",attrs:{size:"small"},on:{change:e.selectChange},model:{value:e.camera,callback:function(t){e.camera=t},expression:"camera"}},e._l(e.cameras,(function(e){return t("el-option",{key:e.value,attrs:{label:e.name,value:e.value}})})),1),e._l(e.buttonList,(function(n){return[t("el-button",{key:n.name,attrs:{type:"primary",size:"small"},on:{click:function(t){return e.handleAction(n.name)}}},[e._v(e._s(n.label))]),e._t("action")]}))],2)])])},_=[];const x="data:image/jpeg;base64,";var k={name:"scanner-high-camera-component",data:()=>({totalTimeLength:0,timeLength:"",timer:0,str1:"",str2:"",webSocket:{},scannerResultSrc:"",loadSuccess:!0,camera:0,cameras:[{name:"文档",value:0},{name:"照片",value:1}],buttonList:[{label:"拍照",name:"take-pictures"}]}),mounted(){this.webSocket=new WebSocket("ws://127.0.0.1:1818"),window.onbeforeunload=()=>{this.webSocket.send("bStopPlay()"),this.webSocket.send("bStopPlay4()")},this.webSocket.onerror=e=>{this.onError(e)},this.webSocket.onopen=e=>{this.onOpen(e)},this.webSocket.onclose=e=>{this.onClose(e),this.webSocket.send("bStopPlay()")},this.webSocket.onmessage=e=>{this.onMessage(e)},setTimeout((()=>{this.handleAction("start-main")}),800)},destroyed(){this.handleAction("stop"),this.webSocket.close()},methods:{selectChange(e){let t=1===e?"start-vice":"start-main";this.handleAction(t)},handleAction(e){switch(e){case"start-main":this.StartPlay_onclick();break;case"rotation":this.start("bStartPlayRotate(90)");break;case"start-vice":this.start("bStartPlay2");break;case"stop":this.start("bStopPlay");break;case"autofocus":this.start("AutoFocus");break;case"Black edge":this.start("vSetDelHBFlag(true)");break;case"base64":this.start("sGetBase64");break;case"start-record":this.start("bStartRec(d:\\test.avi)");break;case"stop-record":this.start("bStopRec");break;case"take-pictures":this.start("bSaveJPG(D:\\,Photo)"),this.$emit("send-scanner-result",this.scannerResultSrc);break}},timeGo(){this.totalTimeLength++;let e=0,t=0,n=0;e=Math.floor(this.totalTimeLength/3600),t=Math.floor(this.totalTimeLength/60%60),n=Math.floor(this.totalTimeLength%60),this.timeLength=e+"时"+t+"分"+n+"秒"},onMessage(e){e.data.indexOf("BarCodeTransferBegin")>=0?console.log(e.data.replace("BarCodeTransferBegin","").replace("BarCodeTransferEnd","")):e.data.indexOf("BeginbSaveJPG")>=0?(this.str1=e.data.replace("BeginbSaveJPG","").replace("EndbSaveJPG",""),console.log(this.str1)):e.data.indexOf("BeginbStopPlay")>=0?(console.log(e.data),console.log(e.data.replace("BeginbStopPlay","").replace("EndbStopPlay",""))):e.data.indexOf("BeginvSetResolution")>=0?console.log(e.data.replace("BeginvSetResolution","").replace("EndvSetResolution","")):e.data.indexOf("BeginvSetRemoveGBFlag")>=0?console.log(e.data.replace("BeginvSetRemoveGBFlag","").replace("EndvSetRemoveGBFlag","")):e.data.indexOf("BeginbFileExist")>=0?console.log(e.data.replace("BeginbFileExist","").replace("EndbFileExist","")):e.data.indexOf("BeginbStartPlay2")>=0?console.log(e.data.replace("BeginbStartPlay2","").replace("EndbStartPlay2","")):e.data.indexOf("BeginbStartPlay")>=0?console.log(e.data.replace("BeginbStartPlay","").replace("EndbStartPlay","")):e.data.indexOf("BeginbSetMode")>=0?console.log(e.data.replace("BeginbSetMode","").replace("EndbSetMode","")):this.scannerResultSrc=`${x}${e.data}`},onError(e){console.log("error",e.data),this.loadSuccess=!1},onClose(e){this.webSocket.send("bStopPlay()"),this.webSocket.send("bStopPlay4()")},onOpen(e){},start(e){return"bStartRec(d:\\test.avi)"==e&&(this.timer=window.setInterval(this.timeGo,1e3)),"bStopRec"==e&&(window.clearInterval(this.timer),this.totalTimeLength=0,console.log("录屏结束")),this.webSocket.send(e),!1},vout_OnClick(){},Stop_onclick(){this.webSocket.send("bStopPlay()")},StartPlay_onclick(){this.webSocket.send("vSetResolution(8)"),this.webSocket.send("bStartPlay()")}}},S=k,I=l(S,w,_,!1,null,"e24dd0c8",null),E=I.exports,D={name:"scanner-high-camera-jieyu",components:{ScannerHighCameraComponent:E},props:{openMode:{default:"",type:String},label:{default:"",type:String},tip:{default:"",type:String},className:{default:"",type:String},size:{default:"",type:String},type:{default:"",type:String},plain:{default:!1,type:Boolean},round:{default:!1,type:Boolean},loading:{default:!1,type:Boolean},icon:{default:"",type:String},disabled:{default:!1,type:Boolean}},data:()=>({dialogVisible:!1,scannerResult:""}),computed:{_className(){const e=["z-button"];return"text"===this.type&&e.push("i-font-size"),this.className?("string"===typeof this.className?e.push(this.className):e.push(...this.className),e):e}},methods:{openScanDialog(){this.dialogVisible=!0},setScannerResult(e){this.scannerResult=e,"dialog"!==this.openMode&&this.$emit("send-scanner-result",this.scannerResult)},sendScannerResult(){this.scannerResult&&(this.$emit("send-scanner-result",this.scannerResult),this.dialogVisible=!1)}}},A=D,O=l(A,y,C,!1,null,"ffa79d1e",null),T=O.exports;T.install=e=>{e.component(T.name,T)};var M,N=T,P=function(){var e=this,t=e._self._c;return t("div",{staticClass:"scanner-high-camera-container"},["dialog"===e.openMode?t("div",{staticClass:"scanner-high-camera-button"},[e.tip?t("el-tooltip",{staticClass:"id-card-reader-demo",attrs:{content:e.tip,placement:"top"}},[t("el-button",e._b({on:{click:e.openScanDialog}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2)],1):t("el-button",e._b({on:{click:e.openScanDialog}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2),t("el-dialog",{staticClass:"scanner-high-camera-dialog",attrs:{title:"影像扫描",visible:e.dialogVisible,width:"60%"},on:{"update:visible":function(t){e.dialogVisible=t}}},[e.dialogVisible?t("scanner-eloam-component",{on:{"send-scanner-result":e.setScannerResult},scopedSlots:e._u([{key:"action",fn:function(){return[e._t("right-action")]},proxy:!0}],null,!0)}):e._e(),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),t("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.sendScannerResult}},[e._v("确 定")])],1)],1)],1):t("scanner-eloam-component",{on:{"send-scanner-result":e.setScannerResult},scopedSlots:e._u([{key:"action",fn:function(){return[e._t("right-action")]},proxy:!0}],null,!0)})],1)},j=[],F=function(){var e=this,t=e._self._c;return t("div",{staticClass:"scanner-high-camera-component"},[t("div",{staticClass:"scanner-result-content"},[t("div",{staticClass:"content-main flex-1"},[e.loadSuccess?t("div",{staticClass:"load-success"},[t("img",{staticStyle:{width:"800px",height:"600px"},attrs:{id:"photo",src:e.scannerVideoSrc}})]):t("div",{staticClass:"load-error"},[t("i",{staticClass:"el-icon-s-cooperation"}),t("p",[e._v("请先安装插件")])])]),t("div",{staticClass:"handle-action"},[t("el-select",{staticClass:"select",attrs:{size:"small"},on:{change:e.selectChange},model:{value:e.camera,callback:function(t){e.camera=t},expression:"camera"}},e._l(e.cameras,(function(e){return t("el-option",{key:e.value,attrs:{label:e.name,value:e.value}})})),1),e._l(e.buttonList,(function(n){return[t("el-button",{key:n.name,attrs:{type:"primary",size:"small"},on:{click:function(t){return e.handleAction(n.name)}}},[e._v(e._s(n.label))]),e._t("action")]}))],2)])])},$=[];function R(e){return R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},R(e)}function L(e,t){if("object"!==R(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==R(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function B(e){var t=L(e,"string");return"symbol"===R(t)?t:String(t)}function V(e,t,n){return t=B(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class z{static startConnect(e,t,n={}){return new Promise(((i,r)=>{let a=new XMLHttpRequest;if(e=e.toUpperCase(),"GET"==e){let e="";Object.keys(n).forEach((t=>{e+=`${t}=${n[t]}&`})),e=e.substring(0,e.lastIndexOf("&")),t=t+"?"+e}else"POST"==e||r("error method: Currently only supported GET or POST method!");a.open(e,t,!0),a.setRequestHeader("Accept","application/json"),"GET"===e?a.send():a.send(JSON.stringify(n)),a.onreadystatechange=function(){if(4===this.readyState)if(200===this.status){let e=this.response;"object"!==typeof e&&(e=JSON.parse(e)),i(e)}else r(a)}}))}static async get(e){let t=await z.startConnect("GET",e);return t}static async post(e,t){let n=await z.startConnect("POST",e,t);return n}}(function(e){e["ScannerMainCamera_Base64"]="ScannerMainCamera_Base64",e["ScannerSecondaryCamera_Base64"]="ScannerSecondaryCamera_Base64",e["ReadIDCard_Base64"]="ReadIDCard_Base64"})(M||(M={}));M.ScannerMainCamera_Base64,M.ScannerSecondaryCamera_Base64,M.ReadIDCard_Base64;class W{static get mainCameraUrl(){return this.baseServiceUrl+"/video=stream&camidx=0"}static get secondaryCameraUrl(){return this.baseServiceUrl+"/video=stream&camidx=1"}static async read(e){let t={},n="";switch(e){case M.ScannerMainCamera_Base64:n=this.baseServiceUrl+"/video=grabimage",t={filepath:"base64",rotate:"0",deskew:"1",camidx:"0",ColorMode:"0",quality:"0"};break;case M.ScannerSecondaryCamera_Base64:n=this.baseServiceUrl+"/video=grabimage",t={filepath:"base64",rotate:"0",deskew:"0",camidx:"1",ColorMode:"0",quality:"0"};break;case M.ReadIDCard_Base64:n=this.baseServiceUrl+"/card=idcard";break}let i=await z.post(n,t);return i}static async scanByMainCamera(){const e=await W.read(M.ScannerMainCamera_Base64);return e.photoBase64}static async scanBySecondaryCamera(){const e=await W.read(M.ScannerSecondaryCamera_Base64);return e.photoBase64}static async idCardRead(){const e=await W.read(M.ReadIDCard_Base64);let{name:t,sex:n,birthday:i,address:r,cardID:a,nationCode:s,photoBase64:o,issueOrgan:l,validStart:c,validEnd:u}=e.IDCardInfo;const d={info:{name:t,sex:n,birthday:i.replace("-","").replace("-",""),address:r,cardId:a,nation:s,police:l,validStart:c,validEnd:u},headImage:o};return d}}V(W,"baseServiceUrl","http://127.0.0.1:38088");const H="data:image/jpg;base64,";var q={name:"scanner-eloam-component",data:()=>({totalTimeLength:0,timeLength:"",timer:0,str1:"",str2:"",webSocket:{},scannerVideoSrc:"",scannerResultSrc:"",loadSuccess:!0,camera:0,cameras:[{name:"文档",value:0},{name:"照片",value:1}],buttonList:[{label:"拍照",name:"take-pictures"}]}),created(){this.scannerVideoSrc=W.mainCameraUrl},methods:{selectChange(e){let t=1===e?"start-vice":"start-main";this.handleAction(t)},handleAction(e){switch(e){case"start-main":this.scannerVideoSrc=W.mainCameraUrl;break;case"start-vice":this.scannerVideoSrc=W.secondaryCameraUrl;break;case"take-pictures":this.takePictures();break}},async takePictures(){if(0===this.camera){const e=await W.scanByMainCamera();this.$emit("send-scanner-result",`${H}${e}`)}else{const e=await W.scanBySecondaryCamera();this.$emit("send-scanner-result",`${H}${e}`)}}}},U=q,G=l(U,F,$,!1,null,"428304e7",null),Q=G.exports,K={name:"scanner-eloam",components:{ScannerEloamComponent:Q},props:{openMode:{default:"",type:String},label:{default:"",type:String},tip:{default:"",type:String},className:{default:"",type:String},size:{default:"",type:String},type:{default:"",type:String},plain:{default:!1,type:Boolean},round:{default:!1,type:Boolean},loading:{default:!1,type:Boolean},icon:{default:"",type:String},disabled:{default:!1,type:Boolean}},data:()=>({dialogVisible:!1,scannerResult:""}),computed:{_className(){const e=["z-button"];return"text"===this.type&&e.push("i-font-size"),this.className?("string"===typeof this.className?e.push(this.className):e.push(...this.className),e):e}},methods:{openScanDialog(){this.dialogVisible=!0},setScannerResult(e){this.scannerResult=e,"dialog"!==this.openMode&&this.$emit("send-scanner-result",this.scannerResult)},sendScannerResult(){this.scannerResult&&(this.$emit("send-scanner-result",this.scannerResult),this.dialogVisible=!1)}}},Y=K,Z=l(Y,P,j,!1,null,"a80d3a26",null),X=Z.exports;X.install=e=>{e.component(X.name,X)};var J,ee=X,te=function(){var e=this,t=e._self._c;return t("div",{staticClass:"scanner-camera-container"},["dialog"===e.openMode?t("div",{staticClass:"scanner-camera-button"},[e.tip?t("el-tooltip",{staticClass:"id-card-reader-demo",attrs:{content:e.tip,placement:"top"}},[t("el-button",e._b({on:{click:e.openScanDialog}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2)],1):t("el-button",e._b({on:{click:e.openScanDialog}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2),t("el-dialog",{staticClass:"scanner-camera-dialog",attrs:{title:"影像扫描",visible:e.dialogVisible,width:"60%"},on:{"update:visible":function(t){e.dialogVisible=t}}},[e.dialogVisible?t("scanner-camera-component",{attrs:{"machine-type":e.machineType},on:{"send-scanner-result":e.setScannerResult},scopedSlots:e._u([{key:"action",fn:function(){return[e._t("right-action")]},proxy:!0}],null,!0)}):e._e(),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{attrs:{size:"small"},on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),t("el-button",{attrs:{size:"small",type:"primary"},on:{click:e.sendScannerResult}},[e._v("确 定")])],1)],1)],1):t("scanner-camera-component",{attrs:{"machine-type":e.machineType},on:{"send-scanner-result":e.setScannerResult},scopedSlots:e._u([{key:"action",fn:function(){return[e._t("right-action")]},proxy:!0}],null,!0)})],1)},ne=[],ie=function(){var e=this,t=e._self._c;return t("div",{staticClass:"scanner-high-camera-component"},[t("div",{staticClass:"scanner-result-content"},[t("div",{staticClass:"content-main flex-1"},[e.loadSuccess?t("div",{staticClass:"load-success"},[t("img",{staticStyle:{width:"800px",height:"600px"},attrs:{id:"photo",src:e.scannerVideoSrc}})]):t("div",{staticClass:"load-error"},[t("i",{staticClass:"el-icon-s-cooperation"}),t("p",[e._v("请先安装插件")])])]),t("div",{staticClass:"handle-action"},[t("el-select",{staticClass:"select",attrs:{size:"small"},on:{change:e.selectChange},model:{value:e.camera,callback:function(t){e.camera=t},expression:"camera"}},e._l(e.cameras,(function(e){return t("el-option",{key:e.value,attrs:{label:e.name,value:e.value}})})),1),[e._l(e.buttonList,(function(n){return[e._isShowButton(n.name)?t("el-button",{key:n.name,attrs:{type:"primary",size:"small"},on:{click:function(t){return e.handleAction(n.name)}}},[e._v(e._s(n.label))]):e._e()]})),e._t("action")]],2)])])},re=[];class ae{static startConnect(e,t,n={}){return new Promise(((i,r)=>{let a=new XMLHttpRequest;if(e=e.toUpperCase(),"GET"==e){let e="";Object.keys(n).forEach((t=>{e+=`${t}=${n[t]}&`})),e=e.substring(0,e.lastIndexOf("&")),t=e?t+"?"+e:t}else"POST"==e||r("error method: Currently only supported GET or POST method!");a.open(e,t,!0),a.setRequestHeader("Accept","application/json"),"GET"===e?a.send():a.send(JSON.stringify(n)),a.onreadystatechange=function(){if(4===this.readyState)if(200===this.status){let t=this.response;if("object"!==typeof t)try{t=JSON.parse(t)}catch(e){}i(t)}else r(a)}}))}static async get(e){let t=await ae.startConnect("GET",e);return t}static async post(e,t){let n=await ae.startConnect("POST",e,t);return n}}(function(e){e["ScannerCameraDeskew_Base64"]="ScannerCameraDeskew_Base64",e["ScannerCameraMerge_Base64"]="ScannerCameraMerge_Base64",e["ScannerMainCamera_Base64"]="ScannerMainCamera_Base64",e["ScannerSecondaryCamera_Base64"]="ScannerSecondaryCamera_Base64",e["ReadIDCard_Base64"]="ReadIDCard_Base64"})(J||(J={}));J.ScannerMainCamera_Base64,J.ScannerSecondaryCamera_Base64,J.ReadIDCard_Base64;class se{static get mainCameraUrl(){return this.baseServiceUrl+"/video=stream&camidx=0"}static get secondaryCameraUrl(){return this.baseServiceUrl+"/video=stream&camidx=1"}static async read(e,t){let n={},i="",r="";switch(e){case J.ScannerCameraDeskew_Base64:i=this.baseServiceUrl+"/dvideo=cameradeskew",n={camidx:"0",open:"1"},r="post";break;case J.ScannerCameraMerge_Base64:i=this.baseServiceUrl+"/compose=photos",n={outputfilepath:"",outputmaxwidth:"3000",inputimagetype:"1",outputimagetype:"0",imagelist:t.toString()},r="post";break;case J.ScannerMainCamera_Base64:i=this.baseServiceUrl+"/video=grabimage",n={filepath:"",rotate:"0",deskew:"0",deskewval:"0",camidx:"0",ColorMode:"0",quality:"0",bIsPrint1to1:"0"},r="post";break;case J.ScannerSecondaryCamera_Base64:i=this.baseServiceUrl+"/video=grabimage",n={filepath:"",rotate:"0",deskew:"0",deskewval:"0",camidx:"1",ColorMode:"0",quality:"0",bIsPrint1to1:"0"},r="post";break;case J.ReadIDCard_Base64:i=this.baseServiceUrl+"/card=idcard",r="post";break}let a=await ae[r](i,n);return a}static async scanByMainCamera(){const e=await se.read(J.ScannerMainCamera_Base64);return e.photoBase64}static async scanBySecondaryCamera(){const e=await se.read(J.ScannerSecondaryCamera_Base64);return e.photoBase64}static async mergeImage(e){const t=await se.read(J.ScannerCameraMerge_Base64,e);return t.base64}static async scanByCamera(e){switch(e){case"main":return this.scanByMainCamera();case"vice":return this.scanBySecondaryCamera()}}static async turnOnTheCamera(){}static async idCardRead(){const e=await se.read(J.ReadIDCard_Base64);var t=e.IDCardInfo,n=t.name,i=t.enname,r=t.cnname,a=t.sex,s=t.birthday,o=t.address,l=t.cardID,c=t.nationCode,u=t.issueOrgan,d=t.photoBase64,h=t.validStart,f=t.validEnd,p=t.cardType,m="",g="",v="1",b="中国";2!=p&&4!=p||(g=i,m=r||"无中文姓名",n="无中文姓名"===r?i:r||i,u="中华人民共和国国家移民管理局",v="9",b=c,c="");const y={info:{cardType:v,nationality:b,name:n,chineseName:m,englishName:g,sex:a,birthday:s,address:o,cardId:l,nation:c,police:u,validStart:h,validEnd:f},headImage:d};return y}}V(se,"baseServiceUrl","http://127.0.0.1:38088");const oe="scanner-camera-refresh-photo-event";class le extends Event{constructor(e){super(oe),V(this,"scannerResultUrl",""),this.scannerResultUrl=e}}class ce{static getGenderByIdNumber(e){if(e){let t;if(18==e.length?t=e.charAt(16):15==e.length&&(t=e.charAt(14)),t&&!isNaN(t))return parseInt(t)%2==0?"女":"男"}return""}static getBirthdayByIdNumber(e){if(e&&e&&e.length>13){const t=e.substring(6,10),n=e.substring(10,12),i=e.substring(12,14);return t+"-"+n+"-"+i}return""}static getAgeByIdNumber(e){if(e){const t=new Date,n=t.getMonth()+1,i=t.getDate();let r=t.getFullYear()-e.substring(6,10)-1;return(e.substring(10,12)<n||e.substring(10,12)===n&&e.substring(12,14)<=i)&&r++,r<=0&&(r=1),r}return""}static isForeignersIdCard(e){let t=/^[a-zA-Z]{3}[0-9]{12}$/;return t.test(e)||e.startsWith("9")}}var ue,de,he,fe;(function(e){e["ScannerCamera"]="scannerCamera",e["InteractiveTerminal"]="interactiveTerminal"})(ue||(ue={})),function(e){e["ScannerMainCamera_Base64"]="main",e["ScannerSecondaryCamera_Base64"]="vice",e["TakePhoto_Base64"]="takePhoto",e["ScannerReadCard"]="ScannerReadCard",e["InitParams"]="InitParams",e["GetSignName_Base64"]="GetSignName_Base64",e["ReadIDCard_Base64"]="ReadIDCard_Base64",e["FaceValidateWithIdCard_Base64"]="FaceValidateWithIdCard_Base64",e["FingerPrint_Base64"]="FingerPrint_Base64",e["ScanQRCode"]="ScanQRCode",e["Evaluate"]="Evaluate",e["StartProjection"]="StartProjection",e["EndProjection"]="EndProjection"}(de||(de={}));class pe{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let t="";switch(e){case ue.InteractiveTerminal:t=this.interactiveTerminalUrl;break;case ue.ScannerCamera:t=this.scannerCameraUrl;break}const n=new WebSocket(t);let i;const r=new Promise((e=>{i=e}));return n.onopen=()=>{i(!0)},n.onmessage=e=>{this.handleMessage(e)},n.onclose=()=>this.handleClose(),n.onerror=e=>this.handleError(e),this.ws=n,r}static handleError(e){for(const t in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));if(e.target.url&&!e.target.url.includes(this.interactiveTerminalUrl))throw Error("统一插件平台捷宇设备功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){let t="";if(e.origin===this.interactiveTerminalUrl){try{t=JSON.parse(e.data)}catch(n){t=""}this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}else{if(t=e.data,!t.startsWith("BarCode")&&!t.startsWith("Begin")){const e=new le(t);return window.dispatchEvent(e)}(t.indexOf("BeginbSaveJPGEx")>=0||t.indexOf("BeginReadCard")>=0)&&(this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[])}}static async read(e,t,n){if(await this.startConnect(e),1===this.ws.readyState){let e="";switch(t){case de.ScannerMainCamera_Base64:this.ws.send("vSetResolution(7)"),this.ws.send("bStopPlay()"),this.ws.send("bStartPlay()"),this.ws.send("bSetMode(3)"),e="vSetOpenInpain(1)";break;case de.ScannerSecondaryCamera_Base64:e="bStartPlay2";break;case de.TakePhoto_Base64:e="bSaveJPGEx";break;case de.ScannerReadCard:e="ReadCard(1001, C:Doccamera)";break;case de.InitParams:e=JSON.stringify({projectCode:n.projectCode,type:181});break;case de.GetSignName_Base64:e=JSON.stringify({type:3,Timeout:60,Location:"0,1,450,500|1,1,450,500",PDFPath:n.PDFPath,Retain:"test",XmlPath:""});break;case de.ReadIDCard_Base64:e=JSON.stringify({type:4});break;case de.FaceValidateWithIdCard_Base64:e=JSON.stringify({type:5});break;case de.FingerPrint_Base64:e=JSON.stringify({FileFullName:"d:\\Fingerprint.png",TimeOut:60,type:12});break;case de.ScanQRCode:e=JSON.stringify({type:61});break;case de.StartProjection:e=JSON.stringify({type:82});break;case de.EndProjection:e=JSON.stringify({type:83});break;case de.Evaluate:e=JSON.stringify({type:90,URL:n.URL});break}return this.ws.send(e),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}if(t!==de.InitParams)throw Error("统一插件平台设备未准备完成")}static async turnOnTheCamera(e){this.ws&&this.ws.close(),await pe.read(ue.ScannerCamera,e)}static async scanByCamera(){let e=await pe.read(ue.ScannerCamera,de.TakePhoto_Base64);return e.replace("BeginbSaveJPGEx","").replace("EndbSaveJPGEx","")}static async initParams(){this.ws&&this.ws.close();let e="ls8t1IYtBhOg5kwajaZsmeim/GIw0PY6NEoJ2cbNoptx678YKIqWaRVe0XPy1u5/cXLuXKW/Vufptwgo8Gc/lHMHbqiOHj7ySAqb9VCvP9KI1HAoqzPMpueyQhJskyfGk+L8/9dKK5/rySTLDuT4Un0W1o/1p9D41EDPwkAm2YY=";await pe.read(ue.InteractiveTerminal,de.InitParams,{projectCode:e})}static async signNameRead(e){let t=await pe.read(ue.InteractiveTerminal,de.GetSignName_Base64,{PDFPath:e});if(!t)throw Error("未匹配可用的捷宇信息交互终端设备");if(0!==t.ret)throw Error("读取二代身份证失败,返回值:"+t.ret+",错误信息:"+t.errMsg);return t}static async idCardReadByScanner(){let e=await pe.read(ue.ScannerCamera,de.ScannerReadCard);if(!e)throw Error("未匹配可用的捷宇高拍仪设备");let t=JSON.parse(e.replace("BeginReadCard","").replace("EndReadCard",""));if(1!==t.result)throw Error("读取二代身份证失败,返回值:"+t.ret+",错误信息:"+t.errMsg);console.log(t);let{Name:n,EnglishName:i,Sex:r,BirthDate:a,Address:s,IdNo:o,Folk:l,Agency:c,Valid:u,PhotoB64:d}=t,[h,f]=u.split("-"),p="",m="1",g="中国",v=ce.isForeignersIdCard(o);v&&(m="9",p=n,n="无中文姓名"===n?i:n,c="中华人民共和国国家移民管理局",g=l,l="");const b={info:{cardType:m,nationality:g,name:n,chineseName:p,englishName:i,sex:r,birthday:a,address:s,cardId:o,nation:l,police:c,validStart:h,validEnd:f},headImage:d};return console.log(b),b}static async idCardRead(){let e=await pe.read(ue.InteractiveTerminal,de.ReadIDCard_Base64);if(!e)throw Error("未匹配可用的捷宇信息交互终端设备");if(0!==e.ret)throw Error("读取二代身份证失败,返回值:"+e.ret+",错误信息:"+e.errMsg);let{name:t,sex:n,birth:i,addr:r,id_num:a,nation:s,base64_ID:o,depart:l,validityTime:c}=e,[u,d]=c.split("-");const h={info:{name:t,sex:n,birthday:i.replace("年","").replace("月","").replace("日",""),address:r,cardId:a,nation:s,police:l,validStart:u,validEnd:d},headImage:o};return console.log("读取二代身份证结果==>",h),h}static async faceValidateWithIdCardRead(){let e=await pe.read(ue.InteractiveTerminal,de.FaceValidateWithIdCard_Base64);if(!e)throw Error("未匹配可用的捷宇信息交互终端设备");if(0!==e.ret)throw Error("读取二代身份证失败,返回值:"+e.ret+",错误信息:"+e.errMsg);let{name:t,sex:n,birth:i,addr:r,id_num:a,nation:s,base64_ID:o,depart:l,validityTime:c,base64_Face:u}=e,[d,h]=c.split("-");const f={idCard:{info:{name:t,sex:n,birthday:i.replace("年","").replace("月","").replace("日",""),address:r,cardId:a,nation:s,police:l,validStart:d,validEnd:h},headImage:o},faceimg:e.base64_Face};return console.log("读取二代身份证结果==>",f),f}static async mergeImage(e,t){return new Promise(((n,i)=>{let r=document.createElement("canvas");r.width=600,r.height=360;let a=r.getContext("2d");a.rect(0,0,r.width,r.height),a.fillStyle="#fff",a.fill();let s=new Image;s.src="data:image/png;base64,"+e,s.crossOrigin="Anonymous",s.onload=function(){a.drawImage(s,0,0,500,360);let e=new Image;e.src="data:image/png;base64,"+t,e.crossOrigin="Anonymous",e.onload=function(){a.drawImage(e,320,0,256,360);let t=r.toDataURL("image/png");t=t.replace("data:image/png;base64,",""),n(t)}}}))}}V(pe,"scannerCameraUrl","ws://127.0.0.1:1818"),V(pe,"interactiveTerminalUrl","ws://127.0.0.1:1919"),V(pe,"ws",void 0),V(pe,"requestStore",[]);class me{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const e=new WebSocket(this.scannerCameraUrl);let t;const n=new Promise((e=>{t=e}));return e.onopen=()=>{t(!0)},e.onmessage=e=>{this.handleMessage(e)},e.onclose=()=>this.handleClose(),e.onerror=()=>this.handleError(),this.ws=e,n}static handleError(){throw Error("统一插件平台方正高影仪设备功能加载失败")}static handleClose(){this.ws&&this.ws.close()}static handleMessage(e){let t=e.data?JSON.parse(e.data):{};if("video_stream"===t.function){const e=new le(t.image_base64);return window.dispatchEvent(e)}}static async read(e){if(await this.startConnect(),1!==this.ws.readyState)throw Error("统一插件平台设备未准备完成");this.ws.send(JSON.stringify({function:"open_camera",camidx:"0"})),this.ws.send(JSON.stringify(e))}static async turnOnTheCamera(){let e={function:"set_cutpage",params:{cutpage:"false"}};await me.read(e)}}V(me,"scannerCameraUrl","ws://127.0.0.1:38088"),V(me,"ws",void 0),function(e){e["TurnOnCamera"]="turnOnCamera",e["TakePhoto_Base64"]="TakePhoto_Base64"}(he||(he={}));class ge{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const e=new WebSocket(this.scannerCameraUrl);let t;const n=new Promise((e=>{t=e}));return e.onopen=()=>{t(!0)},e.onmessage=e=>{this.handleMessage(e)},e.onclose=()=>this.handleClose(),e.onerror=()=>this.handleError(),this.ws=e,n}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台紫图速拍仪设备功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}));this.ws&&this.ws.close()}static handleMessage(e){let t=e.data?JSON.parse(e.data):{};if("ShowVideo"===t.FuncName){const e=new le(t.result);return window.dispatchEvent(e)}"CaptureBase64"!==t.FuncName&&"CaptureDualBase64"!==t.FuncName||(this.requestStore.forEach((({resolve:e})=>{e(t.result)})),this.requestStore=[])}static async read(e,t){if(await this.startConnect(),1===this.ws.readyState){let t="";switch(e){case he.TurnOnCamera:this.ws.send(JSON.stringify({Func:"StartRunMain",arg:0})),t=JSON.stringify({Func:"ChangeCutType",arg:0});break;case he.TakePhoto_Base64:this.ws.send(JSON.stringify({Func:"SetJPGQuality",arg:70})),this.ws.send(JSON.stringify({Func:"SetColorType",arg:"彩色"})),this.ws.send(JSON.stringify({Func:"SetBoardColor",arg:0})),this.ws.send(JSON.stringify({Func:"SetCamDPI",arg:720})),t=JSON.stringify({Func:"CaptureBase64",arg:0})}return this.ws.send(t),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}throw Error("统一插件平台设备未准备完成")}static async turnOnTheCamera(){await ge.read(he.TurnOnCamera)}static async scanByCamera(){const e=await ge.read(he.TakePhoto_Base64);return e}}V(ge,"scannerCameraUrl","ws://127.0.0.1:8341"),V(ge,"ws",void 0),V(ge,"requestStore",[]),function(e){e["ReadCard_Base64"]="ReadCard_Base64",e["StartSignName"]="StartSignName",e["GetSignNameStatus"]="GetSignNameStatus",e["GetSignName_Base64"]="GetSignName_Base64",e["FaceValidateWithIdCard_Base64"]="FaceValidateWithIdCard_Base64",e["TurnOnTheCamera"]="TurnOnTheCamera",e["ScannerCamera"]="ScannerCamera",e["StopCamera"]="StopCamera"}(fe||(fe={}));class ve{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.OPEN)return this;const t=new WebSocket(this.webSocketUrl);let n;const i=new Promise((e=>{n=e}));return t.onopen=()=>{n(!0)},t.onmessage=e=>{this.handleMessage(e)},t.onclose=()=>this.handleClose(),t.onerror=()=>this.handleError(),this.ws=t,i}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台设备功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){let t="";try{t=JSON.parse(e.data)}catch(n){t=""}if("FaceScreenStream"===t.method||"VideoStream"===t.method){const e=new le(t.imgBase64);return window.dispatchEvent(e)}this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[]}static async read(e){if(await this.startConnect(e),1===this.ws.readyState){let t;switch(e){case fe.ReadCard_Base64:t=JSON.stringify({method:"ReadIDCard_Base64",args:{outTimes:30,cardReader:0}});break;case fe.FaceValidateWithIdCard_Base64:t=JSON.stringify({method:"FaceValidateWithIdCard_Base64",args:{outTimes:30,score:75}});break;case fe.StartSignName:t=JSON.stringify({method:"SignNameScreen_Start",args:{outTimes:30}});break;case fe.GetSignNameStatus:t=JSON.stringify({method:"SignNameScreen_Status",args:{}});break;case fe.GetSignName_Base64:t=JSON.stringify({method:"SignNameScreen_Get",args:{}});break;case fe.TurnOnTheCamera:t=JSON.stringify({method:"VideoStart",args:{}});break;case fe.ScannerCamera:t=JSON.stringify({method:"GetCameraImage",args:{imagePath:""}});break;case fe.StopCamera:t=JSON.stringify({method:"VideoStop",args:{}});break}return this.ws.send(t),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}throw Error("统一插件平台设备未准备完成")}static async idCardRead(){const e=await ve.read(fe.ReadCard_Base64);if(!e)throw Error("未匹配到可用的读取设备");if(0!==e.retVal)throw this.ws&&this.ws.close(),Error("读取二代身份证失败,返回值:"+e.retVal+",错误信息:"+e.errMsg);let t=e.idInfo,{name:n,ENfullname:i,Nationality:r,sex:a,birthday:s,address:o,number:l,nation:c,organs:u,signdate:d,validterm:h}=t,f="",p="1",m="中国";1==e.cardType||2==e.cardType?(p="9",f=n,n=n||i,u=u||"中华人民共和国国家移民管理局",m=r,c=""):p="1";const g={info:{cardType:p,nationality:m,name:n,chineseName:f,englishName:i,sex:a,birthday:s.replace("-","").replace("-",""),address:o,cardId:l,nation:c,police:u,validStart:d,validEnd:h},headImage:e.idPhotoBase64};return this.ws&&this.ws.close(),g}static async socialSecurityCardRead(){const e=await ve.read(fe.ReadCard_Base64);if(!e)throw Error("未匹配可用的读取设备");if(0!==e.retVal)throw this.ws&&this.ws.close(),Error("读取社保卡基本信息失败,返回值:"+e.retVal+",错误信息:"+e.idInfo);const t=e.idInfo;let{name:n,sex:i,birthday:r,number:a,cardnumber:s}=t;const o={info:{name:n,sex:i,birthday:r,address:"",cardId:a,cardnumber:s},headImage:""};return this.ws&&this.ws.close(),o}static async faceValidateWithIdCardRead(){const e=await ve.read(fe.FaceValidateWithIdCard_Base64);if("FaceValidateWithIdCard_Base64"===e.method&&"0"==e.retVal){const t=e.idInfo;let{name:n,ENfullname:i,Nationality:r,sex:a,birthday:s,address:o,number:l,nation:c,organs:u,signdate:d,validterm:h}=t,f="",p="1",m="中国";1==e.cardType||2==e.cardType?(p="9",f=n,n=n||i,u=u||"中华人民共和国国家移民管理局",m=r,c=""):p="1";const g={idCard:{info:{cardType:p,nationality:m,name:n,chineseName:f,englishName:i,sex:a,birthday:s.replace("-","").replace("-",""),address:o,cardId:l,nation:c,police:u,validStart:d,validEnd:h},headImage:e.idPhotoBase64},faceimg:e.scenceBase64,score:e.score};return this.ws&&this.ws.close(),g}this.ws&&this.ws.close()}static async signNameRead(){return new Promise((async(e,t)=>{const n=await ve.read(fe.StartSignName);"SignNameScreen_Start"===n.method&&(0!==n.retVal?(this.ws&&this.ws.close(),t(`开始签名失败,返回值:${n.retVal},错误信息:${n.errMsg}`)):this.timer||(this.timer=setInterval((async()=>{let n=await ve.read(fe.GetSignNameStatus);if(2==n.signScreenStatus){clearInterval(this.timer),this.timer=null;let t=await ve.read(fe.GetSignName_Base64);this.ws&&this.ws.close(),e(t.signPicBase64)}else 3==n.retVal&&(clearInterval(this.timer),this.timer=null,this.ws&&this.ws.close(),t("签字结果=>签字失败,或意外中断!"))}),2e3)))}))}static async turnOnTheCamera(){await ve.read(fe.TurnOnTheCamera)}static async scanByCamera(){let e=await ve.read(fe.ScannerCamera);if("GetCameraImage"===e.method&&0==e.retVal)return e.cameraImgBase64}static async stopCamera(){await ve.read(fe.StopCamera);this.ws&&this.ws.close()}}V(ve,"webSocketUrl","ws://127.0.0.1:5847"),V(ve,"ws",void 0),V(ve,"requestStore",[]),V(ve,"timer",null);const be="data:image/jpg;base64,";var ye={name:"scanner-camera-component",props:{machineType:{default:0,type:Number}},data:()=>({scannerVideoSrc:"",scannerResultSrc:"",loadSuccess:!0,camera:0,cameras:[{name:"文档",value:0},{name:"照片",value:1}],buttonList:[{label:"拍照",name:"take-pictures"},{label:"合并拍照",name:"take-pictures-merge"}],mergeImageList:[]}),watch:{machineType:function(){let e=1===this.camera?"start-vice":"start-main";this.handleAction(e)}},created(){this.handleAction("start-main"),window.addEventListener(oe,(e=>{e.type===oe&&(this.scannerVideoSrc=`${be}${e.scannerResultUrl}`)})),window.addEventListener("beforeunload",this.beforeunload)},async destroyed(){window.removeEventListener("beforeunload",this.beforeunload)},methods:{async beforeunload(e){switch(e.returnValue="确定要离开吗?",this.machineType){case 6:await ve.stopCamera();break}},selectChange(e){let t=1===e?"start-vice":"start-main";this.handleAction(t)},async takePictures(){switch(this.machineType){case 0:let e=await pe.scanByCamera();this.$emit("send-scanner-result",`${be}${e}`);break;case 3:this.$emit("send-scanner-result",this.scannerVideoSrc);break;case 4:{let e=await ge.scanByCamera();this.$emit("send-scanner-result",`${be}${e}`);break}case 5:{let e=0===this.camera?"main":"vice";const t=await se.scanByCamera(e);console.log("良田=>",t),t?this.$emit("send-scanner-result",`${be}${t}`):this.$message.error("拍照出错,请检查设备是否连接成功");break}case 6:{let e=await ve.scanByCamera();this.$emit("send-scanner-result",`${be}${e}`);break}}},async handleStartMain(){switch(this.machineType){case 0:await pe.turnOnTheCamera("main");break;case 3:await me.turnOnTheCamera();break;case 4:await ge.turnOnTheCamera();break;case 5:this.scannerVideoSrc=se.mainCameraUrl,setTimeout((()=>{se.read(J.ScannerCameraDeskew_Base64)}),2e3);break;case 6:await ve.turnOnTheCamera();break}},async handleStartVice(){switch(this.machineType){case 0:await pe.turnOnTheCamera("vice");break;case 3:await me.turnOnTheCamera();break;case 4:await ge.turnOnTheCamera();break;case 5:this.scannerVideoSrc=se.secondaryCameraUrl;break;case 6:await ve.turnOnTheCamera();break}},async takePictureMerge(){const e=await se.scanByCamera("main");if(e){if(this.mergeImageList.push(e),1===this.mergeImageList.length&&this.$message.success("第一张拍摄成功,请拍第二张"),2===this.mergeImageList.length){let e=await se.mergeImage(this.mergeImageList);this.mergeImageList=[],this.$message.success("合并成功"),this.$emit("send-scanner-result",`${be}${e}`)}}else this.$message.error("合并拍照出错,请检查设备是否连接成功")},_isShowButton(e){switch(e){case"take-pictures-merge":return 5===this.machineType;default:return!0}},handleAction(e){switch(e){case"start-main":this.handleStartMain();break;case"start-vice":this.handleStartVice();break;case"take-pictures":this.takePictures();break;case"take-pictures-merge":this.takePictureMerge();break}}}},Ce=ye,we=l(Ce,ie,re,!1,null,"dc9fa1f2",null),_e=we.exports,xe={name:"scanner-camera",components:{ScannerCameraComponent:_e},props:{machineType:{default:0,type:Number},openMode:{default:"",type:String},label:{default:"",type:String},tip:{default:"",type:String},className:{default:"",type:String},size:{default:"",type:String},type:{default:"",type:String},plain:{default:!1,type:Boolean},round:{default:!1,type:Boolean},loading:{default:!1,type:Boolean},icon:{default:"",type:String},disabled:{default:!1,type:Boolean}},data:()=>({dialogVisible:!1,scannerResult:""}),computed:{_className(){const e=["z-button"];return"text"===this.type&&e.push("i-font-size"),this.className?("string"===typeof this.className?e.push(this.className):e.push(...this.className),e):e}},methods:{openScanDialog(){this.dialogVisible=!0},setScannerResult(e){this.scannerResult=e,"dialog"!==this.openMode&&this.$emit("send-scanner-result",this.scannerResult)},sendScannerResult(){this.scannerResult&&(this.$emit("send-scanner-result",this.scannerResult),this.dialogVisible=!1)}}},ke=xe,Se=l(ke,te,ne,!1,null,"00e9072f",null),Ie=Se.exports;Ie.install=e=>{e.component(Ie.name,Ie)};var Ee=Ie,De=function(){var e=this,t=e._self._c;return e.tip?t("el-tooltip",{staticClass:"id-card-reader-eloam",attrs:{content:e.tip,placement:"top"}},[t("el-button",e._b({on:{click:e.handleClick}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2)],1):t("el-button",e._b({on:{click:e.handleClick}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2)},Ae=[],Oe={name:"id-card-reader-eloam",props:{label:{default:"",type:String},tip:{default:"",type:String},className:{default:"",type:String},size:{default:"mini",type:String},type:{default:"primary",type:String},plain:{default:!1,type:Boolean},round:{default:!1,type:Boolean},loading:{default:!1,type:Boolean},icon:{default:"el-icon-postcard",type:String},disabled:{default:!1,type:Boolean}},computed:{_className(){const e=["z-button"];return"text"===this.type&&e.push("i-font-size"),this.className?("string"===typeof this.className?e.push(this.className):e.push(...this.className),e):e}},methods:{async handleClick(){let e=await W.idCardRead();this.$emit("click",e)}}},Te=Oe,Me=l(Te,De,Ae,!1,null,"5b7ce781",null),Ne=Me.exports;Ne.install=e=>{e.component(Ne.name,Ne)};var Pe,je,Fe=Ne,$e=function(){var e=this,t=e._self._c;return e.tip?t("el-tooltip",{staticClass:"id-card-reader-button",attrs:{content:e.tip,placement:"top"}},[e.showIDCardChrome?t("embed",{attrs:{clsid:"{E6B50A65-EDFB-4394-B092-A8C6E966C0E6}",type:"application/x-itst-activex",width:"0",height:"0",name:"IDCard_chrome",id:"IDCard_chrome"}}):e._e(),t("el-button",e._b({on:{click:e.handleClick}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e._t("default",(function(){return[e._v(e._s(e.label))]}))],2),t("canvas",{staticStyle:{display:"none"},attrs:{id:"canvas",width:"500",height:"360"}})],1):t("el-button",e._b({on:{click:e.handleClick}},"el-button",{disabled:e.disabled,icon:e.icon,loading:e.loading,plain:e.plain,round:e.round,size:e.size,type:e.type,class:e._className},!1),[e.showIDCardChrome?t("embed",{attrs:{clsid:"{E6B50A65-EDFB-4394-B092-A8C6E966C0E6}",type:"application/x-itst-activex",width:"0",height:"0",name:"IDCard_chrome",id:"IDCard_chrome"}}):e._e(),e._t("default",(function(){return[e._v(e._s(e.label))]})),t("canvas",{staticStyle:{display:"none"},attrs:{id:"canvas",width:"500",height:"360"}})],2)},Re=[];(function(e){e["idcard"]="sfz",e["jlsfz"]="jlsfz",e["camera"]="sxt",e["ywSign"]="yw",e["hwSign"]="hwsign"})(Pe||(Pe={}));class Le{static startConnect(e=Pe.idcard){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let t=this.idcardWebSocketUrl;switch(e){case Pe.idcard:t=this.idcardWebSocketUrl;break;case Pe.jlsfz:t=this.jlsfzWebSocketUrl}const n=new WebSocket(t);let i;const r=new Promise((e=>{i=e}));return n.onopen=()=>{i(!0)},n.onmessage=e=>this.handleMessage(e),n.onclose=()=>this.handleClose(),n.onerror=()=>this.handleError(),this.ws=n,r}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台读取身份证功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){let t="";try{t=JSON.parse(e.data)}catch(n){t=""}this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(e=Pe.idcard){if(await this.startConnect(e),1===this.ws.readyState)return this.ws.send(e),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}));throw Error("统一插件平台读取身份证未准备完成")}static async idCardCommonRead(){let e;for(const t of[Pe.jlsfz,Pe.idcard]){const n=await Le.read(t);if(n&&n.hasOwnProperty("info")){e=n;break}}if(e)return e;throw Error("统一插件平台未匹配可用的读卡器")}}V(Le,"idcardWebSocketUrl","ws://127.0.0.1:8152/SFZManage"),V(Le,"jlsfzWebSocketUrl","ws://127.0.0.1:8152/JLSFZManage"),V(Le,"ws",void 0),V(Le,"requestStore",[]);class Be{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let e=this.cameraWebSocketUrl;const t=new WebSocket(e);let n;const i=new Promise((e=>{n=e}));return t.onopen=()=>{n(!0)},t.onmessage=e=>this.handleMessage(e),t.onclose=()=>this.handleClose(),t.onerror=()=>this.handleError(),this.ws=t,i}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台读取拍照功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){let t=e.data;this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(){if(await this.startConnect(),1===this.ws.readyState)return this.ws.send(Pe.camera),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}));throw Error("统一插件平台读取拍照未准备完成")}}V(Be,"cameraWebSocketUrl","ws://127.0.0.1:8152/SXTManage"),V(Be,"ws",void 0),V(Be,"requestStore",[]);class Ve{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let t=this.signWebSocketUrl;e===Pe.hwSign&&(t=this.hwSignWebSocketUrl);const n=new WebSocket(t);let i;const r=new Promise((e=>{i=e}));return n.onopen=()=>{i(!0)},n.onmessage=e=>this.handleMessage(e),n.onclose=()=>this.handleClose(),n.onerror=()=>this.handleError(),this.ws=n,r}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台签字板加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){let t=e.data;this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(e=Pe.ywSign){if(await this.startConnect(e),1===this.ws.readyState)return console.log("签字板连接成功"),this.ws.send(e),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}));throw Error("统一插件平台签字板未准备完成")}}V(Ve,"signWebSocketUrl","ws://127.0.0.1:8152/chromeManage"),V(Ve,"hwSignWebSocketUrl","ws://127.0.0.1:8152/HWSIGNManage"),V(Ve,"ws",void 0),V(Ve,"requestStore",[]),function(e){e["iReadCardBas"]="iReadCardBas",e["GetSignName_Base64"]="GetSignName_Base64",e["ReadIDCard_Base64"]="ReadIDCard_Base64",e["FaceValidateWithIdCard_Base64"]="FaceValidateWithIdCard_Base64",e["FingerPrint_Base64"]="FingerPrint_Base64"}(je||(je={}));const ze={[je.iReadCardBas]:"读取社保卡",[je.GetSignName_Base64]:"获取签名",[je.ReadIDCard_Base64]:"读取二代身份证",[je.FaceValidateWithIdCard_Base64]:"人证比对",[je.FingerPrint_Base64]:"获取指纹"};class We{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let t="";switch(e){case je.FingerPrint_Base64:t=this.fingerPrintBasWebSocketUrl;break;default:t=this.iReadCardBasWebSocketUrl;break}const n=new WebSocket(t);let i;const r=new Promise((e=>{i=e}));return n.onopen=()=>{i(!0)},n.onmessage=t=>{e===je.FingerPrint_Base64&&(t={...t,data:JSON.stringify({fingerPrintInfo:t.data})}),this.handleMessage(t)},n.onclose=()=>this.handleClose(),n.onerror=()=>this.handleError(),this.ws=n,r}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台E窗通设备功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){let t="";try{t=JSON.parse(e.data)}catch(n){t=""}this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(e){await this.startConnect(e);const t=ze[e];if(1===this.ws.readyState){let n;switch(e!==je.FingerPrint_Base64&&console.log(t+"连接成功"),e){case je.ReadIDCard_Base64:n=JSON.stringify({method:e,args:{outTimes:30,cardReader:1}});break;case je.FaceValidateWithIdCard_Base64:n=JSON.stringify({method:e,args:{outTimes:30,cardReader:1,cameraType:0}});break;case je.iReadCardBas:n=JSON.stringify({method:e,args:{icType:"1"}});break;case je.FingerPrint_Base64:n="getimgae,1,0,288,0";break;default:n=JSON.stringify({method:e,args:{outTimes:30}});break}return this.ws.send(n),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}throw Error("统一插件平台"+t+"未准备完成")}static async idCardRead(e=je.ReadIDCard_Base64){const t=await We.read(je.ReadIDCard_Base64);if(console.log("读取二代身份证==>",t),!t)throw Error("未匹配可用的E窗通读取设备");if(0!==t.retVal)throw Error("读取二代身份证失败,返回值:"+t.retVal+",错误信息:"+t.errMsg);const n=t.idInfo.data,{name:i,sex:r,birthday:a,address:s,id_num:o,nations:l}=n,c={info:{name:i,sex:r,birthday:a.replace("-","").replace("-",""),address:s,cardId:o,nation:l},headImage:t.idPhotoPicBase64};return console.log("读取二代身份证结果==>",c),c}static async faceValidateWithIdCardRead(){const e=await We.read(je.FaceValidateWithIdCard_Base64);if(console.log("人证比对==>",e),!e)throw Error("未匹配可用的E窗通读取设备");if(0!==e.retVal)throw Error("人证比对失败,返回值:"+e.retVal+",错误信息:"+e.errMsg);const t=e.idInfo.data,{name:n,sex:i,birth:r,address:a,idNo:s,nation:o}=t,l={idCard:{info:{name:n,sex:i,birthday:r.replace("-","").replace("-",""),address:a,cardId:s,nation:o},headImage:e.idPhotoBase64},faceimg:e.scenceBase64};return console.log("人证比对结果==>",l),l}static async socialSecurityCardRead(){const e=await We.read(je.iReadCardBas);if(!e)throw Error("未匹配可用的E窗通读取设备");if(0!==e.retVal)throw Error("读取社保卡基本信息失败,返回值:"+e.retVal+",错误信息:"+e.outInfo);const t=e.outInfo,n=t.split("|"),i=n[1],r=ce.getBirthdayByIdNumber(i).replace("-","").replace("-",""),a=ce.getGenderByIdNumber(i),s={info:{name:n[4],sex:a,birthday:r,address:"",cardId:i},headImage:""};return console.log("读取社保卡==>",e),s}static async signNameRead(){const e=await We.read(je.GetSignName_Base64);if(!e)throw Error("未匹配可用的E窗通读取设备");if(0!==e.retVal)throw Error("读取签名失败,返回值:"+e.retVal+",错误信息:"+e.errMsg);return console.log("获取签名==>",e),e.signPicBase64}static async fingerPrintRead(){let e=30;async function t(){const n=await We.read(je.FingerPrint_Base64);if(!n)throw Error("未匹配可用的E窗通读取设备");let i=n.fingerPrintInfo.split("|");console.log(i);let r=Number(i[1]);return r>1?e>0?(e--,await t()):{status:"error",data:"已超时,请重新操作,按压指纹"}:{status:"success",data:n.fingerPrintInfo}}let{status:n,data:i}=await t();if("error"===n)throw Error(i);{let[e,t,n,r,a]=i.split("|");return{method:e,result:t,quality:n,image:r,featureCode:a}}}}var He;V(We,"iReadCardBasWebSocketUrl","ws://127.0.0.1:5847"),V(We,"fingerPrintBasWebSocketUrl","ws://127.0.0.1:9000"),V(We,"ws",void 0),V(We,"requestStore",[]),function(e){e[e["ReadSocialSecurityCard"]=1002]="ReadSocialSecurityCard",e[e["ReadIDCard"]=1003]="ReadIDCard"}(He||(He={}));class qe{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const e=this.HaDWebSocketUrl,t=new WebSocket(e);let n;const i=new Promise((e=>{n=e}));return t.onopen=()=>{n(!0)},t.onmessage=e=>this.handleMessage(e),t.onclose=()=>this.handleClose(),t.onerror=()=>this.handleError(),this.ws=t,i}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台华大读卡器功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){const t=JSON.parse(e.data);this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(e){if(await this.startConnect(),1===this.ws.readyState){let t;1003!==e&&1002!==e||(t={tsCode:e.toString(),picFilePath:"d:\\zp.bmp"});const n=JSON.stringify(t);return this.ws.send(n),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}throw Error("统一插件平台设备未准备完成")}static async idCardRead(){const e=await qe.read(He.ReadIDCard);if(console.log("读取二代身份证==>",e),!e)throw Error("未匹配可用的读取设备");const t=e.cardInfo.split("|")[1],n=e.cardInfo.split("|")[2],i=e.cardInfo.split("|")[3],r=e.cardInfo.split("|")[4],a=e.cardInfo.split("|")[5],s=e.cardInfo.split("|")[6],o=(e.cardInfo.split("|")[7],e.cardInfo.split("|")[8],e.cardInfo.split("|")[9],e.cardInfo.split("|")[10]),l={info:{name:t,sex:n,birthday:r,address:a,cardId:s,nation:i},headImage:o};return console.log("读取二代身份证结果==>",l),l}static async socialSecurityCardRead(){const e=await qe.read(He.ReadSocialSecurityCard);if(!e)throw Error("未匹配可用的读取设备");const t=e.cardInfo.split("|")[1],n=e.cardInfo.split("|")[2],i=ce.getBirthdayByIdNumber(t).replace("-","").replace("-",""),r=ce.getGenderByIdNumber(t),a={info:{name:n,sex:r,birthday:i,address:"",cardId:t},headImage:""};return console.log("读取社保卡==>",e),a}}V(qe,"HaDWebSocketUrl","ws://127.0.0.1:36669/"),V(qe,"ws",void 0),V(qe,"requestStore",[]);var Ue,Ge=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);function Qe(e){var t,n,i,r,a,s,o;s=e.length,a=0,o="";while(a<s){do{t=Ge[255&e.charCodeAt(a++)]}while(a<s&&-1==t);if(-1==t)break;do{n=Ge[255&e.charCodeAt(a++)]}while(a<s&&-1==n);if(-1==n)break;o+=String.fromCharCode(t<<2|(48&n)>>4);do{if(i=255&e.charCodeAt(a++),61==i)return o;i=Ge[i]}while(a<s&&-1==i);if(-1==i)break;o+=String.fromCharCode((15&n)<<4|(60&i)>>2);do{if(r=255&e.charCodeAt(a++),61==r)return o;r=Ge[r]}while(a<s&&-1==r);if(-1==r)break;o+=String.fromCharCode((3&i)<<6|r)}return o}function Ke(e){var t,n,i,r,a,s;t="",i=e.length,n=0;while(n<i)switch(r=e.charCodeAt(n++),r>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:t+=e.charAt(n-1);break;case 12:case 13:a=e.charCodeAt(n++),t+=String.fromCharCode((31&r)<<6|63&a);break;case 14:a=e.charCodeAt(n++),s=e.charCodeAt(n++),t+=String.fromCharCode((15&r)<<12|(63&a)<<6|(63&s)<<0);break}return t}(function(e){e["ReadIDCard"]="$=Action|127.0.0.1|1352"})(Ue||(Ue={}));class Ye{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const t=this.MRAdbWebSocketUrl,n=new WebSocket(t);let i;const r=new Promise((e=>{i=e}));return n.onopen=()=>{n.send(e),i(!0)},n.onmessage=e=>this.handleMessage(e),n.onclose=()=>this.handleClose(),n.onerror=()=>this.handleError(),this.ws=n,r}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}))}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){const t=JSON.parse(e.data);this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(e){return await this.startConnect(e),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}static async idCardRead(){const e=await Ye.read(Ue.ReadIDCard);if(console.log("中正智能人证核验返回==>",e),!e)throw Error("未匹配可用的读取设备");const{result:t,data:n}=e;switch(t){case-1:throw Error("服务器IP地址或者服务端口错误");case-2:throw Error("输入的发送数据参数非法");case-3:throw Error("连接服务器失败");case-4:throw Error("发送数据失败");case-5:throw Error("接收应答数据超时");case-6:throw Error("接收应答数据失败");case-7:throw Error("输出应答数据参数非法");case-8:throw Error("Websocket无法识别命令字");case-9:throw Error("Websocket解析命令字错误");case-10:throw Error("Websocket base64编码失败");case-11:throw Error("指纹驱动未安装或者未启动");case 0:{const e=Ke(Qe(n));console.log("中正智能人证核验结果==>",e);const t=e.split("$"),i=t[2].split("=#=")[1],r=t[3].split("=#=")[1],a=t[10].split("=#=")[1],s=t[6].split("=#=")[1],o=t[5].split("=#=")[1],l=t[4].split("=#=")[1],c=(t[11].split("=#=")[1],t[8].split("=#=")[1]),u=t[9].split("=#=")[1],d={idCard:{info:{name:i,sex:r,birthday:s,address:o,cardId:l,nation:a},headImage:c},faceimg:u};return console.log("中正智能人证核验结果转换==>",{name:i,sex:r,birthday:s,address:o,cardId:l,nation:a}),d}}return""}}V(Ye,"MRAdbWebSocketUrl","ws://127.0.0.1:8003/finger"),V(Ye,"ws",void 0),V(Ye,"requestStore",[]);var Ze=__webpack_require__(1478),Xe=function(){var e=this,t=e._self._c;return e.visibility?t("el-dialog",{staticClass:"face-auth-dialog",attrs:{title:"人脸识别",top:"5vh",width:"1280px",visible:e.visibility,"close-on-click-modal":!1},on:{"update:visible":function(t){e.visibility=t}}},[t("el-container",[t("el-aside",{attrs:{width:"900px"}},[t("zs-card",{attrs:{title:"身份证信息读取"}},[t("div",{staticClass:"idcard-photo"},[t("div",{staticClass:"flex-1"},[t("img",{staticStyle:{width:"433px",height:"278px"},attrs:{src:__webpack_require__(2234)}}),t("span",{staticClass:"idcard-info name"},[e._v(e._s(e.IDInfo.name))]),t("span",{staticClass:"idcard-info sex"},[e._v(e._s(e.IDInfo.sex))]),t("span",{staticClass:"idcard-info nation"},[e._v(e._s(e.IDInfo.nation))]),t("span",{staticClass:"idcard-info year"},[e._v(e._s(e.birthYear))]),t("span",{staticClass:"idcard-info month"},[e._v(e._s(e.birthMonth))]),t("span",{staticClass:"idcard-info day"},[e._v(e._s(e.birthDay))]),t("span",{staticClass:"idcard-info address"},[e._v(e._s(e.IDInfo.address))]),t("span",{staticClass:"idcard-info idnumber"},[e._v(e._s(e.IDInfo.cardId))])]),t("div",[t("img",{staticStyle:{width:"433px",height:"278px"},attrs:{src:__webpack_require__(4923)}}),t("span",{staticClass:"idcard-info qfjg"},[e._v(e._s(e.IDInfo.police))]),t("span",{staticClass:"idcard-info yxrq"},[e._v(e._s(e.validDate))])])])])],1),t("el-main",[t("zs-card",{staticClass:"camera",attrs:{title:"摄像头"},scopedSlots:e._u([{key:"extra",fn:function(){return[t("el-button",{attrs:{type:"primary",size:"mini"},on:{click:e.veriface}},[e._v("开始识别")])]},proxy:!0}],null,!1,3429989024)},[t("div",{staticStyle:{width:"320px",height:"240px"},attrs:{id:"camera_row"}})])],1)],1),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},e._l(e.buttonList,(function(n){return t("el-button",e._b({key:n.name,on:{click:function(t){return e.buttonClickEvent(n.name)}}},"el-button",n,!1),[e._v(e._s(n.label)+" ")])})),1)],1):e._e()},Je=[],et={name:"face-auth-dialog",data:()=>({visibility:!0,buttonList:[{name:"cancel",label:"取消",size:"small"},{name:"sure",label:"确定",type:"primary",size:"small",icon:"el-icon-success"}],idCardInfo:{info:{name:"",sex:"",nation:"",birthday:"",address:"",cardId:"",police:"",validStart:"",validEnd:"",sexCode:"",nationCode:""},headImage:void 0},verifaceData:verifaceData}),computed:{IDInfo(){return this.idCardInfo.info},birthYear(){return this.idCardInfo.info.birthday?this.idCardInfo.info.birthday.slice(0,4):""},birthMonth(){return this.idCardInfo.info.birthday?this.idCardInfo.info.birthday.slice(4,6):""},birthDay(){return this.idCardInfo.info.birthday?this.idCardInfo.info.birthday.slice(6,8):""},validDate(){return this.idCardInfo.info.validStart&&this.idCardInfo.info.validEnd?this.idCardInfo.info.validStart+"-"+this.idCardInfo.info.validEnd:""}},mounted(){this.$nextTick((()=>{(0,Ze.xj)()}))},methods:{async veriface(){const e=await Ze.g$.getElement(4);this.idCardInfo=e.idCard,this.verifaceData=e},buttonClickEvent(e){switch(e){case"cancel":this.visibility=!1;break;case"sure":this.$emit("close",this.verifaceData),this.visibility=!1;break}}}},tt=et,nt=l(tt,Xe,Je,!1,null,null,null),it=nt.exports,rt=function(){var e=this,t=e._self._c;return e.visibility?t("el-dialog",{staticClass:"face-auth-dialog",attrs:{title:"拍照",top:"5vh",width:"620px",visible:e.visibility,"close-on-click-modal":!1},on:{"update:visible":function(t){e.visibility=t}}},[t("div",{staticClass:"image-container"},[t("img",{directives:[{name:"show",rawName:"v-show",value:!e.scannerPhotoSrc,expression:"!scannerPhotoSrc"}],staticStyle:{width:"600px",height:"450px"},attrs:{id:"photo",src:e.scannerVideoSrc}}),t("img",{directives:[{name:"show",rawName:"v-show",value:e.scannerPhotoSrc,expression:"scannerPhotoSrc"}],staticStyle:{width:"600px",height:"450px"},attrs:{id:"photo",src:"data:image/jpg;base64,"+e.scannerPhotoSrc}})]),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[e._l(e.buttonList,(function(n){return[e.isShowButton(n.name)?t("el-button",e._b({key:n.name,on:{click:function(t){return e.buttonClickEvent(n.name)}}},"el-button",n,!1),[e._v(e._s(n.label)+" ")]):e._e()]}))],2)]):e._e()},at=[],st={name:"eloam-take-photo-dialog",data:()=>({visibility:!0,scannerVideoSrc:W.secondaryCameraUrl,scannerPhotoSrc:"",buttonList:[{name:"cancel",label:"取消",size:"small"},{name:"take-photo",label:"拍照",type:"primary",size:"small"},{name:"retake-photo",label:"重拍",type:"primary",size:"small"},{name:"sure",label:"确定",type:"primary",size:"small"}]}),methods:{isShowButton(e){switch(e){case"take-photo":return!this.scannerPhotoSrc;case"retake-photo":return this.scannerPhotoSrc;default:return!0}},async buttonClickEvent(e){switch(e){case"cancel":this.visibility=!1;break;case"take-photo":const e=await W.scanBySecondaryCamera();this.scannerPhotoSrc=e;break;case"retake-photo":this.scannerPhotoSrc="";break;case"sure":let t={faceimg:this.scannerPhotoSrc};this.$emit("close",t),this.visibility=!1;break}}}},ot=st,lt=l(ot,rt,at,!1,null,"6e18b4de",null),ct=lt.exports,ut=__webpack_require__(7203),dt=__webpack_require__.n(ut);class ht{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let e=this.idCardWebSocketUrl;const t=new WebSocket(e);let n;const i=new Promise((e=>{n=e}));return t.onopen=()=>{n(!0)},t.onmessage=e=>this.handleMessage(e),t.onclose=()=>this.handleClose(),t.onerror=()=>this.handleError(),this.ws=t,i}static handleError(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("handleError")}));throw Error("统一插件平台读取身份证功能加载失败")}static handleClose(){for(const e in this.requestStore)this.requestStore.forEach((({reject:e})=>{e("close")}))}static handleMessage(e){let t="";try{t=e.data}catch(n){t=""}this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(){if(await this.startConnect(),1===this.ws.readyState)return this.ws.send("04?timeout=10000"),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}));throw Error("统一插件平台读取身份证未准备完成")}static async idCardRead(){const e=await ht.read();if(e){let[t,n,i,r,a,s,o,l,c,u]=e.split("|"),d=e.split("|")[17];const h={info:{name:n,sex:i,birthday:a,address:s,cardId:o,nation:r,police:l,validStart:c,validEnd:u},headImage:d};return h}throw Error("未匹配可用的读卡器")}}V(ht,"idCardWebSocketUrl","ws://127.0.0.1:7415"),V(ht,"ws",void 0),V(ht,"requestStore",[]);var ft=function(){var e=this,t=e._self._c;return t("el-dialog",{staticClass:"face-auth-dialog",attrs:{title:"拍照",top:"5vh",width:"620px",visible:e.visibility,"close-on-click-modal":!1},on:{"update:visible":function(t){e.visibility=t}}},[t("div",{staticClass:"image-container"},[t("video",{ref:"monitor",staticClass:"videoContainer",attrs:{autoplay:"",width:"250",height:"300"}}),t("canvas",{ref:"photo",staticClass:"videoContainer photo",staticStyle:{display:"none"},attrs:{width:"1920",height:"1080"}}),t("img",{staticClass:"videoContainer photo",attrs:{src:e.viewerPhotoSrc}})]),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[e._l(e.buttonList,(function(n){return[t("el-button",e._b({key:n.name,on:{click:function(t){return e.buttonClickEvent(n.name)}}},"el-button",n,!1),[e._v(e._s(n.label)+" ")])]}))],2)])},pt=[],mt={name:"default-take-photo-dialog",data:()=>({visibility:!0,viewerPhotoSrc:"",scannerPhotoSrc:"",cameraStream:"",buttonList:[{name:"cancel",label:"取消",size:"small"},{name:"take-photo",label:"拍照",type:"primary",size:"small"},{name:"sure",label:"确定",type:"primary",size:"small"}]}),mounted(){this.$nextTick((()=>{this.initDefaultCamera()}))},beforeDestroy(){this.cameraStream.getVideoTracks().forEach((e=>{e.stop()}))},methods:{async initDefaultCamera(){let e=this.$refs.monitor,t=this.$refs.photo;console.log(e,t);let n={audio:!1,video:{width:1920,height:1080}};if(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)try{let t=await navigator.mediaDevices.getUserMedia(n);e.srcObject=t,e.play(),this.cameraStream=t}catch(i){this.$message.error("没有可用的摄像头!"),console.log(i)}else this.$message.error("调用摄像头失败,请在首页右上角我的设备中设置读拍照/人脸识别选项,并确保已为浏览器设置相关权限!")},takePicture(){let e=this.$refs.monitor,t=this.$refs.photo,n=t.getContext("2d");n.drawImage(e,0,0,1920,1080);let i=t.toDataURL("image/png");t.src=i,this.viewerPhotoSrc=i,this.scannerPhotoSrc=i.replace("data:image/png;base64,","")},async buttonClickEvent(e){switch(e){case"cancel":this.visibility=!1,this.$emit("close");break;case"take-photo":this.takePicture();break;case"sure":let e={faceimg:this.scannerPhotoSrc};this.$emit("close",e),this.visibility=!1;break}}}},gt=mt,vt=l(gt,ft,pt,!1,null,null,null),bt=vt.exports,yt=function(){var e=this,t=e._self._c;return e.visibility?t("el-dialog",{staticClass:"wei-rong-face-auth-dialog",attrs:{title:"人脸识别",top:"5vh",width:"640px",visible:e.visibility,"close-on-click-modal":!1},on:{"update:visible":function(t){e.visibility=t}}},[t("div",{staticClass:"image-container"},[t("img",{staticStyle:{width:"600px",height:"450px"},attrs:{id:"photo",src:e.viewFaceImage}})])]):e._e()},Ct=[];const wt="data:image/jpg;base64,";var _t,xt={name:"wei-rong-face-auth-dialog",data:()=>({visibility:!0,viewFaceImage:""}),async created(){window.addEventListener(oe,(e=>{e.type===oe&&(this.viewFaceImage=`${wt}${e.scannerResultUrl}`)}));let e=await ve.faceValidateWithIdCardRead();this.$message.success("认证成功"),setTimeout((()=>{this.$emit("close",e)}),1500)}},kt=xt,St=l(kt,yt,Ct,!1,null,"5bbb0afc",null),It=St.exports;(function(e){e["GetStatus"]="GetStatus",e["ManualRead"]="ManualRead",e["GetReadResult"]="GetReadResult"})(_t||(_t={}));const Et={AND:"安道尔",AFG:"阿富汗",ATG:"安提瓜和巴布达",AIA:"安圭拉",ALB:"阿尔巴尼亚",ARM:"亚美尼亚",AGO:"安哥拉",ATA:"南极洲",ARG:"阿根廷",ASM:"美属萨摩亚",AUT:"奥地利",AUS:"澳大利亚",ABW:"阿鲁巴",ALA:"奥兰群岛",AZE:"阿塞拜疆",BIH:"波黑",BRB:"巴巴多斯",BGD:"孟加拉",BEL:"比利时",BFA:"布基纳法索",BGR:"保加利亚",BHR:"巴林",BDI:"布隆迪",BEN:"贝宁",BLM:"圣巴泰勒米岛",BMU:"百慕大",BRN:"文莱",BOL:"玻利维亚",BES:"荷兰加勒比区",BRA:"巴西",BHS:"巴哈马",BTN:"不丹",BVT:"布韦岛",BWA:"博茨瓦纳",BLR:"白俄罗斯",BLZ:"伯利兹",CAN:"加拿大",CCK:"科科斯群岛",CAF:"中非",CHE:"瑞士",CHL:"智利",CMR:"喀麦隆",COL:"哥伦比亚",CRI:"哥斯达黎加",CUB:"古巴",CPV:"佛得角",CXR:"圣诞岛",CYP:"塞浦路斯",CZE:"捷克",DEU:"德国",DJI:"吉布提",DNK:"丹麦",DMA:"多米尼克",DOM:"多米尼加",DZA:"阿尔及利亚",ECU:"厄瓜多尔",EST:"爱沙尼亚",EGY:"埃及",ESH:"西撒哈拉",ERI:"厄立特里亚",ESP:"西班牙",FIN:"芬兰",FJI:"斐济群岛",FLK:"马尔维纳斯群岛(福克兰)",FSM:"密克罗尼西亚联邦",FRO:"法罗群岛",FRA:"法国",GAB:"加蓬",GRD:"格林纳达",GEO:"格鲁吉亚",GUF:"法属圭亚那",GHA:"加纳",GIB:"直布罗陀",GRL:"格陵兰",GIN:"几内亚",GLP:"瓜德罗普",GNQ:"赤道几内亚",GRC:"希腊",SGS:"南乔治亚岛和南桑威奇群岛",GTM:"危地马拉",GUM:"关岛",GNB:"几内亚比绍",GUY:"圭亚那",HKG:"中国",HMD:"赫德岛和麦克唐纳群岛",HND:"洪都拉斯",HRV:"克罗地亚",HTI:"海地",HUN:"匈牙利",IDN:"印尼",IRL:"爱尔兰",ISR:"以色列",IMN:"马恩岛",IND:"印度",IOT:"英属印度洋领地",IRQ:"伊拉克",IRN:"伊朗",ISL:"冰岛",ITA:"意大利",JEY:"泽西岛",JAM:"牙买加",JOR:"约旦",JPN:"日本",KHM:"柬埔寨",KIR:"基里巴斯",COM:"科摩罗",KWT:"科威特",CYM:"开曼群岛",LBN:"黎巴嫩",LIE:"列支敦士登",LKA:"斯里兰卡",LBR:"利比里亚",LSO:"莱索托",LTU:"立陶宛",LUX:"卢森堡",LVA:"拉脱维亚",LBY:"利比亚",MAR:"摩洛哥",MCO:"摩纳哥",MDA:"摩尔多瓦",MNE:"黑山",MAF:"法属圣马丁",MDG:"马达加斯加",MHL:"马绍尔群岛",MKD:"马其顿",MLI:"马里",MMR:"缅甸",MAC:"中国",MTQ:"马提尼克",MRT:"毛里塔尼亚",MSR:"蒙塞拉特岛",MLT:"马耳他",MDV:"马尔代夫",MWI:"马拉维",MEX:"墨西哥",MYS:"马来西亚",NAM:"纳米比亚",NER:"尼日尔",NFK:"诺福克岛",NGA:"尼日利亚",NIC:"尼加拉瓜",NLD:"荷兰",NOR:"挪威",NPL:"尼泊尔",NRU:"瑙鲁",OMN:"阿曼",PAN:"巴拿马",PER:"秘鲁",PYF:"法属波利尼西亚",PNG:"巴布亚新几内亚",PHL:"菲律宾",PAK:"巴基斯坦",POL:"波兰",PCN:"皮特凯恩群岛",PRI:"波多黎各",PSE:"巴勒斯坦",PLW:"帕劳",PRY:"巴拉圭",QAT:"卡塔尔",REU:"留尼汪",ROU:"罗马尼亚",SRB:"塞尔维亚",RUS:"俄罗斯",RWA:"卢旺达",SLB:"所罗门群岛",SYC:"塞舌尔",SDN:"苏丹",SWE:"瑞典",SGP:"新加坡",SVN:"斯洛文尼亚",SJM:"斯瓦尔巴群岛和 扬马延岛",SVK:"斯洛伐克",SLE:"塞拉利昂",SMR:"圣马力诺",SEN:"塞内加尔",SOM:"索马里",SUR:"苏里南",SSD:"南苏丹",STP:"圣多美和普林西比",SLV:"萨尔瓦多",SYR:"叙利亚",SWZ:"斯威士兰",TCA:"特克斯和凯科斯群岛",TCD:"乍得",TGO:"多哥",THA:"泰国",TKL:"托克劳",TLS:"东帝汶",TUN:"突尼斯",TON:"汤加",TUR:"土耳其",TUV:"图瓦卢",TZA:"坦桑尼亚",UKR:"乌克兰",UGA:"乌干达",USA:"美国",URY:"乌拉圭",VAT:"梵蒂冈",VEN:"委内瑞拉",VGB:"英属维尔京群岛",VIR:"美属维尔京群岛",VNM:"越南",WLF:"瓦利斯和富图纳",WSM:"萨摩亚",YEM:"也门",MYT:"马约特",ZAF:"南非",ZMB:"赞比亚",ZWE:"津巴布韦",CHN:"中国",COG:"刚果(布)",COD:"刚果(金)",MOZ:"莫桑比克",GGY:"根西岛",GMB:"冈比亚",MNP:"北马里亚纳群岛",ETH:"埃塞俄比亚",NCL:"新喀里多尼亚",VUT:"瓦努阿图",ATF:"法属南部领地",NIU:"纽埃",UMI:"美国本土外小岛屿",COK:"库克群岛",GBR:"英国",TTO:"特立尼达和多巴哥",VCT:"圣文森特和格林纳丁斯",TWN:"中国",NZL:"新西兰",SAU:"沙特阿拉伯",LAO:"老挝",PRK:"朝鲜",KOR:"韩国",PRT:"葡萄牙",KGZ:"吉尔吉斯斯坦",KAZ:"哈萨克斯坦",TJK:"塔吉克斯坦",TKM:"土库曼斯坦",UZB:"乌兹别克斯坦",KNA:"圣基茨和尼维斯",SPM:"圣皮埃尔和密克隆",SHN:"圣赫勒拿",LCA:"圣卢西亚",MUS:"毛里求斯",CIV:"科特迪瓦",KEN:"肯尼亚",MNG:"蒙古国"};var Dt;function At(e){return Et[e]}function Ot(e){return new Promise(((t,n)=>{let i=new Image;i.setAttribute("crossOrigin","Anonymous"),i.src=e,i.onload=function(){let e=document.createElement("canvas"),n=i.width,r=i.height;e.width=n,e.height=r,e.getContext("2d").drawImage(i,0,0);let a=e.toDataURL("image/png");t(a)},i.onerror=()=>{n(new Error("urlToBase64 error"))}}))}async function Tt(e){let{doc_number:t,state:n,name:i,truncation_name:r,sex:a,birth_DateFormat:s,dg11:o,expired_DateFormat:l,pic_nfc_face:c}=e,u=o&&o.name||"无中文姓名",d=i+r,h=await Ot(c);return{name:"无中文姓名"===u?d:u,chineseName:u,englishName:d,sex:Dt[a]||"未知",cardId:t,birthday:s.replace("-","").replace("-",""),nationality:At(n),validEnd:l.replace("-","").replace("-",""),headImage:h.replace("data:image/png;base64,","")}}async function Mt(e){let{csrq:t,dzmc:n,gmsfhm:i,jdxp:r,mzdm:a,qfjgmc:s,xbdm:o,xm:l,yxqjzrq:c,yxqqsrq:u}=e,d=await Ot(r);return{name:l,chineseName:"",englishName:"",sex:o.replace("性",""),cardId:i,birthday:t,nationality:"中国",nation:a,police:s,address:n,validStart:u,validEnd:c,headImage:d.replace("data:image/png;base64,","")}}async function Nt(e){let{zwxm:t,ywxm:n,xbdm:i,yjjlzhm:r,zjhm:a,gjdm:s,zjqfrq:o,zjzzrq:l,yxqqsrq:c,yxqjzrq:u,csrq:d,jdxp:h}=e,f=t||"无中文姓名",p=n,m=await Ot(h);return{name:"无中文姓名"===f?p:f,chineseName:f,englishName:p,sex:i.replace("性",""),cardId:a||r,birthday:d,nationality:At(s),validStart:c||o,validEnd:u||l,police:"中华人民共和国国家移民管理局",headImage:m.replace("data:image/png;base64,","")}}(function(e){e["MALE"]="男",e["FEMALE"]="女"})(Dt||(Dt={}));class Pt{static async read(e){let t="";switch(e){case _t.GetStatus:t=`${Pt.baseServiceUrl}/PassportReader/${e}`;break;case _t.ManualRead:t=`${Pt.baseServiceUrl}/PassportReader/${e}`;break;case _t.GetReadResult:t=`${Pt.baseServiceUrl}/PassportReader/${e}`;break}let n=await ae.get(t);return n}static async getStatus(){await Pt.read(_t.GetStatus)}static async manualRead(){await Pt.read(_t.ManualRead)}static async getReadResult(){await Pt.manualRead();let e=await Pt.read(_t.GetReadResult);while("done"!==e.data.reader_stat)await new Promise((e=>setTimeout(e,1e3))),e=await Pt.read(_t.GetReadResult);let t,n,i=e.data,{nfc_result:r,idcard_result:a,idcard_fi_result:s,idcard_fy_result:o,idcard_j_result:l}=i;switch(i.card_type){case"TD3":t="3",n=await Tt(r);break;case"IDCARD":t="1",n=await Mt(a);break;case"IDCARD_FI":case"IDCARD_FY":t="9",n=await Nt(s||o);break;case"TD1_HC":case"TD1_MC":case"TD1_TC":case"TD1_CT":case"TD1_CR":t="12",n=Tt(r);break;case"IDCARD_J":t="2",n=await Mt(l)}let{nationality:c,name:u,chineseName:d,englishName:h,sex:f,birthday:p,address:m,cardId:g,nation:v,police:b,validStart:y,validEnd:C,headImage:w}=n;const _={info:{cardType:t,nationality:c,name:u,chineseName:d,englishName:h,sex:f,birthday:p,address:m,cardId:g,nation:v,police:b,validStart:y,validEnd:C},headImage:w};return _}}V(Pt,"baseServiceUrl","http://127.0.0.1:7770");class jt{static async read(e){let t="";switch(e){case"ReadIDCard_Base64":t=this.idCardWebSocketUrl+"/readCard";break}let n=await ae.get(t);return n}static async idCardRead(){const e=await jt.read("ReadIDCard_Base64");if(e){let t=e.split("|");if("0"!=t[0])throw Error(t[1]);let n,i,r,a,s,o,l,c,u,d,h,f,p="",m="";switch(t[1]){case"1":n="1",i=t[2],r=t[4],a=t[6],o=t[7],l=t[8],c=t[9],u=t[10],d=t[11],h=t[12],f=t[13],s="中国";break;case"2":n="9",p=t[2],r=t[4],c=t[5],s=t[7],m=t[8]||"无中文姓名",d=t[9],h=t[10],o=t[11],u=t[14],f=t[15],i="无中文姓名"===m?p:m;break;case"4":n="9",m=t[2]||"无中文姓名",r=t[4],o=t[6],p=t[7],c=t[8],d=t[10],h=t[11],s=t[13],u="中华人民共和国国家移民管理局",f=t[15],i="无中文姓名"===m?p:m;break;case"3":}const g={info:{cardType:n,nationality:s,name:i,chineseName:m,englishName:p,sex:r,birthday:o,address:l,cardId:c,nation:a,police:u,validStart:d,validEnd:h},headImage:f};return console.log(g),g}throw Error("未匹配可用的读卡器")}}V(jt,"idCardWebSocketUrl","http://127.0.0.1:10012"),V(jt,"ws",void 0),V(jt,"requestStore",[]);var Ft={name:"id-card-reader-button",props:{label:{default:"",type:String},tip:{default:"",type:String},className:{default:"",type:String},size:{default:"mini",type:String},type:{default:"primary",type:String},plain:{default:!1,type:Boolean},round:{default:!1,type:Boolean},loading:{default:!1,type:Boolean},icon:{default:"el-icon-postcard",type:String},disabled:{default:!1,type:Boolean},readMachineType:{default:0,type:Number},readerMode:{default:"idCard",type:String},filePath:{default:"JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFuZyh6aCkgL1N0cnVjdFRyZWVSb290IDE3IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4vTWV0YWRhdGEgMzYgMCBSL1ZpZXdlclByZWZlcmVuY2VzIDM3IDAgUj4+DQplbmRvYmoNCjIgMCBvYmoNCjw8L1R5cGUvUGFnZXMvQ291bnQgMS9LaWRzWyAzIDAgUl0gPj4NCmVuZG9iag0KMyAwIG9iag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9Gb250PDwvRjEgNSAwIFIvRjIgOSAwIFIvRjMgMTQgMCBSPj4vRXh0R1N0YXRlPDwvR1M3IDcgMCBSL0dTOCA4IDAgUj4+L1Byb2NTZXRbL1BERi9UZXh0L0ltYWdlQi9JbWFnZUMvSW1hZ2VJXSA+Pi9NZWRpYUJveFsgMCAwIDUyMS42NCAzNjguNTJdIC9Db250ZW50cyA0IDAgUi9Hcm91cDw8L1R5cGUvR3JvdXAvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCPj4vVGFicy9TL1N0cnVjdFBhcmVudHMgMD4+DQplbmRvYmoNCjQgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjkyPj4NCnN0cmVhbQ0KeJylkUtPQkEMhfeTzH84SyBxbqfzNCEk98ElGl0YMC6IC0KAuPBGkf8fe5ENom6c1XTanvY7g2L+tuowHhf39U0DKu5W3Q6DTXf1OB9OJqiaGu9akaH+pJQcCIGtiR4uZhMY+41WTyN0WlULrYrWgqMhj8VWKyvVhP6FTHZwZE2QzKvUzeYJuw+Rxu4Y5VM002o5wPAZi1utpqL4oBWm9zWKcn942a7WB1QS2b7NRcOwvXaC98lkJDLuuNF2dGrDOaH9hVCkokh5k3MvhciG8wUbC/QZmHcy1OZgfDhikQnE/WpfF4GBeMfCvF6OQ9lm11YlU1tzJfkmRNu0tdhCnCnwlCznuvZlarkMeXJpwjca/heNu6BJwVzz3zw/f84nOqN5cQ0KZW5kc3RyZWFtDQplbmRvYmoNCjUgMCBvYmoNCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL05hbWUvRjEvQmFzZUZvbnQvQkNERUVFK0RlbmdYaWFuL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250RGVzY3JpcHRvciA2IDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIgMzIvV2lkdGhzIDMwIDAgUj4+DQplbmRvYmoNCjYgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkNERUVFK0RlbmdYaWFuL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDgxMC9EZXNjZW50IC0yMzIvQ2FwSGVpZ2h0IDgxMC9BdmdXaWR0aCA0NDcvTWF4V2lkdGggMTI5Mi9Gb250V2VpZ2h0IDQwMC9YSGVpZ2h0IDI1MC9TdGVtViA0NC9Gb250QkJveFsgLTE0MSAtMjMyIDExNTEgODEwXSAvRm9udEZpbGUyIDMxIDAgUj4+DQplbmRvYmoNCjcgMCBvYmoNCjw8L1R5cGUvRXh0R1N0YXRlL0JNL05vcm1hbC9jYSAxPj4NCmVuZG9iag0KOCAwIG9iag0KPDwvVHlwZS9FeHRHU3RhdGUvQk0vTm9ybWFsL0NBIDE+Pg0KZW5kb2JqDQo5IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMC9CYXNlRm9udC9CQ0RGRUUrRGVuZ1hpYW4tQm9sZC9FbmNvZGluZy9JZGVudGl0eS1IL0Rlc2NlbmRhbnRGb250cyAxMCAwIFIvVG9Vbmljb2RlIDMyIDAgUj4+DQplbmRvYmoNCjEwIDAgb2JqDQpbIDExIDAgUl0gDQplbmRvYmoNCjExIDAgb2JqDQo8PC9CYXNlRm9udC9CQ0RGRUUrRGVuZ1hpYW4tQm9sZC9TdWJ0eXBlL0NJREZvbnRUeXBlMi9UeXBlL0ZvbnQvQ0lEVG9HSURNYXAvSWRlbnRpdHkvRFcgMTAwMC9DSURTeXN0ZW1JbmZvIDEyIDAgUi9Gb250RGVzY3JpcHRvciAxMyAwIFIvVyAzNCAwIFI+Pg0KZW5kb2JqDQoxMiAwIG9iag0KPDwvT3JkZXJpbmcoSWRlbnRpdHkpIC9SZWdpc3RyeShBZG9iZSkgL1N1cHBsZW1lbnQgMD4+DQplbmRvYmoNCjEzIDAgb2JqDQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0JDREZFRStEZW5nWGlhbi1Cb2xkL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDgxMC9EZXNjZW50IC0yMzIvQ2FwSGVpZ2h0IDgxMC9BdmdXaWR0aCA0NTYvTWF4V2lkdGggMTM3MC9Gb250V2VpZ2h0IDcwMC9YSGVpZ2h0IDI1MC9TdGVtViA0NS9Gb250QkJveFsgLTE3MyAtMjMyIDExOTcgODEwXSAvRm9udEZpbGUyIDMzIDAgUj4+DQplbmRvYmoNCjE0IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YzL0Jhc2VGb250L0JDREdFRStEZW5nWGlhbi1Cb2xkL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250RGVzY3JpcHRvciAxNSAwIFIvRmlyc3RDaGFyIDMyL0xhc3RDaGFyIDMyL1dpZHRocyAzNSAwIFI+Pg0KZW5kb2JqDQoxNSAwIG9iag0KPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9CQ0RHRUUrRGVuZ1hpYW4tQm9sZC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA4MTAvRGVzY2VudCAtMjMyL0NhcEhlaWdodCA4MTAvQXZnV2lkdGggNDU2L01heFdpZHRoIDEzNzAvRm9udFdlaWdodCA3MDAvWEhlaWdodCAyNTAvU3RlbVYgNDUvRm9udEJCb3hbIC0xNzMgLTIzMiAxMTk3IDgxMF0gL0ZvbnRGaWxlMiAzMyAwIFI+Pg0KZW5kb2JqDQoxNiAwIG9iag0KPDwvQXV0aG9yKP7/Zx2WMwAgVBUpIC9DcmVhdG9yKP7/AE0AaQBjAHIAbwBzAG8AZgB0AK4AIABXAG8AcgBkACAAMgAwADEAOSkgL0NyZWF0aW9uRGF0ZShEOjIwMjQwODA1MTcxNDIwKzA4JzAwJykgL01vZERhdGUoRDoyMDI0MDgwNTE3MTQyMCswOCcwMCcpIC9Qcm9kdWNlcij+/wBNAGkAYwByAG8AcwBvAGYAdACuACAAVwBvAHIAZAAgADIAMAAxADkpID4+DQplbmRvYmoNCjI1IDAgb2JqDQo8PC9U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Q2VoaUh6cmVTek5UY3prYzlkIj8+PHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iMy4xLTcwMSI+CjxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczpwZGY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8iPgo8cGRmOlByb2R1Y2VyPk1pY3Jvc29mdMKuIFdvcmQgMjAxOTwvcGRmOlByb2R1Y2VyPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KPGRjOmNyZWF0b3I+PHJkZjpTZXE+PHJkZjpsaT7mnJ3pmLMg5ZCVPC9yZGY6bGk+PC9yZGY6U2VxPjwvZGM6Y3JlYXRvcj48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+Cjx4bXA6Q3JlYXRvclRvb2w+TWljcm9zb2Z0wq4gV29yZCAyMDE5PC94bXA6Q3JlYXRvclRvb2w+PHhtcDpDcmVhdGVEYXRlPjIwMjQtMDgtMDVUMTc6MTQ6MjArMDg6MDA8L3htcDpDcmVhdGVEYXRlPjx4bXA6TW9kaWZ5RGF0ZT4yMDI0LTA4LTA1VDE3OjE0OjIwKzA4OjAwPC94bXA6TW9kaWZ5RGF0ZT48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIj4KPHhtcE1NOkRvY3VtZW50SUQ+dXVpZDo4MzY4MEUxMi1FNTNBLTRGQzItOENENi05Qzg3NTc3RjdEOEQ8L3htcE1NOkRvY3VtZW50SUQ+PHhtcE1NOkluc3RhbmNlSUQ+dXVpZDo4MzY4MEUxMi1FNTNBLTRGQzItOENENi05Qzg3NTc3RjdEOEQ8L3htcE1NOkluc3RhbmNlSUQ+PC9yZGY6RGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8L3JkZjpSREY+PC94OnhtcG1ldGE+PD94cGFja2V0IGVuZD0idyI/Pg0KZW5kc3RyZWFtDQplbmRvYmoNCjM3IDAgb2JqDQo8PC9EaXNwbGF5RG9jVGl0bGUgdHJ1ZT4+DQplbmRvYmoNCjM4IDAgb2JqDQo8PC9UeXBlL1hSZWYvU2l6ZSAzOC9XWyAxIDQgMl0gL1Jvb3QgMSAwIFIvSW5mbyAxNiAwIFIvSURbPDEyMEU2ODgzM0FFNUMyNEY4Q0Q2OUM4NzU3N0Y3RDhEPjwxMjBFNjg4MzNBRTVDMjRGOENENjlDODc1NzdGN0Q4RD5dIC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDEzMz4+DQpzdHJlYW0NCnicNc4rDsJQEIXhub19UwModoFr0rAdDEGgEUgMEo/BkJDgWQvrQDRpUobzw4j5Msm8zDzGMXiemn25wkuEQcSNSGciS6CFLbxFPoenKCL0oryJ6mLmG2xhBZRQQQ05BPgNTHy8PvyrDFJIIHpLs9Oh5iS6u1gtxX4NZ3iIoz//Aa+yEw8NCmVuZHN0cmVhbQ0KZW5kb2JqDQp4cmVmDQowIDM5DQowMDAwMDAwMDE3IDY1NTM1IGYNCjAwMDAwMDAwMTcgMDAwMDAgbg0KMDAwMDAwMDE2MyAwMDAwMCBuDQowMDAwMDAwMjE5IDAwMDAwIG4NCjAwMDAwMDA1MDggMDAwMDAgbg0KMDAwMDAwMDg3NCAwMDAwMCBuDQowMDAwMDAxMDQyIDAwMDAwIG4NCjAwMDAwMDEyODIgMDAwMDAgbg0KMDAwMDAwMTMzNSAwMDAwMCBuDQowMDAwMDAxMzg4IDAwMDAwIG4NCjAwMDAwMDE1MjUgMDAwMDAgbg0KMDAwMDAwMTU1NSAwMDAwMCBuDQowMDAwMDAxNzIxIDAwMDAwIG4NCjAwMDAwMDE3OTUgMDAwMDAgbg0KMDAwMDAwMjA0MSAwMDAwMCBuDQowMDAwMDAyMjE2IDAwMDAwIG4NCjAwMDAwMDI0NjIgMDAwMDAgbg0KMDAwMDAwMDAxOCA2NTUzNSBmDQowMDAwMDAwMDE5IDY1NTM1IGYNCjAwMDAwMDAwMjAgNjU1MzUgZg0KMDAwMDAwMDAyMSA2NTUzNSBmDQowMDAwMDAwMDIyIDY1NTM1IGYNCjAwMDAwMDAwMjMgNjU1MzUgZg0KMDAwMDAwMDAyNCA2NTUzNSBmDQowMDAwMDAwMDI1IDY1NTM1IGYNCjAwMDAwMDAwMjYgNjU1MzUgZg0KMDAwMDAwMDAyNyA2NTUzNSBmDQowMDAwMDAwMDI4IDY1NTM1IGYNCjAwMDAwMDAwMjkgNjU1MzUgZg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAzMTg0IDAwMDAwIG4NCjAwMDAwMDMyMTEgMDAwMDAgbg0KMDAwMDAxNTAxOSAwMDAwMCBuDQowMDAwMDE1NDA4IDAwMDAwIG4NCjAwMDAwMzEzMzMgMDAwMDAgbg0KMDAwMDAzMTM3OSAwMDAwMCBuDQowMDAwMDMxNDA2IDAwMDAwIG4NCjAwMDAwMzQ1NDkgMDAwMDAgbg0KMDAwMDAzNDU5NCAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDM5L1Jvb3QgMSAwIFIvSW5mbyAxNiAwIFIvSURbPDEyMEU2ODgzM0FFNUMyNEY4Q0Q2OUM4NzU3N0Y3RDhEPjwxMjBFNjg4MzNBRTVDMjRGOENENjlDODc1NzdGN0Q4RD5dID4+DQpzdGFydHhyZWYNCjM0OTI4DQolJUVPRg0KeHJlZg0KMCAwDQp0cmFpbGVyDQo8PC9TaXplIDM5L1Jvb3QgMSAwIFIvSW5mbyAxNiAwIFIvSURbPDEyMEU2ODgzM0FFNUMyNEY4Q0Q2OUM4NzU3N0Y3RDhEPjwxMjBFNjg4MzNBRTVDMjRGOENENjlDODc1NzdGN0Q4RD5dIC9QcmV2IDM0OTI4L1hSZWZTdG0gMzQ1OTQ+Pg0Kc3RhcnR4cmVmDQozNTg2NQ0KJSVFT0Y=",type:String}},data:()=>({showIDCardChrome:!1,plugType:"读卡器"}),computed:{_className(){const e=["z-button"];return"text"===this.type&&e.push("i-font-size"),this.className?("string"===typeof this.className?e.push(this.className):e.push(...this.className),e):e},isJIEYUPlugin(){return"sign"===this.readerMode&&3===this.readMachineType||"idCard"===this.readerMode&&6===this.readMachineType||"idCard"===this.readerMode&&6===this.readMachineType},isExitAndEntryPlugin(){return"idCard"===this.readerMode&&11===this.readMachineType}},watch:{isJIEYUPlugin:{handler:async e=>{e&&await pe.initParams()}},isExitAndEntryPlugin:{handler:async e=>{e&&await Pt.getStatus()}}},async created(){this.isJIEYUPlugin&&await pe.initParams(),this.isExitAndEntryPlugin&&await Pt.getStatus()},mounted(){let e=this;window.onerror=function(t){if(t.indexOf("统一插件平台")>-1){let n=t.split(": ")[1]||"提示";n=n.replace("统一插件平台",""),e.$emit("hardwareError",e.plugType,n)}}},methods:{handleClick(){switch(this.readerMode){case"idCard":this.plugType="读卡器",this.idCardRReaderEvent();break;case"veriface":this.plugType="拍照设备",this.faceReaderEvent();break;case"sign":this.plugType="签字板",this.signEvent();break;case"socialSecurityCard":this.plugType="社保卡",this.socialSecurityCardReaderEvent();break}this.$emit("sendPluginType",this.plugType)},async idCardRReaderEvent(){let e;switch(this.readMachineType){case 0:e=await Le.idCardCommonRead(),this.$emit("click",e);break;case 1:return this.readLSIDCard();case 2:e=await We.idCardRead(),this.$emit("click",e);break;case 3:const t=await Ye.idCardRead();t&&(e=t.idCard),this.$emit("click",e);break;case 4:e=await qe.idCardRead(),this.$emit("click",e);break;case 5:e=await W.idCardRead(),this.$emit("click",e);break;case 6:e=await pe.idCardRead(),this.$emit("click",e);break;case 8:e=await ht.idCardRead(),this.$emit("click",e);break;case 9:e=await pe.idCardReadByScanner(),this.$emit("click",e);break;case 10:e=await ve.idCardRead(),this.$emit("click",e);break;case 11:e=await Pt.getReadResult(),this.$emit("click",e);break;case 12:e=await jt.idCardRead(),this.$emit("click",e);break;default:this.$message.warning("请在首页右上角我的设备中设置读卡器选项!");break}},async faceReaderEvent(){switch(this.readMachineType){case 0:this.readFacePhotoByDefault();break;case 1:this.readLSIDCardAndMatchFace();break;case 2:{const e=await We.faceValidateWithIdCardRead();this.$emit("click",e);break}case 3:{const e=await Ye.idCardRead();this.$emit("click",e);break}case 5:this.readFacePhotoByELoam();break;case 6:{const e=await pe.faceValidateWithIdCardRead();this.$emit("click",e);break}case 10:this.openWEIRONGFaceValidateDialog();break;default:this.$message.warning("请在首页右上角我的设备中设置读拍照/人脸识别选项!");break}},async socialSecurityCardReaderEvent(){try{let e;switch(this.readMachineType){case 2:e=await We.socialSecurityCardRead();break;case 4:e=await qe.socialSecurityCardRead();break;case 5:e=await ve.socialSecurityCardRead();break;default:this.$message.warning("请在首页右上角我的设备中设置社保卡选项!");break}this.$emit("click",e)}catch(e){throw Error("读取社保卡失败")}},async signEvent(){let e="";switch(this.readMachineType){case 0:e=await Ve.read();break;case 1:e=await Ve.read(Pe.hwSign);break;case 2:e=await We.signNameRead();break;case 3:const t=await pe.signNameRead(this.filePath),n=t.SignNameBase64?JSON.parse(t.SignNameBase64):{SignName0:""},i=t.FingerPrintBase64?JSON.parse(t.FingerPrintBase64):{FingerPrint0:""},r=n.SignName0.split(";")[0],a=i.FingerPrint0.split(";")[0];console.log("签字&指纹",r,a),a?(e=await pe.mergeImage(r,a),console.log(e)):e=r;break;case 5:e=await ve.signNameRead();break;default:this.$message.warning("请在首页右上角我的设备中设置签字板选项!");break}this.$emit("click",e)},async readLSIDCardAndMatchFace(){this.showIDCardChrome=!0;const e=document.createElement("div");document.body.appendChild(e);const t=new(dt())({render:e=>e(it,{props:{},on:{close:e=>{if(console.log("destroy data=>",e),"比对成功"!==e.zt)throw Error("认证失败");this.$message.success("认证成功"),this.$emit("click",e),this.showIDCardChrome=!1,t.$destroy(),t.$el.remove()}}}),parent:this}).$mount(e)},openWEIRONGFaceValidateDialog(){console.log("打开人脸识别弹框");const e=document.createElement("div");document.body.appendChild(e);const t=new(dt())({render:e=>e(It,{props:{},on:{close:e=>{this.$emit("click",e),t.$destroy(),t.$el.remove()}}}),parent:this}).$mount(e)},readFacePhotoByELoam(){const e=document.createElement("div");document.body.appendChild(e);const t=new(dt())({render:e=>e(ct,{props:{},on:{close:e=>{console.log("良田拍照信息=>",e),this.$emit("click",e),t.$destroy(),t.$el.remove()}}}),parent:this}).$mount(e)},readFacePhotoByDefault(){const e=document.createElement("div");document.body.appendChild(e);const t=new(dt())({render:e=>e(bt,{props:{},on:{close:e=>{e&&(console.log("浏览器自带拍照=>",e),this.$emit("click",e)),t.$destroy(),t.$el.remove()}}}),parent:this}).$mount(e)},readLSIDCard(){this.showIDCardChrome=!0,this.$nextTick((async()=>{try{const e=await(0,Ze.oK)();console.log("丽水一体机读取身份证信息=>",e),this.$emit("click",e)}catch(e){throw Error("读取身份证信息失败")}finally{this.showIDCardChrome=!1}}))}}},$t=Ft,Rt=l($t,$e,Re,!1,null,"d4b32654",null),Lt=Rt.exports;Lt.install=e=>{e.component(Lt.name,Lt)};var Bt=Lt;const Vt=[d,b,Fe,Bt,N,ee,Ee],zt=e=>{e.use(i()),zt.installed||Vt.forEach((t=>{e.component(t.name,t)}))};"undefined"!==typeof window&&window.Vue&&zt(window.Vue);var Wt={install:zt,...Vt},Ht=Wt}(),__webpack_exports__}()}));
|