unify-external-plugin-platform 0.0.3-16 → 0.0.3-18

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.
@@ -2832,6 +2832,37 @@ module.exports = function (argument) {
2832
2832
  };
2833
2833
 
2834
2834
 
2835
+ /***/ }),
2836
+
2837
+ /***/ 6077:
2838
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2839
+
2840
+ var isCallable = __webpack_require__(614);
2841
+
2842
+ var $String = String;
2843
+ var $TypeError = TypeError;
2844
+
2845
+ module.exports = function (argument) {
2846
+ if (typeof argument == 'object' || isCallable(argument)) return argument;
2847
+ throw $TypeError("Can't set " + $String(argument) + ' as a prototype');
2848
+ };
2849
+
2850
+
2851
+ /***/ }),
2852
+
2853
+ /***/ 5787:
2854
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2855
+
2856
+ var isPrototypeOf = __webpack_require__(7976);
2857
+
2858
+ var $TypeError = TypeError;
2859
+
2860
+ module.exports = function (it, Prototype) {
2861
+ if (isPrototypeOf(Prototype, it)) return it;
2862
+ throw $TypeError('Incorrect invocation');
2863
+ };
2864
+
2865
+
2835
2866
  /***/ }),
2836
2867
 
2837
2868
  /***/ 9670:
@@ -2938,6 +2969,42 @@ module.exports = function (it) {
2938
2969
  };
2939
2970
 
2940
2971
 
2972
+ /***/ }),
2973
+
2974
+ /***/ 648:
2975
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2976
+
2977
+ var TO_STRING_TAG_SUPPORT = __webpack_require__(1694);
2978
+ var isCallable = __webpack_require__(614);
2979
+ var classofRaw = __webpack_require__(4326);
2980
+ var wellKnownSymbol = __webpack_require__(5112);
2981
+
2982
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
2983
+ var $Object = Object;
2984
+
2985
+ // ES3 wrong here
2986
+ var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
2987
+
2988
+ // fallback for IE11 Script Access Denied error
2989
+ var tryGet = function (it, key) {
2990
+ try {
2991
+ return it[key];
2992
+ } catch (error) { /* empty */ }
2993
+ };
2994
+
2995
+ // getting tag from ES6+ `Object.prototype.toString`
2996
+ module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
2997
+ var O, tag, result;
2998
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
2999
+ // @@toStringTag case
3000
+ : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
3001
+ // builtinTag case
3002
+ : CORRECT_ARGUMENTS ? classofRaw(O)
3003
+ // ES3 arguments fallback
3004
+ : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
3005
+ };
3006
+
3007
+
2941
3008
  /***/ }),
2942
3009
 
2943
3010
  /***/ 9920:
@@ -3108,6 +3175,40 @@ module.exports = function (it) {
3108
3175
  };
3109
3176
 
3110
3177
 
3178
+ /***/ }),
3179
+
3180
+ /***/ 3678:
3181
+ /***/ (function(module) {
3182
+
3183
+ module.exports = {
3184
+ IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },
3185
+ DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },
3186
+ HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },
3187
+ WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },
3188
+ InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },
3189
+ NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },
3190
+ NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },
3191
+ NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },
3192
+ NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },
3193
+ InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },
3194
+ InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },
3195
+ SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },
3196
+ InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },
3197
+ NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },
3198
+ InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },
3199
+ ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },
3200
+ TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },
3201
+ SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },
3202
+ NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },
3203
+ AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },
3204
+ URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },
3205
+ QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },
3206
+ TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },
3207
+ InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },
3208
+ DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }
3209
+ };
3210
+
3211
+
3111
3212
  /***/ }),
3112
3213
 
3113
3214
  /***/ 8113:
@@ -3169,6 +3270,27 @@ module.exports = [
3169
3270
  ];
3170
3271
 
3171
3272
 
3273
+ /***/ }),
3274
+
3275
+ /***/ 1060:
3276
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3277
+
3278
+ var uncurryThis = __webpack_require__(1702);
3279
+
3280
+ var $Error = Error;
3281
+ var replace = uncurryThis(''.replace);
3282
+
3283
+ var TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');
3284
+ var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
3285
+ var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
3286
+
3287
+ module.exports = function (stack, dropEntries) {
3288
+ if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {
3289
+ while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');
3290
+ } return stack;
3291
+ };
3292
+
3293
+
3172
3294
  /***/ }),
3173
3295
 
3174
3296
  /***/ 2109:
@@ -3435,6 +3557,31 @@ module.exports = fails(function () {
3435
3557
  } : $Object;
3436
3558
 
3437
3559
 
3560
+ /***/ }),
3561
+
3562
+ /***/ 9587:
3563
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3564
+
3565
+ var isCallable = __webpack_require__(614);
3566
+ var isObject = __webpack_require__(111);
3567
+ var setPrototypeOf = __webpack_require__(7674);
3568
+
3569
+ // makes subclassing work correct for wrapped built-ins
3570
+ module.exports = function ($this, dummy, Wrapper) {
3571
+ var NewTarget, NewTargetPrototype;
3572
+ if (
3573
+ // it can work only with native `setPrototypeOf`
3574
+ setPrototypeOf &&
3575
+ // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
3576
+ isCallable(NewTarget = dummy.constructor) &&
3577
+ NewTarget !== Wrapper &&
3578
+ isObject(NewTargetPrototype = NewTarget.prototype) &&
3579
+ NewTargetPrototype !== Wrapper.prototype
3580
+ ) setPrototypeOf($this, NewTargetPrototype);
3581
+ return $this;
3582
+ };
3583
+
3584
+
3438
3585
  /***/ }),
3439
3586
 
3440
3587
  /***/ 2788:
@@ -3739,6 +3886,18 @@ module.exports = Math.trunc || function trunc(x) {
3739
3886
  };
3740
3887
 
3741
3888
 
3889
+ /***/ }),
3890
+
3891
+ /***/ 6277:
3892
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3893
+
3894
+ var toString = __webpack_require__(1340);
3895
+
3896
+ module.exports = function (argument, $default) {
3897
+ return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);
3898
+ };
3899
+
3900
+
3742
3901
  /***/ }),
3743
3902
 
3744
3903
  /***/ 3070:
@@ -3904,6 +4063,40 @@ exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
3904
4063
  } : $propertyIsEnumerable;
3905
4064
 
3906
4065
 
