gxxc-ui 1.0.43 → 1.0.44
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.
- package/dist/UploadUI/index.js +79 -45
- package/package.json +2 -1
package/dist/UploadUI/index.js
CHANGED
|
@@ -22,15 +22,16 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
22
22
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
23
23
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
24
24
|
import { DownloadOutlined, RotateLeftOutlined, RotateRightOutlined, SwapOutlined, UndoOutlined, ZoomInOutlined, ZoomOutOutlined } from '@ant-design/icons';
|
|
25
|
-
import { Image, Space, Upload } from 'antd';
|
|
25
|
+
import { Image, Space, Upload, Spin } from 'antd';
|
|
26
26
|
import React, { useEffect, useState } from 'react';
|
|
27
27
|
import { IconUI, MessageUI } from "./..";
|
|
28
28
|
import { file_calculate_md5, file_url_is_image, file_url_is_video_H264, getUrlConfig } from 'gxxc-util';
|
|
29
29
|
import "./index.scss";
|
|
30
30
|
import { DraggerFileItems } from "./type";
|
|
31
|
+
import axios from 'axios';
|
|
31
32
|
// 文件名转义 后端解析地址需要排除部分符号
|
|
32
33
|
var getCheckFileName = function getCheckFileName(name) {
|
|
33
|
-
var fileName = name.replace(/\s*/g, '').replace(/&/g, '_').replace(/%/g, '').replace(/\.(?=.*\.)/g, '');
|
|
34
|
+
var fileName = name.replace(/\s*/g, '').replace(/&/g, '_').replace(/%/g, '').replace(/\[/g, '').replace(/]/g, '').replace(/\.(?=.*\.)/g, '');
|
|
34
35
|
return fileName;
|
|
35
36
|
};
|
|
36
37
|
// 获取图片base64格式
|
|
@@ -109,10 +110,10 @@ var UploadUI = function UploadUI(props) {
|
|
|
109
110
|
}
|
|
110
111
|
};
|
|
111
112
|
|
|
112
|
-
// 自定义上传
|
|
113
|
+
// 自定义上传 在Form.Item 中使用受控模式 onError 等 on 方法不能使用
|
|
113
114
|
var customRequest = /*#__PURE__*/function () {
|
|
114
115
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(options) {
|
|
115
|
-
var
|
|
116
|
+
var _ossData$body, _ossData$body2, _ossData$body3, _ossData$body4, _ossData$body5, _ossData$body6, _ossData$body7, _ossData$body8, _ossData$body9, md5Hash, _fileName, ossData, item, newFileList, formData, res, _res$data, code, body, msg, errText;
|
|
116
117
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
117
118
|
while (1) switch (_context.prev = _context.next) {
|
|
118
119
|
case 0:
|
|
@@ -134,10 +135,22 @@ var UploadUI = function UploadUI(props) {
|
|
|
134
135
|
return getOssDataAPI(scene, _fileName, md5Hash);
|
|
135
136
|
case 11:
|
|
136
137
|
ossData = _context.sent;
|
|
137
|
-
if (!((ossData === null || ossData === void 0 ? void 0 : ossData.code)
|
|
138
|
-
_context.next =
|
|
138
|
+
if (!((ossData === null || ossData === void 0 ? void 0 : ossData.code) != '0')) {
|
|
139
|
+
_context.next = 16;
|
|
139
140
|
break;
|
|
140
141
|
}
|
|
142
|
+
if (options !== null && options !== void 0 && options.onError) options.onError(ossData === null || ossData === void 0 ? void 0 : ossData.msg, options === null || options === void 0 ? void 0 : options.file);
|
|
143
|
+
MessageUI.error(ossData === null || ossData === void 0 ? void 0 : ossData.msg);
|
|
144
|
+
return _context.abrupt("return");
|
|
145
|
+
case 16:
|
|
146
|
+
/// 设置默认 上传状态
|
|
147
|
+
item = {
|
|
148
|
+
name: _fileName,
|
|
149
|
+
status: 'uploading',
|
|
150
|
+
percent: 0
|
|
151
|
+
};
|
|
152
|
+
newFileList = [].concat(_toConsumableArray(fileList), [item]).slice(-maxCount);
|
|
153
|
+
setFileList(newFileList);
|
|
141
154
|
formData = new FormData();
|
|
142
155
|
formData.append('key', ossData === null || ossData === void 0 || (_ossData$body = ossData.body) === null || _ossData$body === void 0 ? void 0 : _ossData$body.dir);
|
|
143
156
|
formData.append('OSSAccessKeyId', ossData === null || ossData === void 0 || (_ossData$body2 = ossData.body) === null || _ossData$body2 === void 0 ? void 0 : _ossData$body2.accessId);
|
|
@@ -148,55 +161,61 @@ var UploadUI = function UploadUI(props) {
|
|
|
148
161
|
formData.append('accessId', ossData === null || ossData === void 0 || (_ossData$body7 = ossData.body) === null || _ossData$body7 === void 0 ? void 0 : _ossData$body7.accessId);
|
|
149
162
|
formData.append('dir', ossData === null || ossData === void 0 || (_ossData$body8 = ossData.body) === null || _ossData$body8 === void 0 ? void 0 : _ossData$body8.dir);
|
|
150
163
|
formData.append('file', options === null || options === void 0 ? void 0 : options.file);
|
|
151
|
-
_context.next =
|
|
152
|
-
return
|
|
153
|
-
|
|
154
|
-
|
|
164
|
+
_context.next = 31;
|
|
165
|
+
return axios.post(ossData === null || ossData === void 0 || (_ossData$body9 = ossData.body) === null || _ossData$body9 === void 0 ? void 0 : _ossData$body9.host, formData, {
|
|
166
|
+
// 如果需要监听上传进度,可以添加此回调
|
|
167
|
+
onUploadProgress: function onUploadProgress(progressEvent) {
|
|
168
|
+
setFileList(function (prevList) {
|
|
169
|
+
var percent = 0;
|
|
170
|
+
if (progressEvent.total) {
|
|
171
|
+
percent = Math.floor(progressEvent.loaded / progressEvent.total * 100);
|
|
172
|
+
}
|
|
173
|
+
item.percent = percent;
|
|
174
|
+
return _toConsumableArray(prevList);
|
|
175
|
+
});
|
|
176
|
+
}
|
|
155
177
|
});
|
|
156
|
-
case
|
|
178
|
+
case 31:
|
|
157
179
|
res = _context.sent;
|
|
158
|
-
if (
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
180
|
+
if (res.status == 200) {
|
|
181
|
+
_res$data = res.data, code = _res$data.code, body = _res$data.body, msg = _res$data.msg;
|
|
182
|
+
item.status = '';
|
|
183
|
+
if (code === '0') {
|
|
184
|
+
item.url = body.url;
|
|
185
|
+
item.md5 = body.md5;
|
|
186
|
+
/// 如果是 h264 编码 显示第一帧
|
|
187
|
+
if (file_url_is_video_H264(item.url)) {
|
|
188
|
+
item.thumbUrl = "".concat(item.url, "?x-oss-process=video/snapshot,t_1000,f_jpg");
|
|
189
|
+
}
|
|
190
|
+
if (options !== null && options !== void 0 && options.onSuccess) options.onSuccess(item, options === null || options === void 0 ? void 0 : options.file);
|
|
191
|
+
if (onChange) {
|
|
192
|
+
onChange(newFileList);
|
|
193
|
+
} else {
|
|
194
|
+
setFileList(function (prevList) {
|
|
195
|
+
return _toConsumableArray(prevList);
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
} else {
|
|
199
|
+
if (options !== null && options !== void 0 && options.onError) options.onError(msg, options === null || options === void 0 ? void 0 : options.file);
|
|
200
|
+
MessageUI.error(msg);
|
|
201
|
+
}
|
|
173
202
|
} else {
|
|
174
|
-
|
|
175
|
-
|
|
203
|
+
item.status = 'error';
|
|
204
|
+
errText = res.statusText;
|
|
205
|
+
if (options !== null && options !== void 0 && options.onError) options.onError(errText, options === null || options === void 0 ? void 0 : options.file);
|
|
206
|
+
MessageUI.error(errText);
|
|
176
207
|
}
|
|
177
|
-
_context.next =
|
|
208
|
+
_context.next = 38;
|
|
178
209
|
break;
|
|
179
|
-
case 33:
|
|
180
|
-
if (options !== null && options !== void 0 && options.onError) options.onError(res === null || res === void 0 ? void 0 : res.statusText, options === null || options === void 0 ? void 0 : options.file);
|
|
181
|
-
MessageUI.error(res === null || res === void 0 ? void 0 : res.statusText);
|
|
182
210
|
case 35:
|
|
183
|
-
_context.
|
|
184
|
-
break;
|
|
185
|
-
case 37:
|
|
186
|
-
if (options !== null && options !== void 0 && options.onError) options.onError(ossData === null || ossData === void 0 ? void 0 : ossData.msg, options === null || options === void 0 ? void 0 : options.file);
|
|
187
|
-
MessageUI.error(ossData === null || ossData === void 0 ? void 0 : ossData.msg);
|
|
188
|
-
case 39:
|
|
189
|
-
_context.next = 44;
|
|
190
|
-
break;
|
|
191
|
-
case 41:
|
|
192
|
-
_context.prev = 41;
|
|
211
|
+
_context.prev = 35;
|
|
193
212
|
_context.t0 = _context["catch"](0);
|
|
194
213
|
MessageUI.error('上传失败,请稍后重试!');
|
|
195
|
-
case
|
|
214
|
+
case 38:
|
|
196
215
|
case "end":
|
|
197
216
|
return _context.stop();
|
|
198
217
|
}
|
|
199
|
-
}, _callee, null, [[0,
|
|
218
|
+
}, _callee, null, [[0, 35]]);
|
|
200
219
|
}));
|
|
201
220
|
return function customRequest(_x) {
|
|
202
221
|
return _ref.apply(this, arguments);
|
|
@@ -260,13 +279,28 @@ var UploadUI = function UploadUI(props) {
|
|
|
260
279
|
customRequest: customRequest,
|
|
261
280
|
onRemove: onRemove
|
|
262
281
|
}, otherProps);
|
|
282
|
+
var itemRender = function itemRender(originNode, file) {
|
|
283
|
+
if (file.status === 'uploading') {
|
|
284
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
285
|
+
className: "uploadUI-mode2-content",
|
|
286
|
+
style: {
|
|
287
|
+
backgroundImage: "url(".concat(backgroundImage, ")")
|
|
288
|
+
}
|
|
289
|
+
}, /*#__PURE__*/React.createElement(Spin, {
|
|
290
|
+
percent: file.percent
|
|
291
|
+
}));
|
|
292
|
+
} else {
|
|
293
|
+
return originNode;
|
|
294
|
+
}
|
|
295
|
+
};
|
|
263
296
|
return /*#__PURE__*/React.createElement(React.Fragment, null, mode === 1 && /*#__PURE__*/React.createElement(Upload, _extends({
|
|
264
297
|
className: "uploadUI uploadUI-mode1 ".concat(className !== null && className !== void 0 ? className : ''),
|
|
265
298
|
showUploadList: false
|
|
266
299
|
}, uploadProps), children), mode === 2 && /*#__PURE__*/React.createElement(Upload, _extends({
|
|
267
300
|
className: "uploadUI uploadUI-mode2 ".concat(className !== null && className !== void 0 ? className : ''),
|
|
268
301
|
listType: "picture-card",
|
|
269
|
-
onPreview: onPreview
|
|
302
|
+
onPreview: onPreview,
|
|
303
|
+
itemRender: itemRender
|
|
270
304
|
}, uploadProps), (fileList === null || fileList === void 0 ? void 0 : fileList.length) >= maxCount ? null : /*#__PURE__*/React.createElement("div", {
|
|
271
305
|
className: "uploadUI-mode2-content",
|
|
272
306
|
style: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gxxc-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.44",
|
|
4
4
|
"description": "A react library developed with dumi",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"@wangeditor/editor": "^5.1.23",
|
|
50
50
|
"@wangeditor/editor-for-react": "^1.0.6",
|
|
51
51
|
"antd": "^5.27.1",
|
|
52
|
+
"axios": "^1.7.9",
|
|
52
53
|
"dayjs": "^1.11.11",
|
|
53
54
|
"lodash": "^4.17.21",
|
|
54
55
|
"react-countup": "^6.5.3",
|