unify-external-plugin-platform 0.0.2-71 → 0.0.2-73

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.
@@ -84029,8 +84029,8 @@ var scanner_cameravue_type_template_id_00e9072f_scoped_true_render = function re
84029
84029
  };
84030
84030
  var scanner_cameravue_type_template_id_00e9072f_scoped_true_staticRenderFns = [];
84031
84031
 
84032
- ;// 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-camera/src/component/scanner-camera-component.vue?vue&type=template&id=bc9cce92&scoped=true&
84033
- var scanner_camera_componentvue_type_template_id_bc9cce92_scoped_true_render = function render() {
84032
+ ;// 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-camera/src/component/scanner-camera-component.vue?vue&type=template&id=7ca74565&scoped=true&
84033
+ var scanner_camera_componentvue_type_template_id_7ca74565_scoped_true_render = function render() {
84034
84034
  var _vm = this,
84035
84035
  _c = _vm._self._c;
84036
84036
  return _c('div', {
@@ -84094,7 +84094,7 @@ var scanner_camera_componentvue_type_template_id_bc9cce92_scoped_true_render = f
84094
84094
  }, [_vm._v(_vm._s(item.label))]), _vm._t("action")];
84095
84095
  })], 2)])]);
84096
84096
  };
84097
- var scanner_camera_componentvue_type_template_id_bc9cce92_scoped_true_staticRenderFns = [];
84097
+ var scanner_camera_componentvue_type_template_id_7ca74565_scoped_true_staticRenderFns = [];
84098
84098
 
84099
84099
  ;// CONCATENATED MODULE: ./packages/utils/custom-axios.ts
