unify-external-plugin-platform 0.0.2-51 → 0.0.2-53

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.
@@ -84286,6 +84286,79 @@ class ScannerCameraRefreshPhotoEvent extends Event {
84286
84286
  this.scannerResultUrl = url;
84287
84287
  }
84288
84288
  }
84289
+ ;// CONCATENATED MODULE: ./packages/utils/idCard-common-utils.ts
84290
+ /**
84291
+ * 根据身份证号码获取指定数据
84292
+ */
84293
+ class IdCardCommonUtils {
84294
+ /**
84295
+ * 按身份证号码获取性别
84296
+ * @param idNumber 身份证号码
84297
+ * @returns 男;女;异常(身份证号码为空或长度、格式错误)
84298
+ */
84299
+ static getGenderByIdNumber(idNumber) {
84300
+ if (idNumber) {
84301
+ let genderCode; // 性别代码
84302
+ if (idNumber.length == 18) {
84303
+ // 二代身份证号码长度为18位(第17位为性别代码)
84304
+ genderCode = idNumber.charAt(16);
84305
+ } else if (idNumber.length == 15) {
84306
+ // 一代身份证号码长度为15位(第15位为性别代码)
84307
+ genderCode = idNumber.charAt(14);
84308
+ }
84309
+ if (genderCode && !isNaN(genderCode)) {
84310
+ // 两代身份证号码的性别代码都为男奇女偶
84311
+ if (parseInt(genderCode) % 2 == 0) {
84312
+ return '女';
84313
+ }
84314
+ return '男';
84315
+ }
84316
+ }
84317
+ return '';
84318
+ }
84319
+ /**
84320
+ * 按身份证号码获取出生年月
84321
+ * @param idNumber
84322
+ * @returns
84323
+ */
84324
+ static getBirthdayByIdNumber(idNumber) {
84325
+ if (idNumber && idNumber && idNumber.length > 13) {
84326
+ const year = idNumber.substring(6, 10);
84327
+ const month = idNumber.substring(10, 12);
84328
+ const day = idNumber.substring(12, 14);
84329
+ return year + '-' + month + '-' + day;
84330
+ }
84331
+ return '';
84332
+ }
84333
+ /**
84334
+ * 按身份证号码获取年龄
84335
+ * @param idNumber
84336
+ * @returns
84337
+ */
84338
+ static getAgeByIdNumber(idNumber) {
84339
+ if (idNumber) {
84340
+ const ageDate = new Date();
84341
+ const month = ageDate.getMonth() + 1;
84342
+ const day = ageDate.getDate();
84343
+ let age = ageDate.getFullYear() - idNumber.substring(6, 10) - 1;
84344
+ if (idNumber.substring(10, 12) < month || idNumber.substring(10, 12) === month && idNumber.substring(12, 14) <= day) {
84345
+ age++;
84346
+ }
84347
+ if (age <= 0) {
84348
+ age = 1;
84349
+ }
84350
+ return age;
84351
+ }
84352
+ return '';
84353
+ }
84354
+ /**
84355
+ * 是否为外国人永久居留证
84356
+ */
84357
+ static isForeignersIdCard(idNumber) {
84358
+ let regexp = /[a-zA-Z]/; // 定义正则表达式,匹配任意大小写的英文字母
84359
+ return regexp.test(idNumber) || idNumber.startsWith('9');
84360
+ }
84361
+ }
84289
84362
  ;// CONCATENATED MODULE: ./packages/service/external-plugins/jie-yu-plugin.service.ts
84290
84363
 
84291
84364
 
