unify-external-plugin-platform 0.0.3-22 → 0.0.3-23

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.
@@ -84669,9 +84669,9 @@ class eloam_plugin_service_ELoamPassService {
84669
84669
  const res = await eloam_plugin_service_ELoamPassService.read(eloam_plugin_service_ELoamMethodCode.ReadIDCard_Base64);
84670
84670
  var readData = res.IDCardInfo;
84671
84671
  // Agency 发证机关,外国人永居证时,该值为中文名
84672
- var name = readData.name;
84673
- var enname = readData.enname;
84674
- var cnname = readData.cnname;
84672
+ var name = (readData.name ?? '').trim();
84673
+ var enname = (readData.enname ?? '').trim();
84674
+ var cnname = (readData.cnname ?? '').trim();
84675
84675
  var sex = readData.sex;
84676
84676
  var birthday = readData.birthday;
84677
84677
  var address = readData.address;
@@ -84729,6 +84729,7 @@ _defineProperty(eloam_plugin_service_ELoamPassService, "_isLinux", String(naviga
84729
84729
  * @description:common-message
84730
84730
  */
84731
84731
  const SCANNER_CAMERA_REFRESH_PHOTO_EVENT = 'scanner-camera-refresh-photo-event';
84732
+ const SIGN_PHOTO_EVENT = 'sign-photo-event';
84732
84733
  class ScannerCameraRefreshPhotoEvent extends Event {
84733
84734
  constructor(url) {
84734
84735
  super(SCANNER_CAMERA_REFRESH_PHOTO_EVENT);
@@ -84736,6 +84737,13 @@ class ScannerCameraRefreshPhotoEvent extends Event {
84736
84737
  this.scannerResultUrl = url;
84737
84738
  }
84738
84739
  }
84740
+ class SignResultEvent extends Event {
84741
+ constructor(url) {
84742
+ super(SIGN_PHOTO_EVENT);
84743
+ _defineProperty(this, "signResultUrl", '');
84744
+ this.signResultUrl = url;
84745
+ }
84746
+ }
84739
84747
  ;// CONCATENATED MODULE: ./packages/utils/idCard-common-utils.ts
84740
84748
  /**
84741
84749
  * 根据身份证号码获取指定数据
@@ -86434,8 +86442,8 @@ id_card_reader_eloam.install = Vue => {
86434
86442
  Vue.component(id_card_reader_eloam.name, id_card_reader_eloam);
86435
86443
  };
86436
86444
  /* harmony default export */ var id_card_reader_id_card_reader_eloam = (id_card_reader_eloam);
86437
- ;// 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=2d5fb948&scoped=true&
86438
- var id_card_reader_buttonvue_type_template_id_2d5fb948_scoped_true_render = function render() {
86445
+ ;// 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=7916c3f3&scoped=true&
86446
+ var id_card_reader_buttonvue_type_template_id_7916c3f3_scoped_true_render = function render() {
86439
86447
  var _vm = this,
86440
86448
  _c = _vm._self._c;
86441
86449
  return _vm.tip ? _c('el-tooltip', {
@@ -86512,7 +86520,7 @@ var id_card_reader_buttonvue_type_template_id_2d5fb948_scoped_true_render = func
86512
86520
  }
86513
86521
  })], 2);
86514
86522
  };
86515
- var id_card_reader_buttonvue_type_template_id_2d5fb948_scoped_true_staticRenderFns = [];
86523
+ var id_card_reader_buttonvue_type_template_id_7916c3f3_scoped_true_staticRenderFns = [];
86516
86524
 
86517
86525
  ;// CONCATENATED MODULE: ./packages/service/external-plugins/default-plugin-socket.service.ts
86518
86526
 
@@ -89434,6 +89442,247 @@ class PuTianPluginService {
89434
89442
  _defineProperty(PuTianPluginService, "idCardWebSocketUrl", 'http://127.0.0.1:10012');
89435
89443
  _defineProperty(PuTianPluginService, "ws", void 0);
89436
89444
  _defineProperty(PuTianPluginService, "requestStore", []);
89445
+ ;// CONCATENATED MODULE: ./packages/service/external-plugins/jing-lun-plugin.service.ts
89446
+
89447
+ /**
89448
+ * @author: lvcy
89449
+ * @date: 2025-04-28 14:17
89450
+ * @description:精伦读卡器
89451
+ */
89452
+
89453
+ class JingLunPluginService {
89454
+ static async read(method) {
89455
+ let url = '';
89456
+ switch (method) {
89457
+ case 'ReadIDCard_Base64':
89458
+ url = this.idCardWebSocketUrl + '/api/readCard';
89459
+ break;
89460
+ }
89461
+ let res = await custom_axios_CustomAxios.post(url, {});
89462
+ return res;
89463
+ }
89464
+ static async idCardRead() {
89465
+ const readData = await JingLunPluginService.read('ReadIDCard_Base64');
89466
+ if (readData.resultFlag === 0) {
89467
+ let data = readData.resultContent;
89468
+ let type = '1',
89469
+ name = data.partyName,
89470
+ sex = data.gender === 1 ? '男' : '女',
89471
+ nation = data.nation,
89472
+ nationality = '中国',
89473
+ birthday = data.bornDay,
89474
+ address = data.certAddress,
89475
+ cardId = data.certNumber,
89476
+ police = data.certOrg,
89477
+ validStart = data.effDate,
89478
+ validEnd = data.expDate,
89479
+ base64_ID = data.identityPic;
89480
+ const IDCardData = {
89481
+ info: {
89482
+ cardType: type,
89483
+ nationality,
89484
+ name,
89485
+ sex,
89486
+ birthday,
89487
+ address,
89488
+ cardId,
89489
+ nation,
89490
+ police,
89491
+ validStart,
89492
+ validEnd
89493
+ },
89494
+ headImage: base64_ID
89495
+ };
89496
+ console.log(IDCardData);
89497
+ return IDCardData;
89498
+ } else {
89499
+ throw Error('未匹配可用的读卡器');
89500
+ }
89501
+ }
89502
+ }
89503
+ _defineProperty(JingLunPluginService, "idCardWebSocketUrl", 'http://127.0.0.1:18889');
89504
+ ;// CONCATENATED MODULE: ./packages/service/external-plugins/han-wang-plugin.service.ts
89505
+
89506
+
89507
+ /**
89508
+ * @author: lvcy
89509
+ * @date: 2025-04-24 10:55
89510
+ * @description:汉王签字板
89511
+ */
89512
+
89513
+
89514
+ var HanWangMethodCode;
89515
+ (function (HanWangMethodCode) {
89516
+ // 初始化
89517
+ HanWangMethodCode["Init"] = "init";
89518
+ // 打开设备(开始签名)
89519
+ HanWangMethodCode["StartSignName"] = "startSignName";
89520
+ // 关闭设备
89521
+ HanWangMethodCode["Close"] = "close";
89522
+ // 重新签名
89523
+ HanWangMethodCode["SignNameAgain"] = "signNameAgain";
89524
+ // 获取签名图片
89525
+ HanWangMethodCode["GetSign"] = "GetSign";
89526
+ })(HanWangMethodCode || (HanWangMethodCode = {}));
89527
+ class HanWangPluginService {
89528
+ static startConnect() {
89529
+ if (this.ws && this.ws.readyState === WebSocket.OPEN) {
89530
+ return this;
89531
+ }
89532
+ const ws = new WebSocket(this.linuxWebServiceUrl);
89533
+ let resolved;
89534
+ const onConnect = new Promise(resolve => {
89535
+ resolved = resolve;
89536
+ });
89537
+ ws.onopen = () => {
89538
+ resolved(true);
89539
+ };
89540
+ ws.onmessage = event => {
89541
+ this.handleMessage(event);
89542
+ };
89543
+ ws.onclose = () => this.handleClose();
89544
+ ws.onerror = e => this.handleError(e);
89545
+ this.ws = ws;
89546
+ return onConnect;
89547
+ }
89548
+ static handleMessage(msg) {
89549
+ let data = {};
89550
+ try {
89551
+ data = JSON.parse(msg.data);
89552
+ } catch (e) {
89553
+ data = {};
89554
+ }
89555
+ console.log('message=>', data);
89556
+ if (data.HWPenSign === 'HWGetSign' && data.msgID == '0') {
89557
+ const event = new SignResultEvent(data.message);
89558
+ return window.dispatchEvent(event);
89559
+ }
89560
+ this.requestStore.forEach(({
89561
+ resolve
89562
+ }) => {
89563
+ resolve(data);
89564
+ });
89565
+ this.requestStore = [];
89566
+ // this.ws.close();
89567
+ }
89568
+
89569
+ static handleError(e) {
89570
+ for (const type in this.requestStore) {
89571
+ this.requestStore.forEach(({
89572
+ reject
89573
+ }) => {
89574
+ reject('handleError');
89575
+ });
89576
+ }
89577
+ }
89578
+ static handleClose() {
89579
+ for (const type in this.requestStore) {
89580
+ this.requestStore.forEach(({
89581
+ reject
89582
+ }) => {
89583
+ reject('close');
89584
+ });
89585
+ }
89586
+ }
89587
+ static async read(method) {
89588
+ let url = '',
89589
+ data = {};
89590
+ switch (method) {
89591
+ case HanWangMethodCode.StartSignName:
89592
+ data = {
89593
+ nLogo: "? ",
89594
+ nPenwidth: "2",
89595
+ nOrgX: "100",
89596
+ nOrgY: "200",
89597
+ width: "500",
89598
+ height: "300",
89599
+ fingerFap: "2",
89600
+ key: "4A05564228DF2C64AF2E137B71A4E7A3"
89601
+ };
89602
+ url = this.windowsWebServiceUrl + '/HWPenSign/HWInitialize';
89603
+ break;
89604
+ case HanWangMethodCode.GetSign:
89605
+ data = {
89606
+ nImageType: "3",
89607
+ nImageWidth: "500",
89608
+ nImageHeight: "300"
89609
+ };
89610
+ url = this.windowsWebServiceUrl + '/HWPenSign/HWGetSign';
89611
+ break;
89612
+ }
89613
+ let res = await custom_axios_CustomAxios.get(url);
89614
+ return res;
89615
+ }
89616
+ static async readInLinux(methodCode) {
89617
+ await this.startConnect();
89618
+ if (this.ws.readyState === 1) {
89619
+ let param = '';
89620
+ switch (methodCode) {
89621
+ case HanWangMethodCode.Init:
89622
+ param = JSON.stringify({
89623
+ HWPenSign: 'HWGetDeviceStatus'
89624
+ });
89625
+ break;
89626
+ case HanWangMethodCode.StartSignName:
89627
+ param = JSON.stringify({
89628
+ nOrgX: 400,
89629
+ nOrgY: 350,
89630
+ nWidth: 600,
89631
+ nHeight: 400,
89632
+ showDialog: 1,
89633
+ nImageWidth: 250,
89634
+ nImageHeight: 150,
89635
+ nConfirmTimeout: 30,
89636
+ fingerCap: 1
89637
+ });
89638
+ break;
89639
+ }
89640
+ this.ws.send(param);
89641
+ return new Promise((resolve, reject) => {
89642
+ if (!this.requestStore) {
89643
+ this.requestStore = [];
89644
+ }
89645
+ this.requestStore.push({
89646
+ resolve,
89647
+ reject
89648
+ });
89649
+ });
89650
+ }
89651
+ }
89652
+ static async signNameRead() {
89653
+ return new Promise(async resolve => {
89654
+ if (this._isLinux) {
89655
+ // 国产环境
89656
+ let res = await HanWangPluginService.readInLinux(HanWangMethodCode.Init);
89657
+ console.log('初始化=>', res);
89658
+ if (res.msgID == 0) {
89659
+ let signRes = await HanWangPluginService.readInLinux(HanWangMethodCode.StartSignName);
89660
+ console.log('签字=>', signRes);
89661
+ if (signRes.msgID == 0) {}
89662
+ } else {
89663
+ throw Error('统一插件平台设备未准备完成');
89664
+ }
89665
+ } else {
89666
+ // windows
89667
+ let res = await HanWangPluginService.read(HanWangMethodCode.StartSignName);
89668
+ console.log(res);
89669
+ let timer = setInterval(async () => {
89670
+ let signRes = await HanWangPluginService.read(HanWangMethodCode.GetSign);
89671
+ if (signRes.msgID === '0') {
89672
+ clearInterval(timer);
89673
+ console.log(signRes.message);
89674
+ resolve(signRes.message.replace('data:image/png;base64,', ''));
89675
+ }
89676
+ }, 2000);
89677
+ }
89678
+ });
89679
+ }
89680
+ }
89681
+ _defineProperty(HanWangPluginService, "windowsWebServiceUrl", 'http://127.0.0.1:29999');
89682
+ _defineProperty(HanWangPluginService, "linuxWebServiceUrl", 'ws://127.0.0.1:29999');
89683
+ _defineProperty(HanWangPluginService, "ws", void 0);
89684
+ _defineProperty(HanWangPluginService, "requestStore", []);
89685
+ _defineProperty(HanWangPluginService, "_isLinux", String(navigator.platform).indexOf("Linux") > -1);
89437
89686
  ;// 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/id-card-reader/id-card-reader-button/src/id-card-reader-button.vue?vue&type=script&lang=js&
89438
89687
 
89439
89688
 
@@ -89452,6 +89701,9 @@ _defineProperty(PuTianPluginService, "requestStore", []);
89452
89701
 
89453
89702
 
89454
89703
 
89704
+
89705
+
89706
+
89455
89707
  /* harmony default export */ var id_card_reader_buttonvue_type_script_lang_js_ = ({
89456
89708
  name: 'id-card-reader-button',
89457
89709
  props: {
@@ -89672,6 +89924,11 @@ _defineProperty(PuTianPluginService, "requestStore", []);
89672
89924
  idcardInfo = await PuTianPluginService.idCardRead();
89673
89925
  this.$emit('click', idcardInfo);
89674
89926
  break;
89927
+ case 13:
89928
+ // 精伦
89929
+ idcardInfo = await JingLunPluginService.idCardRead();
89930
+ this.$emit('click', idcardInfo);
89931
+ break;
89675
89932
  default:
89676
89933
  this.$message.warning('请在首页右上角我的设备中设置读卡器选项!');
89677
89934
  break;
@@ -89800,6 +90057,18 @@ _defineProperty(PuTianPluginService, "requestStore", []);
89800
90057
  // 维融国产一体机
89801
90058
  userSignature = await WeiRongPluginService.signNameRead();
89802
90059
  break;
90060
+ case 6:
90061
+ if (HanWangPluginService._isLinux) {
90062
+ await HanWangPluginService.signNameRead();
90063
+ window.addEventListener(SIGN_PHOTO_EVENT, message => {
90064
+ if (message.type === SIGN_PHOTO_EVENT) {
90065
+ userSignature = message.signResultUrl;
90066
+ }
90067
+ });
90068
+ } else {
90069
+ userSignature = await HanWangPluginService.signNameRead();
90070
+ }
90071
+ break;
89803
90072
  default:
89804
90073
  this.$message.warning('请在首页右上角我的设备中设置签字板选项!');
89805
90074
  break;
@@ -89933,11 +90202,11 @@ _defineProperty(PuTianPluginService, "requestStore", []);
89933
90202
  ;
89934
90203
  var id_card_reader_button_component = normalizeComponent(
89935
90204
  src_id_card_reader_buttonvue_type_script_lang_js_,
89936
- id_card_reader_buttonvue_type_template_id_2d5fb948_scoped_true_render,
89937
- id_card_reader_buttonvue_type_template_id_2d5fb948_scoped_true_staticRenderFns,
90205
+ id_card_reader_buttonvue_type_template_id_7916c3f3_scoped_true_render,
90206
+ id_card_reader_buttonvue_type_template_id_7916c3f3_scoped_true_staticRenderFns,
89938
90207
  false,
89939
90208
  null,
89940
- "2d5fb948",
90209
+ "7916c3f3",
89941
90210
  null
89942
90211
 
89943
90212
  )