84100
84100
  /**
@@ -85004,764 +85004,13 @@ class UdsPluginSocketService {
85004
85004
  _defineProperty(UdsPluginSocketService, "scannerCameraUrl", 'ws://127.0.0.1:8341');
85005
85005
  _defineProperty(UdsPluginSocketService, "ws", void 0);
85006
85006
  _defineProperty(UdsPluginSocketService, "requestStore", []);
85007
- ;// CONCATENATED MODULE: ./packages/service/external-plugins/ewp-plugin-socket.service.ts
85008
-
85009
-
85010
- /**
85011
- * 沃斯德人证交互终端
85012
- * E窗通WEBSOCKET服务
85013
- *
85014
- * */
85015
-
85016
- var EWindowPassMethodCode;
85017
- (function (EWindowPassMethodCode) {
85018
- /** 读取社保卡 */
85019
- EWindowPassMethodCode["iReadCardBas"] = "iReadCardBas";
85020
- /** 获取签名*/
85021
- EWindowPassMethodCode["GetSignName_Base64"] = "GetSignName_Base64";
85022
- /** 读取二代身份证 */
85023
- EWindowPassMethodCode["ReadIDCard_Base64"] = "ReadIDCard_Base64";
85024
- /** 人证比对 */
85025
- EWindowPassMethodCode["FaceValidateWithIdCard_Base64"] = "FaceValidateWithIdCard_Base64";
85026
- /** 获取指纹 */
85027
- EWindowPassMethodCode["FingerPrint_Base64"] = "FingerPrint_Base64";
85028
- })(EWindowPassMethodCode || (EWindowPassMethodCode = {}));
85029
- const EWindowPassMethodDesc = {
85030
- [EWindowPassMethodCode.iReadCardBas]: '读取社保卡',
85031
- [EWindowPassMethodCode.GetSignName_Base64]: '获取签名',
85032
- [EWindowPassMethodCode.ReadIDCard_Base64]: '读取二代身份证',
85033
- [EWindowPassMethodCode.FaceValidateWithIdCard_Base64]: '人证比对',
85034
- [EWindowPassMethodCode.FingerPrint_Base64]: '获取指纹'
85035
- };
85036
- class EWindowPassService {
85037
- static startConnect(method) {
85038
- if (this.ws && this.ws.readyState === WebSocket.CONNECTING) {
85039
- return this;
85040
- }
85041
- let webSocketUrl = '';
85042
- switch (method) {
85043
- case EWindowPassMethodCode.FingerPrint_Base64:
85044
- webSocketUrl = this.fingerPrintBasWebSocketUrl;
85045
- break;
85046
- default:
85047
- webSocketUrl = this.iReadCardBasWebSocketUrl;
85048
- break;
85049
- }
85050
- const ws = new WebSocket(webSocketUrl);
85051
- let resolved;
85052
- const onConnect = new Promise(resolve => {
85053
- resolved = resolve;
85054
- });
85055
- ws.onopen = () => {
85056
- resolved(true);
85057
- };
85058
- ws.onmessage = event => {
85059
- if (method === EWindowPassMethodCode.FingerPrint_Base64) {
85060
- // 指纹后端返回的是string
85061
- event = {
85062
- ...event,
85063
- data: JSON.stringify({
85064
- fingerPrintInfo: event.data
85065
- })
85066
- };
85067
- }
85068
- this.handleMessage(event);
85069
- };
85070
- ws.onclose = () => this.handleClose();
85071
- ws.onerror = () => this.handleError();
85072
- this.ws = ws;
85073
- return onConnect;
85074
- }
85075
- static handleError() {
85076
- for (const type in this.requestStore) {
85077
- this.requestStore.forEach(({
85078
- reject
85079
- }) => {
85080
- reject('handleError');
85081
- });
85082
- }
85083
- throw Error('E窗通设备功能加载失败');
85084
- }
85085
- static handleClose() {
85086
- for (const type in this.requestStore) {
85087
- this.requestStore.forEach(({
85088
- reject
85089
- }) => {
85090
- reject('close');
85091
- });
85092
- }
85093
- }
85094
- static handleMessage(msg) {
85095
- let data = '';
85096
- try {
85097
- data = JSON.parse(msg.data);
85098
- } catch (e) {
85099
- data = '';
85100
- }
85101
- this.requestStore.forEach(({
85102
- resolve
85103
- }) => {
85104
- resolve(data);
85105
- });
85106
- this.requestStore = [];
85107
- this.ws.close();
85108
- }
85109
- static async read(method) {
85110
- await this.startConnect(method);
85111
- const methodDesc = EWindowPassMethodDesc[method];
85112
- if (this.ws.readyState === 1) {
85113
- if (method !== EWindowPassMethodCode.FingerPrint_Base64) console.log(methodDesc + '连接成功');
85114
- let jsonString;
85115
- // outTimes:超时时间(秒)
85116
- switch (method) {
85117
- case EWindowPassMethodCode.ReadIDCard_Base64:
85118
- // cardReader:0 读卡器-USB;1 读卡器-COM
85119
- jsonString = JSON.stringify({
85120
- method,
85121
- args: {
85122
- outTimes: 30,
85123
- cardReader: 1
85124
- }
85125
- });
85126
- break;
85127
- case EWindowPassMethodCode.FaceValidateWithIdCard_Base64:
85128
- // cardReader:0 读卡器-USB;1 读卡器-COM
85129
- jsonString = JSON.stringify({
85130
- method,
85131
- args: {
85132
- outTimes: 30,
85133
- cardReader: 1,
85134
- cameraType: 0
85135
- }
85136
- });
85137
- break;
85138
- case EWindowPassMethodCode.iReadCardBas:
85139
- // icType:1接触卡;2非接触卡;3自动(接触优先);4自动(非接优先)
85140
- jsonString = JSON.stringify({
85141
- method,
85142
- args: {
85143
- icType: '1'
85144
- }
85145
- });
85146
- break;
85147
- case EWindowPassMethodCode.FingerPrint_Base64:
85148
- // 获取指纹:getimgae,颜色(0黑色 1红色), 质量(默认0), 图像大小(288,360),类型(0民用,1公安)
85149
- jsonString = 'getimgae,1,0,288,0';
85150
- break;
85151
- default:
85152
- jsonString = JSON.stringify({
85153
- method,
85154
- args: {
85155
- outTimes: 30
85156
- }
85157
- });
85158
- break;
85159
- }
85160
- this.ws.send(jsonString);
85161
- return new Promise((resolve, reject) => {
85162
- if (!this.requestStore) {
85163
- this.requestStore = [];
85164
- }
85165
- this.requestStore.push({
85166
- resolve,
85167
- reject
85168
- });
85169
- });
85170
- } else {
85171
- throw Error(methodDesc + '未准备完成');
85172
- }
85173
- }
85174
- /**
85175
- * 读取二代身份证
85176
- * */
85177
- static async idCardRead(method = EWindowPassMethodCode.ReadIDCard_Base64) {
85178
- const readData = await EWindowPassService.read(EWindowPassMethodCode.ReadIDCard_Base64);
85179
- console.log('读取二代身份证==>', readData);
85180
- if (!readData) {
85181
- throw Error('未匹配可用的E窗通读取设备');
85182
- }
85183
- if (readData.retVal !== 0) {
85184
- throw Error("读取二代身份证失败,返回值:" + readData.retVal + ",错误信息:" + readData.errMsg);
85185
- }
85186
- const idInfo = readData.idInfo.data;
85187
- const {
85188
- name,
85189
- sex,
85190
- birthday,
85191
- address,
85192
- id_num,
85193
- nations
85194
- } = idInfo;
85195
- const IDCardData = {
85196
- info: {
85197
- name,
85198
- sex,
85199
- birthday: birthday.replace('-', '').replace('-', ''),
85200
- address,
85201
- cardId: id_num,
85202
- nation: nations
85203
- },
85204
- headImage: readData.idPhotoPicBase64
85205
- };
85206
- console.log('读取二代身份证结果==>', IDCardData);
85207
- return IDCardData;
85208
- }
85209
- /**
85210
- * 人证比对
85211
- */
85212
- static async faceValidateWithIdCardRead() {
85213
- const readData = await EWindowPassService.read(EWindowPassMethodCode.FaceValidateWithIdCard_Base64);
85214
- console.log('人证比对==>', readData);
85215
- if (!readData) {
85216
- throw Error('未匹配可用的E窗通读取设备');
85217
- }
85218
- if (readData.retVal !== 0) {
85219
- throw Error("人证比对失败,返回值:" + readData.retVal + ",错误信息:" + readData.errMsg);
85220
- }
85221
- const idInfo = readData.idInfo.data;
85222
- const {
85223
- name,
85224
- sex,
85225
- birth,
85226
- address,
85227
- idNo,
85228
- nation
85229
- } = idInfo;
85230
- const IDCardData = {
85231
- idCard: {
85232
- info: {
85233
- name,
85234
- sex,
85235
- birthday: birth.replace('-', '').replace('-', ''),
85236
- address,
85237
- cardId: idNo,
85238
- nation
85239
- },
85240
- headImage: readData.idPhotoBase64
85241
- },
85242
- faceimg: readData.scenceBase64
85243
- };
85244
- console.log('人证比对结果==>', IDCardData);
85245
- return IDCardData;
85246
- }
85247
- /** 读取社保卡 */
85248
- static async socialSecurityCardRead() {
85249
- const readData = await EWindowPassService.read(EWindowPassMethodCode.iReadCardBas);
85250
- if (!readData) {
85251
- throw Error('未匹配可用的E窗通读取设备');
85252
- }
85253
- if (readData.retVal !== 0) {
85254
- throw Error("读取社保卡基本信息失败,返回值:" + readData.retVal + ",错误信息:" + readData.outInfo);
85255
- }
85256
- // 返回数据:330100|350781196403072943|W57681892|331100D10600000300657BCF88899F8E|张三|3B6D000000815444368660330100286BCF|1.00|2020-08-12|2030-08-12|1|SN00000000|(邮编|身份证号|卡号|社会保障号码|姓名|...不知道是什么信息了)
85257
- const outInfo = readData.outInfo;
85258
- const outInfoArray = outInfo.split('|');
85259
- const cardId = outInfoArray[1];
85260
- const birthday = IdCardCommonUtils.getBirthdayByIdNumber(cardId).replace('-', '').replace('-', '');
85261
- const sex = IdCardCommonUtils.getGenderByIdNumber(cardId);
85262
- const IDCardData = {
85263
- info: {
85264
- name: outInfoArray[4],
85265
- sex,
85266
- birthday,
85267
- address: '',
85268
- cardId
85269
- },
85270
- headImage: ''
85271
- };
85272
- console.log('读取社保卡==>', readData);
85273
- return IDCardData;
85274
- }
85275
- /** 获取签名-base64 */
85276
- static async signNameRead() {
85277
- const readData = await EWindowPassService.read(EWindowPassMethodCode.GetSignName_Base64);
85278
- if (!readData) {
85279
- throw Error('未匹配可用的E窗通读取设备');
85280
- }
85281
- if (readData.retVal !== 0) {
85282
- throw Error("读取签名失败,返回值:" + readData.retVal + ",错误信息:" + readData.errMsg);
85283
- }
85284
- console.log('获取签名==>', readData);
85285
- return readData.signPicBase64;
85286
- }
85287
- /** 获取指纹*/
85288
- static async fingerPrintRead() {
85289
- let timeOver = 30;
85290
- async function readFingerPrint() {
85291
- const readData = await EWindowPassService.read(EWindowPassMethodCode.FingerPrint_Base64);
85292
- if (!readData) {
85293
- throw Error('未匹配可用的E窗通读取设备');
85294
- }
85295
- let list = readData.fingerPrintInfo.split("|");
85296
- console.log(list);
85297
- let ret = Number(list[1]);
85298
- if (ret > 1) {
85299
- if (timeOver > 0) {
85300
- timeOver--;
85301
- return await readFingerPrint();
85302
- } else {
85303
- return {
85304
- status: 'error',
85305
- data: '已超时,请重新操作,按压指纹'
85306
- };
85307
- }
85308
- } else {
85309
- return {
85310
- status: 'success',
85311
- data: readData.fingerPrintInfo
85312
- };
85313
- }
85314
- }
85315
- let {
85316
- status,
85317
- data
85318
- } = await readFingerPrint();
85319
- if (status === 'error') {
85320
- throw Error(data);
85321
- } else {
85322
- let [method, result, quality, image, featureCode] = data.split('|');
85323
- // getimgae|1|68|......|......
85324
- // method:方法,result:返回的状态,quality:指纹图片质量,image:图片base64,featureCode:指纹特征码
85325
- return {
85326
- method,
85327
- result,
85328
- quality,
85329
- image,
85330
- featureCode
85331
- };
85332
- }
85333
- }
85334
- }
85335
- _defineProperty(EWindowPassService, "iReadCardBasWebSocketUrl", 'ws://127.0.0.1:5847');
85336
- _defineProperty(EWindowPassService, "fingerPrintBasWebSocketUrl", 'ws://127.0.0.1:9000');
85337
- _defineProperty(EWindowPassService, "ws", void 0);
85338
- _defineProperty(EWindowPassService, "requestStore", []);
85339
- ;// CONCATENATED MODULE: ./packages/service/external-plugins/wei-rong-plugin-socket.service.ts
85340
-
85341
-
85342
-
85343
-
85344
- /**
85345
- * @author: lvcy
85346
- * @date: 2024-03-22
85347
- * @description:国产客户端,硬件对接
85348
- */
85349
- var WEIRONGMethodCode;
85350
- (function (WEIRONGMethodCode) {
85351
- /** 读卡 */
85352
- WEIRONGMethodCode["ReadCard_Base64"] = "ReadCard_Base64";
85353
- /** 开始签名*/
85354
- WEIRONGMethodCode["StartSignName"] = "StartSignName";
85355
- /** 获取签名状态*/
85356
- WEIRONGMethodCode["GetSignNameStatus"] = "GetSignNameStatus";
85357
- /** 获取签名*/
85358
- WEIRONGMethodCode["GetSignName_Base64"] = "GetSignName_Base64";
85359
- /** 人证比对 */
85360
- WEIRONGMethodCode["FaceValidateWithIdCard_Base64"] = "FaceValidateWithIdCard_Base64";
85361
- /** 打开高拍仪器*/
85362
- WEIRONGMethodCode["TurnOnTheCamera"] = "TurnOnTheCamera";
85363
- /** 拍照*/
85364
- WEIRONGMethodCode["ScannerCamera"] = "ScannerCamera";
85365
- })(WEIRONGMethodCode || (WEIRONGMethodCode = {}));
85366
- const WEIRONGMethodDesc = {
85367
- [WEIRONGMethodCode.ReadCard_Base64]: '读卡',
85368
- [WEIRONGMethodCode.GetSignName_Base64]: '获取签名',
85369
- [WEIRONGMethodCode.FaceValidateWithIdCard_Base64]: '人证比对'
85370
- };
85371
- class WeiRongPluginService {
85372
- static startConnect(method) {
85373
- console.log('startConnect', method, this.ws?.readyState, WebSocket.CONNECTING);
85374
- if (this.ws && this.ws.readyState === WebSocket.OPEN) {
85375
- return this;
85376
- }
85377
- console.log('重新链接');
85378
- const ws = new WebSocket(this.webSocketUrl);
85379
- let resolved;
85380
- const onConnect = new Promise(resolve => {
85381
- resolved = resolve;
85382
- });
85383
- ws.onopen = () => {
85384
- resolved(true);
85385
- };
85386
- ws.onmessage = event => {
85387
- if (method === EWindowPassMethodCode.FingerPrint_Base64) {
85388
- // 指纹后端返回的是string
85389
- event = {
85390
- ...event,
85391
- data: JSON.stringify({
85392
- fingerPrintInfo: event.data
85393
- })
85394
- };
85395
- }
85396
- this.handleMessage(event);
85397
- };
85398
- ws.onclose = () => this.handleClose();
85399
- ws.onerror = () => this.handleError();
85400
- this.ws = ws;
85401
- return onConnect;
85402
- }
85403
- static handleError() {
85404
- for (const type in this.requestStore) {
85405
- this.requestStore.forEach(({
85406
- reject
85407
- }) => {
85408
- reject('handleError');
85409
- });
85410
- }
85411
- throw Error('设备功能加载失败');
85412
- }
85413
- static handleClose() {
85414
- for (const type in this.requestStore) {
85415
- this.requestStore.forEach(({
85416
- reject
85417
- }) => {
85418
- reject('close');
85419
- });
85420
- }
85421
- }
85422
- static handleMessage(msg) {
85423
- let data = '';
85424
- try {
85425
- data = JSON.parse(msg.data);
85426
- } catch (e) {
85427
- data = '';
85428
- }
85429
- if (data.method === 'FaceScreenStream' || data.method === 'VideoStream') {
85430
- const event = new ScannerCameraRefreshPhotoEvent(data.imgBase64);
85431
- return window.dispatchEvent(event);
85432
- } else {
85433
- this.requestStore.forEach(({
85434
- resolve
85435
- }) => {
85436
- resolve(data);
85437
- });
85438
- this.requestStore = [];
85439
- }
85440
- // this.ws.close();
85441
- }
85442
-
85443
- static async read(method) {
85444
- await this.startConnect(method);
85445
- const methodDesc = WEIRONGMethodDesc[method];
85446
- if (this.ws.readyState === 1) {
85447
- let jsonString;
85448
- switch (method) {
85449
- case WEIRONGMethodCode.ReadCard_Base64:
85450
- jsonString = JSON.stringify({
85451
- method: 'ReadIDCard_Base64',
85452
- args: {
85453
- outTimes: 30,
85454
- cardReader: 0
85455
- }
85456
- });
85457
- break;
85458
- case WEIRONGMethodCode.FaceValidateWithIdCard_Base64:
85459
- jsonString = JSON.stringify({
85460
- method: 'FaceValidateWithIdCard_Base64',
85461
- args: {
85462
- outTimes: 30,
85463
- score: 75
85464
- }
85465
- });
85466
- break;
85467
- case WEIRONGMethodCode.StartSignName:
85468
- jsonString = JSON.stringify({
85469
- method: 'SignNameScreen_Start',
85470
- args: {
85471
- outTimes: 30
85472
- }
85473
- });
85474
- break;
85475
- case WEIRONGMethodCode.GetSignNameStatus:
85476
- jsonString = JSON.stringify({
85477
- method: 'SignNameScreen_Status',
85478
- args: {}
85479
- });
85480
- break;
85481
- case WEIRONGMethodCode.GetSignName_Base64:
85482
- jsonString = JSON.stringify({
85483
- method: 'SignNameScreen_Get',
85484
- args: {}
85485
- });
85486
- break;
85487
- case WEIRONGMethodCode.TurnOnTheCamera:
85488
- jsonString = JSON.stringify({
85489
- method: 'VideoStart',
85490
- args: {}
85491
- });
85492
- break;
85493
- case WEIRONGMethodCode.ScannerCamera:
85494
- jsonString = JSON.stringify({
85495
- method: 'GetCameraImage',
85496
- args: {
85497
- imagePath: ''
85498
- }
85499
- });
85500
- break;
85501
- }
85502
- this.ws.send(jsonString);
85503
- return new Promise((resolve, reject) => {
85504
- if (!this.requestStore) {
85505
- this.requestStore = [];
85506
- }
85507
- this.requestStore.push({
85508
- resolve,
85509
- reject
85510
- });
85511
- });
85512
- } else {
85513
- throw Error(methodDesc + '未准备完成');
85514
- }
85515
- }
85516
- /** 读取身份证和永居证*/
85517
- static async idCardRead() {
85518
- const readData = await WeiRongPluginService.read(WEIRONGMethodCode.ReadCard_Base64);
85519
- if (!readData) {
85520
- throw Error('未匹配到可用的读取设备');
85521
- }
85522
- if (readData.retVal !== 0) {
85523
- this.ws?.close();
85524
- throw Error("读取二代身份证失败,返回值:" + readData.retVal + ",错误信息:" + readData.errMsg);
85525
- }
85526
- let idInfo = readData.idInfo;
85527
- // name:姓名 "ENfullname":"英文姓名" sex:性别 nation:民族 number 身份证号码 birthday: 生日 address: 地址,
85528
- // organs:签发机关 signdate:开始有效期 validterm: 结束有效期
85529
- let {
85530
- name,
85531
- ENfullname: englishName,
85532
- Nationality,
85533
- sex,
85534
- birthday,
85535
- address,
85536
- number,
85537
- nation,
85538
- organs: police,
85539
- signdate: validStart,
85540
- validterm: validEnd
85541
- } = idInfo;
85542
- let chineseName = '',
85543
- cardType = '1',
85544
- nationality = '中国';
85545
- // 外国人永居证
85546
- if (readData.cardType == 1 || readData.cardType == 2) {
85547
- cardType = '9'; // 永居证
85548
- chineseName = name;
85549
- name = name || englishName; // 姓名,先读中文名,没有时读英文名
85550
- police = police || '中华人民共和国国家移民管理局'; // 发证机关,读不到,默认
85551
- nationality = Nationality; // 永居证国籍放在名族里面的
85552
- nation = '';
85553
- } else {
85554
- // 身份证
85555
- cardType = '1'; // 身份证
85556
- }
85557
-
85558
- const IDCardData = {
85559
- info: {
85560
- cardType,
85561
- nationality,
85562
- name,
85563
- chineseName,
85564
- englishName,
85565
- sex,
85566
- birthday: birthday.replace('-', '').replace('-', ''),
85567
- address,
85568
- cardId: number,
85569
- nation,
85570
- police,
85571
- validStart,
85572
- validEnd
85573
- },
85574
- headImage: readData.idPhotoBase64
85575
- };
85576
- this.ws?.close();
85577
- return IDCardData;
85578
- }
85579
- /** 读取社保卡 */
85580
- static async socialSecurityCardRead() {
85581
- const readData = await WeiRongPluginService.read(WEIRONGMethodCode.ReadCard_Base64);
85582
- if (!readData) {
85583
- throw Error('未匹配可用的读取设备');
85584
- }
85585
- if (readData.retVal !== 0) {
85586
- this.ws?.close();
85587
- throw Error("读取社保卡基本信息失败,返回值:" + readData.retVal + ",错误信息:" + readData.idInfo);
85588
- }
85589
- // 返回数据:cardType 3 社保卡
85590
- // idInfo: {
85591
- // name:姓名
85592
- // sex:性别
85593
- // nation:民族
85594
- // cardnumber:卡号
85595
- // number:社会保障号码(身份证号)
85596
- // birthday:出生日期"\
85597
- // city:城市代码
85598
- // signdate:开始有效期
85599
- // validterm:结束有效期
85600
- // cardveVrsion:社保卡版本
85601
- // }
85602
- const idInfo = readData.idInfo;
85603
- let {
85604
- name,
85605
- sex,
85606
- birthday,
85607
- number: cardId,
85608
- cardnumber
85609
- } = idInfo;
85610
- const IDCardData = {
85611
- info: {
85612
- name,
85613
- sex,
85614
- birthday,
85615
- address: '',
85616
- cardId,
85617
- cardnumber
85618
- },
85619
- headImage: ''
85620
- };
85621
- this.ws?.close();
85622
- return IDCardData;
85623
- }
85624
- // 港澳台居住证协议
85625
- // {
85626
- // "method": "ReadIDCard_Base64",
85627
- // "retVal": 0,
85628
- // "errMsg":"",
85629
- // "cardType":"4",
85630
- // "idInfo":{
85631
- // "name":"中文姓名",
85632
- // "sex":"性别",
85633
- // "birthday":"出生日期",
85634
- // "address":"(例:杭州市西湖区XXXX)",
85635
- // "number":"证件号码",
85636
- // "organs":"签发机关",
85637
- // "signdate":"开始有效期",
85638
- // "validterm":"结束有效期",
85639
- // "signCount":"签证次数",
85640
- // "passNu":"通行证号"
85641
- // },
85642
- // "idPhotoBase64":"小头像base64图片格式"
85643
- // }
85644
- /**
85645
- * 人证比对
85646
- */
85647
- static async faceValidateWithIdCardRead() {
85648
- const readData = await WeiRongPluginService.read(WEIRONGMethodCode.FaceValidateWithIdCard_Base64);
85649
- if (readData.method === 'FaceValidateWithIdCard_Base64' && readData.retVal == '0') {
85650
- console.log('认证成功=>', readData);
85651
- const idInfo = readData.idInfo;
85652
- let {
85653
- name,
85654
- ENfullname: englishName,
85655
- Nationality,
85656
- sex,
85657
- birthday,
85658
- address,
85659
- number,
85660
- nation,
85661
- organs: police,
85662
- signdate: validStart,
85663
- validterm: validEnd
85664
- } = idInfo;
85665
- let chineseName = '',
85666
- cardType = '1',
85667
- nationality = '中国';
85668
- // 外国人永居证
85669
- if (readData.cardType == 1 || readData.cardType == 2) {
85670
- cardType = '9'; // 永居证
85671
- chineseName = name;
85672
- name = name || englishName; // 姓名,先读中文名,没有时读英文名
85673
- police = police || '中华人民共和国国家移民管理局'; // 发证机关,读不到,默认
85674
- nationality = Nationality; // 永居证国籍放在名族里面的
85675
- nation = '';
85676
- } else {
85677
- // 身份证
85678
- cardType = '1'; // 身份证
85679
- }
85680
- // idCard:身份证信息;faceimg,拍照照片;score:对比度
85681
- const IDCardData = {
85682
- idCard: {
85683
- info: {
85684
- cardType,
85685
- nationality,
85686
- name,
85687
- chineseName,
85688
- englishName,
85689
- sex,
85690
- birthday: birthday.replace('-', '').replace('-', ''),
85691
- address,
85692
- cardId: number,
85693
- nation,
85694
- police,
85695
- validStart,
85696
- validEnd
85697
- },
85698
- headImage: readData.idPhotoBase64
85699
- },
85700
- faceimg: readData.scenceBase64,
85701
- score: readData.score
85702
- };
85703
- this.ws?.close();
85704
- return IDCardData;
85705
- } else {
85706
- this.ws?.close();
85707
- }
85708
- }
85709
- /** 签字*/
85710
- static async signNameRead() {
85711
- return new Promise(async (resolve, reject) => {
85712
- const readData = await WeiRongPluginService.read(WEIRONGMethodCode.StartSignName);
85713
- console.log('开始签名=>', readData);
85714
- if (readData.method === 'SignNameScreen_Start') {
85715
- if (readData.retVal !== 0) {
85716
- this.ws?.close();
85717
- reject(`开始签名失败,返回值:${readData.retVal},错误信息:${readData.errMsg}`);
85718
- } else {
85719
- if (!this.timer) {
85720
- this.timer = setInterval(async () => {
85721
- let status = await WeiRongPluginService.read(WEIRONGMethodCode.GetSignNameStatus);
85722
- if (status.signScreenStatus == 2) {
85723
- clearInterval(this.timer);
85724
- this.timer = null;
85725
- let res = await WeiRongPluginService.read(WEIRONGMethodCode.GetSignName_Base64);
85726
- this.ws?.close();
85727
- resolve(res.signPicBase64);
85728
- } else if (status.retVal == 3) {
85729
- clearInterval(this.timer);
85730
- this.timer = null;
85731
- this.ws?.close();
85732
- reject('签字结果=>签字失败,或意外中断!');
85733
- }
85734
- }, 2000);
85735
- }
85736
- }
85737
- }
85738
- });
85739
- }
85740
- // 开启主摄像头/副摄像头
85741
- static async turnOnTheCamera() {
85742
- await WeiRongPluginService.read(WEIRONGMethodCode.TurnOnTheCamera);
85743
- }
85744
- // 拍照
85745
- static async scanByCamera() {
85746
- // if (this.ws) this.ws.close();
85747
- let res = await WeiRongPluginService.read(WEIRONGMethodCode.ScannerCamera);
85748
- if (res.method === 'GetCameraImage' && res.retVal == 0) {
85749
- this.ws?.close();
85750
- return res.cameraImgBase64;
85751
- }
85752
- }
85753
- }
85754
- _defineProperty(WeiRongPluginService, "webSocketUrl", 'ws://127.0.0.1:5847');
85755
- _defineProperty(WeiRongPluginService, "ws", void 0);
85756
- _defineProperty(WeiRongPluginService, "requestStore", []);
85757
- _defineProperty(WeiRongPluginService, "timer", null);
85758
85007
  ;// 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-camera/src/component/scanner-camera-component.vue?vue&type=script&lang=js&
