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.
@@ -84276,6 +84276,79 @@ class ScannerCameraRefreshPhotoEvent extends Event {
84276
84276
  this.scannerResultUrl = url;
84277
84277
  }
84278
84278
  }
84279
+ ;// CONCATENATED MODULE: ./packages/utils/idCard-common-utils.ts
84280
+ /**
84281
+ * 根据身份证号码获取指定数据
84282
+ */
84283
+ class IdCardCommonUtils {
84284
+ /**
84285
+ * 按身份证号码获取性别
84286
+ * @param idNumber 身份证号码
84287
+ * @returns 男;女;异常(身份证号码为空或长度、格式错误)
84288
+ */
84289
+ static getGenderByIdNumber(idNumber) {
84290
+ if (idNumber) {
84291
+ let genderCode; // 性别代码
84292
+ if (idNumber.length == 18) {
84293
+ // 二代身份证号码长度为18位(第17位为性别代码)
84294
+ genderCode = idNumber.charAt(16);
84295
+ } else if (idNumber.length == 15) {
84296
+ // 一代身份证号码长度为15位(第15位为性别代码)
84297
+ genderCode = idNumber.charAt(14);
84298
+ }
84299
+ if (genderCode && !isNaN(genderCode)) {
84300
+ // 两代身份证号码的性别代码都为男奇女偶
84301
+ if (parseInt(genderCode) % 2 == 0) {
84302
+ return '女';
84303
+ }
84304
+ return '男';
84305
+ }
84306
+ }
84307
+ return '';
84308
+ }
84309
+ /**
84310
+ * 按身份证号码获取出生年月
84311
+ * @param idNumber
84312
+ * @returns
84313
+ */
84314
+ static getBirthdayByIdNumber(idNumber) {
84315
+ if (idNumber && idNumber && idNumber.length > 13) {
84316
+ const year = idNumber.substring(6, 10);
84317
+ const month = idNumber.substring(10, 12);
84318
+ const day = idNumber.substring(12, 14);
84319
+ return year + '-' + month + '-' + day;
84320
+ }
84321
+ return '';
84322
+ }
84323
+ /**
84324
+ * 按身份证号码获取年龄
84325
+ * @param idNumber
84326
+ * @returns
84327
+ */
84328
+ static getAgeByIdNumber(idNumber) {
84329
+ if (idNumber) {
84330
+ const ageDate = new Date();
84331
+ const month = ageDate.getMonth() + 1;
84332
+ const day = ageDate.getDate();
84333
+ let age = ageDate.getFullYear() - idNumber.substring(6, 10) - 1;
84334
+ if (idNumber.substring(10, 12) < month || idNumber.substring(10, 12) === month && idNumber.substring(12, 14) <= day) {
84335
+ age++;
84336
+ }
84337
+ if (age <= 0) {
84338
+ age = 1;
84339
+ }
84340
+ return age;
84341
+ }
84342
+ return '';
84343
+ }
84344
+ /**
84345
+ * 是否为外国人永久居留证
84346
+ */
84347
+ static isForeignersIdCard(idNumber) {
84348
+ let regexp = /[a-zA-Z]/; // 定义正则表达式,匹配任意大小写的英文字母
84349
+ return regexp.test(idNumber) || idNumber.startsWith('9');
84350
+ }
84351
+ }
84279
84352
  ;// CONCATENATED MODULE: ./packages/service/external-plugins/jie-yu-plugin.service.ts
84280
84353
 
84281
84354
 