4066
+ /***/ }),
4067
+
4068
+ /***/ 7674:
4069
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4070
+
4071
+ /* eslint-disable no-proto -- safe */
4072
+ var uncurryThis = __webpack_require__(1702);
4073
+ var anObject = __webpack_require__(9670);
4074
+ var aPossiblePrototype = __webpack_require__(6077);
4075
+
4076
+ // `Object.setPrototypeOf` method
4077
+ // https://tc39.es/ecma262/#sec-object.setprototypeof
4078
+ // Works with __proto__ only. Old v8 can't work with null proto objects.
4079
+ // eslint-disable-next-line es/no-object-setprototypeof -- safe
4080
+ module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
4081
+ var CORRECT_SETTER = false;
4082
+ var test = {};
4083
+ var setter;
4084
+ try {
4085
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
4086
+ setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
4087
+ setter(test, []);
4088
+ CORRECT_SETTER = test instanceof Array;
4089
+ } catch (error) { /* empty */ }
4090
+ return function setPrototypeOf(O, proto) {
4091
+ anObject(O);
4092
+ aPossiblePrototype(proto);
4093
+ if (CORRECT_SETTER) setter(O, proto);
4094
+ else O.__proto__ = proto;
4095
+ return O;
4096
+ };
4097
+ }() : undefined);
4098
+
4099
+
3907
4100
  /***/ }),
3908
4101
 
3909
4102
  /***/ 2140:
@@ -4161,6 +4354,36 @@ module.exports = function (argument) {
4161
4354
  };
4162
4355
 
4163
4356
 
4357
+ /***/ }),
4358
+
4359
+ /***/ 1694:
4360
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4361
+
4362
+ var wellKnownSymbol = __webpack_require__(5112);
4363
+
4364
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
4365
+ var test = {};
4366
+
4367
+ test[TO_STRING_TAG] = 'z';
4368
+
4369
+ module.exports = String(test) === '[object z]';
4370
+
4371
+
4372
+ /***/ }),
4373
+
4374
+ /***/ 1340:
4375
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4376
+
4377
+ var classof = __webpack_require__(648);
4378
+
4379
+ var $String = String;
4380
+
4381
+ module.exports = function (argument) {
4382
+ if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
4383
+ return $String(argument);
4384
+ };
4385
+
4386
+
4164
4387
  /***/ }),
4165
4388
 
4166
4389
  /***/ 6330:
@@ -4317,6 +4540,82 @@ $({ target: 'Array', proto: true, arity: 1, forced: INCORRECT_TO_LENGTH || SILEN
4317
4540
  });
4318
4541
 
4319
4542
 
4543
+ /***/ }),
4544
+
4545
+ /***/ 2801:
4546
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
4547
+
4548
+ "use strict";
4549
+
4550
+ var $ = __webpack_require__(2109);
4551
+ var global = __webpack_require__(7854);
4552
+ var getBuiltIn = __webpack_require__(5005);
4553
+ var createPropertyDescriptor = __webpack_require__(9114);
4554
+ var defineProperty = (__webpack_require__(3070).f);
4555
+ var hasOwn = __webpack_require__(2597);
4556
+ var anInstance = __webpack_require__(5787);
4557
+ var inheritIfRequired = __webpack_require__(9587);
4558
+ var normalizeStringArgument = __webpack_require__(6277);
4559
+ var DOMExceptionConstants = __webpack_require__(3678);
4560
+ var clearErrorStack = __webpack_require__(1060);
4561
+ var DESCRIPTORS = __webpack_require__(9781);
4562
+ var IS_PURE = __webpack_require__(1913);
4563
+
4564
+ var DOM_EXCEPTION = 'DOMException';
4565
+ var Error = getBuiltIn('Error');
4566
+ var NativeDOMException = getBuiltIn(DOM_EXCEPTION);
4567
+
4568
+ var $DOMException = function DOMException() {
4569
+ anInstance(this, DOMExceptionPrototype);
4570
+ var argumentsLength = arguments.length;
4571
+ var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);
4572
+ var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');
4573
+ var that = new NativeDOMException(message, name);
4574
+ var error = Error(message);
4575
+ error.name = DOM_EXCEPTION;
4576
+ defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));
4577
+ inheritIfRequired(that, this, $DOMException);
4578
+ return that;
4579
+ };
4580
+
4581
+ var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;
4582
+
4583
+ var ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION);
4584
+ var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);
4585
+
4586
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
4587
+ var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION);
4588
+
4589
+ // Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it
4590
+ // https://github.com/Jarred-Sumner/bun/issues/399
4591
+ var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);
4592
+
4593
+ var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;
4594
+
4595
+ // `DOMException` constructor patch for `.stack` where it's required
4596
+ // https://webidl.spec.whatwg.org/#es-DOMException-specialness
4597
+ $({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic
4598
+ DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException
4599
+ });
4600
+
4601
+ var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);
4602
+ var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;
4603
+
4604
+ if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {
4605
+ if (!IS_PURE) {
4606
+ defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));
4607
+ }
4608
+
4609
+ for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {
4610
+ var constant = DOMExceptionConstants[key];
4611
+ var constantName = constant.s;
4612
+ if (!hasOwn(PolyfilledDOMException, constantName)) {
4613
+ defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));
4614
+ }
4615
+ }
4616
+ }
4617
+
4618
+
4320
4619
  /***/ }),
4321
4620
 
4322
4621
  /***/ 7563:
@@ -84212,7 +84511,7 @@ class eloam_plugin_service_ELoamPassService {
84212
84511
  case eloam_plugin_service_ELoamMethodCode.ScannerCameraRotate:
84213
84512
  if (eloam_plugin_service_ELoamPassService._isLinux) {
84214
84513
  let count = data / 90;
84215
- url = this.baseLinuxServiceUrl + `/rotate?count=${count}`;
84514
+ url = this.baseLinuxServiceUrl + `/Rotate?count=${count}`;
84216
84515
  requestType = 'get';
84217
84516
  } else {
84218
84517
  url = this.baseServiceUrl + '/video=rotate';
@@ -84398,8 +84697,8 @@ class eloam_plugin_service_ELoamPassService {
84398
84697
  info: {
84399
84698
  cardType: cardType,
84400
84699
  nationality: nationality,
84401
- name: name,
84402
- chineseName: chineseName,
84700
+ name: name.trim(),
84701
+ chineseName: chineseName.trim(),
84403
84702
  englishName: englishName,
84404
84703
  sex: sex,
84405
84704
  birthday: birthday,
@@ -88078,8 +88377,8 @@ class HuaShiService {
88078
88377
  _defineProperty(HuaShiService, "idCardWebSocketUrl", 'ws://127.0.0.1:7415');
88079
88378
  _defineProperty(HuaShiService, "ws", void 0);
88080
88379
  _defineProperty(HuaShiService, "requestStore", []);
88081
- ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/id-card-reader/id-card-reader-button/src/dialog/default-take-photo-dialog.vue?vue&type=template&id=61159b66&
88082
- var default_take_photo_dialogvue_type_template_id_61159b66_render = function render() {
88380
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/id-card-reader/id-card-reader-button/src/dialog/default-take-photo-dialog.vue?vue&type=template&id=3194cb83&
88381
+ var default_take_photo_dialogvue_type_template_id_3194cb83_render = function render() {
88083
88382
  var _vm = this,
88084
88383
  _c = _vm._self._c;
88085
88384
  return _c('el-dialog', {
@@ -88140,7 +88439,7 @@ var default_take_photo_dialogvue_type_template_id_61159b66_render = function ren
88140
88439
  }, 'el-button', button, false), [_vm._v(_vm._s(button.label) + " ")]) : _vm._e()];
88141
88440
  })], 2)]);