85759
85008
 
85760
85009
 
85761
85010
 
85762
85011
 
85763
85012
 
85764
-
85013
+ // import { WeiRongPluginService } from '../../../../service/external-plugins/wei-rong-plugin-socket.service'
85765
85014
  const scanner_camera_componentvue_type_script_lang_js_BEGIN_DATA = 'data:image/jpg;base64,';
85766
85015
  /* harmony default export */ var scanner_camera_componentvue_type_script_lang_js_ = ({
85767
85016
  name: "scanner-camera-component",
@@ -85850,8 +85099,8 @@ const scanner_camera_componentvue_type_script_lang_js_BEGIN_DATA = 'data:image/j
85850
85099
  case 6:
85851
85100
  {
85852
85101
  // 国产客户端一体机
85853
- let res = await WeiRongPluginService.scanByCamera();
85854
- this.$emit('send-scanner-result', `${scanner_camera_componentvue_type_script_lang_js_BEGIN_DATA}${res}`);
85102
+ // let res = await WeiRongPluginService.scanByCamera();
85103
+ // this.$emit('send-scanner-result', `${BEGIN_DATA}${res}`);
85855
85104
  break;
85856
85105
  }
85857
85106
  }
@@ -85879,7 +85128,7 @@ const scanner_camera_componentvue_type_script_lang_js_BEGIN_DATA = 'data:image/j
85879
85128
  break;
85880
85129
  case 6:
85881
85130
  // 国产客户端一体机
85882
- await WeiRongPluginService.turnOnTheCamera();
85131
+ // await WeiRongPluginService.turnOnTheCamera();
85883
85132
  break;
85884
85133
  }