@@ -84285,6 +84358,7 @@ class ScannerCameraRefreshPhotoEvent extends Event {
84285
84358
  * @description:捷宇高拍仪
84286
84359
  */
84287
84360
 
84361
+
84288
84362
  var HardwareName;
84289
84363
  (function (HardwareName) {
84290
84364
  HardwareName["ScannerCamera"] = "scannerCamera";
@@ -84296,8 +84370,10 @@ var JieYuMethodCode;
84296
84370
  JieYuMethodCode["ScannerMainCamera_Base64"] = "main";
84297
84371
  /** 扫描-副摄像头 */
84298
84372
  JieYuMethodCode["ScannerSecondaryCamera_Base64"] = "vice";
84299
- /** 拍照*/
84373
+ /** 拍照 */
84300
84374
  JieYuMethodCode["TakePhoto_Base64"] = "takePhoto";
84375
+ /** 高拍仪读卡 */
84376
+ JieYuMethodCode["ScannerReadCard"] = "ScannerReadCard";
84301
84377
  /** 初始化*/
84302
84378
  JieYuMethodCode["InitParams"] = "InitParams";
84303
84379
  /** 获取签名*/
@@ -84392,12 +84468,14 @@ class JieYueService {
84392
84468
  const event = new ScannerCameraRefreshPhotoEvent(data);
84393
84469
  return window.dispatchEvent(event);
84394
84470
  } else {
84395
- this.requestStore.forEach(({
84396
- resolve
84397
- }) => {
84398
- resolve(data);
84399
- });
84400
- this.requestStore = [];
84471
+ if (data.indexOf('BeginbSaveJPGEx') >= 0 || data.indexOf('BeginReadCard') >= 0) {
84472
+ this.requestStore.forEach(({
84473
+ resolve
84474
+ }) => {
84475
+ resolve(data);
84476
+ });
84477
+ this.requestStore = [];
84478
+ }
84401
84479
  }
84402
84480
  }
84403
84481
  }
@@ -84422,6 +84500,10 @@ class JieYueService {
84422
84500
  // 拍照
84423
84501
  method = 'bSaveJPGEx';
84424
84502
  break;
84503
+ case JieYuMethodCode.ScannerReadCard:
84504
+ // 读卡
84505
+ method = 'ReadCard(1001, C:\Doccamera\)';
84506
+ break;
84425
84507
  case JieYuMethodCode.InitParams:
84426
84508
  // 初始化
84427
84509
  method = JSON.stringify({
@@ -84532,6 +84614,65 @@ class JieYueService {
84532
84614
  }
84533
84615
  return readData;
84534
84616
  }
84617
+ static async idCardReadByScanner() {
84618
+ let result = await JieYueService.read(HardwareName.ScannerCamera, JieYuMethodCode.ScannerReadCard);
84619
+ if (!result) {
84620
+ throw Error('未匹配可用的捷宇高拍仪设备');
84621
+ }
84622
+ let readData = JSON.parse(result.replace('BeginReadCard', '').replace('EndReadCard', ''));
84623
+ if (readData.result !== 1) {
84624
+ throw Error("读取二代身份证失败,返回值:" + readData.ret + ",错误信息:" + readData.errMsg);
84625
+ }
84626
+ // Agency 发证机关,外国人永居证时,该值为中文名
84627
+ let {
84628
+ Name: name,
84629
+ Sex: sex,
84630
+ BirthDate: birthday,
84631
+ Address: address,
84632
+ IdNo: idNumber,
84633
+ Folk: nation,
84634
+ Agency: police,
84635
+ Valid,
84636
+ PhotoB64
84637
+ } = readData;
84638
+ let [validStart, validEnd] = Valid.split('-');
84639
+ let chineseName = '',
84640
+ englishName = '',
84641
+ cardType = '1',
84642
+ nationality = '中国';
84643
+ // 外国人永居证
84644
+ let foreignersIDCard = IdCardCommonUtils.isForeignersIdCard(idNumber);
84645
+ if (foreignersIDCard) {
84646
+ idNumber = idNumber.startsWith('9') ? idNumber : idNumber.substring(0, idNumber.length - 3);
84647
+ englishName = name; // 英文名
84648
+ chineseName = police || '无中文姓名'; // 中文名,没有时为 无中文姓名
84649
+ name = police || name; // 姓名,先读中文名,没有时读英文名 捷宇高拍仪读卡 外国人永居证时 发证机关(Agency),该值为中文名
84650
+ police = '中华人民共和国国家移民管理局'; // 发证机关,读不到,默认
84651
+ cardType = '9'; // 永居证
84652
+ nationality = ''; // 读不到,暂时为空
84653
+ }
84654
+
84655
+ const IDCardData = {
84656
+ info: {
84657
+ cardType,
84658
+ nationality,
84659
+ name,
84660
+ chineseName,
84661
+ englishName,
84662
+ sex,
84663
+ birthday,
84664
+ address,
84665
+ cardId: idNumber,
84666
+ nation,
84667
+ police,
84668
+ validStart,
84669
+ validEnd
84670
+ },
84671
+ headImage: PhotoB64
84672
+ };
84673
+ console.log(IDCardData);
84674
+ return IDCardData;
84675
+ }
84535
84676
  /**
84536
84677
  * 读取二代身份证
84537
84678
  */
@@ -85225,8 +85366,8 @@ id_card_reader_eloam.install = Vue => {
85225
85366
  Vue.component(id_card_reader_eloam.name, id_card_reader_eloam);
85226
85367
  };
85227
85368
  /* harmony default export */ var id_card_reader_id_card_reader_eloam = (id_card_reader_eloam);
85228
- ;// 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/id-card-reader-button.vue?vue&type=template&id=693630fc&scoped=true&
85229
- var id_card_reader_buttonvue_type_template_id_693630fc_scoped_true_render = function render() {
85369
+ ;// 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/id-card-reader-button.vue?vue&type=template&id=019a341e&scoped=true&
85370
+ var id_card_reader_buttonvue_type_template_id_019a341e_scoped_true_render = function render() {
85230
85371
  var _vm = this,
85231
85372
  _c = _vm._self._c;
85232
85373
  return _vm.tip ? _c('el-tooltip', {
@@ -85285,7 +85426,7 @@ var id_card_reader_buttonvue_type_template_id_693630fc_scoped_true_render = func
85285
85426
  return [_vm._v(_vm._s(_vm.label))];
85286
85427
  })], 2);
85287
85428
  };
85288
- var id_card_reader_buttonvue_type_template_id_693630fc_scoped_true_staticRenderFns = [];
85429
+ var id_card_reader_buttonvue_type_template_id_019a341e_scoped_true_staticRenderFns = [];
85289
85430
 
85290
85431
  ;// CONCATENATED MODULE: ./packages/service/external-plugins/default-plugin-socket.service.ts
85291
85432
 
@@ -85410,7 +85551,7 @@ _defineProperty(IdCardReadService, "idcardWebSocketUrl", 'ws://127.0.0.1:8152/SF
85410
85551
  _defineProperty(IdCardReadService, "jlsfzWebSocketUrl", 'ws://127.0.0.1:8152/JLSFZManage');
85411
85552
  _defineProperty(IdCardReadService, "ws", void 0);
85412
85553
  _defineProperty(IdCardReadService, "requestStore", []);
85413
- class default_plugin_socket_service_CameraReadService {
85554
+ class CameraReadService {
85414
85555
  static startConnect() {
85415
85556
  if (this.ws && this.ws.readyState === WebSocket.CONNECTING) {
85416
85557
  return this;
@@ -85479,9 +85620,9 @@ class default_plugin_socket_service_CameraReadService {
85479
85620
  }
85480
85621
  }
85481
85622
  }
85482
- _defineProperty(default_plugin_socket_service_CameraReadService, "cameraWebSocketUrl", 'ws://127.0.0.1:8152/SXTManage');
85483
- _defineProperty(default_plugin_socket_service_CameraReadService, "ws", void 0);
85484
- _defineProperty(default_plugin_socket_service_CameraReadService, "requestStore", []);
85623
+ _defineProperty(CameraReadService, "cameraWebSocketUrl", 'ws://127.0.0.1:8152/SXTManage');
85624
+ _defineProperty(CameraReadService, "ws", void 0);
85625
+ _defineProperty(CameraReadService, "requestStore", []);
85485
85626
  class SignReadService {
85486
85627
  static startConnect(signMode) {
85487
85628
  if (this.ws && this.ws.readyState === WebSocket.CONNECTING) {
@@ -85557,72 +85698,6 @@ _defineProperty(SignReadService, "signWebSocketUrl", 'ws://127.0.0.1:8152/chrome
85557
85698
  _defineProperty(SignReadService, "hwSignWebSocketUrl", 'ws://127.0.0.1:8152/HWSIGNManage');
85558
85699
  _defineProperty(SignReadService, "ws", void 0);
85559
85700
  _defineProperty(SignReadService, "requestStore", []);
85560
- ;// CONCATENATED MODULE: ./packages/utils/idCard-common-utils.ts
85561
- /**
85562
- * 根据身份证号码获取指定数据
85563
- */
85564
- class IdCardCommonUtils {
85565
- /**
85566
- * 按身份证号码获取性别
85567
- * @param idNumber 身份证号码
85568
- * @returns 男;女;异常(身份证号码为空或长度、格式错误)
85569
- */
85570
- static getGenderByIdNumber(idNumber) {
85571
- if (idNumber) {
85572
- let genderCode; // 性别代码
85573
- if (idNumber.length == 18) {
85574
- // 二代身份证号码长度为18位(第17位为性别代码)
85575
- genderCode = idNumber.charAt(16);
85576
- } else if (idNumber.length == 15) {
85577
- // 一代身份证号码长度为15位(第15位为性别代码)
85578
- genderCode = idNumber.charAt(14);
85579
- }
85580
- if (genderCode && !isNaN(genderCode)) {
85581
- // 两代身份证号码的性别代码都为男奇女偶
85582
- if (parseInt(genderCode) % 2 == 0) {
85583
- return '女';
85584
- }
85585
- return '男';
85586
- }
85587
- }
85588
- return '';
85589
- }
85590
- /**
85591
- * 按身份证号码获取出生年月
85592
- * @param idNumber
85593
- * @returns
85594
- */
85595
- static getBirthdayByIdNumber(idNumber) {
85596
- if (idNumber && idNumber && idNumber.length > 13) {
85597
- const year = idNumber.substring(6, 10);
85598
- const month = idNumber.substring(10, 12);
85599
- const day = idNumber.substring(12, 14);
85600
- return year + '-' + month + '-' + day;
85601
- }
85602
- return '';
85603
- }
85604
- /**
85605
- * 按身份证号码获取年龄
85606
- * @param idNumber
85607
- * @returns
85608
- */
85609
- static getAgeByIdNumber(idNumber) {
85610
- if (idNumber) {
85611
- const ageDate = new Date();
85612
- const month = ageDate.getMonth() + 1;
85613
- const day = ageDate.getDate();
85614
- let age = ageDate.getFullYear() - idNumber.substring(6, 10) - 1;
85615
- if (idNumber.substring(10, 12) < month || idNumber.substring(10, 12) === month && idNumber.substring(12, 14) <= day) {
85616
- age++;
85617
- }
85618
- if (age <= 0) {
85619
- age = 1;
85620
- }
85621
- return age;
85622
- }
85623
- return '';
85624
- }
85625
- }
85626
85701
  ;// CONCATENATED MODULE: ./packages/service/external-plugins/ewp-plugin-socket.service.ts
85627
85702
 
85628
85703
 
@@ -86996,7 +87071,7 @@ _defineProperty(HuaShiService, "requestStore", []);
86996
87071
  type: Boolean
86997
87072
  },
86998
87073
  /**
86999
- * 读卡器:0-默认读卡器及精伦读卡器;1-丽水一体机;2-沃斯德人证交互终端;3-中正人脸识别;4-华大读卡器;5-良田;6-捷宇信息交互终端;7-太极云软/Z300;8-华视电子读卡器
87074
+ * 读卡器:0-默认读卡器及精伦读卡器;1-丽水一体机;2-沃斯德人证交互终端;3-中正人脸识别;4-华大读卡器;5-良田;6-捷宇信息交互终端;7-太极云软/Z300;8-华视电子读卡器;9-捷宇高拍仪读卡
87000
87075
  * 人脸识别:0-默认人脸识别(拍照);1-丽水一体机 2-沃斯德人证交互终端;3-中正人脸识别;5-良田;6-捷宇信息交互终端
87001
87076
  * 读取社保卡:2-沃斯德人证交互终端;4-华大读卡器
87002
87077
  * 签字版:0-有为签字版;1-汉王签字版;2-沃斯德人证交互终端签字;3-捷宇信息交互终端;4-太极云软签字/P-300;
@@ -87108,6 +87183,10 @@ _defineProperty(HuaShiService, "requestStore", []);
87108
87183
  idcardInfo = await HuaShiService.idCardRead();
87109
87184
  this.$emit('click', idcardInfo);
87110
87185
  break;
87186
+ case 9:
87187
+ idcardInfo = await JieYueService.idCardReadByScanner();
87188
+ this.$emit('click', idcardInfo);
87189
+ break;
87111
87190
  }
87112
87191
  },
87113
87192
  /**
@@ -87272,11 +87351,11 @@ _defineProperty(HuaShiService, "requestStore", []);
87272
87351
  ;
87273
87352
  var id_card_reader_button_component = normalizeComponent(
87274
87353
  src_id_card_reader_buttonvue_type_script_lang_js_,
87275
- id_card_reader_buttonvue_type_template_id_693630fc_scoped_true_render,
87276
- id_card_reader_buttonvue_type_template_id_693630fc_scoped_true_staticRenderFns,
87354
+ id_card_reader_buttonvue_type_template_id_019a341e_scoped_true_render,
87355
+ id_card_reader_buttonvue_type_template_id_019a341e_scoped_true_staticRenderFns,
87277
87356
  false,
87278
87357
  null,
87279
- "693630fc",
87358
+ "019a341e",
87280
87359
  null
87281
87360
 
87282
87361
  )