unify-external-plugin-platform 0.0.2-67 → 0.0.2-68

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.
@@ -21,5 +21,5 @@
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 i="on"+e,a=i in document;if(!a){var s=document.createElement("div");s.setAttribute(i,"return;"),a="function"===typeof s[i]}return!a&&n&&"wheel"===e&&(a=document.implementation.hasFeature("Events.wheel","3.0")),a}r.canUseDOM&&(n=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=a},643:function(e,t,i){"use strict";var n=i(4518),r=i(6534),a=10,s=40,o=800;function l(e){var t=0,i=0,n=0,r=0;return"detail"in e&&(i=e.detail),"wheelDelta"in e&&(i=-e.wheelDelta/120),"wheelDeltaY"in e&&(i=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=i,i=0),n=t*a,r=i*a,"deltaY"in e&&(r=e.deltaY),"deltaX"in e&&(n=e.deltaX),(n||r)&&e.deltaMode&&(1==e.deltaMode?(n*=s,r*=s):(n*=o,r*=o)),n&&!t&&(t=n<1?-1:1),r&&!i&&(i=r<1?-1:1),{spinX:t,spinY:i,pixelX:n,pixelY:r}}l.getEventType=function(){return n.firefox()?"DOMMouseScroll":r("wheel")?"wheel":"mousewheel"},e.exports=l},1033:function(e,t,i){"use strict";i.r(t);var n=function(){if("undefined"!==typeof Map)return Map;function e(e,t){var i=-1;return e.some((function(e,n){return e[0]===t&&(i=n,!0)})),i}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 i=e(this.__entries__,t),n=this.__entries__[i];return n&&n[1]},t.prototype.set=function(t,i){var n=e(this.__entries__,t);~n?this.__entries__[n][1]=i:this.__entries__.push([t,i])},t.prototype.delete=function(t){var i=this.__entries__,n=e(i,t);~n&&i.splice(n,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 i=0,n=this.__entries__;i<n.length;i++){var r=n[i];e.call(t,r[1],r[0])}},t}()}(),r="undefined"!==typeof window&&"undefined"!==typeof document&&window.document===document,a=function(){return"undefined"!==typeof i.g&&i.g.Math===Math?i.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 i=!1,n=!1,r=0;function a(){i&&(i=!1,e()),n&&c()}function l(){s(a)}function c(){var e=Date.now();if(i){if(e-r<o)return;n=!0}else i=!0,n=!1,setTimeout(l,t);r=e}return c}var c=20,u=["top","right","bottom","left","width","height","size","weight"],h="undefined"!==typeof MutationObserver,d=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_,i=t.indexOf(e);~i&&t.splice(i,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),h?(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,i=void 0===t?"":t,n=u.some((function(e){return!!~i.indexOf(e)}));n&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),f=function(e,t){for(var i=0,n=Object.keys(t);i<n.length;i++){var r=n[i];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 v(e){return parseFloat(e)||0}function g(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];return t.reduce((function(t,i){var n=e["border-"+i+"-width"];return t+v(n)}),0)}function b(e){for(var t=["top","right","bottom","left"],i={},n=0,r=t;n<r.length;n++){var a=r[n],s=e["padding-"+a];i[a]=v(s)}return i}function y(e){var t=e.getBBox();return S(0,0,t.width,t.height)}function _(e){var t=e.clientWidth,i=e.clientHeight;if(!t&&!i)return m;var n=p(e).getComputedStyle(e),r=b(n),a=r.left+r.right,s=r.top+r.bottom,o=v(n.width),l=v(n.height);if("border-box"===n.boxSizing&&(Math.round(o+a)!==t&&(o-=g(n,"left","right")+a),Math.round(l+s)!==i&&(l-=g(n,"top","bottom")+s)),!x(e)){var c=Math.round(o+a)-t,u=Math.round(l+s)-i;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 x(e){return e===p(e).document.documentElement}function C(e){return r?w(e)?y(e):_(e):m}function k(e){var t=e.x,i=e.y,n=e.width,r=e.height,a="undefined"!==typeof DOMRectReadOnly?DOMRectReadOnly:Object,s=Object.create(a.prototype);return f(s,{x:t,y:i,width:n,height:r,top:i,right:t+n,bottom:r+i,left:t}),s}function S(e,t,i,n){return{x:e,y:t,width:i,height:n}}var K=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=C(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}(),D=function(){function e(e,t){var i=k(t);f(this,{target:e,contentRect:i})}return e}(),O=function(){function e(e,t,i){if(this.activeObservations_=[],this.observations_=new n,"function"!==typeof e)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=t,this.callbackCtx_=i}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 K(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 D(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}(),E="undefined"!==typeof WeakMap?new WeakMap:new n,T=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 i=d.getInstance(),n=new O(t,i,this);E.set(this,n)}return e}();["observe","unobserve","disconnect"].forEach((function(e){T.prototype[e]=function(){var t;return(t=E.get(this))[e].apply(t,arguments)}}));var P=function(){return"undefined"!==typeof a.ResizeObserver?a.ResizeObserver:T}();t["default"]=P},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(i){var n=[],r=[];$(i).find("ElementTable").each((function(){var e=$(this),t=e.attr("ColumnName"),i=e.attr("CaptionName");n.push(t),r.push(i)})),e=n.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(i){$(i).find("ElementTable").each((function(){var i=$(this),n=i.attr("tableName"),r=i.children("DataBaseLink").attr("Name");e.push(n),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),i=t.attr("tableName"),n=t.children("DataBaseLink").attr("Name");xmlxx={tableName:i,dataBaseLink:n},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 i={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 i}debug("一体机启动失败")}function GetIDCardAndMatchImage(){console.log("-----开启一体机功能-----");var e=document.getElementById("IDCard_chrome"),t=e.OpenDevice();if(0==t){t=e.ReadIDCardInfo();var i={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(i)}debug("一体机启动失败")}function MatchImage(e){var t=FaceObj.MatchFace(e.idCard.headImage),i=JSON.parse(t);return e.faceimg=i.image,e.zt=i.retinfo,console.log(e),e}},2823:function(e,t,i){var n=i(8563);e.exports=function(e,t,i){return void 0===i?n(e,t,!1):n(e,i,!1!==t)}},4592:function(e,t,i){var n=i(8563),r=i(2823);e.exports={throttle:n,debounce:r}},8563:function(e){e.exports=function(e,t,i,n){var r,a=0;function s(){var s=this,o=Number(new Date)-a,l=arguments;function c(){a=Number(new Date),i.apply(s,l)}function u(){r=void 0}n&&!r&&c(),r&&clearTimeout(r),void 0===n&&o>e?c():!0!==t&&(r=setTimeout(n?u:c,void 0===n?e-o:e))}return"boolean"!==typeof t&&(n=i,i=t,t=void 0),s}},2234:function(e,t,i){"use strict";e.exports=i.p+"img/idcardbg1.1f8e1fc6.gif"},4923:function(e,t,i){"use strict";e.exports=i.p+"img/idcardbg2.2e47b05f.gif"},5053:function(e,t,i){"use strict";e.exports=i.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 i=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(i.exports,i,i.exports,__webpack_require__),i.loaded=!0,i.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 i in t)__webpack_require__.o(t,i)&&!__webpack_require__.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}}(),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 St}}),"undefined"!==typeof window){var e=window.document.currentScript,t=e&&e.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);t&&(__webpack_require__.p=t[1])}var i=__webpack_require__(4720),n=__webpack_require__.n(i),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,i,n,r,a,s,o){var l,c="function"===typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=i,c._compiled=!0),n&&(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 h=c.beforeCreate;c.beforeCreate=h?[].concat(h,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 h=u,d=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:"19950710",address:"浙江省杭州市西湖区",cardId:"140*************11",police:"公安局",validStart:"20220516",validEnd:"20420516"},headImage:"data:image/jpeg;base64,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KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK/9k="};this.$emit("click",e)}}}),m=p,v=l(m,d,f,!1,null,"e321b460",null),g=v.exports;g.install=e=>{e.component(g.name,g)};var b=g,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)},_=[],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(i){return[t("el-button",{key:i.name,attrs:{type:"primary",size:"small"},on:{click:function(t){return e.handleAction(i.name)}}},[e._v(e._s(i.label))]),e._t("action")]}))],2)])])},x=[];const C="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,i=0;e=Math.floor(this.totalTimeLength/3600),t=Math.floor(this.totalTimeLength/60%60),i=Math.floor(this.totalTimeLength%60),this.timeLength=e+"时"+t+"分"+i+"秒"},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=`${C}${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,K=l(S,w,x,!1,null,"e24dd0c8",null),D=K.exports,O={name:"scanner-high-camera-jieyu",components:{ScannerHighCameraComponent:D},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)}}},E=O,T=l(E,y,_,!1,null,"ffa79d1e",null),P=T.exports;P.install=e=>{e.component(P.name,P)};var $,I=P,F=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)},N=[],M=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(i){return[t("el-button",{key:i.name,attrs:{type:"primary",size:"small"},on:{click:function(t){return e.handleAction(i.name)}}},[e._v(e._s(i.label))]),e._t("action")]}))],2)])])},j=[];function A(e){return A="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},A(e)}function R(e,t){if("object"!==A(e)||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!==A(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function B(e){var t=R(e,"string");return"symbol"===A(t)?t:String(t)}function L(e,t,i){return t=B(t),t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class V{static startConnect(e,t,i={}){return new Promise(((n,r)=>{let a=new XMLHttpRequest;if(e=e.toUpperCase(),"GET"==e){let e="";Object.keys(i).forEach((t=>{e+=`${t}=${i[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(i)),a.onreadystatechange=function(){if(4===this.readyState)if(200===this.status){let e=this.response;"object"!==typeof e&&(e=JSON.parse(e)),n(e)}else r(a)}}))}static async get(e){let t=await V.startConnect("GET",e);return t}static async post(e,t){let i=await V.startConnect("POST",e,t);return i}}(function(e){e["ScannerMainCamera_Base64"]="ScannerMainCamera_Base64",e["ScannerSecondaryCamera_Base64"]="ScannerSecondaryCamera_Base64",e["ReadIDCard_Base64"]="ReadIDCard_Base64"})($||($={}));$.ScannerMainCamera_Base64,$.ScannerSecondaryCamera_Base64,$.ReadIDCard_Base64;class z{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={},i="";switch(e){case $.ScannerMainCamera_Base64:i=this.baseServiceUrl+"/video=grabimage",t={filepath:"base64",rotate:"0",deskew:"1",camidx:"0",ColorMode:"0",quality:"0"};break;case $.ScannerSecondaryCamera_Base64:i=this.baseServiceUrl+"/video=grabimage",t={filepath:"base64",rotate:"0",deskew:"0",camidx:"1",ColorMode:"0",quality:"0"};break;case $.ReadIDCard_Base64:i=this.baseServiceUrl+"/card=idcard";break}let n=await V.post(i,t);return n}static async scanByMainCamera(){const e=await z.read($.ScannerMainCamera_Base64);return e.photoBase64}static async scanBySecondaryCamera(){const e=await z.read($.ScannerSecondaryCamera_Base64);return e.photoBase64}static async idCardRead(){const e=await z.read($.ReadIDCard_Base64);let{name:t,sex:i,birthday:n,address:r,cardID:a,nationCode:s,photoBase64:o,issueOrgan:l,validStart:c,validEnd:u}=e.IDCardInfo;const h={info:{name:t,sex:i,birthday:n.replace("-","").replace("-",""),address:r,cardId:a,nation:s,police:l,validStart:c,validEnd:u},headImage:o};return h}}L(z,"baseServiceUrl","http://127.0.0.1:38088");const U="data:image/jpg;base64,";var H={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=z.mainCameraUrl},methods:{selectChange(e){let t=1===e?"start-vice":"start-main";this.handleAction(t)},handleAction(e){switch(e){case"start-main":this.scannerVideoSrc=z.mainCameraUrl;break;case"start-vice":this.scannerVideoSrc=z.secondaryCameraUrl;break;case"take-pictures":this.takePictures();break}},async takePictures(){if(0===this.camera){const e=await z.scanByMainCamera();this.$emit("send-scanner-result",`${U}${e}`)}else{const e=await z.scanBySecondaryCamera();this.$emit("send-scanner-result",`${U}${e}`)}}}},W=H,q=l(W,M,j,!1,null,"428304e7",null),G=q.exports,Y={name:"scanner-eloam",components:{ScannerEloamComponent:G},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)}}},X=Y,J=l(X,F,N,!1,null,"a80d3a26",null),Z=J.exports;Z.install=e=>{e.component(Z.name,Z)};var Q,ee=Z,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)},ie=[],ne=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(i){return[t("el-button",{key:i.name,attrs:{type:"primary",size:"small"},on:{click:function(t){return e.handleAction(i.name)}}},[e._v(e._s(i.label))]),e._t("action")]}))],2)])])},re=[];class ae{static startConnect(e,t,i={}){return new Promise(((n,r)=>{let a=new XMLHttpRequest;if(e=e.toUpperCase(),"GET"==e){let e="";Object.keys(i).forEach((t=>{e+=`${t}=${i[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(i)),a.onreadystatechange=function(){if(4===this.readyState)if(200===this.status){let e=this.response;"object"!==typeof e&&(e=JSON.parse(e)),n(e)}else r(a)}}))}static async get(e){let t=await ae.startConnect("GET",e);return t}static async post(e,t){let i=await ae.startConnect("POST",e,t);return i}}(function(e){e["ScannerMainCamera_Base64"]="ScannerMainCamera_Base64",e["ScannerSecondaryCamera_Base64"]="ScannerSecondaryCamera_Base64",e["ReadIDCard_Base64"]="ReadIDCard_Base64"})(Q||(Q={}));Q.ScannerMainCamera_Base64,Q.ScannerSecondaryCamera_Base64,Q.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){let t={},i="";switch(e){case Q.ScannerMainCamera_Base64:i=this.baseServiceUrl+"/video=grabimage",t={filepath:"",rotate:"0",deskew:"0",deskewval:"0",camidx:"0",ColorMode:"0",quality:"0",bIsPrint1to1:"0"};break;case Q.ScannerSecondaryCamera_Base64:i=this.baseServiceUrl+"/video=grabimage",t={filepath:"",rotate:"0",deskew:"0",deskewval:"0",camidx:"1",ColorMode:"0",quality:"0",bIsPrint1to1:"0"};break;case Q.ReadIDCard_Base64:i=this.baseServiceUrl+"/card=idcard";break}let n=await ae.post(i,t);return n}static async scanByMainCamera(){const e=await se.read(Q.ScannerMainCamera_Base64);return e.photoBase64}static async scanBySecondaryCamera(){const e=await se.read(Q.ScannerSecondaryCamera_Base64);return e.photoBase64}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(Q.ReadIDCard_Base64);let{name:t,sex:i,birthday:n,address:r,cardID:a,nationCode:s,photoBase64:o,issueOrgan:l,validStart:c,validEnd:u}=e.IDCardInfo;const h={info:{name:t,sex:i,birthday:n.replace("-","").replace("-",""),address:r,cardId:a,nation:s,police:l,validStart:c,validEnd:u},headImage:o};return h}}L(se,"baseServiceUrl","http://127.0.0.1:38088");const oe="scanner-camera-refresh-photo-event";class le extends Event{constructor(e){super(oe),L(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),i=e.substring(10,12),n=e.substring(12,14);return t+"-"+i+"-"+n}return""}static getAgeByIdNumber(e){if(e){const t=new Date,i=t.getMonth()+1,n=t.getDate();let r=t.getFullYear()-e.substring(6,10)-1;return(e.substring(10,12)<i||e.substring(10,12)===i&&e.substring(12,14)<=n)&&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,he,de;(function(e){e["ScannerCamera"]="scannerCamera",e["InteractiveTerminal"]="interactiveTerminal"})(ue||(ue={})),function(e){e["ScannerMainCamera_Base64"]="main",e["ScannerSecondaryCamera_Base64"]="vice",e["AutoFindEdge"]="findEdge",e["SetDelBlackTrimming"]="setDelBlackTrimming",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"}(he||(he={}));class fe{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 i=new WebSocket(t);let n;const r=new Promise((e=>{n=e}));return i.onopen=()=>{n(!0)},i.onmessage=e=>{this.handleMessage(e)},i.onclose=()=>this.handleClose(),i.onerror=()=>this.handleError(),this.ws=i,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="";if(e.origin===this.interactiveTerminalUrl){try{t=JSON.parse(e.data)}catch(i){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,i){if(await this.startConnect(e),1===this.ws.readyState){let e="";switch(t){case he.ScannerMainCamera_Base64:this.ws.send("bStartPlay()"),e="vSetResolution(8)";break;case he.ScannerSecondaryCamera_Base64:e="bStartPlay2";break;case he.AutoFindEdge:e="bSetMode(3)";break;case he.TakePhoto_Base64:this.ws.send("vSetDelHBFlag(true)"),e="bSaveJPGEx";break;case he.ScannerReadCard:e="ReadCard(1001, C:Doccamera)";break;case he.InitParams:e=JSON.stringify({projectCode:i.projectCode,type:181});break;case he.GetSignName_Base64:e=JSON.stringify({type:3,Timeout:60,Location:"0,1,450,500|1,1,450,500",PDFPath:i.PDFPath,Retain:"test",XmlPath:""});break;case he.ReadIDCard_Base64:e=JSON.stringify({type:4});break;case he.FaceValidateWithIdCard_Base64:e=JSON.stringify({type:5});break;case he.FingerPrint_Base64:e=JSON.stringify({FileFullName:"d:\\Fingerprint.png",TimeOut:60,type:12});break;case he.ScanQRCode:e=JSON.stringify({type:61});break;case he.StartProjection:e=JSON.stringify({type:82});break;case he.EndProjection:e=JSON.stringify({type:83});break;case he.Evaluate:e=JSON.stringify({type:90,URL:i.URL});break}return this.ws.send(e),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}throw Error("设备未准备完成")}static async turnOnTheCamera(e){this.ws&&this.ws.close(),fe.read(ue.ScannerCamera,e),setTimeout((()=>{fe.read(ue.ScannerCamera,he.AutoFindEdge)}),1e3)}static async scanByCamera(){let e=await fe.read(ue.ScannerCamera,he.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 fe.read(ue.InteractiveTerminal,he.InitParams,{projectCode:e})}static async signNameRead(e){let t=await fe.read(ue.InteractiveTerminal,he.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 fe.read(ue.ScannerCamera,he.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:i,EnglishName:n,Sex:r,BirthDate:a,Address:s,IdNo:o,Folk:l,Agency:c,Valid:u,PhotoB64:h}=t,[d,f]=u.split("-"),p="",m="1",v="中国",g=ce.isForeignersIdCard(o);g&&(m="9",p=i,i="无中文姓名"===i?n:i,c="中华人民共和国国家移民管理局",v=l,l="");const b={info:{cardType:m,nationality:v,name:i,chineseName:p,englishName:n,sex:r,birthday:a,address:s,cardId:o,nation:l,police:c,validStart:d,validEnd:f},headImage:h};return console.log(b),b}static async idCardRead(){let e=await fe.read(ue.InteractiveTerminal,he.ReadIDCard_Base64);if(!e)throw Error("未匹配可用的捷宇信息交互终端设备");if(0!==e.ret)throw Error("读取二代身份证失败,返回值:"+e.ret+",错误信息:"+e.errMsg);let{name:t,sex:i,birth:n,addr:r,id_num:a,nation:s,base64_ID:o,depart:l,validityTime:c}=e,[u,h]=c.split("-");const d={info:{name:t,sex:i,birthday:n.replace("年","").replace("月","").replace("日",""),address:r,cardId:a,nation:s,police:l,validStart:u,validEnd:h},headImage:o};return console.log("读取二代身份证结果==>",d),d}static async faceValidateWithIdCardRead(){let e=await fe.read(ue.InteractiveTerminal,he.FaceValidateWithIdCard_Base64);if(!e)throw Error("未匹配可用的捷宇信息交互终端设备");if(0!==e.ret)throw Error("读取二代身份证失败,返回值:"+e.ret+",错误信息:"+e.errMsg);let{name:t,sex:i,birth:n,addr:r,id_num:a,nation:s,base64_ID:o,depart:l,validityTime:c,base64_Face:u}=e,[h,d]=c.split("-");const f={idCard:{info:{name:t,sex:i,birthday:n.replace("年","").replace("月","").replace("日",""),address:r,cardId:a,nation:s,police:l,validStart:h,validEnd:d},headImage:o},faceimg:e.base64_Face};return console.log("读取二代身份证结果==>",f),f}static async mergeImage(e,t){return new Promise(((i,n)=>{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,",""),i(t)}}}))}}L(fe,"scannerCameraUrl","ws://127.0.0.1:1818"),L(fe,"interactiveTerminalUrl","ws://127.0.0.1:1919"),L(fe,"ws",void 0),L(fe,"requestStore",[]);class pe{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const e=new WebSocket(this.scannerCameraUrl);let t;const i=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,i}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 pe.read(e)}}L(pe,"scannerCameraUrl","ws://127.0.0.1:38088"),L(pe,"ws",void 0),function(e){e["TurnOnCamera"]="turnOnCamera",e["TakePhoto_Base64"]="TakePhoto_Base64"}(de||(de={}));class me{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const e=new WebSocket(this.scannerCameraUrl);let t;const i=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,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")}));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 de.TurnOnCamera:this.ws.send(JSON.stringify({Func:"StartRunMain",arg:0})),t=JSON.stringify({Func:"ChangeCutType",arg:0});break;case de.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 me.read(de.TurnOnCamera)}static async scanByCamera(){const e=await me.read(de.TakePhoto_Base64);return e}}L(me,"scannerCameraUrl","ws://127.0.0.1:8341"),L(me,"ws",void 0),L(me,"requestStore",[]);const ve="data:image/jpg;base64,";var ge={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"}]}),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=`${ve}${e.scannerResultUrl}`)}))},methods:{selectChange(e){let t=1===e?"start-vice":"start-main";this.handleAction(t)},async takePictures(){switch(this.machineType){case 0:let e=await fe.scanByCamera();this.$emit("send-scanner-result",`${ve}${e}`);break;case 3:this.$emit("send-scanner-result",this.scannerVideoSrc);break;case 4:{let e=await me.scanByCamera();this.$emit("send-scanner-result",`${ve}${e}`);break}case 5:{let e=0===this.camera?"main":"vice";const t=await se.scanByCamera(e);this.$emit("send-scanner-result",`${ve}${t}`);break}}},async handleStartMain(){switch(this.machineType){case 0:await fe.turnOnTheCamera("main");break;case 3:await pe.turnOnTheCamera();break;case 4:await me.turnOnTheCamera();break;case 5:this.scannerVideoSrc=se.mainCameraUrl;break}},async handleStartVice(){switch(this.machineType){case 0:await fe.turnOnTheCamera("vice");break;case 3:await pe.turnOnTheCamera();break;case 4:await me.turnOnTheCamera();break;case 5:this.scannerVideoSrc=se.secondaryCameraUrl;break}},handleAction(e){switch(e){case"start-main":this.handleStartMain();break;case"start-vice":this.handleStartVice();break;case"take-pictures":this.takePictures();break}}}},be=ge,ye=l(be,ne,re,!1,null,"65e6d7b8",null),_e=ye.exports,we={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)}}},xe=we,Ce=l(xe,te,ie,!1,null,"00e9072f",null),ke=Ce.exports;ke.install=e=>{e.component(ke.name,ke)};var Se=ke,Ke=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)},De=[],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 z.idCardRead();this.$emit("click",e)}}},Ee=Oe,Te=l(Ee,Ke,De,!1,null,"5b7ce781",null),Pe=Te.exports;Pe.install=e=>{e.component(Pe.name,Pe)};var $e,Ie,Fe=Pe,Ne=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)},Me=[];(function(e){e["idcard"]="sfz",e["jlsfz"]="jlsfz",e["camera"]="sxt",e["ywSign"]="yw",e["hwSign"]="hwsign"})($e||($e={}));class je{static startConnect(e=$e.idcard){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let t=this.idcardWebSocketUrl;switch(e){case $e.idcard:t=this.idcardWebSocketUrl;break;case $e.jlsfz:t=this.jlsfzWebSocketUrl}const i=new WebSocket(t);let n;const r=new Promise((e=>{n=e}));return i.onopen=()=>{n(!0)},i.onmessage=e=>this.handleMessage(e),i.onclose=()=>this.handleClose(),i.onerror=()=>this.handleError(),this.ws=i,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(i){t=""}this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(e=$e.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[$e.jlsfz,$e.idcard]){const i=await je.read(t);if(i&&i.hasOwnProperty("info")){e=i;break}}if(e)return e;throw Error("未匹配可用的读卡器")}}L(je,"idcardWebSocketUrl","ws://127.0.0.1:8152/SFZManage"),L(je,"jlsfzWebSocketUrl","ws://127.0.0.1:8152/JLSFZManage"),L(je,"ws",void 0),L(je,"requestStore",[]);class Ae{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let e=this.cameraWebSocketUrl;const t=new WebSocket(e);let i;const n=new Promise((e=>{i=e}));return t.onopen=()=>{i(!0)},t.onmessage=e=>this.handleMessage(e),t.onclose=()=>this.handleClose(),t.onerror=()=>this.handleError(),this.ws=t,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")}))}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($e.camera),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}));throw Error("读取拍照未准备完成")}}L(Ae,"cameraWebSocketUrl","ws://127.0.0.1:8152/SXTManage"),L(Ae,"ws",void 0),L(Ae,"requestStore",[]);class Re{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let t=this.signWebSocketUrl;e===$e.hwSign&&(t=this.hwSignWebSocketUrl);const i=new WebSocket(t);let n;const r=new Promise((e=>{n=e}));return i.onopen=()=>{n(!0)},i.onmessage=e=>this.handleMessage(e),i.onclose=()=>this.handleClose(),i.onerror=()=>this.handleError(),this.ws=i,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=$e.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("签字板未准备完成")}}L(Re,"signWebSocketUrl","ws://127.0.0.1:8152/chromeManage"),L(Re,"hwSignWebSocketUrl","ws://127.0.0.1:8152/HWSIGNManage"),L(Re,"ws",void 0),L(Re,"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"}(Ie||(Ie={}));const Be={[Ie.iReadCardBas]:"读取社保卡",[Ie.GetSignName_Base64]:"获取签名",[Ie.ReadIDCard_Base64]:"读取二代身份证",[Ie.FaceValidateWithIdCard_Base64]:"人证比对",[Ie.FingerPrint_Base64]:"获取指纹"};class Le{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let t="";switch(e){case Ie.FingerPrint_Base64:t=this.fingerPrintBasWebSocketUrl;break;default:t=this.iReadCardBasWebSocketUrl;break}const i=new WebSocket(t);let n;const r=new Promise((e=>{n=e}));return i.onopen=()=>{n(!0)},i.onmessage=t=>{e===Ie.FingerPrint_Base64&&(t={...t,data:JSON.stringify({fingerPrintInfo:t.data})}),this.handleMessage(t)},i.onclose=()=>this.handleClose(),i.onerror=()=>this.handleError(),this.ws=i,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(i){t=""}this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(e){await this.startConnect(e);const t=Be[e];if(1===this.ws.readyState){let i;switch(e!==Ie.FingerPrint_Base64&&console.log(t+"连接成功"),e){case Ie.ReadIDCard_Base64:i=JSON.stringify({method:e,args:{outTimes:30,cardReader:1}});break;case Ie.FaceValidateWithIdCard_Base64:i=JSON.stringify({method:e,args:{outTimes:30,cardReader:1,cameraType:0}});break;case Ie.iReadCardBas:i=JSON.stringify({method:e,args:{icType:"1"}});break;case Ie.FingerPrint_Base64:i="getimgae,1,0,288,0";break;default:i=JSON.stringify({method:e,args:{outTimes:30}});break}return this.ws.send(i),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}throw Error(t+"未准备完成")}static async idCardRead(e=Ie.ReadIDCard_Base64){const t=await Le.read(Ie.ReadIDCard_Base64);if(console.log("读取二代身份证==>",t),!t)throw Error("未匹配可用的E窗通读取设备");if(0!==t.retVal)throw Error("读取二代身份证失败,返回值:"+t.retVal+",错误信息:"+t.errMsg);const i=t.idInfo.data,{name:n,sex:r,birthday:a,address:s,id_num:o,nations:l}=i,c={info:{name:n,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 Le.read(Ie.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:i,sex:n,birth:r,address:a,idNo:s,nation:o}=t,l={idCard:{info:{name:i,sex:n,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 Le.read(Ie.iReadCardBas);if(!e)throw Error("未匹配可用的E窗通读取设备");if(0!==e.retVal)throw Error("读取社保卡基本信息失败,返回值:"+e.retVal+",错误信息:"+e.outInfo);const t=e.outInfo,i=t.split("|"),n=i[1],r=ce.getBirthdayByIdNumber(n).replace("-","").replace("-",""),a=ce.getGenderByIdNumber(n),s={info:{name:i[4],sex:a,birthday:r,address:"",cardId:n},headImage:""};return console.log("读取社保卡==>",e),s}static async signNameRead(){const e=await Le.read(Ie.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 i=await Le.read(Ie.FingerPrint_Base64);if(!i)throw Error("未匹配可用的E窗通读取设备");let n=i.fingerPrintInfo.split("|");console.log(n);let r=Number(n[1]);return r>1?e>0?(e--,await t()):{status:"error",data:"已超时,请重新操作,按压指纹"}:{status:"success",data:i.fingerPrintInfo}}let{status:i,data:n}=await t();if("error"===i)throw Error(n);{let[e,t,i,r,a]=n.split("|");return{method:e,result:t,quality:i,image:r,featureCode:a}}}}var Ve;L(Le,"iReadCardBasWebSocketUrl","ws://127.0.0.1:5847"),L(Le,"fingerPrintBasWebSocketUrl","ws://127.0.0.1:9000"),L(Le,"ws",void 0),L(Le,"requestStore",[]),function(e){e[e["ReadSocialSecurityCard"]=1002]="ReadSocialSecurityCard",e[e["ReadIDCard"]=1003]="ReadIDCard"}(Ve||(Ve={}));class ze{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const e=this.HaDWebSocketUrl,t=new WebSocket(e);let i;const n=new Promise((e=>{i=e}));return t.onopen=()=>{i(!0)},t.onmessage=e=>this.handleMessage(e),t.onclose=()=>this.handleClose(),t.onerror=()=>this.handleError(),this.ws=t,n}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){if(await this.startConnect(),1===this.ws.readyState){let t;1003!==e&&1002!==e||(t={tsCode:e.toString(),picFilePath:"d:\\zp.bmp"});const i=JSON.stringify(t);return this.ws.send(i),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}throw Error("设备未准备完成")}static async idCardRead(){const e=await ze.read(Ve.ReadIDCard);if(console.log("读取二代身份证==>",e),!e)throw Error("未匹配可用的读取设备");const t=e.cardInfo.split("|")[1],i=e.cardInfo.split("|")[2],n=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:i,birthday:r,address:a,cardId:s,nation:n},headImage:o};return console.log("读取二代身份证结果==>",l),l}static async socialSecurityCardRead(){const e=await ze.read(Ve.ReadSocialSecurityCard);if(!e)throw Error("未匹配可用的读取设备");const t=e.cardInfo.split("|")[1],i=e.cardInfo.split("|")[2],n=ce.getBirthdayByIdNumber(t).replace("-","").replace("-",""),r=ce.getGenderByIdNumber(t),a={info:{name:i,sex:r,birthday:n,address:"",cardId:t},headImage:""};return console.log("读取社保卡==>",e),a}}L(ze,"HaDWebSocketUrl","ws://127.0.0.1:36669/"),L(ze,"ws",void 0),L(ze,"requestStore",[]);var Ue,He=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 We(e){var t,i,n,r,a,s,o;s=e.length,a=0,o="";while(a<s){do{t=He[255&e.charCodeAt(a++)]}while(a<s&&-1==t);if(-1==t)break;do{i=He[255&e.charCodeAt(a++)]}while(a<s&&-1==i);if(-1==i)break;o+=String.fromCharCode(t<<2|(48&i)>>4);do{if(n=255&e.charCodeAt(a++),61==n)return o;n=He[n]}while(a<s&&-1==n);if(-1==n)break;o+=String.fromCharCode((15&i)<<4|(60&n)>>2);do{if(r=255&e.charCodeAt(a++),61==r)return o;r=He[r]}while(a<s&&-1==r);if(-1==r)break;o+=String.fromCharCode((3&n)<<6|r)}return o}function qe(e){var t,i,n,r,a,s;t="",n=e.length,i=0;while(i<n)switch(r=e.charCodeAt(i++),r>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:t+=e.charAt(i-1);break;case 12:case 13:a=e.charCodeAt(i++),t+=String.fromCharCode((31&r)<<6|63&a);break;case 14:a=e.charCodeAt(i++),s=e.charCodeAt(i++),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 Ge{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const t=this.MRAdbWebSocketUrl,i=new WebSocket(t);let n;const r=new Promise((e=>{n=e}));return i.onopen=()=>{i.send(e),n(!0)},i.onmessage=e=>this.handleMessage(e),i.onclose=()=>this.handleClose(),i.onerror=()=>this.handleError(),this.ws=i,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 Ge.read(Ue.ReadIDCard);if(console.log("中正智能人证核验返回==>",e),!e)throw Error("未匹配可用的读取设备");const{result:t,data:i}=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=qe(We(i));console.log("中正智能人证核验结果==>",e);const t=e.split("$"),n=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],h={idCard:{info:{name:n,sex:r,birthday:s,address:o,cardId:l,nation:a},headImage:c},faceimg:u};return console.log("中正智能人证核验结果转换==>",{name:n,sex:r,birthday:s,address:o,cardId:l,nation:a}),h}}return""}}L(Ge,"MRAdbWebSocketUrl","ws://127.0.0.1:8003/finger"),L(Ge,"ws",void 0),L(Ge,"requestStore",[]);var Ye=__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(i){return t("el-button",e._b({key:i.name,on:{click:function(t){return e.buttonClickEvent(i.name)}}},"el-button",i,!1),[e._v(e._s(i.label)+" ")])})),1)],1):e._e()},Je=[],Ze={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,Ye.xj)()}))},methods:{async veriface(){const e=await Ye.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}}}},Qe=Ze,et=l(Qe,Xe,Je,!1,null,null,null),tt=et.exports,it=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(i){return[e.isShowButton(i.name)?t("el-button",e._b({key:i.name,on:{click:function(t){return e.buttonClickEvent(i.name)}}},"el-button",i,!1),[e._v(e._s(i.label)+" ")]):e._e()]}))],2)]):e._e()},nt=[],rt={name:"eloam-take-photo-dialog",data:()=>({visibility:!0,scannerVideoSrc:z.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 z.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}}}},at=rt,st=l(at,it,nt,!1,null,"6e18b4de",null),ot=st.exports,lt=__webpack_require__(7203),ct=__webpack_require__.n(lt);class ut{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let e=this.idCardWebSocketUrl;const t=new WebSocket(e);let i;const n=new Promise((e=>{i=e}));return t.onopen=()=>{i(!0)},t.onmessage=e=>this.handleMessage(e),t.onclose=()=>this.handleClose(),t.onerror=()=>this.handleError(),this.ws=t,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")}))}static handleMessage(e){let t="";try{t=e.data}catch(i){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 ut.read();if(e){let[t,i,n,r,a,s,o,l,c,u]=e.split("|"),h=e.split("|")[17];const d={info:{name:i,sex:n,birthday:a,address:s,cardId:o,nation:r,police:l,validStart:c,validEnd:u},headImage:h};return d}throw Error("未匹配可用的读卡器")}}L(ut,"idCardWebSocketUrl","ws://127.0.0.1:7415"),L(ut,"ws",void 0),L(ut,"requestStore",[]);var ht=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(i){return[t("el-button",e._b({key:i.name,on:{click:function(t){return e.buttonClickEvent(i.name)}}},"el-button",i,!1),[e._v(e._s(i.label)+" ")])]}))],2)])},dt=[],ft={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 i={audio:!1,video:{width:1920,height:1080}};if(navigator.mediaDevices.getUserMedia)try{let t=await navigator.mediaDevices.getUserMedia(i);e.srcObject=t,e.play(),this.cameraStream=t}catch(n){this.$message.error("没有可用的摄像头!"),console.log(n)}},takePicture(){let e=this.$refs.monitor,t=this.$refs.photo,i=t.getContext("2d");i.drawImage(e,0,0,1920,1080);let n=t.toDataURL("image/png");t.src=n,this.viewerPhotoSrc=n,this.scannerPhotoSrc=n.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}}}},pt=ft,mt=l(pt,ht,dt,!1,null,null,null),vt=mt.exports,gt={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:"JVBERi0xLjcKJcKzx9gNCjMgMCBvYmoNPDwvQXV0aG9yIChhZG1pbikgL0NvbW1lbnRzICgpIC9Db21wYW55ICgpIC9DcmVhdGlvbkRhdGUgKEQ6MjAyMzA4MjYxNjQzMzUrMDgnNDMnKSAvQ3JlYXRvciAo/v8AVwBQAFMAIGWHW1cpIC9LZXl3b3JkcyAoKSAvTW9kRGF0ZSAoRDoyMDIzMDgyNjE2NDMzNSswOCc0MycpIC9Qcm9kdWNlciAoKSAvU291cmNlTW9kaWZpZWQgKEQ6MjAyMzA4MjYxNjQzMzUrMDgnNDMnKSAvU3ViamVjdCAoKSAvVGl0bGUgKCkgL1RyYXBwZWQgL0ZhbHNlPj4NZW5kb2JqDTYgMCBvYmoNPDwvQ29udGVudHMgNyAwIFIgL01lZGlhQm94IFswIDAgNTk1LjMgODQxLjldIC9QYXJlbnQgMiAwIFIgL1R5cGUgL1BhZ2U+Pg1lbmRvYmoNNyAwIG9iag08PC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggMjg+Pg0Kc3RyZWFtDQp4nCvkNVQwAEJdEGVhYqhnqZCcyxvICwA4EQSdDQplbmRzdHJlYW0NZW5kb2JqDTIgMCBvYmoNPDwvQ291bnQgMSAvS2lkcyBbNiAwIFJdIC9UeXBlIC9QYWdlcz4+DWVuZG9iag0xIDAgb2JqDTw8L05hbWVzIDw8L0Rlc3RzIDQgMCBSPj4gL091dGxpbmVzIDUgMCBSIC9QYWdlcyAyIDAgUiAvVHlwZSAvQ2F0YWxvZz4+DWVuZG9iag00IDAgb2JqDTw8L05hbWVzIFtdPj4NZW5kb2JqDTUgMCBvYmoNPDw+Pg1lbmRvYmoNeHJlZg0KMCA4DQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDA1MjcgMDAwMDAgbg0KMDAwMDAwMDQ3MiAwMDAwMCBuDQowMDAwMDAwMDE2IDAwMDAwIG4NCjAwMDAwMDA2MTQgMDAwMDAgbg0KMDAwMDAwMDY0MyAwMDAwMCBuDQowMDAwMDAwMjgzIDAwMDAwIG4NCjAwMDAwMDAzNzIgMDAwMDAgbg0KdHJhaWxlcjw8L1NpemUgOCAvUm9vdCAxIDAgUiAvSW5mbyAzIDAgUiAvSUQgWzxiYTllMTE5ZmNjODQ0MGVjYThjZDYyZWNiYjNmNzA0OD48ZjI5MDhkYTE4YTMxNDkyZDhlODBkZTMyYzg5MjIyMjg+XT4+DXN0YXJ0eHJlZg02NjMNJSVFT0YN",type:String}},data:()=>({showIDCardChrome:!1}),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}},watch:{isJIEYUPlugin:{handler:async e=>{e&&await fe.initParams()}}},async created(){this.isJIEYUPlugin&&await fe.initParams()},methods:{handleClick(){switch(this.readerMode){case"idCard":return this.idCardRReaderEvent();case"veriface":return this.faceReaderEvent();case"sign":return this.signEvent();case"socialSecurityCard":return this.socialSecurityCardReaderEvent()}},async idCardRReaderEvent(){let e;switch(this.readMachineType){case 0:e=await je.idCardCommonRead(),this.$emit("click",e);break;case 1:return this.readLSIDCard();case 2:e=await Le.idCardRead(),this.$emit("click",e);break;case 3:const t=await Ge.idCardRead();t&&(e=t.idCard),this.$emit("click",e);break;case 4:e=await ze.idCardRead(),this.$emit("click",e);break;case 5:e=await z.idCardRead(),this.$emit("click",e);break;case 6:e=await fe.idCardRead(),this.$emit("click",e);break;case 8:e=await ut.idCardRead(),this.$emit("click",e);break;case 9:e=await fe.idCardReadByScanner(),this.$emit("click",e);break}},async faceReaderEvent(){switch(this.readMachineType){case 0:this.readFacePhotoByDefault();break;case 1:this.readLSIDCardAndMatchFace();break;case 2:{const e=await Le.faceValidateWithIdCardRead();this.$emit("click",e);break}case 3:{const e=await Ge.idCardRead();this.$emit("click",e);break}case 5:this.readFacePhotoByELoam();break;case 6:{const e=await fe.faceValidateWithIdCardRead();this.$emit("click",e);break}}},async socialSecurityCardReaderEvent(){try{let e;switch(this.readMachineType){case 2:e=await Le.socialSecurityCardRead();break;case 4:e=await ze.socialSecurityCardRead();break}this.$emit("click",e)}catch(e){throw Error("读取社保卡失败")}},async signEvent(){let e="";switch(this.readMachineType){case 0:e=await Re.read();break;case 1:e=await Re.read($e.hwSign);break;case 2:e=await Le.signNameRead();break;case 3:const t=await fe.signNameRead(this.filePath),i=t.SignNameBase64?JSON.parse(t.SignNameBase64):{SignName0:""},n=t.FingerPrintBase64?JSON.parse(t.FingerPrintBase64):{FingerPrint0:""},r=i.SignName0.split(";")[0],a=n.FingerPrint0.split(";")[0];console.log("签字&指纹",r,a),a?(e=await fe.mergeImage(r,a),console.log(e)):e=r;break}this.$emit("click",e)},async readLSIDCardAndMatchFace(){this.showIDCardChrome=!0;const e=document.createElement("div");document.body.appendChild(e);const t=new(ct())({render:e=>e(tt,{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)},readFacePhotoByELoam(){const e=document.createElement("div");document.body.appendChild(e);const t=new(ct())({render:e=>e(ot,{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(ct())({render:e=>e(vt,{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,Ye.oK)();console.log("丽水一体机读取身份证信息=>",e),this.$emit("click",e)}catch(e){throw Error("读取身份证信息失败")}finally{this.showIDCardChrome=!1}}))}}},bt=gt,yt=l(bt,Ne,Me,!1,null,"5b90b226",null),_t=yt.exports;_t.install=e=>{e.component(_t.name,_t)};var wt=_t;const xt=[h,b,Fe,wt,I,ee,Se],Ct=e=>{e.use(n()),Ct.installed||xt.forEach((t=>{e.component(t.name,t)}))};"undefined"!==typeof window&&window.Vue&&Ct(window.Vue);var kt={install:Ct,...xt},St=kt}(),__webpack_exports__}()}));
24
+ function a(e,t){if(!r.canUseDOM||t&&!("addEventListener"in document))return!1;var i="on"+e,a=i in document;if(!a){var s=document.createElement("div");s.setAttribute(i,"return;"),a="function"===typeof s[i]}return!a&&n&&"wheel"===e&&(a=document.implementation.hasFeature("Events.wheel","3.0")),a}r.canUseDOM&&(n=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=a},643:function(e,t,i){"use strict";var n=i(4518),r=i(6534),a=10,s=40,o=800;function l(e){var t=0,i=0,n=0,r=0;return"detail"in e&&(i=e.detail),"wheelDelta"in e&&(i=-e.wheelDelta/120),"wheelDeltaY"in e&&(i=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=i,i=0),n=t*a,r=i*a,"deltaY"in e&&(r=e.deltaY),"deltaX"in e&&(n=e.deltaX),(n||r)&&e.deltaMode&&(1==e.deltaMode?(n*=s,r*=s):(n*=o,r*=o)),n&&!t&&(t=n<1?-1:1),r&&!i&&(i=r<1?-1:1),{spinX:t,spinY:i,pixelX:n,pixelY:r}}l.getEventType=function(){return n.firefox()?"DOMMouseScroll":r("wheel")?"wheel":"mousewheel"},e.exports=l},1033:function(e,t,i){"use strict";i.r(t);var n=function(){if("undefined"!==typeof Map)return Map;function e(e,t){var i=-1;return e.some((function(e,n){return e[0]===t&&(i=n,!0)})),i}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 i=e(this.__entries__,t),n=this.__entries__[i];return n&&n[1]},t.prototype.set=function(t,i){var n=e(this.__entries__,t);~n?this.__entries__[n][1]=i:this.__entries__.push([t,i])},t.prototype.delete=function(t){var i=this.__entries__,n=e(i,t);~n&&i.splice(n,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 i=0,n=this.__entries__;i<n.length;i++){var r=n[i];e.call(t,r[1],r[0])}},t}()}(),r="undefined"!==typeof window&&"undefined"!==typeof document&&window.document===document,a=function(){return"undefined"!==typeof i.g&&i.g.Math===Math?i.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 i=!1,n=!1,r=0;function a(){i&&(i=!1,e()),n&&c()}function l(){s(a)}function c(){var e=Date.now();if(i){if(e-r<o)return;n=!0}else i=!0,n=!1,setTimeout(l,t);r=e}return c}var c=20,u=["top","right","bottom","left","width","height","size","weight"],h="undefined"!==typeof MutationObserver,d=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_,i=t.indexOf(e);~i&&t.splice(i,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),h?(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,i=void 0===t?"":t,n=u.some((function(e){return!!~i.indexOf(e)}));n&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),f=function(e,t){for(var i=0,n=Object.keys(t);i<n.length;i++){var r=n[i];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 v(e){return parseFloat(e)||0}function g(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];return t.reduce((function(t,i){var n=e["border-"+i+"-width"];return t+v(n)}),0)}function b(e){for(var t=["top","right","bottom","left"],i={},n=0,r=t;n<r.length;n++){var a=r[n],s=e["padding-"+a];i[a]=v(s)}return i}function y(e){var t=e.getBBox();return S(0,0,t.width,t.height)}function _(e){var t=e.clientWidth,i=e.clientHeight;if(!t&&!i)return m;var n=p(e).getComputedStyle(e),r=b(n),a=r.left+r.right,s=r.top+r.bottom,o=v(n.width),l=v(n.height);if("border-box"===n.boxSizing&&(Math.round(o+a)!==t&&(o-=g(n,"left","right")+a),Math.round(l+s)!==i&&(l-=g(n,"top","bottom")+s)),!x(e)){var c=Math.round(o+a)-t,u=Math.round(l+s)-i;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 x(e){return e===p(e).document.documentElement}function C(e){return r?w(e)?y(e):_(e):m}function k(e){var t=e.x,i=e.y,n=e.width,r=e.height,a="undefined"!==typeof DOMRectReadOnly?DOMRectReadOnly:Object,s=Object.create(a.prototype);return f(s,{x:t,y:i,width:n,height:r,top:i,right:t+n,bottom:r+i,left:t}),s}function S(e,t,i,n){return{x:e,y:t,width:i,height:n}}var K=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=C(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}(),D=function(){function e(e,t){var i=k(t);f(this,{target:e,contentRect:i})}return e}(),O=function(){function e(e,t,i){if(this.activeObservations_=[],this.observations_=new n,"function"!==typeof e)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=t,this.callbackCtx_=i}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 K(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 D(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}(),E="undefined"!==typeof WeakMap?new WeakMap:new n,T=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 i=d.getInstance(),n=new O(t,i,this);E.set(this,n)}return e}();["observe","unobserve","disconnect"].forEach((function(e){T.prototype[e]=function(){var t;return(t=E.get(this))[e].apply(t,arguments)}}));var P=function(){return"undefined"!==typeof a.ResizeObserver?a.ResizeObserver:T}();t["default"]=P},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(i){var n=[],r=[];$(i).find("ElementTable").each((function(){var e=$(this),t=e.attr("ColumnName"),i=e.attr("CaptionName");n.push(t),r.push(i)})),e=n.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(i){$(i).find("ElementTable").each((function(){var i=$(this),n=i.attr("tableName"),r=i.children("DataBaseLink").attr("Name");e.push(n),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),i=t.attr("tableName"),n=t.children("DataBaseLink").attr("Name");xmlxx={tableName:i,dataBaseLink:n},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 i={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 i}debug("一体机启动失败")}function GetIDCardAndMatchImage(){console.log("-----开启一体机功能-----");var e=document.getElementById("IDCard_chrome"),t=e.OpenDevice();if(0==t){t=e.ReadIDCardInfo();var i={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(i)}debug("一体机启动失败")}function MatchImage(e){var t=FaceObj.MatchFace(e.idCard.headImage),i=JSON.parse(t);return e.faceimg=i.image,e.zt=i.retinfo,console.log(e),e}},2823:function(e,t,i){var n=i(8563);e.exports=function(e,t,i){return void 0===i?n(e,t,!1):n(e,i,!1!==t)}},4592:function(e,t,i){var n=i(8563),r=i(2823);e.exports={throttle:n,debounce:r}},8563:function(e){e.exports=function(e,t,i,n){var r,a=0;function s(){var s=this,o=Number(new Date)-a,l=arguments;function c(){a=Number(new Date),i.apply(s,l)}function u(){r=void 0}n&&!r&&c(),r&&clearTimeout(r),void 0===n&&o>e?c():!0!==t&&(r=setTimeout(n?u:c,void 0===n?e-o:e))}return"boolean"!==typeof t&&(n=i,i=t,t=void 0),s}},2234:function(e,t,i){"use strict";e.exports=i.p+"img/idcardbg1.1f8e1fc6.gif"},4923:function(e,t,i){"use strict";e.exports=i.p+"img/idcardbg2.2e47b05f.gif"},5053:function(e,t,i){"use strict";e.exports=i.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 i=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(i.exports,i,i.exports,__webpack_require__),i.loaded=!0,i.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 i in t)__webpack_require__.o(t,i)&&!__webpack_require__.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}}(),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 St}}),"undefined"!==typeof window){var e=window.document.currentScript,t=e&&e.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);t&&(__webpack_require__.p=t[1])}var i=__webpack_require__(4720),n=__webpack_require__.n(i),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,i,n,r,a,s,o){var l,c="function"===typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=i,c._compiled=!0),n&&(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 h=c.beforeCreate;c.beforeCreate=h?[].concat(h,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 h=u,d=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:"19950710",address:"浙江省杭州市西湖区",cardId:"140*************11",police:"公安局",validStart:"20220516",validEnd:"20420516"},headImage:"data:image/jpeg;base64,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KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK/9k="};this.$emit("click",e)}}}),m=p,v=l(m,d,f,!1,null,"e321b460",null),g=v.exports;g.install=e=>{e.component(g.name,g)};var b=g,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)},_=[],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(i){return[t("el-button",{key:i.name,attrs:{type:"primary",size:"small"},on:{click:function(t){return e.handleAction(i.name)}}},[e._v(e._s(i.label))]),e._t("action")]}))],2)])])},x=[];const C="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,i=0;e=Math.floor(this.totalTimeLength/3600),t=Math.floor(this.totalTimeLength/60%60),i=Math.floor(this.totalTimeLength%60),this.timeLength=e+"时"+t+"分"+i+"秒"},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=`${C}${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,K=l(S,w,x,!1,null,"e24dd0c8",null),D=K.exports,O={name:"scanner-high-camera-jieyu",components:{ScannerHighCameraComponent:D},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)}}},E=O,T=l(E,y,_,!1,null,"ffa79d1e",null),P=T.exports;P.install=e=>{e.component(P.name,P)};var $,I=P,F=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)},N=[],M=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(i){return[t("el-button",{key:i.name,attrs:{type:"primary",size:"small"},on:{click:function(t){return e.handleAction(i.name)}}},[e._v(e._s(i.label))]),e._t("action")]}))],2)])])},j=[];function A(e){return A="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},A(e)}function R(e,t){if("object"!==A(e)||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!==A(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function B(e){var t=R(e,"string");return"symbol"===A(t)?t:String(t)}function L(e,t,i){return t=B(t),t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class V{static startConnect(e,t,i={}){return new Promise(((n,r)=>{let a=new XMLHttpRequest;if(e=e.toUpperCase(),"GET"==e){let e="";Object.keys(i).forEach((t=>{e+=`${t}=${i[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(i)),a.onreadystatechange=function(){if(4===this.readyState)if(200===this.status){let e=this.response;"object"!==typeof e&&(e=JSON.parse(e)),n(e)}else r(a)}}))}static async get(e){let t=await V.startConnect("GET",e);return t}static async post(e,t){let i=await V.startConnect("POST",e,t);return i}}(function(e){e["ScannerMainCamera_Base64"]="ScannerMainCamera_Base64",e["ScannerSecondaryCamera_Base64"]="ScannerSecondaryCamera_Base64",e["ReadIDCard_Base64"]="ReadIDCard_Base64"})($||($={}));$.ScannerMainCamera_Base64,$.ScannerSecondaryCamera_Base64,$.ReadIDCard_Base64;class z{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={},i="";switch(e){case $.ScannerMainCamera_Base64:i=this.baseServiceUrl+"/video=grabimage",t={filepath:"base64",rotate:"0",deskew:"1",camidx:"0",ColorMode:"0",quality:"0"};break;case $.ScannerSecondaryCamera_Base64:i=this.baseServiceUrl+"/video=grabimage",t={filepath:"base64",rotate:"0",deskew:"0",camidx:"1",ColorMode:"0",quality:"0"};break;case $.ReadIDCard_Base64:i=this.baseServiceUrl+"/card=idcard";break}let n=await V.post(i,t);return n}static async scanByMainCamera(){const e=await z.read($.ScannerMainCamera_Base64);return e.photoBase64}static async scanBySecondaryCamera(){const e=await z.read($.ScannerSecondaryCamera_Base64);return e.photoBase64}static async idCardRead(){const e=await z.read($.ReadIDCard_Base64);let{name:t,sex:i,birthday:n,address:r,cardID:a,nationCode:s,photoBase64:o,issueOrgan:l,validStart:c,validEnd:u}=e.IDCardInfo;const h={info:{name:t,sex:i,birthday:n.replace("-","").replace("-",""),address:r,cardId:a,nation:s,police:l,validStart:c,validEnd:u},headImage:o};return h}}L(z,"baseServiceUrl","http://127.0.0.1:38088");const U="data:image/jpg;base64,";var H={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=z.mainCameraUrl},methods:{selectChange(e){let t=1===e?"start-vice":"start-main";this.handleAction(t)},handleAction(e){switch(e){case"start-main":this.scannerVideoSrc=z.mainCameraUrl;break;case"start-vice":this.scannerVideoSrc=z.secondaryCameraUrl;break;case"take-pictures":this.takePictures();break}},async takePictures(){if(0===this.camera){const e=await z.scanByMainCamera();this.$emit("send-scanner-result",`${U}${e}`)}else{const e=await z.scanBySecondaryCamera();this.$emit("send-scanner-result",`${U}${e}`)}}}},W=H,q=l(W,M,j,!1,null,"428304e7",null),G=q.exports,Y={name:"scanner-eloam",components:{ScannerEloamComponent:G},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)}}},X=Y,J=l(X,F,N,!1,null,"a80d3a26",null),Z=J.exports;Z.install=e=>{e.component(Z.name,Z)};var Q,ee=Z,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)},ie=[],ne=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(i){return[t("el-button",{key:i.name,attrs:{type:"primary",size:"small"},on:{click:function(t){return e.handleAction(i.name)}}},[e._v(e._s(i.label))]),e._t("action")]}))],2)])])},re=[];class ae{static startConnect(e,t,i={}){return new Promise(((n,r)=>{let a=new XMLHttpRequest;if(e=e.toUpperCase(),"GET"==e){let e="";Object.keys(i).forEach((t=>{e+=`${t}=${i[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(i)),a.onreadystatechange=function(){if(4===this.readyState)if(200===this.status){let e=this.response;"object"!==typeof e&&(e=JSON.parse(e)),n(e)}else r(a)}}))}static async get(e){let t=await ae.startConnect("GET",e);return t}static async post(e,t){let i=await ae.startConnect("POST",e,t);return i}}(function(e){e["ScannerMainCamera_Base64"]="ScannerMainCamera_Base64",e["ScannerSecondaryCamera_Base64"]="ScannerSecondaryCamera_Base64",e["ReadIDCard_Base64"]="ReadIDCard_Base64"})(Q||(Q={}));Q.ScannerMainCamera_Base64,Q.ScannerSecondaryCamera_Base64,Q.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){let t={},i="";switch(e){case Q.ScannerMainCamera_Base64:i=this.baseServiceUrl+"/video=grabimage",t={filepath:"",rotate:"0",deskew:"0",deskewval:"0",camidx:"0",ColorMode:"0",quality:"0",bIsPrint1to1:"0"};break;case Q.ScannerSecondaryCamera_Base64:i=this.baseServiceUrl+"/video=grabimage",t={filepath:"",rotate:"0",deskew:"0",deskewval:"0",camidx:"1",ColorMode:"0",quality:"0",bIsPrint1to1:"0"};break;case Q.ReadIDCard_Base64:i=this.baseServiceUrl+"/card=idcard";break}let n=await ae.post(i,t);return n}static async scanByMainCamera(){const e=await se.read(Q.ScannerMainCamera_Base64);return e.photoBase64}static async scanBySecondaryCamera(){const e=await se.read(Q.ScannerSecondaryCamera_Base64);return e.photoBase64}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(Q.ReadIDCard_Base64);let{name:t,sex:i,birthday:n,address:r,cardID:a,nationCode:s,photoBase64:o,issueOrgan:l,validStart:c,validEnd:u}=e.IDCardInfo;const h={info:{name:t,sex:i,birthday:n.replace("-","").replace("-",""),address:r,cardId:a,nation:s,police:l,validStart:c,validEnd:u},headImage:o};return h}}L(se,"baseServiceUrl","http://127.0.0.1:38088");const oe="scanner-camera-refresh-photo-event";class le extends Event{constructor(e){super(oe),L(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),i=e.substring(10,12),n=e.substring(12,14);return t+"-"+i+"-"+n}return""}static getAgeByIdNumber(e){if(e){const t=new Date,i=t.getMonth()+1,n=t.getDate();let r=t.getFullYear()-e.substring(6,10)-1;return(e.substring(10,12)<i||e.substring(10,12)===i&&e.substring(12,14)<=n)&&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,he,de;(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"}(he||(he={}));class fe{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 i=new WebSocket(t);let n;const r=new Promise((e=>{n=e}));return i.onopen=()=>{n(!0)},i.onmessage=e=>{this.handleMessage(e)},i.onclose=()=>this.handleClose(),i.onerror=()=>this.handleError(),this.ws=i,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="";if(e.origin===this.interactiveTerminalUrl){try{t=JSON.parse(e.data)}catch(i){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,i){if(await this.startConnect(e),1===this.ws.readyState){let e="";switch(t){case he.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 he.ScannerSecondaryCamera_Base64:e="bStartPlay2";break;case he.TakePhoto_Base64:e="bSaveJPGEx";break;case he.ScannerReadCard:e="ReadCard(1001, C:Doccamera)";break;case he.InitParams:e=JSON.stringify({projectCode:i.projectCode,type:181});break;case he.GetSignName_Base64:e=JSON.stringify({type:3,Timeout:60,Location:"0,1,450,500|1,1,450,500",PDFPath:i.PDFPath,Retain:"test",XmlPath:""});break;case he.ReadIDCard_Base64:e=JSON.stringify({type:4});break;case he.FaceValidateWithIdCard_Base64:e=JSON.stringify({type:5});break;case he.FingerPrint_Base64:e=JSON.stringify({FileFullName:"d:\\Fingerprint.png",TimeOut:60,type:12});break;case he.ScanQRCode:e=JSON.stringify({type:61});break;case he.StartProjection:e=JSON.stringify({type:82});break;case he.EndProjection:e=JSON.stringify({type:83});break;case he.Evaluate:e=JSON.stringify({type:90,URL:i.URL});break}return this.ws.send(e),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}throw Error("设备未准备完成")}static async turnOnTheCamera(e){this.ws&&this.ws.close(),await fe.read(ue.ScannerCamera,e)}static async scanByCamera(){let e=await fe.read(ue.ScannerCamera,he.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 fe.read(ue.InteractiveTerminal,he.InitParams,{projectCode:e})}static async signNameRead(e){let t=await fe.read(ue.InteractiveTerminal,he.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 fe.read(ue.ScannerCamera,he.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:i,EnglishName:n,Sex:r,BirthDate:a,Address:s,IdNo:o,Folk:l,Agency:c,Valid:u,PhotoB64:h}=t,[d,f]=u.split("-"),p="",m="1",v="中国",g=ce.isForeignersIdCard(o);g&&(m="9",p=i,i="无中文姓名"===i?n:i,c="中华人民共和国国家移民管理局",v=l,l="");const b={info:{cardType:m,nationality:v,name:i,chineseName:p,englishName:n,sex:r,birthday:a,address:s,cardId:o,nation:l,police:c,validStart:d,validEnd:f},headImage:h};return console.log(b),b}static async idCardRead(){let e=await fe.read(ue.InteractiveTerminal,he.ReadIDCard_Base64);if(!e)throw Error("未匹配可用的捷宇信息交互终端设备");if(0!==e.ret)throw Error("读取二代身份证失败,返回值:"+e.ret+",错误信息:"+e.errMsg);let{name:t,sex:i,birth:n,addr:r,id_num:a,nation:s,base64_ID:o,depart:l,validityTime:c}=e,[u,h]=c.split("-");const d={info:{name:t,sex:i,birthday:n.replace("年","").replace("月","").replace("日",""),address:r,cardId:a,nation:s,police:l,validStart:u,validEnd:h},headImage:o};return console.log("读取二代身份证结果==>",d),d}static async faceValidateWithIdCardRead(){let e=await fe.read(ue.InteractiveTerminal,he.FaceValidateWithIdCard_Base64);if(!e)throw Error("未匹配可用的捷宇信息交互终端设备");if(0!==e.ret)throw Error("读取二代身份证失败,返回值:"+e.ret+",错误信息:"+e.errMsg);let{name:t,sex:i,birth:n,addr:r,id_num:a,nation:s,base64_ID:o,depart:l,validityTime:c,base64_Face:u}=e,[h,d]=c.split("-");const f={idCard:{info:{name:t,sex:i,birthday:n.replace("年","").replace("月","").replace("日",""),address:r,cardId:a,nation:s,police:l,validStart:h,validEnd:d},headImage:o},faceimg:e.base64_Face};return console.log("读取二代身份证结果==>",f),f}static async mergeImage(e,t){return new Promise(((i,n)=>{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,",""),i(t)}}}))}}L(fe,"scannerCameraUrl","ws://127.0.0.1:1818"),L(fe,"interactiveTerminalUrl","ws://127.0.0.1:1919"),L(fe,"ws",void 0),L(fe,"requestStore",[]);class pe{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const e=new WebSocket(this.scannerCameraUrl);let t;const i=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,i}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 pe.read(e)}}L(pe,"scannerCameraUrl","ws://127.0.0.1:38088"),L(pe,"ws",void 0),function(e){e["TurnOnCamera"]="turnOnCamera",e["TakePhoto_Base64"]="TakePhoto_Base64"}(de||(de={}));class me{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const e=new WebSocket(this.scannerCameraUrl);let t;const i=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,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")}));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 de.TurnOnCamera:this.ws.send(JSON.stringify({Func:"StartRunMain",arg:0})),t=JSON.stringify({Func:"ChangeCutType",arg:0});break;case de.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 me.read(de.TurnOnCamera)}static async scanByCamera(){const e=await me.read(de.TakePhoto_Base64);return e}}L(me,"scannerCameraUrl","ws://127.0.0.1:8341"),L(me,"ws",void 0),L(me,"requestStore",[]);const ve="data:image/jpg;base64,";var ge={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"}]}),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=`${ve}${e.scannerResultUrl}`)}))},methods:{selectChange(e){let t=1===e?"start-vice":"start-main";this.handleAction(t)},async takePictures(){switch(this.machineType){case 0:let e=await fe.scanByCamera();this.$emit("send-scanner-result",`${ve}${e}`);break;case 3:this.$emit("send-scanner-result",this.scannerVideoSrc);break;case 4:{let e=await me.scanByCamera();this.$emit("send-scanner-result",`${ve}${e}`);break}case 5:{let e=0===this.camera?"main":"vice";const t=await se.scanByCamera(e);this.$emit("send-scanner-result",`${ve}${t}`);break}}},async handleStartMain(){switch(this.machineType){case 0:await fe.turnOnTheCamera("main");break;case 3:await pe.turnOnTheCamera();break;case 4:await me.turnOnTheCamera();break;case 5:this.scannerVideoSrc=se.mainCameraUrl;break}},async handleStartVice(){switch(this.machineType){case 0:await fe.turnOnTheCamera("vice");break;case 3:await pe.turnOnTheCamera();break;case 4:await me.turnOnTheCamera();break;case 5:this.scannerVideoSrc=se.secondaryCameraUrl;break}},handleAction(e){switch(e){case"start-main":this.handleStartMain();break;case"start-vice":this.handleStartVice();break;case"take-pictures":this.takePictures();break}}}},be=ge,ye=l(be,ne,re,!1,null,"65e6d7b8",null),_e=ye.exports,we={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)}}},xe=we,Ce=l(xe,te,ie,!1,null,"00e9072f",null),ke=Ce.exports;ke.install=e=>{e.component(ke.name,ke)};var Se=ke,Ke=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)},De=[],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 z.idCardRead();this.$emit("click",e)}}},Ee=Oe,Te=l(Ee,Ke,De,!1,null,"5b7ce781",null),Pe=Te.exports;Pe.install=e=>{e.component(Pe.name,Pe)};var $e,Ie,Fe=Pe,Ne=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)},Me=[];(function(e){e["idcard"]="sfz",e["jlsfz"]="jlsfz",e["camera"]="sxt",e["ywSign"]="yw",e["hwSign"]="hwsign"})($e||($e={}));class je{static startConnect(e=$e.idcard){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let t=this.idcardWebSocketUrl;switch(e){case $e.idcard:t=this.idcardWebSocketUrl;break;case $e.jlsfz:t=this.jlsfzWebSocketUrl}const i=new WebSocket(t);let n;const r=new Promise((e=>{n=e}));return i.onopen=()=>{n(!0)},i.onmessage=e=>this.handleMessage(e),i.onclose=()=>this.handleClose(),i.onerror=()=>this.handleError(),this.ws=i,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(i){t=""}this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(e=$e.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[$e.jlsfz,$e.idcard]){const i=await je.read(t);if(i&&i.hasOwnProperty("info")){e=i;break}}if(e)return e;throw Error("未匹配可用的读卡器")}}L(je,"idcardWebSocketUrl","ws://127.0.0.1:8152/SFZManage"),L(je,"jlsfzWebSocketUrl","ws://127.0.0.1:8152/JLSFZManage"),L(je,"ws",void 0),L(je,"requestStore",[]);class Ae{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let e=this.cameraWebSocketUrl;const t=new WebSocket(e);let i;const n=new Promise((e=>{i=e}));return t.onopen=()=>{i(!0)},t.onmessage=e=>this.handleMessage(e),t.onclose=()=>this.handleClose(),t.onerror=()=>this.handleError(),this.ws=t,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")}))}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($e.camera),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}));throw Error("读取拍照未准备完成")}}L(Ae,"cameraWebSocketUrl","ws://127.0.0.1:8152/SXTManage"),L(Ae,"ws",void 0),L(Ae,"requestStore",[]);class Re{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let t=this.signWebSocketUrl;e===$e.hwSign&&(t=this.hwSignWebSocketUrl);const i=new WebSocket(t);let n;const r=new Promise((e=>{n=e}));return i.onopen=()=>{n(!0)},i.onmessage=e=>this.handleMessage(e),i.onclose=()=>this.handleClose(),i.onerror=()=>this.handleError(),this.ws=i,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=$e.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("签字板未准备完成")}}L(Re,"signWebSocketUrl","ws://127.0.0.1:8152/chromeManage"),L(Re,"hwSignWebSocketUrl","ws://127.0.0.1:8152/HWSIGNManage"),L(Re,"ws",void 0),L(Re,"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"}(Ie||(Ie={}));const Be={[Ie.iReadCardBas]:"读取社保卡",[Ie.GetSignName_Base64]:"获取签名",[Ie.ReadIDCard_Base64]:"读取二代身份证",[Ie.FaceValidateWithIdCard_Base64]:"人证比对",[Ie.FingerPrint_Base64]:"获取指纹"};class Le{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let t="";switch(e){case Ie.FingerPrint_Base64:t=this.fingerPrintBasWebSocketUrl;break;default:t=this.iReadCardBasWebSocketUrl;break}const i=new WebSocket(t);let n;const r=new Promise((e=>{n=e}));return i.onopen=()=>{n(!0)},i.onmessage=t=>{e===Ie.FingerPrint_Base64&&(t={...t,data:JSON.stringify({fingerPrintInfo:t.data})}),this.handleMessage(t)},i.onclose=()=>this.handleClose(),i.onerror=()=>this.handleError(),this.ws=i,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(i){t=""}this.requestStore.forEach((({resolve:e})=>{e(t)})),this.requestStore=[],this.ws.close()}static async read(e){await this.startConnect(e);const t=Be[e];if(1===this.ws.readyState){let i;switch(e!==Ie.FingerPrint_Base64&&console.log(t+"连接成功"),e){case Ie.ReadIDCard_Base64:i=JSON.stringify({method:e,args:{outTimes:30,cardReader:1}});break;case Ie.FaceValidateWithIdCard_Base64:i=JSON.stringify({method:e,args:{outTimes:30,cardReader:1,cameraType:0}});break;case Ie.iReadCardBas:i=JSON.stringify({method:e,args:{icType:"1"}});break;case Ie.FingerPrint_Base64:i="getimgae,1,0,288,0";break;default:i=JSON.stringify({method:e,args:{outTimes:30}});break}return this.ws.send(i),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}throw Error(t+"未准备完成")}static async idCardRead(e=Ie.ReadIDCard_Base64){const t=await Le.read(Ie.ReadIDCard_Base64);if(console.log("读取二代身份证==>",t),!t)throw Error("未匹配可用的E窗通读取设备");if(0!==t.retVal)throw Error("读取二代身份证失败,返回值:"+t.retVal+",错误信息:"+t.errMsg);const i=t.idInfo.data,{name:n,sex:r,birthday:a,address:s,id_num:o,nations:l}=i,c={info:{name:n,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 Le.read(Ie.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:i,sex:n,birth:r,address:a,idNo:s,nation:o}=t,l={idCard:{info:{name:i,sex:n,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 Le.read(Ie.iReadCardBas);if(!e)throw Error("未匹配可用的E窗通读取设备");if(0!==e.retVal)throw Error("读取社保卡基本信息失败,返回值:"+e.retVal+",错误信息:"+e.outInfo);const t=e.outInfo,i=t.split("|"),n=i[1],r=ce.getBirthdayByIdNumber(n).replace("-","").replace("-",""),a=ce.getGenderByIdNumber(n),s={info:{name:i[4],sex:a,birthday:r,address:"",cardId:n},headImage:""};return console.log("读取社保卡==>",e),s}static async signNameRead(){const e=await Le.read(Ie.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 i=await Le.read(Ie.FingerPrint_Base64);if(!i)throw Error("未匹配可用的E窗通读取设备");let n=i.fingerPrintInfo.split("|");console.log(n);let r=Number(n[1]);return r>1?e>0?(e--,await t()):{status:"error",data:"已超时,请重新操作,按压指纹"}:{status:"success",data:i.fingerPrintInfo}}let{status:i,data:n}=await t();if("error"===i)throw Error(n);{let[e,t,i,r,a]=n.split("|");return{method:e,result:t,quality:i,image:r,featureCode:a}}}}var Ve;L(Le,"iReadCardBasWebSocketUrl","ws://127.0.0.1:5847"),L(Le,"fingerPrintBasWebSocketUrl","ws://127.0.0.1:9000"),L(Le,"ws",void 0),L(Le,"requestStore",[]),function(e){e[e["ReadSocialSecurityCard"]=1002]="ReadSocialSecurityCard",e[e["ReadIDCard"]=1003]="ReadIDCard"}(Ve||(Ve={}));class ze{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const e=this.HaDWebSocketUrl,t=new WebSocket(e);let i;const n=new Promise((e=>{i=e}));return t.onopen=()=>{i(!0)},t.onmessage=e=>this.handleMessage(e),t.onclose=()=>this.handleClose(),t.onerror=()=>this.handleError(),this.ws=t,n}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){if(await this.startConnect(),1===this.ws.readyState){let t;1003!==e&&1002!==e||(t={tsCode:e.toString(),picFilePath:"d:\\zp.bmp"});const i=JSON.stringify(t);return this.ws.send(i),new Promise(((e,t)=>{this.requestStore||(this.requestStore=[]),this.requestStore.push({resolve:e,reject:t})}))}throw Error("设备未准备完成")}static async idCardRead(){const e=await ze.read(Ve.ReadIDCard);if(console.log("读取二代身份证==>",e),!e)throw Error("未匹配可用的读取设备");const t=e.cardInfo.split("|")[1],i=e.cardInfo.split("|")[2],n=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:i,birthday:r,address:a,cardId:s,nation:n},headImage:o};return console.log("读取二代身份证结果==>",l),l}static async socialSecurityCardRead(){const e=await ze.read(Ve.ReadSocialSecurityCard);if(!e)throw Error("未匹配可用的读取设备");const t=e.cardInfo.split("|")[1],i=e.cardInfo.split("|")[2],n=ce.getBirthdayByIdNumber(t).replace("-","").replace("-",""),r=ce.getGenderByIdNumber(t),a={info:{name:i,sex:r,birthday:n,address:"",cardId:t},headImage:""};return console.log("读取社保卡==>",e),a}}L(ze,"HaDWebSocketUrl","ws://127.0.0.1:36669/"),L(ze,"ws",void 0),L(ze,"requestStore",[]);var Ue,He=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 We(e){var t,i,n,r,a,s,o;s=e.length,a=0,o="";while(a<s){do{t=He[255&e.charCodeAt(a++)]}while(a<s&&-1==t);if(-1==t)break;do{i=He[255&e.charCodeAt(a++)]}while(a<s&&-1==i);if(-1==i)break;o+=String.fromCharCode(t<<2|(48&i)>>4);do{if(n=255&e.charCodeAt(a++),61==n)return o;n=He[n]}while(a<s&&-1==n);if(-1==n)break;o+=String.fromCharCode((15&i)<<4|(60&n)>>2);do{if(r=255&e.charCodeAt(a++),61==r)return o;r=He[r]}while(a<s&&-1==r);if(-1==r)break;o+=String.fromCharCode((3&n)<<6|r)}return o}function qe(e){var t,i,n,r,a,s;t="",n=e.length,i=0;while(i<n)switch(r=e.charCodeAt(i++),r>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:t+=e.charAt(i-1);break;case 12:case 13:a=e.charCodeAt(i++),t+=String.fromCharCode((31&r)<<6|63&a);break;case 14:a=e.charCodeAt(i++),s=e.charCodeAt(i++),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 Ge{static startConnect(e){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;const t=this.MRAdbWebSocketUrl,i=new WebSocket(t);let n;const r=new Promise((e=>{n=e}));return i.onopen=()=>{i.send(e),n(!0)},i.onmessage=e=>this.handleMessage(e),i.onclose=()=>this.handleClose(),i.onerror=()=>this.handleError(),this.ws=i,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 Ge.read(Ue.ReadIDCard);if(console.log("中正智能人证核验返回==>",e),!e)throw Error("未匹配可用的读取设备");const{result:t,data:i}=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=qe(We(i));console.log("中正智能人证核验结果==>",e);const t=e.split("$"),n=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],h={idCard:{info:{name:n,sex:r,birthday:s,address:o,cardId:l,nation:a},headImage:c},faceimg:u};return console.log("中正智能人证核验结果转换==>",{name:n,sex:r,birthday:s,address:o,cardId:l,nation:a}),h}}return""}}L(Ge,"MRAdbWebSocketUrl","ws://127.0.0.1:8003/finger"),L(Ge,"ws",void 0),L(Ge,"requestStore",[]);var Ye=__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(i){return t("el-button",e._b({key:i.name,on:{click:function(t){return e.buttonClickEvent(i.name)}}},"el-button",i,!1),[e._v(e._s(i.label)+" ")])})),1)],1):e._e()},Je=[],Ze={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,Ye.xj)()}))},methods:{async veriface(){const e=await Ye.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}}}},Qe=Ze,et=l(Qe,Xe,Je,!1,null,null,null),tt=et.exports,it=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(i){return[e.isShowButton(i.name)?t("el-button",e._b({key:i.name,on:{click:function(t){return e.buttonClickEvent(i.name)}}},"el-button",i,!1),[e._v(e._s(i.label)+" ")]):e._e()]}))],2)]):e._e()},nt=[],rt={name:"eloam-take-photo-dialog",data:()=>({visibility:!0,scannerVideoSrc:z.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 z.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}}}},at=rt,st=l(at,it,nt,!1,null,"6e18b4de",null),ot=st.exports,lt=__webpack_require__(7203),ct=__webpack_require__.n(lt);class ut{static startConnect(){if(this.ws&&this.ws.readyState===WebSocket.CONNECTING)return this;let e=this.idCardWebSocketUrl;const t=new WebSocket(e);let i;const n=new Promise((e=>{i=e}));return t.onopen=()=>{i(!0)},t.onmessage=e=>this.handleMessage(e),t.onclose=()=>this.handleClose(),t.onerror=()=>this.handleError(),this.ws=t,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")}))}static handleMessage(e){let t="";try{t=e.data}catch(i){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 ut.read();if(e){let[t,i,n,r,a,s,o,l,c,u]=e.split("|"),h=e.split("|")[17];const d={info:{name:i,sex:n,birthday:a,address:s,cardId:o,nation:r,police:l,validStart:c,validEnd:u},headImage:h};return d}throw Error("未匹配可用的读卡器")}}L(ut,"idCardWebSocketUrl","ws://127.0.0.1:7415"),L(ut,"ws",void 0),L(ut,"requestStore",[]);var ht=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(i){return[t("el-button",e._b({key:i.name,on:{click:function(t){return e.buttonClickEvent(i.name)}}},"el-button",i,!1),[e._v(e._s(i.label)+" ")])]}))],2)])},dt=[],ft={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 i={audio:!1,video:{width:1920,height:1080}};if(navigator.mediaDevices.getUserMedia)try{let t=await navigator.mediaDevices.getUserMedia(i);e.srcObject=t,e.play(),this.cameraStream=t}catch(n){this.$message.error("没有可用的摄像头!"),console.log(n)}},takePicture(){let e=this.$refs.monitor,t=this.$refs.photo,i=t.getContext("2d");i.drawImage(e,0,0,1920,1080);let n=t.toDataURL("image/png");t.src=n,this.viewerPhotoSrc=n,this.scannerPhotoSrc=n.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}}}},pt=ft,mt=l(pt,ht,dt,!1,null,null,null),vt=mt.exports,gt={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:"JVBERi0xLjcKJcKzx9gNCjMgMCBvYmoNPDwvQXV0aG9yIChhZG1pbikgL0NvbW1lbnRzICgpIC9Db21wYW55ICgpIC9DcmVhdGlvbkRhdGUgKEQ6MjAyMzA4MjYxNjQzMzUrMDgnNDMnKSAvQ3JlYXRvciAo/v8AVwBQAFMAIGWHW1cpIC9LZXl3b3JkcyAoKSAvTW9kRGF0ZSAoRDoyMDIzMDgyNjE2NDMzNSswOCc0MycpIC9Qcm9kdWNlciAoKSAvU291cmNlTW9kaWZpZWQgKEQ6MjAyMzA4MjYxNjQzMzUrMDgnNDMnKSAvU3ViamVjdCAoKSAvVGl0bGUgKCkgL1RyYXBwZWQgL0ZhbHNlPj4NZW5kb2JqDTYgMCBvYmoNPDwvQ29udGVudHMgNyAwIFIgL01lZGlhQm94IFswIDAgNTk1LjMgODQxLjldIC9QYXJlbnQgMiAwIFIgL1R5cGUgL1BhZ2U+Pg1lbmRvYmoNNyAwIG9iag08PC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggMjg+Pg0Kc3RyZWFtDQp4nCvkNVQwAEJdEGVhYqhnqZCcyxvICwA4EQSdDQplbmRzdHJlYW0NZW5kb2JqDTIgMCBvYmoNPDwvQ291bnQgMSAvS2lkcyBbNiAwIFJdIC9UeXBlIC9QYWdlcz4+DWVuZG9iag0xIDAgb2JqDTw8L05hbWVzIDw8L0Rlc3RzIDQgMCBSPj4gL091dGxpbmVzIDUgMCBSIC9QYWdlcyAyIDAgUiAvVHlwZSAvQ2F0YWxvZz4+DWVuZG9iag00IDAgb2JqDTw8L05hbWVzIFtdPj4NZW5kb2JqDTUgMCBvYmoNPDw+Pg1lbmRvYmoNeHJlZg0KMCA4DQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDA1MjcgMDAwMDAgbg0KMDAwMDAwMDQ3MiAwMDAwMCBuDQowMDAwMDAwMDE2IDAwMDAwIG4NCjAwMDAwMDA2MTQgMDAwMDAgbg0KMDAwMDAwMDY0MyAwMDAwMCBuDQowMDAwMDAwMjgzIDAwMDAwIG4NCjAwMDAwMDAzNzIgMDAwMDAgbg0KdHJhaWxlcjw8L1NpemUgOCAvUm9vdCAxIDAgUiAvSW5mbyAzIDAgUiAvSUQgWzxiYTllMTE5ZmNjODQ0MGVjYThjZDYyZWNiYjNmNzA0OD48ZjI5MDhkYTE4YTMxNDkyZDhlODBkZTMyYzg5MjIyMjg+XT4+DXN0YXJ0eHJlZg02NjMNJSVFT0YN",type:String}},data:()=>({showIDCardChrome:!1}),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}},watch:{isJIEYUPlugin:{handler:async e=>{e&&await fe.initParams()}}},async created(){this.isJIEYUPlugin&&await fe.initParams()},methods:{handleClick(){switch(this.readerMode){case"idCard":return this.idCardRReaderEvent();case"veriface":return this.faceReaderEvent();case"sign":return this.signEvent();case"socialSecurityCard":return this.socialSecurityCardReaderEvent()}},async idCardRReaderEvent(){let e;switch(this.readMachineType){case 0:e=await je.idCardCommonRead(),this.$emit("click",e);break;case 1:return this.readLSIDCard();case 2:e=await Le.idCardRead(),this.$emit("click",e);break;case 3:const t=await Ge.idCardRead();t&&(e=t.idCard),this.$emit("click",e);break;case 4:e=await ze.idCardRead(),this.$emit("click",e);break;case 5:e=await z.idCardRead(),this.$emit("click",e);break;case 6:e=await fe.idCardRead(),this.$emit("click",e);break;case 8:e=await ut.idCardRead(),this.$emit("click",e);break;case 9:e=await fe.idCardReadByScanner(),this.$emit("click",e);break}},async faceReaderEvent(){switch(this.readMachineType){case 0:this.readFacePhotoByDefault();break;case 1:this.readLSIDCardAndMatchFace();break;case 2:{const e=await Le.faceValidateWithIdCardRead();this.$emit("click",e);break}case 3:{const e=await Ge.idCardRead();this.$emit("click",e);break}case 5:this.readFacePhotoByELoam();break;case 6:{const e=await fe.faceValidateWithIdCardRead();this.$emit("click",e);break}}},async socialSecurityCardReaderEvent(){try{let e;switch(this.readMachineType){case 2:e=await Le.socialSecurityCardRead();break;case 4:e=await ze.socialSecurityCardRead();break}this.$emit("click",e)}catch(e){throw Error("读取社保卡失败")}},async signEvent(){let e="";switch(this.readMachineType){case 0:e=await Re.read();break;case 1:e=await Re.read($e.hwSign);break;case 2:e=await Le.signNameRead();break;case 3:const t=await fe.signNameRead(this.filePath),i=t.SignNameBase64?JSON.parse(t.SignNameBase64):{SignName0:""},n=t.FingerPrintBase64?JSON.parse(t.FingerPrintBase64):{FingerPrint0:""},r=i.SignName0.split(";")[0],a=n.FingerPrint0.split(";")[0];console.log("签字&指纹",r,a),a?(e=await fe.mergeImage(r,a),console.log(e)):e=r;break}this.$emit("click",e)},async readLSIDCardAndMatchFace(){this.showIDCardChrome=!0;const e=document.createElement("div");document.body.appendChild(e);const t=new(ct())({render:e=>e(tt,{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)},readFacePhotoByELoam(){const e=document.createElement("div");document.body.appendChild(e);const t=new(ct())({render:e=>e(ot,{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(ct())({render:e=>e(vt,{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,Ye.oK)();console.log("丽水一体机读取身份证信息=>",e),this.$emit("click",e)}catch(e){throw Error("读取身份证信息失败")}finally{this.showIDCardChrome=!1}}))}}},bt=gt,yt=l(bt,Ne,Me,!1,null,"5b90b226",null),_t=yt.exports;_t.install=e=>{e.component(_t.name,_t)};var wt=_t;const xt=[h,b,Fe,wt,I,ee,Se],Ct=e=>{e.use(n()),Ct.installed||xt.forEach((t=>{e.component(t.name,t)}))};"undefined"!==typeof window&&window.Vue&&Ct(window.Vue);var kt={install:Ct,...xt},St=kt}(),__webpack_exports__}()}));
25
25
  //# sourceMappingURL=external-plugin.umd.min.js.map