85885
85134
  },
@@ -85906,7 +85155,7 @@ const scanner_camera_componentvue_type_script_lang_js_BEGIN_DATA = 'data:image/j
85906
85155
  break;
85907
85156
  case 6:
85908
85157
  // 国产客户端一体机
85909
- await WeiRongPluginService.turnOnTheCamera();
85158
+ // await WeiRongPluginService.turnOnTheCamera();
85910
85159
  break;
85911
85160
  }
85912
85161
  },
@@ -85930,10 +85179,10 @@ const scanner_camera_componentvue_type_script_lang_js_BEGIN_DATA = 'data:image/j
85930
85179
  });
85931
85180
  ;// CONCATENATED MODULE: ./packages/scanner/scanner-camera/src/component/scanner-camera-component.vue?vue&type=script&lang=js&
85932
85181
  /* harmony default export */ var component_scanner_camera_componentvue_type_script_lang_js_ = (scanner_camera_componentvue_type_script_lang_js_);
85933
- ;// 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-camera/src/component/scanner-camera-component.vue?vue&type=style&index=0&id=bc9cce92&prod&scoped=true&lang=scss&
85182
+ ;// 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-camera/src/component/scanner-camera-component.vue?vue&type=style&index=0&id=7ca74565&prod&scoped=true&lang=scss&
85934
85183
  // extracted by mini-css-extract-plugin
