xh-lab-rc 0.16.0 → 0.16.3
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.
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
1
3
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
4
|
/*
|
|
3
5
|
* @Author: xqy
|
|
4
6
|
* @Date: 2024-06-28 14:07:14
|
|
5
7
|
* @LastEditors: xqy
|
|
6
|
-
* @LastEditTime: 2024-07-
|
|
8
|
+
* @LastEditTime: 2024-07-16 16:34:17
|
|
7
9
|
* @Description:科密高拍仪
|
|
8
10
|
*/
|
|
9
11
|
import { Uint8ArrayToString, byteToString, formatDate, stringToByte } from "../../utils/utils";
|
|
@@ -27,15 +29,7 @@ var KemiAlt = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
27
29
|
setSocketConnected = _useState2[1]; // socket连接状态
|
|
28
30
|
|
|
29
31
|
var cameraRef = useRef(null);
|
|
30
|
-
var
|
|
31
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
32
|
-
captureResult = _useState4[0],
|
|
33
|
-
setCaptureResult = _useState4[1]; //拍照返回的结果
|
|
34
|
-
var _useState5 = useState({}),
|
|
35
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
36
|
-
compPDFResult = _useState6[0],
|
|
37
|
-
setCompPDFResult = _useState6[1]; //合成返回的pdf结果
|
|
38
|
-
|
|
32
|
+
var intervalRef = useRef(null);
|
|
39
33
|
console.log('isOpenMainCamera', isOpenMainCamera, socketConnected);
|
|
40
34
|
|
|
41
35
|
//摄像头信息定义
|
|
@@ -46,12 +40,10 @@ var KemiAlt = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
46
40
|
var pMainShowStartX = 0;
|
|
47
41
|
var pMainShowStartY = 0;
|
|
48
42
|
var isMouseDown = false;
|
|
49
|
-
|
|
50
|
-
//等待一段时间
|
|
51
|
-
var sleep = function sleep(milliSeconds) {
|
|
43
|
+
function sleep(milliSeconds) {
|
|
52
44
|
var startTime = new Date().getTime();
|
|
53
45
|
while (new Date().getTime() < startTime + milliSeconds);
|
|
54
|
-
}
|
|
46
|
+
}
|
|
55
47
|
|
|
56
48
|
//设置文件格式
|
|
57
49
|
function SetFileType(filetype) {
|
|
@@ -222,6 +214,18 @@ var KemiAlt = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
222
214
|
socket.binaryType = 'arraybuffer';
|
|
223
215
|
};
|
|
224
216
|
|
|
217
|
+
//掉线重连
|
|
218
|
+
function reconnect() {
|
|
219
|
+
clearInterval(intervalRef.current);
|
|
220
|
+
// 设置新的定时器
|
|
221
|
+
intervalRef.current = setInterval(function () {
|
|
222
|
+
if (!isSocketConnect) {
|
|
223
|
+
webSocketConnect();
|
|
224
|
+
}
|
|
225
|
+
console.log('reconnectTimer.........!', isSocketConnect);
|
|
226
|
+
}, 3000); // 每3秒执行一次
|
|
227
|
+
}
|
|
228
|
+
|
|
225
229
|
// 获取设备信息等基本信息
|
|
226
230
|
function GetDevCount() {
|
|
227
231
|
try {
|
|
@@ -236,6 +240,7 @@ var KemiAlt = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
236
240
|
}
|
|
237
241
|
var handleSocketOpen = function handleSocketOpen(event) {
|
|
238
242
|
console.log('9999', event);
|
|
243
|
+
clearInterval(intervalRef.current);
|
|
239
244
|
isSocketConnect = true;
|
|
240
245
|
setSocketConnected(true);
|
|
241
246
|
isEffectiveService = true;
|
|
@@ -245,8 +250,9 @@ var KemiAlt = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
245
250
|
console.log(',Close', event, isEffectiveService, isSocketConnect);
|
|
246
251
|
isSocketConnect = false;
|
|
247
252
|
if (isEffectiveService) {
|
|
248
|
-
webSocketConnect();
|
|
249
|
-
message.warning('socket服务关闭,正在重启....');
|
|
253
|
+
// webSocketConnect();
|
|
254
|
+
// message.warning('socket服务关闭,正在重启....');
|
|
255
|
+
reconnect();
|
|
250
256
|
} else {
|
|
251
257
|
message.warning('socket连接失败,请重启服务....');
|
|
252
258
|
}
|
|
@@ -255,7 +261,8 @@ var KemiAlt = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
255
261
|
console.log(',Error', event, isEffectiveService, isSocketConnect);
|
|
256
262
|
isSocketConnect = false;
|
|
257
263
|
if (isEffectiveService) {
|
|
258
|
-
webSocketConnect();
|
|
264
|
+
// webSocketConnect();
|
|
265
|
+
reconnect();
|
|
259
266
|
message.warning('socket服务出错,正在重启....');
|
|
260
267
|
} else {
|
|
261
268
|
message.warning('socket服务出错,请重启服务....');
|
|
@@ -275,24 +282,58 @@ var KemiAlt = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
275
282
|
socket.send(aDataArray.buffer);
|
|
276
283
|
}
|
|
277
284
|
|
|
285
|
+
//*************设置JPG图片质量*************
|
|
286
|
+
function Cam_SetJpgQuality(val) {
|
|
287
|
+
console.log('val', val);
|
|
288
|
+
if (isSocketConnect) {
|
|
289
|
+
var aDataArray = new Uint8Array(4);
|
|
290
|
+
aDataArray[0] = 0x77;
|
|
291
|
+
aDataArray[1] = 0x88;
|
|
292
|
+
aDataArray[2] = 0x29;
|
|
293
|
+
aDataArray[3] = val;
|
|
294
|
+
socket.send(aDataArray.buffer);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
|
|
278
298
|
/**
|
|
279
299
|
* 获取设备信息
|
|
280
300
|
* @param devCount 设备数量
|
|
281
301
|
* @param devNameArr 设备名称组
|
|
282
302
|
*/
|
|
283
|
-
function GetDevCountAndNameResultCB(
|
|
284
|
-
|
|
285
|
-
//获取分辨率信息
|
|
286
|
-
GetResolution(devNameArr[0]); // 发送获取分辨率的指令
|
|
287
|
-
} else {
|
|
288
|
-
message.error('没有发现合适的设备!');
|
|
289
|
-
}
|
|
303
|
+
function GetDevCountAndNameResultCB(_x, _x2) {
|
|
304
|
+
return _GetDevCountAndNameResultCB.apply(this, arguments);
|
|
290
305
|
}
|
|
291
|
-
|
|
292
306
|
/**
|
|
293
307
|
* 返回摄像头开启状态
|
|
294
308
|
* @param status
|
|
295
309
|
*/
|
|
310
|
+
function _GetDevCountAndNameResultCB() {
|
|
311
|
+
_GetDevCountAndNameResultCB = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(devCount, devNameArr) {
|
|
312
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
313
|
+
while (1) switch (_context.prev = _context.next) {
|
|
314
|
+
case 0:
|
|
315
|
+
if (!(devCount > 0)) {
|
|
316
|
+
_context.next = 7;
|
|
317
|
+
break;
|
|
318
|
+
}
|
|
319
|
+
_context.next = 3;
|
|
320
|
+
return GetResolution(devNameArr[0]);
|
|
321
|
+
case 3:
|
|
322
|
+
_context.next = 5;
|
|
323
|
+
return Cam_SetJpgQuality('30');
|
|
324
|
+
case 5:
|
|
325
|
+
_context.next = 8;
|
|
326
|
+
break;
|
|
327
|
+
case 7:
|
|
328
|
+
message.error('没有发现合适的设备!');
|
|
329
|
+
case 8:
|
|
330
|
+
case "end":
|
|
331
|
+
return _context.stop();
|
|
332
|
+
}
|
|
333
|
+
}, _callee);
|
|
334
|
+
}));
|
|
335
|
+
return _GetDevCountAndNameResultCB.apply(this, arguments);
|
|
336
|
+
}
|
|
296
337
|
function GetCameraOnOffStatus(status) {
|
|
297
338
|
if (status === 0) {
|
|
298
339
|
message.success('设备开启成功');
|
|
@@ -449,7 +490,7 @@ var KemiAlt = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
449
490
|
console.log('拍照结果返回', flag, path, base64Str);
|
|
450
491
|
// localPath-本地路径
|
|
451
492
|
if (flag === 0) {
|
|
452
|
-
|
|
493
|
+
getCaptureResult === null || getCaptureResult === void 0 || getCaptureResult({
|
|
453
494
|
photoBase64: base64Str,
|
|
454
495
|
localPath: path
|
|
455
496
|
});
|
|
@@ -464,7 +505,6 @@ var KemiAlt = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
464
505
|
var path = encodeURI(filePath);
|
|
465
506
|
var pathArray = stringToByte(path);
|
|
466
507
|
var len = pathArray.length;
|
|
467
|
-
console.log('path', path, pathArray, len);
|
|
468
508
|
if (isSocketConnect) {
|
|
469
509
|
if (filePath === '') {
|
|
470
510
|
var _len2 = 0;
|
|
@@ -572,7 +612,7 @@ var KemiAlt = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
572
612
|
console.log('合并pdf的结果', flag, PdfBase64Str);
|
|
573
613
|
if (flag === 0) {
|
|
574
614
|
console.log(PdfBase64Str);
|
|
575
|
-
|
|
615
|
+
getCompPDFResult === null || getCompPDFResult === void 0 || getCompPDFResult({
|
|
576
616
|
base64: PdfBase64Str
|
|
577
617
|
});
|
|
578
618
|
} else {
|
|
@@ -801,9 +841,10 @@ var KemiAlt = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
801
841
|
|
|
802
842
|
//拍照
|
|
803
843
|
var takePhoto = function takePhoto() {
|
|
844
|
+
console.log('拍照');
|
|
804
845
|
var name = formatDate(new Date().getTime());
|
|
805
|
-
var path = 'D:\\' + name + '.
|
|
806
|
-
SetFileType(
|
|
846
|
+
var path = 'D:\\' + name + '.jpg'; //定下文件类型
|
|
847
|
+
SetFileType(0); //设置文件格式(0-jpg文件格式)
|
|
807
848
|
Cam_Photo(path); //主摄像头拍照
|
|
808
849
|
};
|
|
809
850
|
|
|
@@ -811,12 +852,12 @@ var KemiAlt = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
811
852
|
var _ToAddPDFFile = function ToAddPDFFile(path) {
|
|
812
853
|
console.log('添加要合并的pdf路径', path);
|
|
813
854
|
AddImgFileToPDF(path);
|
|
855
|
+
sleep(80);
|
|
814
856
|
};
|
|
815
857
|
|
|
816
858
|
//合并PDF文件(compPDFResult 获取合并返回的结果)
|
|
817
859
|
var _ToCombinePDF = function ToCombinePDF(index) {
|
|
818
860
|
console.log('index', index);
|
|
819
|
-
sleep(100);
|
|
820
861
|
CombinePDF("D:\\".concat(index, ".pdf")); //合并之后的保存的pdf路径
|
|
821
862
|
};
|
|
822
863
|
|
|
@@ -872,29 +913,18 @@ var KemiAlt = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
872
913
|
// 接收消息
|
|
873
914
|
socket.onmessage = handleSocketMessage.bind(props);
|
|
874
915
|
}
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
916
|
+
return function () {
|
|
917
|
+
clearInterval(intervalRef.current);
|
|
918
|
+
// CloseCamera();
|
|
919
|
+
// socket.onopen = null;
|
|
920
|
+
// socket.onclose = null;
|
|
921
|
+
// socket.onerror = null;
|
|
922
|
+
// socket.onmessage = null;
|
|
923
|
+
// isSocketConnect = false;
|
|
924
|
+
// MainCanvas = null;
|
|
925
|
+
// MainContext = null;
|
|
926
|
+
};
|
|
885
927
|
}, []);
|
|
886
|
-
useEffect(function () {
|
|
887
|
-
var _Object$keys;
|
|
888
|
-
if (captureResult && ((_Object$keys = Object.keys(captureResult)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length) > 0) {
|
|
889
|
-
getCaptureResult === null || getCaptureResult === void 0 || getCaptureResult(captureResult);
|
|
890
|
-
}
|
|
891
|
-
}, [captureResult]);
|
|
892
|
-
useEffect(function () {
|
|
893
|
-
var _Object$keys2;
|
|
894
|
-
if (compPDFResult && ((_Object$keys2 = Object.keys(compPDFResult)) === null || _Object$keys2 === void 0 ? void 0 : _Object$keys2.length) > 0) {
|
|
895
|
-
getCompPDFResult === null || getCompPDFResult === void 0 || getCompPDFResult(compPDFResult);
|
|
896
|
-
}
|
|
897
|
-
}, [compPDFResult]);
|
|
898
928
|
return /*#__PURE__*/React.createElement("div", {
|
|
899
929
|
id: "CameraCtl",
|
|
900
930
|
ref: cameraRef,
|
|
@@ -8,12 +8,12 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
|
8
8
|
* @Author: xqy
|
|
9
9
|
* @Date: 2024-04-23 13:43:55
|
|
10
10
|
* @LastEditors: xqy
|
|
11
|
-
* @LastEditTime: 2024-07-
|
|
11
|
+
* @LastEditTime: 2024-07-16 17:01:17
|
|
12
12
|
* @Description: 高拍仪
|
|
13
13
|
*/
|
|
14
14
|
import { Iconfont } from "../components";
|
|
15
15
|
import { LabBase64ToFile } from "../utils/utils";
|
|
16
|
-
import { Button, Checkbox, Input, Select, message } from 'antd';
|
|
16
|
+
import { Button, Checkbox, Input, Select, Spin, message } from 'antd';
|
|
17
17
|
import cn from 'classnames';
|
|
18
18
|
import dayjs from 'dayjs';
|
|
19
19
|
import React, { useEffect, useRef, useState } from 'react';
|
|
@@ -102,18 +102,36 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
102
102
|
//高拍仪类型
|
|
103
103
|
pdfQueResult: [] //pdf队列数组
|
|
104
104
|
});
|
|
105
|
-
var _useState25 = useState(
|
|
105
|
+
var _useState25 = useState(false),
|
|
106
106
|
_useState26 = _slicedToArray(_useState25, 2),
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
var _useState27 = useState(
|
|
107
|
+
loading = _useState26[0],
|
|
108
|
+
setLoading = _useState26[1]; //加载中
|
|
109
|
+
var _useState27 = useState(''),
|
|
110
110
|
_useState28 = _slicedToArray(_useState27, 2),
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
tipMsg = _useState28[0],
|
|
112
|
+
setTipMsg = _useState28[1]; //加载提示语
|
|
113
|
+
|
|
113
114
|
var _useState29 = useState({}),
|
|
114
115
|
_useState30 = _slicedToArray(_useState29, 2),
|
|
115
|
-
|
|
116
|
-
|
|
116
|
+
captureResult = _useState30[0],
|
|
117
|
+
setCaptureResult = _useState30[1]; //科密拍照返回的结果
|
|
118
|
+
var _useState31 = useState({}),
|
|
119
|
+
_useState32 = _slicedToArray(_useState31, 2),
|
|
120
|
+
pdfQueueResult = _useState32[0],
|
|
121
|
+
setPdfQueueResult = _useState32[1]; //添加图片到pdf队列返回结果
|
|
122
|
+
var _useState33 = useState({}),
|
|
123
|
+
_useState34 = _slicedToArray(_useState33, 2),
|
|
124
|
+
compPDFResult = _useState34[0],
|
|
125
|
+
setCompPDFResult = _useState34[1]; //合成返回的pdf结果
|
|
126
|
+
|
|
127
|
+
var _useState35 = useState(0),
|
|
128
|
+
_useState36 = _slicedToArray(_useState35, 2),
|
|
129
|
+
curCompIndex = _useState36[0],
|
|
130
|
+
setCurCompIndex = _useState36[1]; // 当前添加到合成队列的是第几个图片
|
|
131
|
+
var _useState37 = useState([]),
|
|
132
|
+
_useState38 = _slicedToArray(_useState37, 2),
|
|
133
|
+
checkImgs = _useState38[0],
|
|
134
|
+
setCheckImgs = _useState38[1]; // 勾选的图片集合
|
|
117
135
|
|
|
118
136
|
var kemiAltRef = useRef({
|
|
119
137
|
toKemiTakePhoto: function toKemiTakePhoto() {},
|
|
@@ -235,6 +253,10 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
235
253
|
//科密高拍仪
|
|
236
254
|
kemiAltRef === null || kemiAltRef === void 0 || (_kemiAltRef$current = kemiAltRef.current) === null || _kemiAltRef$current === void 0 || _kemiAltRef$current.openKemiCamera();
|
|
237
255
|
setCurPreImgPath('');
|
|
256
|
+
setCurCompIndex(0);
|
|
257
|
+
setCheckImgs([]);
|
|
258
|
+
filterRef.current.pdfQueResult = [];
|
|
259
|
+
console.log('filterRef.current.pdfQueResult', filterRef.current.pdfQueResult);
|
|
238
260
|
}
|
|
239
261
|
setIsShowPdf(false);
|
|
240
262
|
};
|
|
@@ -264,16 +286,18 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
264
286
|
return fetchRequest('http://127.0.0.1:38088/video=grabimage', params, 'POST');
|
|
265
287
|
case 5:
|
|
266
288
|
res = _context2.sent;
|
|
267
|
-
_context2.next =
|
|
289
|
+
_context2.next = 11;
|
|
268
290
|
break;
|
|
269
291
|
case 8:
|
|
270
292
|
//科密高拍仪拍照
|
|
271
293
|
kemiAltRef === null || kemiAltRef === void 0 || (_kemiAltRef$current2 = kemiAltRef.current) === null || _kemiAltRef$current2 === void 0 || _kemiAltRef$current2.toKemiTakePhoto();
|
|
272
|
-
|
|
294
|
+
setLoading(true);
|
|
295
|
+
setTipMsg('图片生成中...');
|
|
296
|
+
case 11:
|
|
273
297
|
if (_typeof(res) === 'object' && Object.keys(res).length > 0) {
|
|
274
298
|
add_image((_res = res) === null || _res === void 0 ? void 0 : _res.photoBase64, 0);
|
|
275
299
|
}
|
|
276
|
-
case
|
|
300
|
+
case 12:
|
|
277
301
|
case "end":
|
|
278
302
|
return _context2.stop();
|
|
279
303
|
}
|
|
@@ -357,7 +381,8 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
357
381
|
var onPreviewFile = function onPreviewFile(item) {
|
|
358
382
|
console.log('预览图片和pdf', item.filePath, item);
|
|
359
383
|
if (item.fileType === 'pdf') {
|
|
360
|
-
|
|
384
|
+
var newFilePath = URL.createObjectURL(LabBase64ToFile(item === null || item === void 0 ? void 0 : item.filePath, item.fileName));
|
|
385
|
+
setCurPreviewPath(newFilePath);
|
|
361
386
|
setIsShowPdf(true);
|
|
362
387
|
} else {
|
|
363
388
|
var _document2;
|
|
@@ -404,71 +429,12 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
404
429
|
return item.isChecked;
|
|
405
430
|
}).length;
|
|
406
431
|
|
|
407
|
-
//添加图片到pdf队列中
|
|
408
|
-
var addImgToPdfQueue = /*#__PURE__*/function () {
|
|
409
|
-
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(checkImgList) {
|
|
410
|
-
var newPromise;
|
|
411
|
-
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
412
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
413
|
-
case 0:
|
|
414
|
-
if (!(checkImgList && checkImgList !== null && checkImgList !== void 0 && checkImgList.length)) {
|
|
415
|
-
_context5.next = 6;
|
|
416
|
-
break;
|
|
417
|
-
}
|
|
418
|
-
newPromise = checkImgList.map( /*#__PURE__*/function () {
|
|
419
|
-
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(item) {
|
|
420
|
-
var _kemiAltRef$current5;
|
|
421
|
-
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
422
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
423
|
-
case 0:
|
|
424
|
-
_context4.prev = 0;
|
|
425
|
-
_context4.next = 3;
|
|
426
|
-
return kemiAltRef === null || kemiAltRef === void 0 || (_kemiAltRef$current5 = kemiAltRef.current) === null || _kemiAltRef$current5 === void 0 ? void 0 : _kemiAltRef$current5.ToAddPDFFile(item === null || item === void 0 ? void 0 : item.localPath);
|
|
427
|
-
case 3:
|
|
428
|
-
item.executeFinish = true;
|
|
429
|
-
_context4.next = 9;
|
|
430
|
-
break;
|
|
431
|
-
case 6:
|
|
432
|
-
_context4.prev = 6;
|
|
433
|
-
_context4.t0 = _context4["catch"](0);
|
|
434
|
-
item.executeFinish = false;
|
|
435
|
-
case 9:
|
|
436
|
-
case "end":
|
|
437
|
-
return _context4.stop();
|
|
438
|
-
}
|
|
439
|
-
}, _callee4, null, [[0, 6]]);
|
|
440
|
-
}));
|
|
441
|
-
return function (_x7) {
|
|
442
|
-
return _ref6.apply(this, arguments);
|
|
443
|
-
};
|
|
444
|
-
}()); // 等待所有Promise都完成
|
|
445
|
-
_context5.next = 4;
|
|
446
|
-
return Promise.all(newPromise);
|
|
447
|
-
case 4:
|
|
448
|
-
if (!checkImgList.every(function (item) {
|
|
449
|
-
return item.executeFinish === true;
|
|
450
|
-
})) {
|
|
451
|
-
_context5.next = 6;
|
|
452
|
-
break;
|
|
453
|
-
}
|
|
454
|
-
return _context5.abrupt("return", true);
|
|
455
|
-
case 6:
|
|
456
|
-
case "end":
|
|
457
|
-
return _context5.stop();
|
|
458
|
-
}
|
|
459
|
-
}, _callee5);
|
|
460
|
-
}));
|
|
461
|
-
return function addImgToPdfQueue(_x6) {
|
|
462
|
-
return _ref5.apply(this, arguments);
|
|
463
|
-
};
|
|
464
|
-
}();
|
|
465
|
-
|
|
466
432
|
//图片合成PDF
|
|
467
433
|
var ComposePhotosPDF = /*#__PURE__*/function () {
|
|
468
|
-
var
|
|
434
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
469
435
|
var index, updateList, checkImgList, _Object$keys, imgs, data, params, _data;
|
|
470
|
-
return _regeneratorRuntime().wrap(function
|
|
471
|
-
while (1) switch (
|
|
436
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
437
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
472
438
|
case 0:
|
|
473
439
|
index = pdfIndex + 1;
|
|
474
440
|
updateList = _toConsumableArray(imgList);
|
|
@@ -476,7 +442,7 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
476
442
|
return item.isChecked;
|
|
477
443
|
}); //选中的图片合成
|
|
478
444
|
if (!(checkImgList && checkImgList.length)) {
|
|
479
|
-
|
|
445
|
+
_context4.next = 20;
|
|
480
446
|
break;
|
|
481
447
|
}
|
|
482
448
|
imgs = checkImgList.map(function (i) {
|
|
@@ -484,15 +450,16 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
484
450
|
}).join(',');
|
|
485
451
|
data = {}; //合成pdf返回的参数
|
|
486
452
|
if (!(filterRef.current.deviceVal === '2')) {
|
|
487
|
-
|
|
453
|
+
_context4.next = 12;
|
|
488
454
|
break;
|
|
489
455
|
}
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
456
|
+
// 保存勾选的图片
|
|
457
|
+
setCheckImgs(checkImgList);
|
|
458
|
+
setLoading(true);
|
|
459
|
+
setTipMsg('PDF合成中...');
|
|
460
|
+
_context4.next = 16;
|
|
494
461
|
break;
|
|
495
|
-
case
|
|
462
|
+
case 12:
|
|
496
463
|
params = {
|
|
497
464
|
outputfilepath: "D:\\\u56FE\u7247\u5408\u6210PDF\\".concat(index, ".pdf"),
|
|
498
465
|
// 输出文件保存地址。例:D://图片合成pdf
|
|
@@ -504,27 +471,27 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
504
471
|
// 合成后文件类型:0:jpg;1:PDF
|
|
505
472
|
imagelist: imgs.toString()
|
|
506
473
|
};
|
|
507
|
-
|
|
474
|
+
_context4.next = 15;
|
|
508
475
|
return fetchRequest('http://127.0.0.1:38088/compose=photos', params, 'POST');
|
|
509
|
-
case 14:
|
|
510
|
-
data = _context6.sent;
|
|
511
476
|
case 15:
|
|
477
|
+
data = _context4.sent;
|
|
478
|
+
case 16:
|
|
512
479
|
if (data && ((_Object$keys = Object.keys(data)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length) > 0) {
|
|
513
480
|
add_image((_data = data) === null || _data === void 0 ? void 0 : _data.base64, 1);
|
|
514
481
|
}
|
|
515
482
|
setPdfIndex(index);
|
|
516
|
-
|
|
483
|
+
_context4.next = 21;
|
|
517
484
|
break;
|
|
518
|
-
case 19:
|
|
519
|
-
message.warning('请先选择图片!');
|
|
520
485
|
case 20:
|
|
486
|
+
message.warning('请先选择图片!');
|
|
487
|
+
case 21:
|
|
521
488
|
case "end":
|
|
522
|
-
return
|
|
489
|
+
return _context4.stop();
|
|
523
490
|
}
|
|
524
|
-
},
|
|
491
|
+
}, _callee4);
|
|
525
492
|
}));
|
|
526
493
|
return function ComposePhotosPDF() {
|
|
527
|
-
return
|
|
494
|
+
return _ref5.apply(this, arguments);
|
|
528
495
|
};
|
|
529
496
|
}();
|
|
530
497
|
|
|
@@ -580,8 +547,8 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
580
547
|
//关闭摄像头
|
|
581
548
|
var closeCamera = function closeCamera() {
|
|
582
549
|
if (filterRef.current.deviceVal === '2') {
|
|
583
|
-
var _kemiAltRef$
|
|
584
|
-
kemiAltRef === null || kemiAltRef === void 0 || (_kemiAltRef$
|
|
550
|
+
var _kemiAltRef$current5;
|
|
551
|
+
kemiAltRef === null || kemiAltRef === void 0 || (_kemiAltRef$current5 = kemiAltRef.current) === null || _kemiAltRef$current5 === void 0 || _kemiAltRef$current5.toCloseCamera();
|
|
585
552
|
} else {
|
|
586
553
|
var params = {
|
|
587
554
|
camidx: '0'
|
|
@@ -589,12 +556,20 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
589
556
|
fetchRequest('http://127.0.0.1:38088/video=close', params, 'POST');
|
|
590
557
|
}
|
|
591
558
|
};
|
|
559
|
+
useEffect(function () {
|
|
560
|
+
var _kemiAltRef$current6, _checkImgs$curCompInd;
|
|
561
|
+
console.log('checkImgs和curCompIndex发生变化了', checkImgs, curCompIndex);
|
|
562
|
+
if (curCompIndex >= checkImgs.length) return;
|
|
563
|
+
// 图片按索引顺序,挨个添加到合成队列
|
|
564
|
+
kemiAltRef === null || kemiAltRef === void 0 || (_kemiAltRef$current6 = kemiAltRef.current) === null || _kemiAltRef$current6 === void 0 || _kemiAltRef$current6.ToAddPDFFile((_checkImgs$curCompInd = checkImgs[curCompIndex]) === null || _checkImgs$curCompInd === void 0 ? void 0 : _checkImgs$curCompInd.localPath);
|
|
565
|
+
}, [checkImgs, curCompIndex]);
|
|
592
566
|
|
|
593
567
|
//科密拍照返回结果
|
|
594
568
|
useEffect(function () {
|
|
595
569
|
var _Object$keys2;
|
|
596
570
|
if (captureResult && ((_Object$keys2 = Object.keys(captureResult)) === null || _Object$keys2 === void 0 ? void 0 : _Object$keys2.length) > 0) {
|
|
597
571
|
add_image(captureResult === null || captureResult === void 0 ? void 0 : captureResult.photoBase64, 0, captureResult === null || captureResult === void 0 ? void 0 : captureResult.localPath);
|
|
572
|
+
setLoading(false);
|
|
598
573
|
}
|
|
599
574
|
}, [captureResult]);
|
|
600
575
|
|
|
@@ -604,6 +579,7 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
604
579
|
console.log('compPDFResult', compPDFResult);
|
|
605
580
|
if (compPDFResult && ((_Object$keys3 = Object.keys(compPDFResult)) === null || _Object$keys3 === void 0 ? void 0 : _Object$keys3.length) > 0) {
|
|
606
581
|
add_image(compPDFResult === null || compPDFResult === void 0 ? void 0 : compPDFResult.base64, 1);
|
|
582
|
+
setLoading(false);
|
|
607
583
|
}
|
|
608
584
|
}, [compPDFResult]);
|
|
609
585
|
|
|
@@ -612,10 +588,13 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
612
588
|
var _Object$keys4;
|
|
613
589
|
if (pdfQueueResult && ((_Object$keys4 = Object.keys(pdfQueueResult)) === null || _Object$keys4 === void 0 ? void 0 : _Object$keys4.length) > 0) {
|
|
614
590
|
var _imgList$filter;
|
|
591
|
+
// 上一个图片添加到合成队列后,就累加curCompIndex
|
|
592
|
+
setCurCompIndex(curCompIndex + 1);
|
|
615
593
|
var checkLength = (_imgList$filter = imgList.filter(function (item) {
|
|
616
594
|
return item.isChecked;
|
|
617
595
|
})) === null || _imgList$filter === void 0 ? void 0 : _imgList$filter.length; //选中的图片数量
|
|
618
596
|
var newQueueResult = filterRef.current.pdfQueResult;
|
|
597
|
+
console.log('xxxxxxxxxx', filterRef.current.pdfQueResult, curCompIndex);
|
|
619
598
|
//执行合并事件
|
|
620
599
|
newQueueResult.push(pdfQueueResult);
|
|
621
600
|
if ((newQueueResult === null || newQueueResult === void 0 ? void 0 : newQueueResult.length) === checkLength) {
|
|
@@ -646,6 +625,9 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
646
625
|
}, [filterRef.current.deviceVal]);
|
|
647
626
|
return /*#__PURE__*/React.createElement("div", {
|
|
648
627
|
className: "altimeter"
|
|
628
|
+
}, /*#__PURE__*/React.createElement(Spin, {
|
|
629
|
+
spinning: loading,
|
|
630
|
+
tip: tipMsg
|
|
649
631
|
}, /*#__PURE__*/React.createElement("div", {
|
|
650
632
|
className: "top"
|
|
651
633
|
}, /*#__PURE__*/React.createElement("span", {
|
|
@@ -664,6 +646,7 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
664
646
|
onChange: function onChange(val) {
|
|
665
647
|
filterRef.current.deviceVal = val;
|
|
666
648
|
setImgList([]);
|
|
649
|
+
setLoading(false);
|
|
667
650
|
}
|
|
668
651
|
}), /*#__PURE__*/React.createElement("div", {
|
|
669
652
|
className: "g-f-rc icon-div"
|
|
@@ -720,14 +703,12 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
720
703
|
getPdfQueueResult: function getPdfQueueResult(result) {
|
|
721
704
|
return setPdfQueueResult(result);
|
|
722
705
|
}
|
|
723
|
-
}) : /*#__PURE__*/React.createElement("
|
|
706
|
+
}) : /*#__PURE__*/React.createElement("iframe", {
|
|
724
707
|
src: curPreviewPath,
|
|
725
|
-
type: "application/pdf",
|
|
726
|
-
width: "100%",
|
|
727
|
-
height: "100%",
|
|
728
708
|
style: {
|
|
729
|
-
|
|
730
|
-
|
|
709
|
+
width: '100%',
|
|
710
|
+
height: '100%',
|
|
711
|
+
minHeight: '70vh'
|
|
731
712
|
}
|
|
732
713
|
})), /*#__PURE__*/React.createElement("div", {
|
|
733
714
|
className: "con-right"
|
|
@@ -818,7 +799,7 @@ var LabAltimeter = function LabAltimeter(_ref) {
|
|
|
818
799
|
}
|
|
819
800
|
})
|
|
820
801
|
})));
|
|
821
|
-
}) : null))), /*#__PURE__*/React.createElement(SetupModal, {
|
|
802
|
+
}) : null)))), /*#__PURE__*/React.createElement(SetupModal, {
|
|
822
803
|
visible: setUpVisible,
|
|
823
804
|
onCancel: handleCancel
|
|
824
805
|
}));
|
|
@@ -4,7 +4,7 @@ interface PdfViewerProps {
|
|
|
4
4
|
src: string;
|
|
5
5
|
pdfjsSrc?: string;
|
|
6
6
|
fileId?: string;
|
|
7
|
-
showMode:
|
|
7
|
+
showMode: number;
|
|
8
8
|
isShowCheck?: boolean;
|
|
9
9
|
checkedKey?: any[];
|
|
10
10
|
selectedBookId?: any;
|
|
@@ -14,9 +14,5 @@ interface PdfViewerProps {
|
|
|
14
14
|
onGetAllBookmarkDatas?: (any: any) => void;
|
|
15
15
|
onTimeoutCallback?: () => void;
|
|
16
16
|
}
|
|
17
|
-
declare const enum SHOWMODE {
|
|
18
|
-
NormalMode = 0,// 预览模式
|
|
19
|
-
BookMarkMode = 1
|
|
20
|
-
}
|
|
21
17
|
declare const LabPdfView: ({ src, pdfjsSrc, isShowCheck, checkedKey, selectedBookId, fileId, showMode, timeout, onCheckingBookIds, onGetAllBookmarkDatas, onSelectIngBookmark, onTimeoutCallback, }: PdfViewerProps) => React.JSX.Element;
|
|
22
18
|
export default LabPdfView;
|
|
@@ -11,6 +11,10 @@ interface PdfViewerProps {
|
|
|
11
11
|
timeout?: number;
|
|
12
12
|
onChangeBookmarkDatas?: (any: any) => void;
|
|
13
13
|
onTimeoutCallback?: () => void;
|
|
14
|
+
onCollected?: () => void;
|
|
15
|
+
onDownloaded?: () => void;
|
|
16
|
+
isColl?: boolean;
|
|
17
|
+
btnShowList?: Array<boolean>;
|
|
14
18
|
}
|
|
15
|
-
declare const LabPdfViewMobile: ({ src, pdfjsSrc, fileTypeName, fileTitle, timeout, showTop, onTimeoutCallback, onChangeBookmarkDatas, }: PdfViewerProps) => React.JSX.Element;
|
|
19
|
+
declare const LabPdfViewMobile: ({ src, pdfjsSrc, fileTypeName, fileTitle, isColl, timeout, showTop, onCollected, onDownloaded, onTimeoutCallback, onChangeBookmarkDatas, btnShowList, }: PdfViewerProps) => React.JSX.Element;
|
|
16
20
|
export default LabPdfViewMobile;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
1
3
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
4
|
/*
|
|
3
5
|
* @Descripttion:
|
|
@@ -7,7 +9,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
|
7
9
|
* @LastEditTime: 2024-06-14 14:28:21
|
|
8
10
|
*/
|
|
9
11
|
import { SearchBar, TabBar } from 'antd-mobile';
|
|
10
|
-
import { CloseOutline, LeftOutline, RightOutline, SearchOutline, UnorderedListOutline } from 'antd-mobile-icons';
|
|
12
|
+
import { CloseOutline, DownlandOutline, LeftOutline, RightOutline, SearchOutline, StarOutline, UnorderedListOutline } from 'antd-mobile-icons';
|
|
11
13
|
import * as React from 'react';
|
|
12
14
|
import { useEffect, useState } from 'react';
|
|
13
15
|
import "./style.less";
|
|
@@ -18,12 +20,18 @@ var LabPdfViewMobile = function LabPdfViewMobile(_ref) {
|
|
|
18
20
|
pdfjsSrc = _ref$pdfjsSrc === void 0 ? '/statics/pdfjs/web/viewer.html' : _ref$pdfjsSrc,
|
|
19
21
|
fileTypeName = _ref.fileTypeName,
|
|
20
22
|
fileTitle = _ref.fileTitle,
|
|
23
|
+
_ref$isColl = _ref.isColl,
|
|
24
|
+
isColl = _ref$isColl === void 0 ? false : _ref$isColl,
|
|
21
25
|
_ref$timeout = _ref.timeout,
|
|
22
26
|
timeout = _ref$timeout === void 0 ? 5000 : _ref$timeout,
|
|
23
27
|
_ref$showTop = _ref.showTop,
|
|
24
28
|
showTop = _ref$showTop === void 0 ? true : _ref$showTop,
|
|
29
|
+
onCollected = _ref.onCollected,
|
|
30
|
+
onDownloaded = _ref.onDownloaded,
|
|
25
31
|
onTimeoutCallback = _ref.onTimeoutCallback,
|
|
26
|
-
onChangeBookmarkDatas = _ref.onChangeBookmarkDatas
|
|
32
|
+
onChangeBookmarkDatas = _ref.onChangeBookmarkDatas,
|
|
33
|
+
_ref$btnShowList = _ref.btnShowList,
|
|
34
|
+
btnShowList = _ref$btnShowList === void 0 ? [true, true, false, false] : _ref$btnShowList;
|
|
27
35
|
var fileSrc = src.replace(/\.(doc|docx|xls|xlsx)$/, '.pdf');
|
|
28
36
|
var isTimeout = false;
|
|
29
37
|
var isWork = false;
|
|
@@ -64,7 +72,24 @@ var LabPdfViewMobile = function LabPdfViewMobile(_ref) {
|
|
|
64
72
|
ReplacePage.innerHTML = "\u7B2C".concat(curPages, "\u9875 \u5171").concat(totalPages, "\u9875");
|
|
65
73
|
}
|
|
66
74
|
}
|
|
67
|
-
|
|
75
|
+
//下载文件
|
|
76
|
+
function downFileToLocal() {
|
|
77
|
+
return _downFileToLocal.apply(this, arguments);
|
|
78
|
+
} // 切换Tab
|
|
79
|
+
function _downFileToLocal() {
|
|
80
|
+
_downFileToLocal = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
81
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
82
|
+
while (1) switch (_context.prev = _context.next) {
|
|
83
|
+
case 0:
|
|
84
|
+
onDownloaded === null || onDownloaded === void 0 || onDownloaded();
|
|
85
|
+
case 1:
|
|
86
|
+
case "end":
|
|
87
|
+
return _context.stop();
|
|
88
|
+
}
|
|
89
|
+
}, _callee);
|
|
90
|
+
}));
|
|
91
|
+
return _downFileToLocal.apply(this, arguments);
|
|
92
|
+
}
|
|
68
93
|
function changeTabHandle(key) {
|
|
69
94
|
setIsShowBookMark(false);
|
|
70
95
|
setIsShowFind(false);
|
|
@@ -72,9 +97,11 @@ var LabPdfViewMobile = function LabPdfViewMobile(_ref) {
|
|
|
72
97
|
setIsShowBookMark(true);
|
|
73
98
|
} else if (key === 'find') {
|
|
74
99
|
setIsShowFind(true);
|
|
75
|
-
} else if (key === '
|
|
100
|
+
} else if (key === 'down') {
|
|
101
|
+
downFileToLocal();
|
|
76
102
|
setIsShowBookMark(false);
|
|
77
103
|
} else if (key === 'remark') {
|
|
104
|
+
onCollected === null || onCollected === void 0 || onCollected();
|
|
78
105
|
setIsShowBookMark(false);
|
|
79
106
|
}
|
|
80
107
|
}
|
|
@@ -106,6 +133,7 @@ var LabPdfViewMobile = function LabPdfViewMobile(_ref) {
|
|
|
106
133
|
iframeWindow.PDFViewerApplication.findBar.highlightAll.checked = true;
|
|
107
134
|
iframeWindow.PDFViewerApplication.findBar.dispatchEvent('highlightallchange');
|
|
108
135
|
if (value === '') {
|
|
136
|
+
setFindCount(['0', '0']);
|
|
109
137
|
return;
|
|
110
138
|
}
|
|
111
139
|
setTimeout(function () {
|
|
@@ -151,6 +179,7 @@ var LabPdfViewMobile = function LabPdfViewMobile(_ref) {
|
|
|
151
179
|
** 但是需要确保pdfjs已经基本完成初始化;
|
|
152
180
|
** 以下采用定时轮询方法,轮询完成后执行其他pdfjs操作;
|
|
153
181
|
*/
|
|
182
|
+
|
|
154
183
|
function loadSuccessBookMask(bookMarksList) {
|
|
155
184
|
if (isTimeout) return;
|
|
156
185
|
isWork = true;
|
|
@@ -304,7 +333,7 @@ var LabPdfViewMobile = function LabPdfViewMobile(_ref) {
|
|
|
304
333
|
},
|
|
305
334
|
fontSize: 16,
|
|
306
335
|
onClick: clickPreviousHandle
|
|
307
|
-
}), /*#__PURE__*/React.createElement("span", null, findCount[0]), "/", /*#__PURE__*/React.createElement("span", null, findCount[1]), /*#__PURE__*/React.createElement(RightOutline, {
|
|
336
|
+
}), /*#__PURE__*/React.createElement("span", null, (findCount === null || findCount === void 0 ? void 0 : findCount[0]) || '0'), "/", /*#__PURE__*/React.createElement("span", null, (findCount === null || findCount === void 0 ? void 0 : findCount[1]) || '0'), /*#__PURE__*/React.createElement(RightOutline, {
|
|
308
337
|
style: {
|
|
309
338
|
marginLeft: '10px'
|
|
310
339
|
},
|
|
@@ -313,14 +342,26 @@ var LabPdfViewMobile = function LabPdfViewMobile(_ref) {
|
|
|
313
342
|
})))), /*#__PURE__*/React.createElement(TabBar, {
|
|
314
343
|
activeKey: '',
|
|
315
344
|
onChange: changeTabHandle
|
|
316
|
-
}, /*#__PURE__*/React.createElement(TabBar.Item, {
|
|
345
|
+
}, btnShowList[0] && /*#__PURE__*/React.createElement(TabBar.Item, {
|
|
317
346
|
key: 'title',
|
|
318
347
|
icon: /*#__PURE__*/React.createElement(UnorderedListOutline, null),
|
|
319
348
|
title: '目录'
|
|
320
|
-
}), /*#__PURE__*/React.createElement(TabBar.Item, {
|
|
349
|
+
}), btnShowList[1] && /*#__PURE__*/React.createElement(TabBar.Item, {
|
|
321
350
|
key: 'find',
|
|
322
351
|
icon: /*#__PURE__*/React.createElement(SearchOutline, null),
|
|
323
352
|
title: '查询'
|
|
353
|
+
}), btnShowList[2] && /*#__PURE__*/React.createElement(TabBar.Item, {
|
|
354
|
+
key: 'down',
|
|
355
|
+
icon: /*#__PURE__*/React.createElement(DownlandOutline, null),
|
|
356
|
+
title: '下载'
|
|
357
|
+
}), btnShowList[3] && /*#__PURE__*/React.createElement(TabBar.Item, {
|
|
358
|
+
key: 'remark',
|
|
359
|
+
icon: /*#__PURE__*/React.createElement(StarOutline, {
|
|
360
|
+
style: {
|
|
361
|
+
color: isColl ? '#0069fd' : ''
|
|
362
|
+
}
|
|
363
|
+
}),
|
|
364
|
+
title: '收藏'
|
|
324
365
|
})));
|
|
325
366
|
};
|
|
326
367
|
export default LabPdfViewMobile;
|
package/package.json
CHANGED
|
@@ -1,81 +1,82 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "xh-lab-rc",
|
|
3
|
-
"version": "0.16.
|
|
4
|
-
"description": " A react library for xinhelab",
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"module": "dist/index.js",
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
8
|
-
"files": [
|
|
9
|
-
"dist"
|
|
10
|
-
],
|
|
11
|
-
"scripts": {
|
|
12
|
-
"build": "father build",
|
|
13
|
-
"build:watch": "father dev",
|
|
14
|
-
"dev": "dumi dev",
|
|
15
|
-
"docs:build": "dumi build",
|
|
16
|
-
"doctor": "father doctor",
|
|
17
|
-
"lint": "npm run lint:es && npm run lint:css",
|
|
18
|
-
"lint:css": "stylelint \"{src,test}/**/*.{css,less}\"",
|
|
19
|
-
"lint:es": "eslint \"{src,test}/**/*.{js,jsx,ts,tsx}\"",
|
|
20
|
-
"prepare": "husky install && dumi setup",
|
|
21
|
-
"prepublishOnly": "father doctor && npm run build",
|
|
22
|
-
"start": "npm run dev"
|
|
23
|
-
},
|
|
24
|
-
"commitlint": {
|
|
25
|
-
"extends": [
|
|
26
|
-
"@commitlint/config-conventional"
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
"lint-staged": {
|
|
30
|
-
"*.{md,json}": [
|
|
31
|
-
"prettier --write --no-error-on-unmatched-pattern"
|
|
32
|
-
],
|
|
33
|
-
"*.{css,less}": [
|
|
34
|
-
"stylelint --fix",
|
|
35
|
-
"prettier --write"
|
|
36
|
-
],
|
|
37
|
-
"*.{js,jsx}": [
|
|
38
|
-
"eslint --fix",
|
|
39
|
-
"prettier --write"
|
|
40
|
-
],
|
|
41
|
-
"*.{ts,tsx}": [
|
|
42
|
-
"eslint --fix",
|
|
43
|
-
"prettier --parser=typescript --write"
|
|
44
|
-
]
|
|
45
|
-
},
|
|
46
|
-
"dependencies": {
|
|
47
|
-
"@ant-design/icons": "^5.3.5",
|
|
48
|
-
"@babel/runtime": "^7.24.6",
|
|
49
|
-
"antd": "^5.15.3",
|
|
50
|
-
"antd-mobile": "^5.36.1",
|
|
51
|
-
"antd-mobile-icons": "^0.3.0",
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"@commitlint/
|
|
58
|
-
"@
|
|
59
|
-
"@types/react
|
|
60
|
-
"@
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"prettier
|
|
68
|
-
"prettier-plugin-
|
|
69
|
-
"
|
|
70
|
-
"react
|
|
71
|
-
"
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
"react
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "xh-lab-rc",
|
|
3
|
+
"version": "0.16.3",
|
|
4
|
+
"description": " A react library for xinhelab",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"module": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "father build",
|
|
13
|
+
"build:watch": "father dev",
|
|
14
|
+
"dev": "dumi dev",
|
|
15
|
+
"docs:build": "dumi build",
|
|
16
|
+
"doctor": "father doctor",
|
|
17
|
+
"lint": "npm run lint:es && npm run lint:css",
|
|
18
|
+
"lint:css": "stylelint \"{src,test}/**/*.{css,less}\"",
|
|
19
|
+
"lint:es": "eslint \"{src,test}/**/*.{js,jsx,ts,tsx}\"",
|
|
20
|
+
"prepare": "husky install && dumi setup",
|
|
21
|
+
"prepublishOnly": "father doctor && npm run build",
|
|
22
|
+
"start": "npm run dev"
|
|
23
|
+
},
|
|
24
|
+
"commitlint": {
|
|
25
|
+
"extends": [
|
|
26
|
+
"@commitlint/config-conventional"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"lint-staged": {
|
|
30
|
+
"*.{md,json}": [
|
|
31
|
+
"prettier --write --no-error-on-unmatched-pattern"
|
|
32
|
+
],
|
|
33
|
+
"*.{css,less}": [
|
|
34
|
+
"stylelint --fix",
|
|
35
|
+
"prettier --write"
|
|
36
|
+
],
|
|
37
|
+
"*.{js,jsx}": [
|
|
38
|
+
"eslint --fix",
|
|
39
|
+
"prettier --write"
|
|
40
|
+
],
|
|
41
|
+
"*.{ts,tsx}": [
|
|
42
|
+
"eslint --fix",
|
|
43
|
+
"prettier --parser=typescript --write"
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@ant-design/icons": "^5.3.5",
|
|
48
|
+
"@babel/runtime": "^7.24.6",
|
|
49
|
+
"antd": "^5.15.3",
|
|
50
|
+
"antd-mobile": "^5.36.1",
|
|
51
|
+
"antd-mobile-icons": "^0.3.0",
|
|
52
|
+
"axios": "^1.7.2",
|
|
53
|
+
"classnames": "^2.5.1",
|
|
54
|
+
"dayjs": "^1.11.10"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@commitlint/cli": "^17.1.2",
|
|
58
|
+
"@commitlint/config-conventional": "^17.1.0",
|
|
59
|
+
"@types/react": "^18.0.0",
|
|
60
|
+
"@types/react-dom": "^18.0.0",
|
|
61
|
+
"@umijs/lint": "^4.0.0",
|
|
62
|
+
"dumi": "^2.2.13",
|
|
63
|
+
"eslint": "^8.23.0",
|
|
64
|
+
"father": "^4.1.0",
|
|
65
|
+
"husky": "^8.0.1",
|
|
66
|
+
"lint-staged": "^13.0.3",
|
|
67
|
+
"prettier": "^2.7.1",
|
|
68
|
+
"prettier-plugin-organize-imports": "^3.0.0",
|
|
69
|
+
"prettier-plugin-packagejson": "^2.2.18",
|
|
70
|
+
"react": "^18.0.0",
|
|
71
|
+
"react-dom": "^18.0.0",
|
|
72
|
+
"stylelint": "^14.9.1"
|
|
73
|
+
},
|
|
74
|
+
"peerDependencies": {
|
|
75
|
+
"react": "^16.3.0 || ^17.0.0 || ^18.0.0",
|
|
76
|
+
"react-dom": "^16.3.0 || ^17.0.0 || ^18.0.0"
|
|
77
|
+
},
|
|
78
|
+
"publishConfig": {
|
|
79
|
+
"access": "public"
|
|
80
|
+
},
|
|
81
|
+
"authors": []
|
|
82
|
+
}
|