unify-external-plugin-platform 0.0.3-17 → 0.0.3-19

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