85935
85184
 
85936
- ;// CONCATENATED MODULE: ./packages/scanner/scanner-camera/src/component/scanner-camera-component.vue?vue&type=style&index=0&id=bc9cce92&prod&scoped=true&lang=scss&
85185
+ ;// CONCATENATED MODULE: ./packages/scanner/scanner-camera/src/component/scanner-camera-component.vue?vue&type=style&index=0&id=7ca74565&prod&scoped=true&lang=scss&
85937
85186
 
85938
85187
  ;// CONCATENATED MODULE: ./packages/scanner/scanner-camera/src/component/scanner-camera-component.vue
85939
85188
 
@@ -85946,11 +85195,11 @@ const scanner_camera_componentvue_type_script_lang_js_BEGIN_DATA = 'data:image/j
85946
85195
 
85947
85196
  var scanner_camera_component_component = normalizeComponent(
85948
85197
  component_scanner_camera_componentvue_type_script_lang_js_,
85949
- scanner_camera_componentvue_type_template_id_bc9cce92_scoped_true_render,
85950
- scanner_camera_componentvue_type_template_id_bc9cce92_scoped_true_staticRenderFns,
85198
+ scanner_camera_componentvue_type_template_id_7ca74565_scoped_true_render,
85199
+ scanner_camera_componentvue_type_template_id_7ca74565_scoped_true_staticRenderFns,
85951
85200
  false,
85952
85201
  null,
85953
- "bc9cce92",
85202
+ "7ca74565",
85954
85203
  null
85955
85204
 
85956
85205
  )
@@ -86245,8 +85494,8 @@ id_card_reader_eloam.install = Vue => {
86245
85494
  Vue.component(id_card_reader_eloam.name, id_card_reader_eloam);
86246
85495
  };
86247
85496
  /* harmony default export */ var id_card_reader_id_card_reader_eloam = (id_card_reader_eloam);
86248
- ;// 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=19ae37ba&scoped=true&
86249
- var id_card_reader_buttonvue_type_template_id_19ae37ba_scoped_true_render = function render() {
85497
+ ;// 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=3939400c&scoped=true&
85498
+ var id_card_reader_buttonvue_type_template_id_3939400c_scoped_true_render = function render() {
86250
85499
  var _vm = this,
86251
85500
  _c = _vm._self._c;
86252
85501
  return _vm.tip ? _c('el-tooltip', {
@@ -86323,7 +85572,7 @@ var id_card_reader_buttonvue_type_template_id_19ae37ba_scoped_true_render = func
86323
85572
  }
86324
85573
  })], 2);
86325
85574
  };
86326
- var id_card_reader_buttonvue_type_template_id_19ae37ba_scoped_true_staticRenderFns = [];
85575
+ var id_card_reader_buttonvue_type_template_id_3939400c_scoped_true_staticRenderFns = [];
86327
85576
 
86328
85577
  ;// CONCATENATED MODULE: ./packages/service/external-plugins/default-plugin-socket.service.ts
86329
85578
 