88142
88441
  };
88143
- var default_take_photo_dialogvue_type_template_id_61159b66_staticRenderFns = [];
88442
+ var default_take_photo_dialogvue_type_template_id_3194cb83_staticRenderFns = [];
88144
88443
 
88145
88444
  ;// CONCATENATED MODULE: ./packages/service/external-plugins/exit-and-entry-plugin.service.ts
88146
88445
 
@@ -88693,7 +88992,7 @@ class ExitAndEntryPluginService {
88693
88992
  let res = await ExitAndEntryPluginService.read(ExitAndEntryMethodCode.FaceAuth, {
88694
88993
  imgBase64: image
88695
88994
  });
88696
- while (res.ret !== '0') {
88995
+ while (res.ret != 0) {
88697
88996
  await new Promise(resolve => setTimeout(resolve, 1000));
88698
88997
  res = await ExitAndEntryPluginService.read(ExitAndEntryMethodCode.FaceAuth, {
88699
88998
  imgBase64: image
@@ -88824,18 +89123,64 @@ _defineProperty(ExitAndEntryPluginService, "baseServiceUrl", 'http://127.0.0.1:7
88824
89123
  case 11:
88825
89124
  // 出入境
88826
89125
  idcardInfo = await ExitAndEntryPluginService.getReadResult();
88827
- console.log('身份证信息=>', idcardInfo);
88828
- await ExitAndEntryPluginService.faceAuth(this.scannerPhotoSrc);
89126
+ if (idcardInfo.info.cardType === '3' // 护照
89127
+ || idcardInfo.info.cardType === '12' // 港澳台通行证
89128
+ || idcardInfo.info.cardType === '2' // 港澳台身份证
89129
+ ) {
89130
+ this.compressImage('data:image/png;base64,' + this.scannerPhotoSrc, {
89131
+ quality: 0.05,
89132
+ // 压缩后图片的清晰度,取值0-1,不传默认为0.7,值越小,所绘制出的图像越模糊
89133
+ type: 'jpg'
89134
+ }).then(async result => {
89135
+ console.log('压缩结果=>', result);
89136
+ await ExitAndEntryPluginService.faceAuth(result.replace('data:image/png;base64,', ''));
89137
+ });
89138
+ } else {
89139
+ this.$message.error('当前证件不支持人脸识别');
89140
+ }
88829
89141
  }
89142
+ },
89143
+ compressImage(path, config) {
89144
+ return new Promise((resolve, reject) => {
89145
+ let img = new Image();
89146
+ img.src = path;
89147
+ img.onload = function () {
89148
+ let that = this;
89149
+ let w = that.width * config.quality;
89150
+ let h = that.height * config.quality;
89151
+ // let scale = w / h
89152
+ // w = config.width || config.height * scale
89153
+ // h = config.height || config.width / scale
89154
+ let quality = config.quality; // 默认图片质量为0.7
89155
+ // 生成canvas
89156
+ let canvas = document.createElement('canvas');
89157
+ let ctx = canvas.getContext('2d');
89158
+ // 创建属性节点
89159
+ let anw = document.createAttribute('width');
89160
+ anw.nodeValue = String(w);
89161
+ let anh = document.createAttribute('height');
89162
+ anh.nodeValue = String(h);
89163
+ canvas.setAttributeNode(anw);
89164
+ canvas.setAttributeNode(anh);
89165
+ ctx.drawImage(that, 0, 0, w, h);
89166
+ if (config.quality && config.quality <= 1 && config.quality > 0) {
89167
+ quality = config.quality;
89168
+ }
89169
+ let base64 = canvas.toDataURL(config.type, quality);
89170
+ // let blob = convertBase64UrlToBlob(base64)
89171
+ // 回调函数返回base64的值,也可根据自己的需求返回blob的值
89172
+ resolve(base64);
89173
+ };
89174
+ });
88830
89175
  }
88831
89176
  }
88832
89177
  });
88833
89178
  ;// CONCATENATED MODULE: ./packages/id-card-reader/id-card-reader-button/src/dialog/default-take-photo-dialog.vue?vue&type=script&lang=js&
88834
89179
  /* harmony default export */ var dialog_default_take_photo_dialogvue_type_script_lang_js_ = (default_take_photo_dialogvue_type_script_lang_js_);
88835
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/id-card-reader/id-card-reader-button/src/dialog/default-take-photo-dialog.vue?vue&type=style&index=0&id=61159b66&prod&lang=scss&
89180
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/id-card-reader/id-card-reader-button/src/dialog/default-take-photo-dialog.vue?vue&type=style&index=0&id=3194cb83&prod&lang=scss&
88836
89181
  // extracted by mini-css-extract-plugin
88837
89182
 
88838
- ;// CONCATENATED MODULE: ./packages/id-card-reader/id-card-reader-button/src/dialog/default-take-photo-dialog.vue?vue&type=style&index=0&id=61159b66&prod&lang=scss&
89183
+ ;// CONCATENATED MODULE: ./packages/id-card-reader/id-card-reader-button/src/dialog/default-take-photo-dialog.vue?vue&type=style&index=0&id=3194cb83&prod&lang=scss&
88839
89184
 
88840
89185
  ;// CONCATENATED MODULE: ./packages/id-card-reader/id-card-reader-button/src/dialog/default-take-photo-dialog.vue
88841
89186
 
@@ -88848,8 +89193,8 @@ _defineProperty(ExitAndEntryPluginService, "baseServiceUrl", 'http://127.0.0.1:7
88848
89193
 
88849
89194
  var default_take_photo_dialog_component = normalizeComponent(
88850
89195
  dialog_default_take_photo_dialogvue_type_script_lang_js_,
88851
- default_take_photo_dialogvue_type_template_id_61159b66_render,
88852
- default_take_photo_dialogvue_type_template_id_61159b66_staticRenderFns,
89196
+ default_take_photo_dialogvue_type_template_id_3194cb83_render,
89197
+ default_take_photo_dialogvue_type_template_id_3194cb83_staticRenderFns,
88853
89198
  false,
88854
89199
  null,
88855
89200
  null,
@@ -89559,6 +89904,851 @@ id_card_reader_button.install = Vue => {
89559
89904
  Vue.component(id_card_reader_button.name, id_card_reader_button);
89560
89905
  };
89561
89906
  /* harmony default export */ var id_card_reader_id_card_reader_button = (id_card_reader_button);
89907
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/scanner/scanner-nko/src/scanner-nko.vue?vue&type=template&id=df622be8&
89908
+ var scanner_nkovue_type_template_id_df622be8_render = function render() {
89909
+ var _vm = this,
89910
+ _c = _vm._self._c;
89911
+ return _c('el-container', {
89912
+ directives: [{
89913
+ name: "loading",
89914
+ rawName: "v-loading",
89915
+ value: _vm.pageLoading,
89916
+ expression: "pageLoading"
89917
+ }],
89918
+ staticClass: "scanner-nko",
89919
+ attrs: {
89920
+ "element-loading-text": _vm.pageLoadingText
89921
+ }
89922
+ }, [_c('el-aside', {
89923
+ staticClass: "container-aside"
89924
+ }, [_c('div', {
89925
+ staticClass: "container-title"
89926
+ }, [_vm._v("扫描配置")]), _c('div', {
89927
+ staticClass: "scan-config-form"
89928
+ }, [_c('el-form', {
89929
+ attrs: {
89930
+ "model": _vm.scanConfig,
89931
+ "label-position": "right",
89932
+ "label-width": "72px",
89933
+ "disabled": !_vm.deviceOpend
89934
+ }
89935
+ }, [_c('el-form-item', {
89936
+ attrs: {
89937
+ "label": "扫描源"
89938
+ }
89939
+ }, [_c('el-select', {
89940
+ attrs: {
89941
+ "disabled": _vm.deviceWorking,
89942
+ "placeholder": "请选择扫描源"
89943
+ },
89944
+ on: {
89945
+ "change": _vm.openDeivce
89946
+ },
89947
+ model: {
89948
+ value: _vm.scanConfig.deviceId,
89949
+ callback: function ($$v) {
89950
+ _vm.$set(_vm.scanConfig, "deviceId", $$v);
89951
+ },
89952
+ expression: "scanConfig.deviceId"
89953
+ }
89954
+ }, _vm._l(_vm.deviceList, function (item) {
89955
+ return _c('el-option', {
89956
+ key: item.deviceId,
89957
+ attrs: {
89958
+ "label": item.deviceId,
89959
+ "value": item.deviceId
89960
+ }
89961
+ });
89962
+ }), 1)], 1), _c('el-form-item', {
89963
+ attrs: {
89964
+ "label": "进纸模式"
89965
+ }
89966
+ }, [_c('el-select', {
89967
+ attrs: {
89968
+ "placeholder": "请选择进纸模式"
89969
+ },
89970
+ model: {
89971
+ value: _vm.scanConfig.source,
89972
+ callback: function ($$v) {
89973
+ _vm.$set(_vm.scanConfig, "source", $$v);
89974
+ },
89975
+ expression: "scanConfig.source"
89976
+ }
89977
+ }, _vm._l(_vm.sourceOptions, function (item) {
89978
+ return _c('el-option', {
89979
+ key: item,
89980
+ attrs: {
89981
+ "label": item,
89982
+ "value": item
89983
+ }
89984
+ });
89985
+ }), 1)], 1), _c('el-form-item', {
89986
+ attrs: {
89987
+ "label": "扫描颜色"
89988
+ }
89989
+ }, [_c('el-select', {
89990
+ attrs: {
89991
+ "placeholder": "请选择"
89992
+ },
89993
+ model: {
89994
+ value: _vm.scanConfig.mode,
89995
+ callback: function ($$v) {
89996
+ _vm.$set(_vm.scanConfig, "mode", $$v);
89997
+ },
89998
+ expression: "scanConfig.mode"
89999
+ }
90000
+ }, _vm._l(_vm.modeOptions, function (item) {
90001
+ return _c('el-option', {
90002
+ key: item,
90003
+ attrs: {
90004
+ "label": item,
90005
+ "value": item
90006
+ }
90007
+ });
90008
+ }), 1)], 1), _c('el-form-item', {
90009
+ attrs: {
90010
+ "label": "分辨率"
90011
+ }
90012
+ }, [_c('el-select', {
90013
+ attrs: {
90014
+ "placeholder": "请选择分辨率"
90015
+ },
90016
+ model: {
90017
+ value: _vm.scanConfig.resolution,
90018
+ callback: function ($$v) {
90019
+ _vm.$set(_vm.scanConfig, "resolution", $$v);
90020
+ },
90021
+ expression: "scanConfig.resolution"
90022
+ }
90023
+ }, _vm._l(_vm.resolutionOptions, function (item) {
90024
+ return _c('el-option', {
90025
+ key: item,
90026
+ attrs: {
90027
+ "label": item,
90028
+ "value": item
90029
+ }
90030
+ });
90031
+ }), 1)], 1), _c('el-form-item', {
90032
+ attrs: {
90033
+ "label": "纸张类型"
90034
+ }
90035
+ }, [_c('el-select', {
90036
+ attrs: {
90037
+ "placeholder": "请选择纸张类型"
90038
+ },
90039
+ model: {
90040
+ value: _vm.scanConfig.paperSize,
90041
+ callback: function ($$v) {
90042
+ _vm.$set(_vm.scanConfig, "paperSize", $$v);
90043
+ },
90044
+ expression: "scanConfig.paperSize"
90045
+ }
90046
+ }, _vm._l(_vm.paperSizeOptions, function (item) {
90047
+ return _c('el-option', {
90048
+ key: item,
90049
+ attrs: {
90050
+ "label": item,
90051
+ "value": item
90052
+ }
90053
+ });
90054
+ }), 1)], 1), _c('el-form-item', {
90055
+ attrs: {
90056
+ "label": "文件格式"
90057
+ }
90058
+ }, [_c('el-select', {
90059
+ attrs: {
90060
+ "placeholder": "请选择"
90061
+ },
90062
+ model: {
90063
+ value: _vm.scanConfig.fileFormat,
90064
+ callback: function ($$v) {
90065
+ _vm.$set(_vm.scanConfig, "fileFormat", $$v);
90066
+ },
90067
+ expression: "scanConfig.fileFormat"
90068
+ }
90069
+ }, _vm._l(_vm.fileFormatOptions, function (item) {
90070
+ return _c('el-option', {
90071
+ key: item,
90072
+ attrs: {
90073
+ "label": item,
90074
+ "value": item
90075
+ }
90076
+ });
90077
+ }), 1)], 1)], 1), _c('div', {
90078
+ staticClass: "text-right"
90079
+ }, [_c('el-button', {
90080
+ attrs: {
90081
+ "type": "primary"
90082
+ },
90083
+ on: {
90084
+ "click": _vm.initScanServiceAPI
90085
+ }
90086
+ }, [_vm._v("连接")]), _c('el-button', {
90087
+ attrs: {
90088
+ "type": "primary",
90089
+ "disabled": !_vm.isDeviceReady || _vm.deviceWorking
90090
+ },
90091
+ on: {
90092
+ "click": _vm.doScan
90093
+ }
90094
+ }, [_vm._v("扫描")])], 1)], 1)]), _c('el-container', [_c('el-main', {
90095
+ staticClass: "container-main"
90096
+ }, [_c('div', {
90097
+ staticClass: "container-title"
90098
+ }, [_vm._v("扫描结果")]), _c('el-checkbox', {
90099
+ attrs: {
90100
+ "indeterminate": _vm.isIndeterminate
90101
+ },
90102
+ on: {
90103
+ "change": _vm.handleCheckAllChange
90104
+ },
90105
+ model: {
90106
+ value: _vm.checkAll,
90107
+ callback: function ($$v) {
90108
+ _vm.checkAll = $$v;
90109
+ },
90110
+ expression: "checkAll"
90111
+ }
90112
+ }, [_vm._v("全选")]), _c('div', {
90113
+ staticClass: "image-list"
90114
+ }, _vm._l(_vm.scanFileList, function (item, index) {
90115
+ return _c('div', {
90116
+ key: item.name,
90117
+ class: {
90118
+ 'image-list-item': true,
90119
+ 'image-checked': item.checked
90120
+ }
90121
+ }, [_c('el-image', {
90122
+ attrs: {
90123
+ "src": item.url,
90124
+ "preview-src-list": _vm.imgUrls,
90125
+ "initial-index": _vm.initialIndex
90126
+ },
90127
+ on: {
90128
+ "click": function ($event) {
90129
+ return _vm.previewImg(index);
90130
+ }
90131
+ }
90132
+ }), _c('div', {
90133
+ staticClass: "image-actions"
90134
+ }, [_c('el-checkbox', {
90135
+ on: {
90136
+ "change": _vm.handleCheckedChange
90137
+ },
90138
+ model: {
90139
+ value: item.checked,
90140
+ callback: function ($$v) {
90141
+ _vm.$set(item, "checked", $$v);
90142
+ },
90143
+ expression: "item.checked"
90144
+ }
90145
+ }, [_vm._v(_vm._s(item.name))]), _c('el-button', {
90146
+ staticStyle: {
90147
+ "color": "red"
90148
+ },
90149
+ attrs: {
90150
+ "type": "text",
90151
+ "icon": "el-icon-delete"
90152
+ },
90153
+ on: {
90154
+ "click": function ($event) {
90155
+ return _vm.deleteFileEvent(index);
90156
+ }
90157
+ }
90158
+ }), _c('el-button', {
90159
+ attrs: {
90160
+ "type": "text",
90161
+ "icon": "el-icon-upload2"
90162
+ },
90163
+ on: {
90164
+ "click": function ($event) {
90165
+ return _vm.sendScannerResult(item);
90166
+ }
90167
+ }
90168
+ })], 1)], 1);
90169
+ }), 0)], 1), _c('el-footer', [_c('div', {
90170
+ staticClass: "text-right"
90171
+ }, [_c('el-button', {
90172
+ attrs: {
90173
+ "size": "small",
90174
+ "type": "primary",
90175
+ "disabled": _vm.scanFileList.length === 0
90176
+ },
90177
+ on: {
90178
+ "click": _vm.clearImgList
90179
+ }
90180
+ }, [_vm._v("清空")]), _c('el-button', {
90181
+ attrs: {
90182
+ "size": "small",
90183
+ "type": "primary",
90184
+ "disabled": _vm.scanFileList.length === 0
90185
+ },
90186
+ on: {
90187
+ "click": _vm.batchDelFilesEvent
90188
+ }
90189
+ }, [_vm._v("批量删除")]), _c('el-button', {
90190
+ attrs: {
90191
+ "size": "small",
90192
+ "type": "primary",
90193
+ "disabled": _vm.scanFileList.length === 0
90194
+ },
90195
+ on: {
90196
+ "click": function ($event) {
90197
+ return _vm.sendScannerResult();
90198
+ }
90199
+ }
90200
+ }, [_vm._v("上传")])], 1)])], 1)], 1);
90201
+ };
90202
+ var scanner_nkovue_type_template_id_df622be8_staticRenderFns = [];
90203
+
90204
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-exception.stack.js
90205
+ var web_dom_exception_stack = __webpack_require__(2801);
90206
+ ;// CONCATENATED MODULE: ./packages/service/external-plugins/nko-plugin-socket.service.ts
90207
+
90208
+
90209
+
90210
+ /**
90211
+ * 赞彩五合一设备
90212
+ *
90213
+ * */
90214
+ var NkoMethodCode;
90215
+ (function (NkoMethodCode) {
90216
+ /** 扫描 */
90217
+ NkoMethodCode["scan"] = "scan";
90218
+ })(NkoMethodCode || (NkoMethodCode = {}));
90219
+ var NkoMethodScanFunction;
90220
+ (function (NkoMethodScanFunction) {
90221
+ /** 获取扫描仪 */
90222
+ NkoMethodScanFunction["getScanDeivceList"] = "001001";
90223
+ /** 选中指定扫描仪并打开 */
90224
+ NkoMethodScanFunction["openScanDeivce"] = "001002";
90225
+ /** 获取选中扫描仪可配置项 */
90226
+ NkoMethodScanFunction["getScanOptions"] = "001003";
90227
+ /** 常用参数的便捷配置能力(进纸模式、色彩、尺寸、DPI) */
90228
+ NkoMethodScanFunction["setScanBasicOptions"] = "001007";
90229
+ /** 扫描 */
90230
+ NkoMethodScanFunction["scan"] = "001008";
90231
+ })(NkoMethodScanFunction || (NkoMethodScanFunction = {}));
90232
+ const NkoMethodDesc = {
90233
+ [NkoMethodCode.scan]: '扫描'
90234
+ };
90235
+ class NkoService {
90236
+ static startConnect(method) {
90237
+ if (this.ws && this.ws.readyState === WebSocket.OPEN) {
90238
+ return this;
90239
+ }
90240
+ let webSocketUrl = '';
90241
+ switch (method) {
90242
+ case NkoMethodCode.scan:
90243
+ webSocketUrl = this.scanWebSocketUrl;
90244
+ break;
90245
+ default:
90246
+ webSocketUrl = this.iReadCardWebSocketUrl;
90247
+ break;
90248
+ }
90249
+ const ws = new WebSocket(webSocketUrl);
90250
+ let resolved;
90251
+ const onConnect = new Promise(resolve => {
90252
+ resolved = resolve;
90253
+ });
90254
+ ws.onopen = () => {
90255
+ resolved(true);
90256
+ };
90257
+ ws.onmessage = event => {
90258
+ this.handleMessage(event);
90259
+ };
90260
+ ws.onclose = () => this.handleClose();
90261
+ ws.onerror = () => this.handleError();
90262
+ this.ws = ws;
90263
+ return onConnect;
90264
+ }
90265
+ static handleError() {
90266
+ for (const type in this.requestStore) {
90267
+ this.requestStore.forEach(({
90268
+ reject
90269
+ }) => {
90270
+ reject('handleError');
90271
+ });
90272
+ }
90273
+ throw Error('统一插件平台赞彩五合一设备功能加载失败');
90274
+ }
90275
+ static handleClose() {
90276
+ for (const type in this.requestStore) {
90277
+ this.requestStore.forEach(({
90278
+ reject
90279
+ }) => {
90280
+ reject('close');
90281
+ });
90282
+ }
90283
+ }
90284
+ static handleMessage(msg) {
90285
+ let data = '';
90286
+ try {
90287
+ data = JSON.parse(msg.data);
90288
+ } catch (e) {
90289
+ data = '';
90290
+ }
90291
+ if (data['function'] === "001008" && data['code'] === 0) {
90292
+ return;
90293
+ } else if (data['function'] === "001010") {
90294
+ return this.scanCallback(data);
90295
+ } else {
90296
+ this.requestStore.forEach(({
90297
+ resolve
90298
+ }) => {
90299
+ resolve(data);
90300
+ });
90301
+ this.requestStore = [];
90302
+ }
90303
+ // this.ws.close();
90304
+ }
90305
+
90306
+ static async read(method, functionCode, params = {}) {
90307
+ await this.startConnect(method);
90308
+ const methodDesc = NkoMethodDesc[method];
90309
+ if (this.ws.readyState === 1) {
90310
+ console.log(methodDesc + '连接成功');
90311
+ let jsonString;
90312
+ switch (method) {
90313
+ case NkoMethodCode.scan:
90314
+ jsonString = JSON.stringify({
90315
+ function: functionCode,
90316
+ traceId: '',
90317
+ params
90318
+ });
90319
+ break;
90320
+ default:
90321
+ jsonString = '';
90322
+ break;
90323
+ }
90324
+ this.ws.send(jsonString);
90325
+ return new Promise((resolve, reject) => {
90326
+ if (!this.requestStore) {
90327
+ this.requestStore = [];
90328
+ }
90329
+ this.requestStore.push({
90330
+ resolve,
90331
+ reject
90332
+ });
90333
+ });
90334
+ } else {
90335
+ throw Error('统一插件平台' + methodDesc + '未准备完成');
90336
+ }
90337
+ }
90338
+ /**
90339
+ * 获取扫描仪
90340
+ * @returns deviceId:扫描仪设备 ID
90341
+ */
90342
+ static async getDeivceList() {
90343
+ const response = await NkoService.read(NkoMethodCode.scan, NkoMethodScanFunction.getScanDeivceList);
90344
+ if (!response) {
90345
+ throw Error('未匹配可用的扫描仪设备');
90346
+ }
90347
+ if (response.code !== 0) {
90348
+ throw Error(`执行失败,返回码:${response.code},错误信息:${response.msg}`);
90349
+ }
90350
+ console.log('获取扫描仪==>', response);
90351
+ return response.data;
90352
+ }
90353
+ /**
90354
+ * 选中指定扫描仪并打开
90355
+ * @param scannerId 选中的扫描仪 ID
90356
+ */
90357
+ static async openScanDeivce(scannerId) {
90358
+ const response = await NkoService.read(NkoMethodCode.scan, NkoMethodScanFunction.openScanDeivce, {
90359
+ scannerId
90360
+ });
90361
+ if (!response) {
90362
+ throw Error('未匹配可用的扫描仪设备');
90363
+ }
90364
+ if (response.code !== 0) {
90365
+ throw Error(`执行失败,返回码:${response.code},错误信息:${response.msg}`);
90366
+ }
90367
+ console.log('选中指定扫描仪并打开==>', response);
90368
+ return response;
90369
+ }
90370
+ /**
90371
+ * 获取选中扫描仪可配置项
90372
+ * @returns 选择扫描仪的可配置项
90373
+ */
90374
+ static async getScanOptions() {
90375
+ const response = await NkoService.read(NkoMethodCode.scan, NkoMethodScanFunction.getScanOptions);
90376
+ if (!response) {
90377
+ throw Error('未匹配可用的扫描仪设备');
90378
+ }
90379
+ if (response.code !== 0) {
90380
+ throw Error(`执行失败,返回码:${response.code},错误信息:${response.msg}`);
90381
+ }
90382
+ console.log('获取选中扫描仪可配置项==>', response);
90383
+ return response.data;
90384
+ }
90385
+ /**
90386
+ * 常用参数的便捷配置能力(进纸模式、色彩、尺寸、DPI)
90387
+ */
90388
+ static async setScanBasicOptions(config) {
90389
+ // {
90390
+ // "source": "Adf-front",
90391
+ // "mode": "Color",
90392
+ // "image-format": "jpeg"
90393
+ // }
90394
+ const response = await NkoService.read(NkoMethodCode.scan, NkoMethodScanFunction.setScanBasicOptions, config);
90395
+ if (!response) {
90396
+ throw Error('未匹配可用的扫描仪设备');
90397
+ }
90398
+ if (response.code !== 0) {
90399
+ throw Error(`执行失败,返回码:${response.code},错误信息:${response.msg}`);
90400
+ }
90401
+ console.log('设置配置项==>', response);
90402
+ return response;
90403
+ }
90404
+ /**
90405
+ * 扫描
90406
+ * @param fileFormat 文件保存格式,若为空以当前驱动配置格式扫描
90407
+ * @returns
90408
+ */
90409
+ static async scan(fileFormat, fileSavePath = 'C:\\ScanResult', fileNamePrefix = '', fileNameFormat = '') {
90410
+ this.fileList = [];
90411
+ const response = await NkoService.read(NkoMethodCode.scan, NkoMethodScanFunction.scan, {
90412
+ fileFormat: `.${fileFormat}`,
90413
+ // 保存路径,若为空则取服务配置文件路径
90414
+ fileSavePath,
90415
+ fileType: "Base64",
90416
+ // 保存的文件名前缀,若为空直接追加方式命名
90417
+ fileNamePrefix,
90418
+ // 保存文件的追加命名方式
90419
+ // 1. index - 四位数自增
90420
+ // 例:xx 文档_0001.tiff
90421
+ // 2. datetime - 扫描日期时间
90422
+ // 例: xx 文档_20231015164735.tiff
90423
+ // 3. guid - GUID
90424
+ // 例 :xx 文 档 _f47ac10b-58cc-4372-a567-0e02b3d4.tiff
90425
+ // 若为空以 index 模式命名
90426
+ fileNameFormat,
90427
+ // 是否返回文件 md5 信息,默认不返回
90428
+ fileMd5Enabled: false
90429
+ });
90430
+ if (!response) {
90431
+ throw Error('未匹配可用的扫描仪设备');
90432
+ }
90433
+ if (response.code !== 0) {
90434
+ throw Error(`执行失败,返回码:${response.code},错误信息:${response.msg}`);
90435
+ }
90436
+ console.log('扫描==>', response);
90437
+ if (response.function === "001011") {
90438
+ return this.fileList;
90439
+ }
90440
+ return response;
90441
+ }
90442
+ /**
90443
+ * 扫描回调(单张)
90444
+ */
90445
+ static scanCallback(response) {
90446
+ if (response.code !== 0) {
90447
+ throw Error(response.msg);
90448
+ } else {
90449
+ const fileName = response.data.fileName,
90450
+ fileFormat = fileName.substr(fileName.lastIndexOf(".") + 1);
90451
+ let dataUrl;
90452
+ //Tiff不能直接显示在html,需要处理
90453
+ if (fileFormat === "tiff" || fileFormat === "tif") {
90454
+ // dataUrl = this.getTiffDataUrl(response.data.fileResult);
90455
+ } else {
90456
+ dataUrl = `data:image/${fileFormat};base64,${response.data.fileResult}`;
90457
+ }
90458
+ return this.fileList.push({
90459
+ name: fileName,
90460
+ url: dataUrl
90461
+ });
90462
+ }
90463
+ }
90464
+ /**
90465
+ * 扫描完成回调
90466
+ */
90467
+ static completeCallback(response) {
90468
+ if (response.code !== 0) {
90469
+ throw Error(`执行失败,返回码:${response.code},错误信息:${response.msg}`);
90470
+ } else {
90471
+ console.log(response.data ? response.data : response.msg);
90472
+ }
90473
+ }
90474
+ //将Tiff base64转为可在html上正常显示的dataUrl base64
90475
+ /*static getTiffDataUrl(base64Str) {
90476
+ var buffer = this.base64ToUint8Array(base64Str);
90477
+ var tiff = new Tiff({ buffer: buffer });
90478
+ return tiff.toDataURL();
90479
+ }*/
90480
+ //Base64转为ArrayBuffer
90481
+ static base64ToUint8Array(base64String) {
90482
+ const padding = "=".repeat((4 - base64String.length % 4) % 4);
90483
+ const base64 = (base64String + padding).replace(/\-/g, "+").replace(/_/g, "/");
90484
+ const rawData = window.atob(base64);
90485
+ const outputArray = new Uint8Array(rawData.length);
90486
+ for (let i = 0; i < rawData.length; ++i) {
90487
+ outputArray[i] = rawData.charCodeAt(i);
90488
+ }
90489
+ return outputArray;
90490
+ }
90491
+ }
90492
+ _defineProperty(NkoService, "iReadCardWebSocketUrl", '');
90493
+ _defineProperty(NkoService, "scanWebSocketUrl", 'ws://127.0.0.1:51818');
90494
+ _defineProperty(NkoService, "ws", void 0);
90495
+ _defineProperty(NkoService, "requestStore", []);
90496
+ _defineProperty(NkoService, "fileList", []);
90497
+ ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/scanner/scanner-nko/src/scanner-nko.vue?vue&type=script&lang=js&
90498
+
90499
+
90500
+ /* harmony default export */ var scanner_nkovue_type_script_lang_js_ = ({
90501
+ name: 'scanner-nko',
90502
+ components: {},
90503
+ props: {
90504
+ /**
90505
+ * 保存路径,若为空则取服务配置文件路径
90506
+ */
90507
+ fileSavePath: {
90508
+ default: '',
90509
+ type: String
90510
+ },
90511
+ /**
90512
+ * 保存的文件名前缀,若为空直接追加方式命名
90513
+ */
90514
+ fileNamePrefix: {
90515
+ default: '',
90516
+ type: String
90517
+ },
90518
+ /**
90519
+ * 保存文件的追加命名方式
90520
+ * 1. index - 四位数自增
90521
+ * 例:xx 文档_0001.tiff
90522
+ * 2. datetime - 扫描日期时间
90523
+ * 例: xx 文档_20231015164735.tiff
90524
+ * 3. guid - GUID
90525
+ * 例 :xx 文 档 _f47ac10b-58cc-4372-a567-0e02b3d4.tiff
90526
+ * 若为空以 index 模式命名
90527
+ */
90528
+ fileNameFormat: {
90529
+ default: '',
90530
+ type: String
90531
+ }
90532
+ },
90533
+ data: () => {
90534
+ return {
90535
+ //页面整体遮罩
90536
+ pageLoading: false,
90537
+ pageLoadingText: '正在配置相关设置',
90538
+ //扫描设备列表
90539
+ deviceList: [],
90540
+ //设备是否已连接
90541
+ deviceOpend: false,
90542
+ //设备是否繁忙
90543
+ deviceWorking: false,
90544
+ //扫描配置
90545
+ scanConfig: {
90546
+ deviceId: null,
90547
+ source: null,
90548
+ resolution: null,
90549
+ mode: null,
90550
+ paperSize: null,
90551
+ fileFormat: null
90552
+ },
90553
+ //进纸模式
90554
+ sourceOptions: [],
90555
+ //扫描颜色
90556
+ modeOptions: [],
90557
+ //分辨率
90558
+ resolutionOptions: [],
90559
+ //纸张类型
90560
+ paperSizeOptions: [],
90561
+ //文件格式
90562
+ fileFormatOptions: [],
90563
+ //中间图片数据 {name:'',url:'',checked:false}
90564
+ scanFileList: [],
90565
+ initialIndex: 0,
90566
+ scannerResult: '',
90567
+ isIndeterminate: false,
90568
+ checkAll: false
90569
+ };
90570
+ },
90571
+ computed: {
90572
+ //扫描设备是否可用
90573
+ isDeviceReady() {
90574
+ return this.scanConfig.deviceId && this.deviceOpend;
90575
+ },
90576
+ imgUrls() {
90577
+ return this.scanFileList.map(item => item.url);
90578
+ }
90579
+ },
90580
+ created() {
90581
+ //初始化ScanServiceAPI连接
90582
+ // this.initScanServiceAPI()
90583
+ this.pageLoading = false;
90584
+ },
90585
+ methods: {
90586
+ handleCheckAllChange(val) {
90587
+ this.scanFileList.forEach(data => {
90588
+ data.checked = val;
90589
+ });
90590
+ this.isIndeterminate = false;
90591
+ },
90592
+ handleCheckedChange() {
90593
+ const checkedCount = this.scanFileList.filter(data => data.checked).length;
90594
+ this.isIndeterminate = checkedCount > 0 && checkedCount < this.scanFileList.length;
90595
+ this.checkAll = this.scanFileList.length > 0 && checkedCount === this.scanFileList.length;
90596
+ },
90597
+ /**
90598
+ * 初始化ScanServiceAPI连接
90599
+ */
90600
+ async initScanServiceAPI() {
90601
+ this.pageLoadingText = '正在连接扫描服务,请稍候...';
90602
+ this.pageLoading = true;
90603
+ // 获取设备列表
90604
+ this.deviceList = await NkoService.getDeivceList();
90605
+ this.pageLoading = false;
90606
+ },
90607
+ /**
90608
+ * 扫描服务关闭时回调
90609
+ */
90610
+ wsCloseCallback() {
90611
+ this.$message.warning('扫描服务连接已断开');
90612
+ this.pageLoading = false;
90613
+ this.resetData();
90614
+ this.deviceList = [];
90615
+ this.scanConfig.deviceId = null;
90616
+ },
90617
+ /**
90618
+ * 重置数据
90619
+ */
90620
+ resetData() {
90621
+ this.scanConfig.source = null;
90622
+ this.scanConfig.resolution = null;
90623
+ this.scanConfig.mode = null;
90624
+ this.scanConfig.paperSideviceOpendze = null;
90625
+ this.scanConfig.fileFormat = null;
90626
+ this.sourceOptions = [];
90627
+ this.modeOptions = [];
90628
+ this.resolutionOptions = [];
90629
+ this.paperSizeOptions = [];
90630
+ this.fileFormatOptions = [];
90631
+ this.deviceOpend = false;
90632
+ this.deviceWorking = false;
90633
+ },
90634
+ /**
90635
+ * 选择扫描设备
90636
+ */
90637
+ openDeivce() {
90638
+ this.pageLoadingText = '正在设置扫描源,请稍后...';
90639
+ this.pageLoading = true;
90640
+
90641
+ //重置扫描配置
90642
+ this.resetData();
90643
+ // 获取扫描仪可配置项
90644
+ this.getScanOptions();
90645
+ },
90646
+ /**
90647
+ * 获取扫描仪可配置项
90648
+ */
90649
+ async getScanOptions() {
90650
+ this.pageLoadingText = '正在获取扫描仪能力,请稍后...';
90651
+ this.pageLoading = true;
90652
+ await NkoService.openScanDeivce(this.scanConfig.deviceId);
90653
+ var options = await NkoService.getScanOptions();
90654
+ this.sourceOptions = options.source;
90655
+ this.modeOptions = options.mode;
90656
+ this.resolutionOptions = options.resolution;
90657
+ this.paperSizeOptions = options['paper-size'];
90658
+ this.fileFormatOptions = options['image-format'];
90659
+ this.scanConfig.source = this.sourceOptions[0] || null;
90660
+ this.scanConfig.mode = this.modeOptions[0] || null;
90661
+ this.scanConfig.resolution = this.resolutionOptions[0] || null;
90662
+ this.scanConfig.paperSize = this.paperSizeOptions[0] || null;
90663
+ this.scanConfig.fileFormat = this.fileFormatOptions[0] || null;
90664
+ this.deviceOpend = true;
90665
+ this.pageLoading = false;
90666
+ },
90667
+ /**
90668
+ * 点击扫描
90669
+ */
90670
+ async doScan() {
90671
+ if (!this.isDeviceReady || this.deviceWorking) {
90672
+ return;
90673
+ }
90674
+ this.pageLoadingText = '正在提交扫描请求,请稍后...';
90675
+ this.pageLoading = true;
90676
+ await NkoService.setScanBasicOptions({
90677
+ source: this.scanConfig.source,
90678
+ mode: this.scanConfig.mode,
90679
+ 'paper-size': this.scanConfig.paperSize,
90680
+ resolution: this.scanConfig.resolution
90681
+ });
90682
+ const data = await NkoService.scan(this.scanConfig.fileFormat, this.fileSavePath, this.fileNamePrefix, this.fileNameFormat);
90683
+ this.scanFileList = [...this.scanFileList, ...data];
90684
+ this.pageLoading = false;
90685
+ },
90686
+ //预览
90687
+ previewImg(index) {
90688
+ this.initialIndex = index;
90689
+ },
90690
+ clearImgList() {
90691
+ this.scanFileList = [];
90692
+ },
90693
+ deleteFileEvent(index) {
90694
+ this.scanFileList.splice(index, 1);
90695
+ },
90696
+ batchDelFilesEvent() {
90697
+ let list = [];
90698
+ this.scanFileList.forEach(data => {
90699
+ if (!data.checked) list.push(data);
90700
+ });
90701
+ this.scanFileList = list;
90702
+ },
90703
+ sendScannerResult(data = null) {
90704
+ const list = data ? [data] : this.scanFileList.filter(data => data.checked);
90705
+ if (!list || list.length === 0) return;
90706
+ this.$emit('send-scanner-result', list.map(data => ({
90707
+ name: data.name,
90708
+ url: data.url
90709
+ })));
90710
+ }
90711
+ }
90712
+ });
90713
+ ;// CONCATENATED MODULE: ./packages/scanner/scanner-nko/src/scanner-nko.vue?vue&type=script&lang=js&
90714
+ /* harmony default export */ var src_scanner_nkovue_type_script_lang_js_ = (scanner_nkovue_type_script_lang_js_);
90715
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/scanner/scanner-nko/src/scanner-nko.vue?vue&type=style&index=0&id=df622be8&prod&lang=scss&
90716
+ // extracted by mini-css-extract-plugin
90717
+
90718
+ ;// CONCATENATED MODULE: ./packages/scanner/scanner-nko/src/scanner-nko.vue?vue&type=style&index=0&id=df622be8&prod&lang=scss&
90719
+
90720
+ ;// CONCATENATED MODULE: ./packages/scanner/scanner-nko/src/scanner-nko.vue
90721
+
90722
+
90723
+
90724
+ ;
90725
+
90726
+
90727
+ /* normalize component */
90728
+
90729
+ var scanner_nko_component = normalizeComponent(
90730
+ src_scanner_nkovue_type_script_lang_js_,
90731
+ scanner_nkovue_type_template_id_df622be8_render,
90732
+ scanner_nkovue_type_template_id_df622be8_staticRenderFns,
90733
+ false,
90734
+ null,
90735
+ null,
90736
+ null
90737
+
90738
+ )
90739
+
90740
+ /* harmony default export */ var scanner_nko = (scanner_nko_component.exports);
90741
+ ;// CONCATENATED MODULE: ./packages/scanner/scanner-nko/index.js
90742
+ /**
90743
+ * @author: shenyz
90744
+ * @date: 2025-02-24
90745
+ * @description:index 赞彩五合一设备扫描功能
90746
+ */
90747
+
90748
+ scanner_nko.install = Vue => {
90749
+ Vue.component(scanner_nko.name, scanner_nko);
90750
+ };
90751
+ /* harmony default export */ var scanner_scanner_nko = (scanner_nko);
89562
90752
  ;// CONCATENATED MODULE: ./packages/index.js
89563
90753
 
89564
90754
 
@@ -89569,6 +90759,7 @@ id_card_reader_button.install = Vue => {
89569
90759
 
89570
90760
 
89571
90761
 
90762
+
89572
90763
  // import {
89573
90764
  // Button,
89574
90765
  // Tooltip,
@@ -89584,7 +90775,7 @@ id_card_reader_button.install = Vue => {
89584
90775
  // Dialog
89585
90776
  // ]
89586
90777
  // 组件列表
89587
- const components = [packages_zs_empty, id_card_reader_id_card_reader_demo, id_card_reader_id_card_reader_eloam, id_card_reader_id_card_reader_button, scanner_scanner_high_camera_jieyu, scanner_scanner_eloam, scanner_scanner_camera];
90778
+ const components = [packages_zs_empty, id_card_reader_id_card_reader_demo, id_card_reader_id_card_reader_eloam, id_card_reader_id_card_reader_button, scanner_scanner_high_camera_jieyu, scanner_scanner_eloam, scanner_scanner_camera, scanner_scanner_nko];
89588
90779
 
89589
90780
  // 定义 install 方法,接收 Vue 作为参数。如果使用 use 注册插件,那么所有的组件都会被注册
89590
90781
  const install = Vue => {