@zykj2024/much-library 1.1.7-beta.10 → 1.1.7-beta.12

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.
Files changed (27) hide show
  1. package/dist/esm/index.d.ts +1 -4
  2. package/dist/esm/index.js +1 -3
  3. package/package.json +2 -2
  4. package/dist/esm/McUpload/comps/McFormUpload/comps/UploadForVal/index.d.ts +0 -38
  5. package/dist/esm/McUpload/comps/McFormUpload/comps/UploadForVal/index.js +0 -209
  6. package/dist/esm/McUpload/comps/McFormUpload/comps/UploadForVal/index.less +0 -6
  7. package/dist/esm/McUpload/comps/McFormUpload/index.d.ts +0 -7
  8. package/dist/esm/McUpload/comps/McFormUpload/index.js +0 -29
  9. package/dist/esm/McUpload/comps/McUploadCmp/index.d.ts +0 -49
  10. package/dist/esm/McUpload/comps/McUploadCmp/index.js +0 -396
  11. package/dist/esm/McUpload/comps/McUploadCmp/index.less +0 -68
  12. package/dist/esm/McUpload/comps/McUploadDragger/index.d.ts +0 -49
  13. package/dist/esm/McUpload/comps/McUploadDragger/index.js +0 -264
  14. package/dist/esm/McUpload/comps/McUploadTrigger/index.d.ts +0 -39
  15. package/dist/esm/McUpload/comps/McUploadTrigger/index.js +0 -318
  16. package/dist/esm/McUpload/comps/McUploadTrigger/index.less +0 -204
  17. package/dist/esm/McUpload/index.d.ts +0 -14
  18. package/dist/esm/McUpload/index.js +0 -9
  19. package/dist/esm/McUpload/tools/calculateMD5/index.d.ts +0 -3
  20. package/dist/esm/McUpload/tools/calculateMD5/index.js +0 -95
  21. package/dist/esm/McUpload/tools/calculateMD5/md5Worker.js +0 -44
  22. package/dist/esm/McUpload/tools/getUid.d.ts +0 -1
  23. package/dist/esm/McUpload/tools/getUid.js +0 -6
  24. package/dist/esm/McUpload/tools/materialVerification.d.ts +0 -50
  25. package/dist/esm/McUpload/tools/materialVerification.js +0 -257
  26. package/dist/esm/McUpload/tools/uploadTools.d.ts +0 -5
  27. package/dist/esm/McUpload/tools/uploadTools.js +0 -56