@@ -86537,7 +85786,127 @@ class SignReadService {
86537
85786
  ws.onopen = () => {
86538
85787
  resolved(true);
86539
85788
  };
86540
- ws.onmessage = event => this.handleMessage(event);
85789
+ ws.onmessage = event => this.handleMessage(event);
85790
+ ws.onclose = () => this.handleClose();
85791
+ ws.onerror = () => this.handleError();
85792
+ this.ws = ws;
85793
+ return onConnect;
85794
+ }
85795
+ static handleError() {
85796
+ for (const type in this.requestStore) {
85797
+ this.requestStore.forEach(({
85798
+ reject
85799
+ }) => {
85800
+ reject('handleError');
85801
+ });
85802
+ }
85803
+ throw Error('签字板加载失败');
85804
+ }
85805
+ static handleClose() {
85806
+ for (const type in this.requestStore) {
85807
+ this.requestStore.forEach(({
85808
+ reject
85809
+ }) => {
85810
+ reject('close');
85811
+ });
85812
+ }
85813
+ }
85814
+ static handleMessage(msg) {
85815
+ let data = msg.data;
85816
+ this.requestStore.forEach(({
85817
+ resolve
85818
+ }) => {
85819
+ resolve(data);
85820
+ });
85821
+ this.requestStore = [];
85822
+ this.ws.close();
85823
+ }
85824
+ static async read(signMode = PluginApiType.ywSign) {
85825
+ await this.startConnect(signMode);
85826
+ if (this.ws.readyState === 1) {
85827
+ console.log('签字板连接成功');
85828
+ this.ws.send(signMode);
85829
+ return new Promise((resolve, reject) => {
85830
+ if (!this.requestStore) {
85831
+ this.requestStore = [];
85832
+ }
85833
+ this.requestStore.push({
85834
+ resolve,
85835
+ reject
85836
+ });
85837
+ });
85838
+ } else {
85839
+ throw Error('签字板未准备完成');
85840
+ }
85841
+ }
85842
+ }
85843
+ _defineProperty(SignReadService, "signWebSocketUrl", 'ws://127.0.0.1:8152/chromeManage');
85844
+ _defineProperty(SignReadService, "hwSignWebSocketUrl", 'ws://127.0.0.1:8152/HWSIGNManage');
85845
+ _defineProperty(SignReadService, "ws", void 0);
85846
+ _defineProperty(SignReadService, "requestStore", []);
85847
+ ;// CONCATENATED MODULE: ./packages/service/external-plugins/ewp-plugin-socket.service.ts
85848
+
85849
+
85850
+ /**
85851
+ * 沃斯德人证交互终端
85852
+ * E窗通WEBSOCKET服务
85853
+ *
85854
+ * */
85855
+
85856
+ var EWindowPassMethodCode;
85857
+ (function (EWindowPassMethodCode) {
85858
+ /** 读取社保卡 */
85859
+ EWindowPassMethodCode["iReadCardBas"] = "iReadCardBas";
85860
+ /** 获取签名*/
85861
+ EWindowPassMethodCode["GetSignName_Base64"] = "GetSignName_Base64";
85862
+ /** 读取二代身份证 */
85863
+ EWindowPassMethodCode["ReadIDCard_Base64"] = "ReadIDCard_Base64";
85864
+ /** 人证比对 */
85865
+ EWindowPassMethodCode["FaceValidateWithIdCard_Base64"] = "FaceValidateWithIdCard_Base64";
85866
+ /** 获取指纹 */
85867
+ EWindowPassMethodCode["FingerPrint_Base64"] = "FingerPrint_Base64";
85868
+ })(EWindowPassMethodCode || (EWindowPassMethodCode = {}));
85869
+ const EWindowPassMethodDesc = {
85870
+ [EWindowPassMethodCode.iReadCardBas]: '读取社保卡',
85871
+ [EWindowPassMethodCode.GetSignName_Base64]: '获取签名',
85872
+ [EWindowPassMethodCode.ReadIDCard_Base64]: '读取二代身份证',
85873
+ [EWindowPassMethodCode.FaceValidateWithIdCard_Base64]: '人证比对',
85874
+ [EWindowPassMethodCode.FingerPrint_Base64]: '获取指纹'
85875
+ };
85876
+ class EWindowPassService {
85877
+ static startConnect(method) {
85878
+ if (this.ws && this.ws.readyState === WebSocket.CONNECTING) {
85879
+ return this;
85880
+ }
85881
+ let webSocketUrl = '';
85882
+ switch (method) {
85883
+ case EWindowPassMethodCode.FingerPrint_Base64:
85884
+ webSocketUrl = this.fingerPrintBasWebSocketUrl;
85885
+ break;
85886
+ default:
85887
+ webSocketUrl = this.iReadCardBasWebSocketUrl;
85888
+ break;
85889
+ }
85890
+ const ws = new WebSocket(webSocketUrl);
85891
+ let resolved;
85892
+ const onConnect = new Promise(resolve => {
85893
+ resolved = resolve;
85894
+ });
85895
+ ws.onopen = () => {
85896
+ resolved(true);
85897
+ };
85898
+ ws.onmessage = event => {
85899
+ if (method === EWindowPassMethodCode.FingerPrint_Base64) {
85900
+ // 指纹后端返回的是string
85901
+ event = {
85902
+ ...event,
85903
+ data: JSON.stringify({
85904
+ fingerPrintInfo: event.data
85905
+ })
85906
+ };
85907
+ }
85908
+ this.handleMessage(event);
85909
+ };
86541
85910
  ws.onclose = () => this.handleClose();
86542
85911
  ws.onerror = () => this.handleError();
86543
85912
  this.ws = ws;
@@ -86551,7 +85920,7 @@ class SignReadService {
86551
85920
  reject('handleError');
86552
85921
  });
86553
85922
  }
86554
- throw Error('签字板加载失败');
85923
+ throw Error('E窗通设备功能加载失败');
86555
85924
  }