@@ -84295,6 +84368,7 @@ class ScannerCameraRefreshPhotoEvent extends Event {
84295
84368
  * @description:捷宇高拍仪
84296
84369
  */
84297
84370
 
84371
+
84298
84372
  var HardwareName;
84299
84373
  (function (HardwareName) {
84300
84374
  HardwareName["ScannerCamera"] = "scannerCamera";
@@ -84306,8 +84380,10 @@ var JieYuMethodCode;
84306
84380
  JieYuMethodCode["ScannerMainCamera_Base64"] = "main";
84307
84381
  /** 扫描-副摄像头 */
84308
84382
  JieYuMethodCode["ScannerSecondaryCamera_Base64"] = "vice";
84309
- /** 拍照*/
84383
+ /** 拍照 */
84310
84384
  JieYuMethodCode["TakePhoto_Base64"] = "takePhoto";
84385
+ /** 高拍仪读卡 */
84386
+ JieYuMethodCode["ScannerReadCard"] = "ScannerReadCard";
84311
84387
  /** 初始化*/
84312
84388
  JieYuMethodCode["InitParams"] = "InitParams";
84313
84389
  /** 获取签名*/
@@ -84402,12 +84478,14 @@ class JieYueService {
84402
84478
  const event = new ScannerCameraRefreshPhotoEvent(data);
84403
84479
  return window.dispatchEvent(event);
84404
84480
  } else {
84405
- this.requestStore.forEach(({
84406
- resolve
84407
- }) => {
84408
- resolve(data);
84409
- });
84410
- this.requestStore = [];
84481
+ if (data.indexOf('BeginbSaveJPGEx') >= 0 || data.indexOf('BeginReadCard') >= 0) {
84482
+ this.requestStore.forEach(({
84483
+ resolve
84484
+ }) => {
84485
+ resolve(data);
84486
+ });
84487
+ this.requestStore = [];
84488
+ }
84411
84489
  }
84412
84490
  }
84413
84491
  }
@@ -84432,6 +84510,10 @@ class JieYueService {
84432
84510
  // 拍照
84433
84511
  method = 'bSaveJPGEx';
84434
84512
  break;
84513
+ case JieYuMethodCode.ScannerReadCard:
84514
+ // 读卡
84515
+ method = 'ReadCard(1001, C:\Doccamera\)';
84516
+ break;
84435
84517
  case JieYuMethodCode.InitParams:
84436
84518
  // 初始化
84437
84519
  method = JSON.stringify({
@@ -84542,6 +84624,65 @@ class JieYueService {
84542
84624
  }
84543
84625
  return readData;
84544
84626
  }
84627
+ static async idCardReadByScanner() {
84628
+ let result = await JieYueService.read(HardwareName.ScannerCamera, JieYuMethodCode.ScannerReadCard);
84629
+ if (!result) {
84630
+ throw Error('未匹配可用的捷宇高拍仪设备');
84631
+ }
84632
+ let readData = JSON.parse(result.replace('BeginReadCard', '').replace('EndReadCard', ''));
84633
+ if (readData.result !== 1) {
84634
+ throw Error("读取二代身份证失败,返回值:" + readData.ret + ",错误信息:" + readData.errMsg);
84635
+ }
84636
+ // Agency 发证机关,外国人永居证时,该值为中文名
84637
+ let {
84638
+ Name: name,
84639
+ Sex: sex,
84640
+ BirthDate: birthday,
84641
+ Address: address,
84642
+ IdNo: idNumber,
84643
+ Folk: nation,
84644
+ Agency: police,
84645
+ Valid,
84646
+ PhotoB64
84647
+ } = readData;
84648
+ let [validStart, validEnd] = Valid.split('-');
84649
+ let chineseName = '',
84650
+ englishName = '',
84651
+ cardType = '1',
84652
+ nationality = '中国';
84653
+ // 外国人永居证
84654
+ let foreignersIDCard = IdCardCommonUtils.isForeignersIdCard(idNumber);
84655
+ if (foreignersIDCard) {
84656
+ idNumber = idNumber.startsWith('9') ? idNumber : idNumber.substring(0, idNumber.length - 3);
84657
+ englishName = name; // 英文名
84658
+ chineseName = police || '无中文姓名'; // 中文名,没有时为 无中文姓名
84659
+ name = police || name; // 姓名,先读中文名,没有时读英文名 捷宇高拍仪读卡 外国人永居证时 发证机关(Agency),该值为中文名
84660
+ police = '中华人民共和国国家移民管理局'; // 发证机关,读不到,默认
84661
+ cardType = '9'; // 永居证
84662
+ nationality = ''; // 读不到,暂时为空
84663
+ }
84664
+
84665
+ const IDCardData = {
84666
+ info: {
84667
+ cardType,
84668
+ nationality,
84669
+ name,
84670
+ chineseName,
84671
+ englishName,
84672
+ sex,
84673
+ birthday,
84674
+ address,
84675
+ cardId: idNumber,
84676
+ nation,
84677
+ police,
84678
+ validStart,
84679
+ validEnd
84680
+ },
84681
+ headImage: PhotoB64
84682
+ };
84683
+ console.log(IDCardData);
84684
+ return IDCardData;
84685
+ }
84545
84686
  /**
84546
84687
  * 读取二代身份证
84547
84688
  */
@@ -85235,8 +85376,8 @@ id_card_reader_eloam.install = Vue => {
85235
85376
  Vue.component(id_card_reader_eloam.name, id_card_reader_eloam);
85236
85377
  };
85237
85378
  /* harmony default export */ var id_card_reader_id_card_reader_eloam = (id_card_reader_eloam);
85238
- ;// 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/id-card-reader-button.vue?vue&type=template&id=693630fc&scoped=true&
85239
- var id_card_reader_buttonvue_type_template_id_693630fc_scoped_true_render = function render() {
85379
+ ;// 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/id-card-reader-button.vue?vue&type=template&id=019a341e&scoped=true&
85380
+ var id_card_reader_buttonvue_type_template_id_019a341e_scoped_true_render = function render() {
85240
85381
  var _vm = this,
85241
85382
  _c = _vm._self._c;
85242
85383
  return _vm.tip ? _c('el-tooltip', {
@@ -85295,7 +85436,7 @@ var id_card_reader_buttonvue_type_template_id_693630fc_scoped_true_render = func
85295
85436
  return [_vm._v(_vm._s(_vm.label))];
85296
85437
  })], 2);
85297
85438
  };
85298
- var id_card_reader_buttonvue_type_template_id_693630fc_scoped_true_staticRenderFns = [];
85439
+ var id_card_reader_buttonvue_type_template_id_019a341e_scoped_true_staticRenderFns = [];
85299
85440
 
85300
85441
  ;// CONCATENATED MODULE: ./packages/service/external-plugins/default-plugin-socket.service.ts
85301
85442
 
@@ -85420,7 +85561,7 @@ _defineProperty(IdCardReadService, "idcardWebSocketUrl", 'ws://127.0.0.1:8152/SF
85420
85561
  _defineProperty(IdCardReadService, "jlsfzWebSocketUrl", 'ws://127.0.0.1:8152/JLSFZManage');
85421
85562
  _defineProperty(IdCardReadService, "ws", void 0);
85422
85563
  _defineProperty(IdCardReadService, "requestStore", []);
85423
- class default_plugin_socket_service_CameraReadService {
85564
+ class CameraReadService {
85424
85565
  static startConnect() {
85425
85566
  if (this.ws && this.ws.readyState === WebSocket.CONNECTING) {
85426
85567
  return this;
@@ -85489,9 +85630,9 @@ class default_plugin_socket_service_CameraReadService {
85489
85630
  }
85490
85631
  }
85491
85632
  }
85492
- _defineProperty(default_plugin_socket_service_CameraReadService, "cameraWebSocketUrl", 'ws://127.0.0.1:8152/SXTManage');
85493
- _defineProperty(default_plugin_socket_service_CameraReadService, "ws", void 0);
85494
- _defineProperty(default_plugin_socket_service_CameraReadService, "requestStore", []);
85633
+ _defineProperty(CameraReadService, "cameraWebSocketUrl", 'ws://127.0.0.1:8152/SXTManage');
85634
+ _defineProperty(CameraReadService, "ws", void 0);
85635
+ _defineProperty(CameraReadService, "requestStore", []);
85495
85636
  class SignReadService {
85496
85637
  static startConnect(signMode) {
85497
85638
  if (this.ws && this.ws.readyState === WebSocket.CONNECTING) {
@@ -85567,72 +85708,6 @@ _defineProperty(SignReadService, "signWebSocketUrl", 'ws://127.0.0.1:8152/chrome
85567
85708
  _defineProperty(SignReadService, "hwSignWebSocketUrl", 'ws://127.0.0.1:8152/HWSIGNManage');
85568
85709
  _defineProperty(SignReadService, "ws", void 0);
85569
85710
  _defineProperty(SignReadService, "requestStore", []);
85570
- ;// CONCATENATED MODULE: ./packages/utils/idCard-common-utils.ts
85571
- /**
85572
- * 根据身份证号码获取指定数据
85573
- */
85574
- class IdCardCommonUtils {
85575
- /**
85576
- * 按身份证号码获取性别
85577
- * @param idNumber 身份证号码
85578
- * @returns 男;女;异常(身份证号码为空或长度、格式错误)
85579
- */
85580
- static getGenderByIdNumber(idNumber) {
85581
- if (idNumber) {
85582
- let genderCode; // 性别代码
85583
- if (idNumber.length == 18) {
85584
- // 二代身份证号码长度为18位(第17位为性别代码)
85585
- genderCode = idNumber.charAt(16);
85586
- } else if (idNumber.length == 15) {
85587
- // 一代身份证号码长度为15位(第15位为性别代码)
85588
- genderCode = idNumber.charAt(14);
85589
- }
85590
- if (genderCode && !isNaN(genderCode)) {
85591
- // 两代身份证号码的性别代码都为男奇女偶
85592
- if (parseInt(genderCode) % 2 == 0) {
85593
- return '女';
85594
- }
85595
- return '男';
85596
- }
85597
- }
85598
- return '';
85599
- }
85600
- /**
85601
- * 按身份证号码获取出生年月
85602
- * @param idNumber
85603
- * @returns
85604
- */
85605
- static getBirthdayByIdNumber(idNumber) {
85606
- if (idNumber && idNumber && idNumber.length > 13) {
85607
- const year = idNumber.substring(6, 10);
85608
- const month = idNumber.substring(10, 12);
85609
- const day = idNumber.substring(12, 14);
85610
- return year + '-' + month + '-' + day;
85611
- }
85612
- return '';
85613
- }
85614
- /**
85615
- * 按身份证号码获取年龄
85616
- * @param idNumber
85617
- * @returns
85618
- */
85619
- static getAgeByIdNumber(idNumber) {
85620
- if (idNumber) {
85621
- const ageDate = new Date();
85622
- const month = ageDate.getMonth() + 1;
85623
- const day = ageDate.getDate();
85624
- let age = ageDate.getFullYear() - idNumber.substring(6, 10) - 1;
85625
- if (idNumber.substring(10, 12) < month || idNumber.substring(10, 12) === month && idNumber.substring(12, 14) <= day) {
85626
- age++;
85627
- }
85628
- if (age <= 0) {
85629
- age = 1;
85630
- }
85631
- return age;
85632
- }
85633
- return '';
85634
- }
85635
- }
85636
85711
  ;// CONCATENATED MODULE: ./packages/service/external-plugins/ewp-plugin-socket.service.ts
85637
85712
 
85638
85713
 
@@ -87006,7 +87081,7 @@ _defineProperty(HuaShiService, "requestStore", []);
87006
87081
  type: Boolean
87007
87082
  },
87008
87083
  /**
87009
- * 读卡器:0-默认读卡器及精伦读卡器;1-丽水一体机;2-沃斯德人证交互终端;3-中正人脸识别;4-华大读卡器;5-良田;6-捷宇信息交互终端;7-太极云软/Z300;8-华视电子读卡器
87084
+ * 读卡器:0-默认读卡器及精伦读卡器;1-丽水一体机;2-沃斯德人证交互终端;3-中正人脸识别;4-华大读卡器;5-良田;6-捷宇信息交互终端;7-太极云软/Z300;8-华视电子读卡器;9-捷宇高拍仪读卡
87010
87085
  * 人脸识别:0-默认人脸识别(拍照);1-丽水一体机 2-沃斯德人证交互终端;3-中正人脸识别;5-良田;6-捷宇信息交互终端
87011
87086
  * 读取社保卡:2-沃斯德人证交互终端;4-华大读卡器
87012
87087
  * 签字版:0-有为签字版;1-汉王签字版;2-沃斯德人证交互终端签字;3-捷宇信息交互终端;4-太极云软签字/P-300;
@@ -87118,6 +87193,10 @@ _defineProperty(HuaShiService, "requestStore", []);
87118
87193
  idcardInfo = await HuaShiService.idCardRead();
87119
87194
  this.$emit('click', idcardInfo);
87120
87195
  break;
87196
+ case 9:
87197
+ idcardInfo = await JieYueService.idCardReadByScanner();
87198
+ this.$emit('click', idcardInfo);
87199
+ break;
87121
87200
  }
87122
87201
  },
87123
87202
  /**
@@ -87282,11 +87361,11 @@ _defineProperty(HuaShiService, "requestStore", []);
87282
87361
  ;
87283
87362
  var id_card_reader_button_component = normalizeComponent(
87284
87363
  src_id_card_reader_buttonvue_type_script_lang_js_,
87285
- id_card_reader_buttonvue_type_template_id_693630fc_scoped_true_render,
87286
- id_card_reader_buttonvue_type_template_id_693630fc_scoped_true_staticRenderFns,
87364
+ id_card_reader_buttonvue_type_template_id_019a341e_scoped_true_render,
87365
+ id_card_reader_buttonvue_type_template_id_019a341e_scoped_true_staticRenderFns,
87287
87366
  false,
87288
87367
  null,
87289
- "693630fc",
87368
+ "019a341e",
87290
87369
  null
87291
87370
 
87292
87371
  )