@@ -1,204 +0,0 @@
1
- .uploadTrigger {
2
- position: relative;
3
- display: flex;
4
- align-items: center;
5
- justify-content: center;
6
- border-radius: 4px;
7
- cursor: pointer;
8
- user-select: none;
9
- background: #f5f5f5;
10
- }
11
-
12
- .square-container {
13
- width: 102px;
14
- height: 102px;
15
- }
16
-
17
- .rectangle-container {
18
- width: 90px;
19
- height: 120px;
20
- }
21
-
22
- .circle-container {
23
- width: 102px;
24
- height: 102px;
25
- border-radius: 50%;
26
- }
27
-
28
- .base {
29
- width: 100%;
30
- height: 100%;
31
- display: flex;
32
- align-items: center;
33
- justify-content: center;
34
- flex-flow: column;
35
- border-radius: inherit;
36
- gap: 8px;
37
- position: relative;
38
- }
39
-
40
- .picture-container_default {
41
- border: 1px dashed #d9d9d9;
42
- transition: border-color 0.3s, color 0.3s;
43
-
44
- &:hover {
45
- border: 1px dashed #325cf7;
46
- color: #325cf7;
47
- }
48
- }
49
-
50
- .picture-container_error {
51
- background: rgba(255, 77, 79, 10%);
52
- border: 1px dashed #ff4d4f;
53
-
54
- &:hover {
55
- .mc-trigger-mask {
56
- display: flex;
57
- }
58
- }
59
- }
60
-
61
- .mc-trigger-mask {
62
- position: absolute;
63
- top: 0;
64
- left: 0;
65
- box-sizing: border-box;
66
- border-radius: inherit;
67
- width: 100%;
68
- height: 100%;
69
- display: none;
70
- align-items: center;
71
- justify-content: center;
72
- gap: 8px;
73
- background: rgba(0, 0, 0, 80%) !important;
74
- }
75
-
76
- .img-container {
77
- width: 100%;
78
- height: 100%;
79
- display: flex;
80
- align-items: center;
81
- border-radius: inherit;
82
-
83
- > img {
84
- width: 100%;
85
- height: 100% !important;
86
- object-fit: cover;
87
- }
88
- }
89
-
90
- .picture-container_uploading {
91
- &:hover {
92
- .mc-trigger-mask {
93
- display: flex;
94
- }
95
- }
96
- }
97
-
98
- .picture-container_done {
99
- width: 100%;
100
- height: 100%;
101
- display: flex;
102
- align-items: center;
103
- justify-content: center;
104
- position: relative;
105
- gap: 8px;
106
-
107
- &:hover {
108
- .mc-trigger-mask {
109
- display: flex;
110
- }
111
- }
112
- }
113
-
114
- // -----------------------------按钮样式----------------------------- //
115
- .button-container {
116
- height: 24px;
117
- margin-top: 4px;
118
- display: flex;
119
- align-items: center;
120
- line-height: 1;
121
- box-sizing: border-box;
122
-
123
- &:hover {
124
- background: #f5f5f5;
125
-
126
- .button-content-name-delete {
127
- opacity: 1 !important;
128
- }
129
- }
130
-
131
- .button-icon {
132
- box-sizing: inherit;
133
- padding: 4px 6px 6px;
134
- }
135
-
136
- .button-content {
137
- height: 24px;
138
- flex: 1 1;
139
- width: calc(100% - 48px);
140
- display: flex;
141
- flex-flow: column;
142
- justify-content: flex-end;
143
-
144
- .button-content-name {
145
- display: flex;
146
- align-items: center;
147
- justify-content: space-between;
148
- width: 100%;
149
-
150
- .button-content-name-delete {
151
- opacity: 0;
152
- padding: 4px;
153
- box-sizing: border-box;
154
- border-radius: 4px;
155
- cursor: pointer;
156
-
157
- &:hover {
158
- background: #d9d9d9;
159
- }
160
- }
161
-
162
- .delete_error {
163
- opacity: 1;
164
- }
165
- }
166
-
167
- .button-content-progress {
168
- line-height: 2px;
169
- }
170
- }
171
- }
172
-
173
- // -------------------拖拽部分---------------------//
174
- .uploadTriggerDrag {
175
- display: flex;
176
- align-items: center;
177
- flex-flow: column;
178
- box-sizing: border-box;
179
- padding: 24px;
180
- border: 1px dashed #d9d9d9;
181
- border-radius: 4px;
182
- background: #f5f5f5;
183
- cursor: pointer;
184
-
185
- .uploadTriggerDrag-icon {
186
- margin-bottom: 16px;
187
- }
188
-
189
- .uploadTriggerDrag-text {
190
- font-weight: 500;
191
- color: #262626;
192
- margin-bottom: 8px;
193
- }
194
-
195
- .uploadTriggerDrag-desc {
196
- font-size: 12px;
197
- color: #8c8c8c;
198
- }
199
- }
200
-
201
- .uploadTriggerDrag.active {
202
- border: 1px dashed #325cf7;
203
- background: #eaeefe;
204
- }
@@ -1,14 +0,0 @@
1
- import { GetProps } from 'antd';
2
- import { ForwardRefExoticComponent } from 'react';
3
- import McFormUpload from './comps/McFormUpload';
4
- import McUploadCmp from './comps/McUploadCmp';
5
- import McUploadDragger from './comps/McUploadDragger';
6
- export type { McUploadProps } from './comps/McUploadCmp';
7
- export * from './comps/McUploadDragger';
8
- export * from './comps/McUploadTrigger';
9
- type CompoundedComponent = ForwardRefExoticComponent<GetProps<typeof McUploadCmp>> & {
10
- McFormUpload: typeof McFormUpload;
11
- Dragger: typeof McUploadDragger;
12
- };
13
- declare const McUpload: CompoundedComponent;
14
- export default McUpload;
@@ -1,9 +0,0 @@
1
- import McFormUpload from "./comps/McFormUpload";
2
- import McUploadCmp from "./comps/McUploadCmp";
3
- import McUploadDragger from "./comps/McUploadDragger";
4
- export * from "./comps/McUploadDragger";
5
- export * from "./comps/McUploadTrigger";
6
- var McUpload = McUploadCmp;
7
- McUploadCmp.McFormUpload = McFormUpload;
8
- McUploadCmp.Dragger = McUploadDragger;
9
- export default McUpload;
@@ -1,3 +0,0 @@
1
- export declare const getIdleCPUCores: () => number;
2
- export declare const calculateByNormal: (file: File, chunkSize: number) => Promise<string | ProgressEvent<FileReader>>;
3
- export declare const calculateMD5: (file: File, chunkSize?: number) => Promise<string | MessageEvent['data']['error'] | ProgressEvent<FileReader>>;
@@ -1,95 +0,0 @@
1
- import SparkMD5 from 'spark-md5';
2
- import { transformNumber } from "../uploadTools";
3
-
4
- // 创建一个纯js计算线程
5
- var createWebWorker = function createWebWorker() {
6
- return new Worker(new URL('./md5Worker.js', import.meta.url));
7
- };
8
-
9
- // 获取用户cpu核心数用于控制并发线程数量
10
- export var getIdleCPUCores = function getIdleCPUCores() {
11
- var _navigator;
12
- var BROWSER_CPU_COUNT = transformNumber((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.hardwareConcurrency);
13
- // Safari总是返回1
14
- return BROWSER_CPU_COUNT < 5 ? 2 : Math.min(BROWSER_CPU_COUNT - 2, 8); // 默认4核,留两核防止浏览器崩溃
15
- };
16
-
17
- // webwork的纯js计算
18
- var calculateByWebWorker = function calculateByWebWorker(file, chunkSize) {
19
- return new Promise(function (resolve, reject) {
20
- var worker = createWebWorker();
21
- var reader = new FileReader();
22
- var currentChunk = 0;
23
- var totalChunks = Math.ceil(file.size / chunkSize);
24
- function loadNext() {
25
- var start = currentChunk * chunkSize;
26
- var end = Math.min(start + chunkSize, file.size);
27
- reader.readAsArrayBuffer(file.slice(start, end));
28
- }
29
- reader.onload = function (e) {
30
- var _e$target;
31
- var buffer = (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.result;
32
- worker.postMessage({
33
- buffer: buffer,
34
- isEnd: currentChunk === totalChunks - 1
35
- }, [buffer]);
36
- currentChunk++;
37
- if (currentChunk < totalChunks) {
38
- loadNext();
39
- }
40
- };
41
- reader.onerror = function (err) {
42
- reject(err);
43
- };
44
- worker.onmessage = function (e) {
45
- if (e.data.error) {
46
- reject(e.data.error);
47
- } else {
48
- resolve(e.data);
49
- }
50
- worker.terminate(); // 关闭worker
51
- };
52
- loadNext();
53
- });
54
- };
55
-
56
- // 纯js串行计算
57
- export var calculateByNormal = function calculateByNormal(file, chunkSize) {
58
- return new Promise(function (resolve, reject) {
59
- var reader = new FileReader();
60
- var hashTool = new SparkMD5.ArrayBuffer();
61
- var currentChunk = 0;
62
- var totalChunks = Math.ceil(file.size / chunkSize);
63
- function loadNext() {
64
- var start = currentChunk * chunkSize;
65
- var end = Math.min(start + chunkSize, file.size);
66
- reader.readAsArrayBuffer(file.slice(start, end));
67
- }
68
- reader.onload = function (e) {
69
- var _e$target2;
70
- var buffer = (_e$target2 = e.target) === null || _e$target2 === void 0 ? void 0 : _e$target2.result;
71
- hashTool.append(buffer);
72
- currentChunk++;
73
- if (currentChunk < totalChunks) {
74
- loadNext();
75
- } else {
76
- resolve(hashTool.end());
77
- }
78
- };
79
- reader.onerror = function (err) {
80
- reject(err);
81
- };
82
- loadNext();
83
- });
84
- };
85
-
86
- // TODO MD5是串行算法,所以采用每个线程算一个文件的方式,而不是多个线程计算同一个文件
87
- export var calculateMD5 = function calculateMD5(file) {
88
- var chunkSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5 * 1024 * 1024;
89
- // 判断当前浏览器环境支不支持webworker
90
- if (window.Worker) {
91
- return calculateByWebWorker(file, chunkSize);
92
- } else {
93
- return calculateByNormal(file, chunkSize);
94
- }
95
- };
@@ -1,44 +0,0 @@
1
- import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
- var SparkMD5 = require('spark-md5');
4
- // 一期因为hash-wasm和spark-md5的兼容性问题,暂时使用spark-md5
5
- var hashTool = new SparkMD5.ArrayBuffer();
6
- self.onmessage = /*#__PURE__*/function () {
7
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
8
- var _e$data, buffer, isEnd, timeoutId, md5;
9
- return _regeneratorRuntime().wrap(function _callee$(_context) {
10
- while (1) switch (_context.prev = _context.next) {
11
- case 0:
12
- _e$data = e.data, buffer = _e$data.buffer, isEnd = _e$data.isEnd; // 接收主线程传递过来的文件
13
- timeoutId = setTimeout(function () {
14
- self.postMessage({
15
- error: 'Hash calculation timed out'
16
- }); // 超时错误消息
17
- self.close(); // 关闭 worker
18
- }, 10000); // 设置超时时间为10秒
19
- try {
20
- hashTool.append(buffer); // 将文件内容添加到哈希计算中
21
- if (isEnd) {
22
- md5 = hashTool.end(); // 计算文件的 MD5 值
23
- clearTimeout(timeoutId); // 清除超时计时器
24
- self.postMessage(md5); // 将计算结果发送给主线程
25
- }
26
- } catch (err) {
27
- clearTimeout(timeoutId); // 清除超时计时器
28
- self.postMessage({
29
- error: err.message
30
- }); // 发送错误消息
31
- }
32
- case 3:
33
- case "end":
34
- return _context.stop();
35
- }
36
- }, _callee);
37
- }));
38
- return function (_x) {
39
- return _ref.apply(this, arguments);
40
- };
41
- }();
42
- self.onerror = function (e) {
43
- self.postMessage(e);
44
- };
@@ -1 +0,0 @@
1
- export default function getUid(): string;
@@ -1,6 +0,0 @@
1
- var now = +new Date();
2
- var index = 0;
3
- export default function getUid() {
4
- // eslint-disable-next-line no-plusplus
5
- return "mc-upload-".concat(now, "-").concat(++index);
6
- }
@@ -1,50 +0,0 @@
1
- import { RcFile } from 'antd/es/upload';
2
- export interface FileInfo {
3
- type: string;
4
- size: number;
5
- width: number;
6
- height: number;
7
- name: string;
8
- duration?: number;
9
- }
10
- export type FileError = {
11
- name?: string;
12
- message?: string;
13
- };
14
- export type FileRangeInfo = {
15
- min?: number;
16
- max?: number;
17
- };
18
- export type DAR = [number, number];
19
- export interface VerifyConfig {
20
- size?: FileRangeInfo;
21
- width?: FileRangeInfo;
22
- height?: FileRangeInfo;
23
- duration?: FileRangeInfo;
24
- DAR?: DAR;
25
- }
26
- export type CheckResult = {
27
- isPassed: boolean;
28
- errList: ('min' | 'max')[];
29
- };
30
- type FileInfoResult = {
31
- error: FileError;
32
- data: null;
33
- } | {
34
- error: null;
35
- data: FileInfo;
36
- };
37
- export declare const getImgInfo: (imgFile: RcFile) => Promise<FileInfoResult>;
38
- export declare const getVideoInfo: (videoFile: RcFile) => Promise<FileInfoResult>;
39
- export declare const isNumber: (num?: number) => boolean;
40
- export declare const isNumberInRange: (reference: number, rangeInfo: FileRangeInfo) => CheckResult;
41
- export type FileCheckedResult = {
42
- isPassed: boolean;
43
- errList?: {
44
- target: string;
45
- messages: string[];
46
- }[];
47
- fileInfo?: Partial<FileInfo>;
48
- };
49
- export declare const checkFile: (file: RcFile, config: VerifyConfig) => Promise<FileCheckedResult>;
50
- export {};
@@ -1,257 +0,0 @@
1
- import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
5
- // 图片信息获取
6
- // 参数校验配置
7
- // 数据大小范围
8
- // 素材校验配置参数
9
- var E_VerifyType = /*#__PURE__*/function (E_VerifyType) {
10
- E_VerifyType["SIZE"] = "size";
11
- E_VerifyType["WIDTH"] = "width";
12
- E_VerifyType["HEIGHT"] = "height";
13
- E_VerifyType["DURATION"] = "duration";
14
- E_VerifyType["DAR"] = "DAR";
15
- return E_VerifyType;
16
- }(E_VerifyType || {}); // 单项校验
17
- // 获取图片信息
18
- export var getImgInfo = function getImgInfo(imgFile) {
19
- return new Promise(function (resolve) {
20
- var img = new Image();
21
- img.src = URL.createObjectURL(imgFile);
22
- img.onload = function () {
23
- resolve({
24
- error: null,
25
- data: {
26
- type: imgFile.type,
27
- size: imgFile.size,
28
- width: img.width,
29
- height: img.height,
30
- name: imgFile.name
31
- }
32
- });
33
- window.URL.revokeObjectURL(img.src); // 释放URL对象
34
- };
35
- img.onerror = function () {
36
- window.URL.revokeObjectURL(img.src); // 释放URL对象
37
- resolve({
38
- error: {
39
- name: imgFile.name,
40
- message: '图片加载失败'
41
- },
42
- data: null
43
- });
44
- };
45
- });
46
- };
47
-
48
- // 获取视频信息
49
- export var getVideoInfo = function getVideoInfo(videoFile) {
50
- return new Promise(function (resolve) {
51
- var video = document.createElement('video');
52
- video.preload = 'metadata';
53
- video.onloadedmetadata = function () {
54
- resolve({
55
- error: null,
56
- data: {
57
- type: videoFile.type,
58
- size: videoFile.size,
59
- width: video.videoWidth,
60
- height: video.videoHeight,
61
- name: videoFile.name,
62
- duration: video.duration
63
- }
64
- });
65
- window.URL.revokeObjectURL(video.src); // 释放URL对象
66
- };
67
- video.onerror = function () {
68
- window.URL.revokeObjectURL(video.src); // 释放URL对象
69
- resolve({
70
- error: {
71
- name: videoFile.name,
72
- message: '视频加载失败'
73
- },
74
- data: null
75
- });
76
- };
77
- // 创建资源
78
- video.src = URL.createObjectURL(videoFile);
79
- });
80
- };
81
-
82
- // 大小校验
83
-
84
- // 判断变量是不是数字
85
- export var isNumber = function isNumber(num) {
86
- return typeof num === 'number' && !Number.isNaN(num);
87
- };
88
-
89
- // 判断数字有没有在某一个区间内
90
- export var isNumberInRange = function isNumberInRange(reference, rangeInfo) {
91
- var min = rangeInfo.min,
92
- max = rangeInfo.max;
93
- var res = {
94
- isPassed: true,
95
- errList: []
96
- };
97
- if (typeof min === 'number' && !Number.isNaN(min) && reference < min) {
98
- var _res$errList;
99
- res.isPassed = false;
100
- (_res$errList = res.errList) === null || _res$errList === void 0 || _res$errList.push('min');
101
- }
102
- if (typeof max === 'number' && !Number.isNaN(max) && reference > max) {
103
- var _res$errList2;
104
- res.isPassed = false;
105
- (_res$errList2 = res.errList) === null || _res$errList2 === void 0 || _res$errList2.push('max');
106
- }
107
- return res;
108
- };
109
- var PARAMETER_MAP = {
110
- size: {
111
- title: '',
112
- unit: 'MB',
113
- transfer: function transfer(value) {
114
- return value / 1024 / 1024;
115
- }
116
- },
117
- width: {
118
- title: '宽度',
119
- unit: 'px',
120
- transfer: function transfer(value) {
121
- return value;
122
- }
123
- },
124
- height: {
125
- title: '高度',
126
- unit: 'px',
127
- transfer: function transfer(value) {
128
- return value;
129
- }
130
- },
131
- duration: {
132
- title: '时长',
133
- unit: 's',
134
- transfer: function transfer(value) {
135
- return value;
136
- }
137
- },
138
- DAR: {
139
- title: '宽高比',
140
- unit: '',
141
- transfer: function transfer(value) {
142
- return value;
143
- }
144
- }
145
- };
146
-
147
- // 校验函数
148
- export var checkFile = /*#__PURE__*/function () {
149
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(file, config) {
150
- var _file$type;
151
- var res, type, fileType, size, width, height, duration, DAR, checkItem, _ref2, err, infoRes, _res$errList4;
152
- return _regeneratorRuntime().wrap(function _callee$(_context) {
153
- while (1) switch (_context.prev = _context.next) {
154
- case 0:
155
- res = {
156
- isPassed: true,
157
- errList: []
158
- }; // 判断文件类型
159
- type = (_file$type = file.type) === null || _file$type === void 0 || (_file$type = _file$type.split('/')) === null || _file$type === void 0 ? void 0 : _file$type[0];
160
- res.fileInfo = {
161
- name: file.name,
162
- type: file.type
163
- };
164
- fileType = type === 'image' ? '图片' : type === 'video' ? '视频' : '文件';
165
- size = config.size, width = config.width, height = config.height, duration = config.duration, DAR = config.DAR; // 单项校验函数
166
- checkItem = function checkItem(verifyInfo, verifyValue) {
167
- var verifyType = verifyInfo.type,
168
- verifyRange = verifyInfo.range;
169
- if (!!verifyInfo.range) {
170
- res.fileInfo = _objectSpread(_objectSpread({}, res.fileInfo), {}, _defineProperty({}, verifyInfo.type, verifyValue));
171
- var result = isNumberInRange(verifyValue, verifyInfo.range);
172
- if (!result.isPassed) {
173
- var _res$errList3, _result$errList;
174
- res.isPassed = false;
175
- (_res$errList3 = res.errList) === null || _res$errList3 === void 0 || _res$errList3.push({
176
- target: verifyInfo.type,
177
- messages: (_result$errList = result.errList) === null || _result$errList === void 0 ? void 0 : _result$errList.map(function (item) {
178
- var _PARAMETER_MAP$verify, _PARAMETER_MAP$verify2, _PARAMETER_MAP$verify3;
179
- return "".concat(fileType).concat(file.name).concat(PARAMETER_MAP === null || PARAMETER_MAP === void 0 || (_PARAMETER_MAP$verify = PARAMETER_MAP[verifyType]) === null || _PARAMETER_MAP$verify === void 0 ? void 0 : _PARAMETER_MAP$verify.title).concat(item === 'min' ? '不能小于' : '不能大于', ": ").concat(PARAMETER_MAP === null || PARAMETER_MAP === void 0 || (_PARAMETER_MAP$verify2 = PARAMETER_MAP[verifyType]) === null || _PARAMETER_MAP$verify2 === void 0 ? void 0 : _PARAMETER_MAP$verify2.transfer(verifyRange === null || verifyRange === void 0 ? void 0 : verifyRange[item])).concat(PARAMETER_MAP === null || PARAMETER_MAP === void 0 || (_PARAMETER_MAP$verify3 = PARAMETER_MAP[verifyType]) === null || _PARAMETER_MAP$verify3 === void 0 ? void 0 : _PARAMETER_MAP$verify3.unit);
180
- })
181
- });
182
- }
183
- }
184
- }; // 大小校验
185
- checkItem({
186
- type: E_VerifyType.SIZE,
187
- range: size
188
- }, file.size);
189
- // 图片或视频才能使用以下校验
190
- if (!((!!width || !!height || !!duration || !!DAR && (DAR === null || DAR === void 0 ? void 0 : DAR[0]) > 0 && (DAR === null || DAR === void 0 ? void 0 : DAR[1]) > 0) && ['image', 'video'].includes(type))) {
191
- _context.next = 21;
192
- break;
193
- }
194
- if (!(type === 'image')) {
195
- _context.next = 14;
196
- break;
197
- }
198
- _context.next = 11;
199
- return getImgInfo(file);
200
- case 11:
201
- _context.t0 = _context.sent;
202
- _context.next = 17;
203
- break;
204
- case 14:
205
- _context.next = 16;
206
- return getVideoInfo(file);
207
- case 16:
208
- _context.t0 = _context.sent;
209
- case 17:
210
- _ref2 = _context.t0;
211
- err = _ref2.error;
212
- infoRes = _ref2.data;
213
- if (!err && res) {
214
- // 宽度校验
215
- checkItem({
216
- type: E_VerifyType.WIDTH,
217
- range: width
218
- }, infoRes.width);
219
- // 高度校验
220
- checkItem({
221
- type: E_VerifyType.HEIGHT,
222
- range: height
223
- }, infoRes.height);
224
- if (type === 'video') {
225
- // 时长校验
226
- checkItem({
227
- type: E_VerifyType.DURATION,
228
- range: duration
229
- }, infoRes.duration);
230
- }
231
- // 宽高比校验
232
- if (!!DAR) {
233
- res.fileInfo = _objectSpread(_objectSpread({}, res.fileInfo), {}, {
234
- width: infoRes.width,
235
- height: infoRes.height
236
- });
237
- if (!(infoRes.width / DAR[0] === infoRes.height / DAR[1])) {
238
- res.isPassed = false;
239
- (_res$errList4 = res.errList) === null || _res$errList4 === void 0 || _res$errList4.push({
240
- target: E_VerifyType.DAR,
241
- messages: ["".concat(fileType).concat(file.name, "\u5BBD\u9AD8\u6BD4\u4E0D\u6EE1\u8DB3\u4E3A: ").concat(DAR[0], ":").concat(DAR[1])]
242
- });
243
- }
244
- }
245
- }
246
- case 21:
247
- return _context.abrupt("return", res);
248
- case 22:
249
- case "end":
250
- return _context.stop();
251
- }
252
- }, _callee);
253
- }));
254
- return function checkFile(_x, _x2) {
255
- return _ref.apply(this, arguments);
256
- };
257
- }();
@@ -1,5 +0,0 @@
1
- export declare function measureExecutionTime(fn: (...args: any[]) => any): (...args: any) => Promise<{
2
- duration: number;
3
- result: any;
4
- }>;
5
- export declare const transformNumber: (num: any) => number;