86556
85925
  static handleClose() {
86557
85926
  for (const type in this.requestStore) {
@@ -86563,7 +85932,12 @@ class SignReadService {
86563
85932
  }
86564
85933
  }
86565
85934
  static handleMessage(msg) {
86566
- let data = msg.data;
85935
+ let data = '';
85936
+ try {
85937
+ data = JSON.parse(msg.data);
85938
+ } catch (e) {
85939
+ data = '';
85940
+ }
86567
85941
  this.requestStore.forEach(({
86568
85942
  resolve
86569
85943
  }) => {
@@ -86572,11 +85946,58 @@ class SignReadService {
86572
85946
  this.requestStore = [];
86573
85947
  this.ws.close();
86574
85948
  }
86575
- static async read(signMode = PluginApiType.ywSign) {
86576
- await this.startConnect(signMode);
85949
+ static async read(method) {
85950
+ await this.startConnect(method);
85951
+ const methodDesc = EWindowPassMethodDesc[method];
86577
85952
  if (this.ws.readyState === 1) {
86578
- console.log('签字板连接成功');
86579
- this.ws.send(signMode);
85953
+ if (method !== EWindowPassMethodCode.FingerPrint_Base64) console.log(methodDesc + '连接成功');
85954
+ let jsonString;
85955
+ // outTimes:超时时间(秒)
85956
+ switch (method) {
85957
+ case EWindowPassMethodCode.ReadIDCard_Base64:
85958
+ // cardReader:0 读卡器-USB;1 读卡器-COM
85959
+ jsonString = JSON.stringify({
85960
+ method,
85961
+ args: {
85962
+ outTimes: 30,
85963
+ cardReader: 1
85964
+ }
85965
+ });
85966
+ break;
85967
+ case EWindowPassMethodCode.FaceValidateWithIdCard_Base64:
85968
+ // cardReader:0 读卡器-USB;1 读卡器-COM
85969
+ jsonString = JSON.stringify({
85970
+ method,
85971
+ args: {
85972
+ outTimes: 30,
85973
+ cardReader: 1,
85974
+ cameraType: 0
85975
+ }
85976
+ });
85977
+ break;
85978
+ case EWindowPassMethodCode.iReadCardBas:
85979
+ // icType:1接触卡;2非接触卡;3自动(接触优先);4自动(非接优先)
85980
+ jsonString = JSON.stringify({
85981
+ method,
85982
+ args: {
85983
+ icType: '1'
85984
+ }
85985
+ });
85986
+ break;
85987
+ case EWindowPassMethodCode.FingerPrint_Base64:
85988
+ // 获取指纹:getimgae,颜色(0黑色 1红色), 质量(默认0), 图像大小(288,360),类型(0民用,1公安)
85989
+ jsonString = 'getimgae,1,0,288,0';
85990
+ break;
85991
+ default:
85992
+ jsonString = JSON.stringify({
85993
+ method,
85994
+ args: {
85995
+ outTimes: 30
85996
+ }
85997
+ });
85998
+ break;
85999
+ }
86000
+ this.ws.send(jsonString);
86580
86001
  return new Promise((resolve, reject) => {
86581
86002
  if (!this.requestStore) {
86582
86003
  this.requestStore = [];
@@ -86587,14 +86008,174 @@ class SignReadService {
86587
86008
  });
86588
86009
  });
86589
86010
  } else {
86590
- throw Error('签字板未准备完成');
86011
+ throw Error(methodDesc + '未准备完成');
86012
+ }
86013
+ }
86014
+ /**
86015
+ * 读取二代身份证
86016
+ * */
86017
+ static async idCardRead(method = EWindowPassMethodCode.ReadIDCard_Base64) {
86018
+ const readData = await EWindowPassService.read(EWindowPassMethodCode.ReadIDCard_Base64);
86019
+ console.log('读取二代身份证==>', readData);
86020
+ if (!readData) {
86021
+ throw Error('未匹配可用的E窗通读取设备');
86022
+ }
86023
+ if (readData.retVal !== 0) {
86024
+ throw Error("读取二代身份证失败,返回值:" + readData.retVal + ",错误信息:" + readData.errMsg);
86025
+ }
86026
+ const idInfo = readData.idInfo.data;
86027
+ const {
86028
+ name,
86029
+ sex,
86030
+ birthday,
86031
+ address,
86032
+ id_num,
86033
+ nations
86034
+ } = idInfo;
86035
+ const IDCardData = {
86036
+ info: {
86037
+ name,
86038
+ sex,
86039
+ birthday: birthday.replace('-', '').replace('-', ''),
86040
+ address,
86041
+ cardId: id_num,
86042
+ nation: nations
86043
+ },
86044
+ headImage: readData.idPhotoPicBase64
86045
+ };
86046
+ console.log('读取二代身份证结果==>', IDCardData);
86047
+ return IDCardData;
86048
+ }
86049
+ /**
86050
+ * 人证比对
86051
+ */
86052
+ static async faceValidateWithIdCardRead() {
86053
+ const readData = await EWindowPassService.read(EWindowPassMethodCode.FaceValidateWithIdCard_Base64);
86054
+ console.log('人证比对==>', readData);
86055
+ if (!readData) {
86056
+ throw Error('未匹配可用的E窗通读取设备');
86057
+ }
86058
+ if (readData.retVal !== 0) {
86059
+ throw Error("人证比对失败,返回值:" + readData.retVal + ",错误信息:" + readData.errMsg);
86060
+ }
86061
+ const idInfo = readData.idInfo.data;
86062
+ const {
86063
+ name,
86064
+ sex,
86065
+ birth,
86066
+ address,
86067
+ idNo,
86068
+ nation
86069
+ } = idInfo;
86070
+ const IDCardData = {
86071
+ idCard: {
86072
+ info: {
86073
+ name,
86074
+ sex,
86075
+ birthday: birth.replace('-', '').replace('-', ''),
86076
+ address,
86077
+ cardId: idNo,
86078
+ nation
86079
+ },
86080
+ headImage: readData.idPhotoBase64
86081
+ },
86082
+ faceimg: readData.scenceBase64
86083
+ };
86084
+ console.log('人证比对结果==>', IDCardData);
86085
+ return IDCardData;
86086
+ }
86087
+ /** 读取社保卡 */
86088
+ static async socialSecurityCardRead() {
86089
+ const readData = await EWindowPassService.read(EWindowPassMethodCode.iReadCardBas);
86090
+ if (!readData) {
86091
+ throw Error('未匹配可用的E窗通读取设备');
86092
+ }
86093
+ if (readData.retVal !== 0) {
86094
+ throw Error("读取社保卡基本信息失败,返回值:" + readData.retVal + ",错误信息:" + readData.outInfo);
86095
+ }
86096
+ // 返回数据:330100|350781196403072943|W57681892|331100D10600000300657BCF88899F8E|张三|3B6D000000815444368660330100286BCF|1.00|2020-08-12|2030-08-12|1|SN00000000|(邮编|身份证号|卡号|社会保障号码|姓名|...不知道是什么信息了)
86097
+ const outInfo = readData.outInfo;
86098
+ const outInfoArray = outInfo.split('|');
86099
+ const cardId = outInfoArray[1];
86100
+ const birthday = IdCardCommonUtils.getBirthdayByIdNumber(cardId).replace('-', '').replace('-', '');
86101
+ const sex = IdCardCommonUtils.getGenderByIdNumber(cardId);
86102
+ const IDCardData = {
86103
+ info: {
86104
+ name: outInfoArray[4],
86105
+ sex,
86106
+ birthday,
86107
+ address: '',
86108
+ cardId
86109
+ },
86110
+ headImage: ''
86111
+ };
86112
+ console.log('读取社保卡==>', readData);
86113
+ return IDCardData;
86114
+ }
86115
+ /** 获取签名-base64 */
86116
+ static async signNameRead() {
86117
+ const readData = await EWindowPassService.read(EWindowPassMethodCode.GetSignName_Base64);
86118
+ if (!readData) {
86119
+ throw Error('未匹配可用的E窗通读取设备');
86120
+ }
86121
+ if (readData.retVal !== 0) {
86122
+ throw Error("读取签名失败,返回值:" + readData.retVal + ",错误信息:" + readData.errMsg);
86123
+ }
86124
+ console.log('获取签名==>', readData);
86125
+ return readData.signPicBase64;
86126
+ }
86127
+ /** 获取指纹*/
86128
+ static async fingerPrintRead() {
86129
+ let timeOver = 30;
86130
+ async function readFingerPrint() {
86131
+ const readData = await EWindowPassService.read(EWindowPassMethodCode.FingerPrint_Base64);
86132
+ if (!readData) {
86133
+ throw Error('未匹配可用的E窗通读取设备');
86134
+ }
86135
+ let list = readData.fingerPrintInfo.split("|");
86136
+ console.log(list);
86137
+ let ret = Number(list[1]);
86138
+ if (ret > 1) {
86139
+ if (timeOver > 0) {
86140
+ timeOver--;
86141
+ return await readFingerPrint();
86142
+ } else {
86143
+ return {
86144
+ status: 'error',
86145
+ data: '已超时,请重新操作,按压指纹'
86146
+ };
86147
+ }
86148
+ } else {
86149
+ return {
86150
+ status: 'success',
86151
+ data: readData.fingerPrintInfo
86152
+ };
86153
+ }
86154
+ }
86155
+ let {
86156
+ status,
86157
+ data
86158
+ } = await readFingerPrint();
86159
+ if (status === 'error') {
86160
+ throw Error(data);
86161
+ } else {
86162
+ let [method, result, quality, image, featureCode] = data.split('|');
86163
+ // getimgae|1|68|......|......
86164
+ // method:方法,result:返回的状态,quality:指纹图片质量,image:图片base64,featureCode:指纹特征码
86165
+ return {
86166
+ method,
86167
+ result,
86168
+ quality,
86169
+ image,
86170
+ featureCode
86171
+ };
86591
86172
  }
86592
86173
  }
86593
86174
  }
86594
- _defineProperty(SignReadService, "signWebSocketUrl", 'ws://127.0.0.1:8152/chromeManage');
86595
- _defineProperty(SignReadService, "hwSignWebSocketUrl", 'ws://127.0.0.1:8152/HWSIGNManage');
86596
- _defineProperty(SignReadService, "ws", void 0);
86597
- _defineProperty(SignReadService, "requestStore", []);
86175
+ _defineProperty(EWindowPassService, "iReadCardBasWebSocketUrl", 'ws://127.0.0.1:5847');
86176
+ _defineProperty(EWindowPassService, "fingerPrintBasWebSocketUrl", 'ws://127.0.0.1:9000');
86177
+ _defineProperty(EWindowPassService, "ws", void 0);
86178
+ _defineProperty(EWindowPassService, "requestStore", []);
86598
86179
  ;// CONCATENATED MODULE: ./packages/service/external-plugins/huada-plugin-socket.service.ts
86599
86180
 
86600
86181
 
@@ -87756,8 +87337,8 @@ var default_take_photo_dialog_component = normalizeComponent(
87756
87337
  )
87757
87338
 
87758
87339
  /* harmony default export */ var default_take_photo_dialog = (default_take_photo_dialog_component.exports);
87759
- ;// 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/wei-rong-face-auth-dialog.vue?vue&type=template&id=d49bc744&scoped=true&
87760
- var wei_rong_face_auth_dialogvue_type_template_id_d49bc744_scoped_true_render = function render() {
87340
+ ;// 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/wei-rong-face-auth-dialog.vue?vue&type=template&id=7b54f4e4&scoped=true&
87341
+ var wei_rong_face_auth_dialogvue_type_template_id_7b54f4e4_scoped_true_render = function render() {
87761
87342
  var _vm = this,
87762
87343
  _c = _vm._self._c;
87763
87344
  return _vm.visibility ? _c('el-dialog', {
@@ -87787,11 +87368,11 @@ var wei_rong_face_auth_dialogvue_type_template_id_d49bc744_scoped_true_render =
87787
87368
  }
87788
87369
  })])]) : _vm._e();
87789
87370
  };
87790
- var wei_rong_face_auth_dialogvue_type_template_id_d49bc744_scoped_true_staticRenderFns = [];
87371
+ var wei_rong_face_auth_dialogvue_type_template_id_7b54f4e4_scoped_true_staticRenderFns = [];
87791
87372
 
87792
87373
  ;// 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/id-card-reader/id-card-reader-button/src/dialog/wei-rong-face-auth-dialog.vue?vue&type=script&lang=js&
87793
87374
 
87794
-
87375
+ // import { WeiRongPluginService } from '../../../../service/external-plugins/wei-rong-plugin-socket.service'
87795
87376
  const wei_rong_face_auth_dialogvue_type_script_lang_js_BEGIN_DATA = 'data:image/jpg;base64,';
87796
87377
  /* harmony default export */ var wei_rong_face_auth_dialogvue_type_script_lang_js_ = ({
87797
87378
  name: "wei-rong-face-auth-dialog",
@@ -87802,14 +87383,14 @@ const wei_rong_face_auth_dialogvue_type_script_lang_js_BEGIN_DATA = 'data:image/
87802
87383
  };
87803
87384
  },
87804
87385
  async created() {
87805
- console.log();
87806
87386
  window.addEventListener(SCANNER_CAMERA_REFRESH_PHOTO_EVENT, message => {
87807
87387
  if (message.type === SCANNER_CAMERA_REFRESH_PHOTO_EVENT) {
87808
87388
  this.viewFaceImage = `${wei_rong_face_auth_dialogvue_type_script_lang_js_BEGIN_DATA}${message.scannerResultUrl}`;
87809
87389
  }
87810
87390
  });
87811
- let res = await WeiRongPluginService.faceValidateWithIdCardRead();
87812
- this.$message.success('认证成功');
87391
+
87392
+ // let res = await WeiRongPluginService.faceValidateWithIdCardRead();
87393
+ // this.$message.success('认证成功');
87813
87394
  setTimeout(() => {
87814
87395
  this.$emit('close', res);
87815
87396
  }, 1500);
@@ -87827,11 +87408,11 @@ const wei_rong_face_auth_dialogvue_type_script_lang_js_BEGIN_DATA = 'data:image/
87827
87408
  ;
87828
87409
  var wei_rong_face_auth_dialog_component = normalizeComponent(
87829
87410
  dialog_wei_rong_face_auth_dialogvue_type_script_lang_js_,
87830
- wei_rong_face_auth_dialogvue_type_template_id_d49bc744_scoped_true_render,
87831
- wei_rong_face_auth_dialogvue_type_template_id_d49bc744_scoped_true_staticRenderFns,
87411
+ wei_rong_face_auth_dialogvue_type_template_id_7b54f4e4_scoped_true_render,
87412
+ wei_rong_face_auth_dialogvue_type_template_id_7b54f4e4_scoped_true_staticRenderFns,
87832
87413
  false,
87833
87414
  null,
87834
- "d49bc744",
87415
+ "7b54f4e4",
87835
87416
  null
87836
87417
 
87837
87418
  )
@@ -87841,7 +87422,7 @@ var wei_rong_face_auth_dialog_component = normalizeComponent(
87841
87422
 
87842
87423
 
87843
87424
 
87844
-
87425
+ // import { WeiRongPluginService } from '../../../service/external-plugins/wei-rong-plugin-socket.service'
87845
87426
 
87846
87427
 
87847
87428
 
@@ -88017,8 +87598,8 @@ var wei_rong_face_auth_dialog_component = normalizeComponent(
88017
87598
  this.$emit('click', idcardInfo);
88018
87599
  break;
88019
87600
  case 10:
88020
- idcardInfo = await WeiRongPluginService.idCardRead();
88021
- this.$emit('click', idcardInfo);
87601
+ // idcardInfo = await WeiRongPluginService.idCardRead();
87602
+ // this.$emit('click', idcardInfo)
88022
87603
  break;
88023
87604
  }
88024
87605
  },
@@ -88077,7 +87658,7 @@ var wei_rong_face_auth_dialog_component = normalizeComponent(
88077
87658
  idcardInfo = await HuzReadService.socialSecurityCardRead();
88078
87659
  break;
88079
87660
  case 5:
88080
- idcardInfo = await WeiRongPluginService.socialSecurityCardRead();
87661
+ // idcardInfo = await WeiRongPluginService.socialSecurityCardRead();
88081
87662
  break;
88082
87663
  }
88083
87664
  this.$emit('click', idcardInfo);
@@ -88122,7 +87703,7 @@ var wei_rong_face_auth_dialog_component = normalizeComponent(
88122
87703
  }
88123
87704
  break;
88124
87705
  case 5:
88125
- userSignature = await WeiRongPluginService.signNameRead();
87706
+ // userSignature = await WeiRongPluginService.signNameRead()
88126
87707
  break;
88127
87708
  }
88128
87709
  // 返回base64编码内容,无前缀
@@ -88247,11 +87828,11 @@ var wei_rong_face_auth_dialog_component = normalizeComponent(
88247
87828
  ;
88248
87829
  var id_card_reader_button_component = normalizeComponent(
88249
87830
  src_id_card_reader_buttonvue_type_script_lang_js_,
88250
- id_card_reader_buttonvue_type_template_id_19ae37ba_scoped_true_render,
88251
- id_card_reader_buttonvue_type_template_id_19ae37ba_scoped_true_staticRenderFns,
87831
+ id_card_reader_buttonvue_type_template_id_3939400c_scoped_true_render,
87832
+ id_card_reader_buttonvue_type_template_id_3939400c_scoped_true_staticRenderFns,
88252
87833
  false,
88253
87834
  null,
88254
- "19ae37ba",
87835
+ "3939400c",
88255
87836
  null
88256
87837
 
88257
87838
  )