@yilianjituan/yilian_dgerm 0.0.1-alpha.32 → 0.0.1-alpha.33
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/components/CustomButtonModal/index.d.ts +4 -0
- package/dist/components/CustomButtonModal/index.interface.d.ts +14 -0
- package/dist/components/CustomButtonModal/index.interface.js +1 -0
- package/dist/components/CustomButtonModal/index.js +69 -0
- package/dist/components/DateTimePicker/index.d.ts +4 -0
- package/dist/components/DateTimePicker/index.interface.d.ts +6 -0
- package/dist/components/DateTimePicker/index.interface.js +1 -0
- package/dist/components/DateTimePicker/index.js +100 -0
- package/dist/components/FileUpload/fileUtil.d.ts +34 -0
- package/dist/components/FileUpload/fileUtil.js +146 -0
- package/dist/components/FileUpload/index.d.ts +5 -0
- package/dist/components/FileUpload/index.interface.d.ts +119 -0
- package/dist/components/FileUpload/index.interface.js +1 -0
- package/dist/components/FileUpload/index.js +389 -0
- package/dist/components/FileUpload/index.scss +78 -0
- package/dist/components/OcrCommon/index.config.d.ts +10 -0
- package/dist/components/OcrCommon/index.config.js +30 -1
- package/dist/components/OcrCommon/index.interface.d.ts +6 -0
- package/dist/components/OcrCommon/index.js +90 -54
- package/dist/components/OcrCommon/index.scss +4 -0
- package/dist/components/TypographyText/index.d.ts +5 -0
- package/dist/components/TypographyText/index.interface.d.ts +13 -0
- package/dist/components/TypographyText/index.interface.js +1 -0
- package/dist/components/TypographyText/index.js +67 -0
- package/dist/components/TypographyText/index.scss +9 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/package.json +5 -2
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModalProps } from 'antd';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
export interface IProps {
|
|
4
|
+
trigger: {
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
onClick?: (callback?: (action: boolean) => void) => void;
|
|
7
|
+
};
|
|
8
|
+
onOpenChange?: (open: boolean) => void;
|
|
9
|
+
modalProps: Omit<ModalProps, 'onOk' | 'onCancel' | 'open' | 'confirmLoading'> & {
|
|
10
|
+
handleOk: (close: (action: boolean) => void) => void;
|
|
11
|
+
handleCancel?: () => void;
|
|
12
|
+
};
|
|
13
|
+
children: ReactNode;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
3
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
5
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
6
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
7
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
8
|
+
import { Modal } from 'antd';
|
|
9
|
+
import React from 'react';
|
|
10
|
+
var Index = function Index(props) {
|
|
11
|
+
var trigger = props.trigger,
|
|
12
|
+
onOpenChange = props.onOpenChange,
|
|
13
|
+
modalProps = props.modalProps,
|
|
14
|
+
children = props.children;
|
|
15
|
+
var _React$useState = React.useState(false),
|
|
16
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
17
|
+
open = _React$useState2[0],
|
|
18
|
+
setOpen = _React$useState2[1]; // 本地 open 状态
|
|
19
|
+
var _React$useState3 = React.useState(false),
|
|
20
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
21
|
+
confirmLoading = _React$useState4[0],
|
|
22
|
+
setConfirmLoading = _React$useState4[1]; // 本地 confirmLoading 状态
|
|
23
|
+
|
|
24
|
+
// 自定义的内部点击逻辑
|
|
25
|
+
var handleClick = function handleClick() {
|
|
26
|
+
var _trigger$onClick;
|
|
27
|
+
var _boolean;
|
|
28
|
+
trigger === null || trigger === void 0 || (_trigger$onClick = trigger.onClick) === null || _trigger$onClick === void 0 || _trigger$onClick.call(trigger, function (action) {
|
|
29
|
+
if (action === false) {
|
|
30
|
+
_boolean = false;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
if (_boolean === false) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
openFunChange(true);
|
|
37
|
+
};
|
|
38
|
+
var handleOk = function handleOk() {
|
|
39
|
+
setConfirmLoading(true);
|
|
40
|
+
modalProps === null || modalProps === void 0 || modalProps.handleOk(function (action) {
|
|
41
|
+
if (action) {
|
|
42
|
+
openFunChange(false);
|
|
43
|
+
}
|
|
44
|
+
setConfirmLoading(false);
|
|
45
|
+
}); // 执行 onOk 并获取返回值
|
|
46
|
+
};
|
|
47
|
+
var handleCancel = function handleCancel() {
|
|
48
|
+
var _modalProps$handleCan;
|
|
49
|
+
openFunChange(false);
|
|
50
|
+
modalProps === null || modalProps === void 0 || (_modalProps$handleCan = modalProps.handleCancel) === null || _modalProps$handleCan === void 0 || _modalProps$handleCan.call(modalProps); // 如果 modalProps 传递了 onCancel 回调,执行它
|
|
51
|
+
};
|
|
52
|
+
var openFunChange = function openFunChange(status) {
|
|
53
|
+
setOpen(status); // 设置 Modal 打开还是关闭
|
|
54
|
+
onOpenChange === null || onOpenChange === void 0 || onOpenChange(status); // 通知外部状态改变
|
|
55
|
+
};
|
|
56
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.cloneElement(trigger === null || trigger === void 0 ? void 0 : trigger.children, {
|
|
57
|
+
onClick: handleClick
|
|
58
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
className: "custom_modal__box"
|
|
60
|
+
}, open && /*#__PURE__*/React.createElement(Modal, _extends({
|
|
61
|
+
open: true,
|
|
62
|
+
onOk: handleOk,
|
|
63
|
+
onCancel: handleCancel,
|
|
64
|
+
confirmLoading: confirmLoading,
|
|
65
|
+
destroyOnClose: true,
|
|
66
|
+
maskClosable: false
|
|
67
|
+
}, modalProps), children && children, " ")));
|
|
68
|
+
};
|
|
69
|
+
export default Index;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
var _excluded = ["type", "tlTimeLimit", "format"];
|
|
2
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
3
|
+
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; }
|
|
4
|
+
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; }
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import { DatePicker, TimePicker } from "antd";
|
|
7
|
+
import dayjs from 'dayjs';
|
|
8
|
+
console.log('❗️❌❗️ ~ dayjs:', dayjs);
|
|
9
|
+
var RangePicker = DatePicker.RangePicker;
|
|
10
|
+
// 基于antd,具体参照antd
|
|
11
|
+
var Index = function Index(props) {
|
|
12
|
+
var _props$type = props.type,
|
|
13
|
+
type = _props$type === void 0 ? 'date' : _props$type,
|
|
14
|
+
tlTimeLimit = props.tlTimeLimit,
|
|
15
|
+
_props$format = props.format,
|
|
16
|
+
format = _props$format === void 0 ? 'HH:mm' : _props$format,
|
|
17
|
+
otherProps = _objectWithoutProperties(props, _excluded);
|
|
18
|
+
|
|
19
|
+
// 日期范围处理
|
|
20
|
+
var range = function range(start, end) {
|
|
21
|
+
var result = [];
|
|
22
|
+
for (var i = start; i < end; i++) {
|
|
23
|
+
result.push(i);
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
// 日期禁用
|
|
29
|
+
var disabledDate = function disabledDate(current) {
|
|
30
|
+
if (tlTimeLimit === 'before') {
|
|
31
|
+
// 禁用当前时间之前
|
|
32
|
+
return current && current < dayjs().startOf('days');
|
|
33
|
+
} else if (tlTimeLimit === 'after') {
|
|
34
|
+
// 禁用当前时间之后
|
|
35
|
+
return current && current > dayjs().endOf('days');
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
// 时间禁用
|
|
41
|
+
var disabledTime = function disabledTime(current) {
|
|
42
|
+
// 判断日期是否是今天
|
|
43
|
+
if (!current || !current.isSame(dayjs(), 'day')) {
|
|
44
|
+
return {};
|
|
45
|
+
}
|
|
46
|
+
var currentHour = dayjs().hour(); // 当前时间
|
|
47
|
+
var currentMinute = dayjs().minute(); // 当前分钟
|
|
48
|
+
var currentSecond = dayjs().second(); // 当前秒
|
|
49
|
+
|
|
50
|
+
if (tlTimeLimit === 'before') {
|
|
51
|
+
// 严格限制只能选择当前时间之前的时间
|
|
52
|
+
return {
|
|
53
|
+
disabledHours: function disabledHours() {
|
|
54
|
+
return range(0, currentHour);
|
|
55
|
+
},
|
|
56
|
+
disabledMinutes: function disabledMinutes(hour) {
|
|
57
|
+
return hour === currentHour ? range(0, currentMinute) : [];
|
|
58
|
+
},
|
|
59
|
+
disabledSeconds: function disabledSeconds(hour, minute) {
|
|
60
|
+
return hour === currentHour && minute === currentMinute ? range(0, currentSecond) : [];
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
} else if (tlTimeLimit === 'after') {
|
|
64
|
+
// 严格限制只能选择当前时间之后的时间
|
|
65
|
+
return {
|
|
66
|
+
disabledHours: function disabledHours() {
|
|
67
|
+
return range(currentHour + 1, 24);
|
|
68
|
+
},
|
|
69
|
+
disabledMinutes: function disabledMinutes(hour) {
|
|
70
|
+
return hour === currentHour ? range(currentMinute + 1, 60) : [];
|
|
71
|
+
},
|
|
72
|
+
disabledSeconds: function disabledSeconds(hour, minute) {
|
|
73
|
+
return hour === currentHour && minute === currentMinute ? range(currentSecond + 1, 60) : [];
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return {};
|
|
78
|
+
};
|
|
79
|
+
var typeComponentMap = {
|
|
80
|
+
date: /*#__PURE__*/React.createElement(DatePicker, _extends({
|
|
81
|
+
disabledDate: disabledDate
|
|
82
|
+
}, otherProps)),
|
|
83
|
+
time: /*#__PURE__*/React.createElement(TimePicker, _extends({
|
|
84
|
+
format: format,
|
|
85
|
+
disabledTime: disabledTime
|
|
86
|
+
}, otherProps)),
|
|
87
|
+
dateTime: /*#__PURE__*/React.createElement(DatePicker, _extends({
|
|
88
|
+
showTime: true,
|
|
89
|
+
format: format,
|
|
90
|
+
disabledTime: disabledTime,
|
|
91
|
+
disabledDate: disabledDate
|
|
92
|
+
}, otherProps)),
|
|
93
|
+
range: /*#__PURE__*/React.createElement(RangePicker, _extends({
|
|
94
|
+
disabledTime: disabledTime,
|
|
95
|
+
disabledDate: disabledDate
|
|
96
|
+
}, otherProps))
|
|
97
|
+
};
|
|
98
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, typeComponentMap[type], " ");
|
|
99
|
+
};
|
|
100
|
+
export default Index;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { IInitDataType } from './index.interface';
|
|
2
|
+
export declare const accept = ".rar,.zip,.gzip,.txt,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.wps,.sav,.caj,.rtf,.hlp,.jpg,.jpeg,.png,.gif,.bmp,.psd,.tif,.mkv,.mp4,.avi,.swf,.wmv,.rmvb,.mov,.mpq,.3gp,.m4v,.webm,.flv,.mp3,.wma,.wav,.amr,.m4a,.aac";
|
|
3
|
+
export declare const acceptList: string[];
|
|
4
|
+
export declare const fileExtensions: string[];
|
|
5
|
+
export declare const videoFormats: string[];
|
|
6
|
+
export declare const documentExtensions: string[];
|
|
7
|
+
export declare const acceptTypes: {
|
|
8
|
+
image: string;
|
|
9
|
+
video: string;
|
|
10
|
+
document: string;
|
|
11
|
+
all: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const acceptListTypes: {
|
|
14
|
+
image: string[];
|
|
15
|
+
video: string[];
|
|
16
|
+
document: string[];
|
|
17
|
+
all: string[];
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* 数据转换.
|
|
21
|
+
* 需要兼容多种情况
|
|
22
|
+
* 1:初始化正常数据回填
|
|
23
|
+
* 2:外部设置(映射)的数据回填
|
|
24
|
+
* 3:组件上传可能有已完成和未完成的数据回填
|
|
25
|
+
* 4:同时多个上传时,需考虑oss返回的数据格式
|
|
26
|
+
*
|
|
27
|
+
* 对未完成的增加URL参数是为了防止完成后的数据diff重新渲染,导致上传组件闪烁
|
|
28
|
+
* @param data - 需要转换的数据
|
|
29
|
+
* @param loading - 判断是否是已完成的数据
|
|
30
|
+
* @returns 返回组好的数据
|
|
31
|
+
*/
|
|
32
|
+
export declare const dataChange: (dataFormat: string, data: IInitDataType[], loading?: boolean) => any[];
|
|
33
|
+
export declare const fileChange: (file: any) => any;
|
|
34
|
+
export declare const imageListChange: (file: any) => any;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
/*
|
|
8
|
+
* @Author: 耿禹
|
|
9
|
+
* @Date: 2024-09-20 09:49:47
|
|
10
|
+
* @Last Modified by: 耿禹
|
|
11
|
+
* @Last Modified time: 2024-10-29 18:10:56
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
// 所有类型
|
|
15
|
+
export var accept = '.rar,.zip,.gzip,.txt,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.wps,.sav,.caj,.rtf,.hlp,.jpg,.jpeg,.png,.gif,.bmp,.psd,.tif,.mkv,.mp4,.avi,.swf,.wmv,.rmvb,.mov,.mpq,.3gp,.m4v,.webm,.flv,.mp3,.wma,.wav,.amr,.m4a,.aac';
|
|
16
|
+
// 所有类型List
|
|
17
|
+
export var acceptList = accept.split(',');
|
|
18
|
+
// 图片类型
|
|
19
|
+
var imageAccept = '.png,.jpg,.jpeg,.gif,.bmp,.heic,.svg';
|
|
20
|
+
export var fileExtensions = ['.png', '.jpg', '.jpeg', '.gif', '.bmp', '.heic', '.svg'];
|
|
21
|
+
// 视频类型
|
|
22
|
+
var videoAccept = '.mp4,.3gp,.m4v,.webm';
|
|
23
|
+
export var videoFormats = ['.mp4', '.3gp', '.m4v', '.webm'];
|
|
24
|
+
// 默认文件类型
|
|
25
|
+
var documentAccept = '.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf';
|
|
26
|
+
// 可在三方链接打开的文件类型
|
|
27
|
+
export var documentExtensions = ['.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.pdf'];
|
|
28
|
+
// 类型枚举
|
|
29
|
+
export var acceptTypes = {
|
|
30
|
+
image: imageAccept,
|
|
31
|
+
video: videoAccept,
|
|
32
|
+
document: documentAccept,
|
|
33
|
+
all: accept
|
|
34
|
+
};
|
|
35
|
+
// 默认类型list
|
|
36
|
+
export var acceptListTypes = {
|
|
37
|
+
image: fileExtensions,
|
|
38
|
+
video: videoFormats,
|
|
39
|
+
document: documentExtensions,
|
|
40
|
+
all: acceptList
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* 数据转换.
|
|
44
|
+
* 需要兼容多种情况
|
|
45
|
+
* 1:初始化正常数据回填
|
|
46
|
+
* 2:外部设置(映射)的数据回填
|
|
47
|
+
* 3:组件上传可能有已完成和未完成的数据回填
|
|
48
|
+
* 4:同时多个上传时,需考虑oss返回的数据格式
|
|
49
|
+
*
|
|
50
|
+
* 对未完成的增加URL参数是为了防止完成后的数据diff重新渲染,导致上传组件闪烁
|
|
51
|
+
* @param data - 需要转换的数据
|
|
52
|
+
* @param loading - 判断是否是已完成的数据
|
|
53
|
+
* @returns 返回组好的数据
|
|
54
|
+
*/
|
|
55
|
+
export var dataChange = function dataChange(dataFormat, data) {
|
|
56
|
+
var loading = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
57
|
+
// 未完成的增加空URL
|
|
58
|
+
if (loading) {
|
|
59
|
+
return data === null || data === void 0 ? void 0 : data.map(function (item) {
|
|
60
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
61
|
+
url: ''
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
// 已完成的数据处理
|
|
66
|
+
// 文件
|
|
67
|
+
if (dataFormat === 'object') {
|
|
68
|
+
return data === null || data === void 0 ? void 0 : data.map(function (item, index) {
|
|
69
|
+
var content = item.content,
|
|
70
|
+
name = item.name,
|
|
71
|
+
fileSize = item.fileSize,
|
|
72
|
+
uid = item.uid,
|
|
73
|
+
url = item.url,
|
|
74
|
+
response = item.response,
|
|
75
|
+
size = item.size;
|
|
76
|
+
var _url = url || content || (response === null || response === void 0 ? void 0 : response.url) || ''; // url: 已经处理完的时候,content: 未处理的时候,response: 多文件同时上传时
|
|
77
|
+
var _size = fileSize || size || 0; // 文件大小
|
|
78
|
+
var isVideo = videoFormats.some(function (format) {
|
|
79
|
+
return _url === null || _url === void 0 ? void 0 : _url.endsWith(format);
|
|
80
|
+
}); // 判断是否为视频格式
|
|
81
|
+
var _thumbUrl = isVideo ? "".concat(_url, "?x-oss-process=video/snapshot,t_1000,f_jpg,w_0,h_0,m_fast,ar_auto") : _url; // 视频的缩略图处理, 非视频文件直接使用原始 URL 作为缩略图
|
|
82
|
+
return {
|
|
83
|
+
uid: uid || _url,
|
|
84
|
+
// 每个文件的唯一标识符
|
|
85
|
+
name: name || "\u6587\u4EF6-".concat(index + 1),
|
|
86
|
+
// 自定义名称
|
|
87
|
+
status: 'done',
|
|
88
|
+
// 标记文件已成功上传
|
|
89
|
+
url: _url,
|
|
90
|
+
// 使用 URL 作为资源链接
|
|
91
|
+
thumbUrl: _thumbUrl,
|
|
92
|
+
// 缩略图
|
|
93
|
+
fileSize: _size // 文件大小
|
|
94
|
+
};
|
|
95
|
+
});
|
|
96
|
+
} else {
|
|
97
|
+
// 图片
|
|
98
|
+
return data === null || data === void 0 ? void 0 : data.map(function (item, index) {
|
|
99
|
+
// 未处理时为string
|
|
100
|
+
if (typeof item === 'string') {
|
|
101
|
+
return {
|
|
102
|
+
uid: item,
|
|
103
|
+
name: "picture-".concat(index + 1),
|
|
104
|
+
status: 'done',
|
|
105
|
+
url: item
|
|
106
|
+
};
|
|
107
|
+
} else {
|
|
108
|
+
var url = item.url,
|
|
109
|
+
name = item.name,
|
|
110
|
+
uid = item.uid,
|
|
111
|
+
response = item.response,
|
|
112
|
+
status = item.status;
|
|
113
|
+
var _url = url || (response === null || response === void 0 ? void 0 : response.url); // url: 已经处理完的时候,response: 多文件同时上传时
|
|
114
|
+
return {
|
|
115
|
+
uid: uid || _url,
|
|
116
|
+
// 每个文件的唯一标识符
|
|
117
|
+
name: name || "\u6587\u4EF6-".concat(index + 1),
|
|
118
|
+
// 自定义名称
|
|
119
|
+
status: status,
|
|
120
|
+
// 标记文件已成功上传
|
|
121
|
+
url: _url // 使用 URL 作为资源链接
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
// 文件改变存储文件处理
|
|
129
|
+
export var fileChange = function fileChange(file) {
|
|
130
|
+
return file.map(function (file) {
|
|
131
|
+
var _file$response;
|
|
132
|
+
return {
|
|
133
|
+
content: file.url || ((_file$response = file.response) === null || _file$response === void 0 ? void 0 : _file$response.url) || file.content,
|
|
134
|
+
name: file.name,
|
|
135
|
+
fileSize: file.fileSize || file.size
|
|
136
|
+
};
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
// string 或 image 数据处理
|
|
141
|
+
export var imageListChange = function imageListChange(file) {
|
|
142
|
+
return file.map(function (file) {
|
|
143
|
+
var _file$response2;
|
|
144
|
+
return file.url || ((_file$response2 = file.response) === null || _file$response2 === void 0 ? void 0 : _file$response2.url) || file.content;
|
|
145
|
+
});
|
|
146
|
+
};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { FormItemProps, UploadProps } from "antd";
|
|
2
|
+
export interface IProps {
|
|
3
|
+
/**
|
|
4
|
+
* @description 阿里云上传实例和配置
|
|
5
|
+
*/
|
|
6
|
+
aliyunProps: {
|
|
7
|
+
ossUpload: any;
|
|
8
|
+
OSSINIT: any;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @description 上传的提示信息
|
|
12
|
+
* @required
|
|
13
|
+
* @default false
|
|
14
|
+
*/
|
|
15
|
+
tips?: {
|
|
16
|
+
/**
|
|
17
|
+
* @description 是否需要提示
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
needTips?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* @description 提示文字
|
|
23
|
+
*/
|
|
24
|
+
tipsText?: string;
|
|
25
|
+
/**
|
|
26
|
+
* @description 自定义提示样式
|
|
27
|
+
*/
|
|
28
|
+
tipsStyle?: object;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* @description 表单属性配置
|
|
32
|
+
*/
|
|
33
|
+
formProps: {
|
|
34
|
+
/**
|
|
35
|
+
* @description 表单字段名称
|
|
36
|
+
*/
|
|
37
|
+
name: string;
|
|
38
|
+
/**
|
|
39
|
+
* @description 如果为 Form.List,则需要指定父级 name
|
|
40
|
+
*/
|
|
41
|
+
parentName?: string;
|
|
42
|
+
/**
|
|
43
|
+
* @description 如果为 Form.List,则需要指定当前项的索引
|
|
44
|
+
*/
|
|
45
|
+
index?: number;
|
|
46
|
+
/**
|
|
47
|
+
* @description 需要传入和返回的数据格式,必须一致
|
|
48
|
+
* @default 'string'
|
|
49
|
+
*/
|
|
50
|
+
dataFormat?: 'string' | 'object';
|
|
51
|
+
} & FormItemProps;
|
|
52
|
+
/**
|
|
53
|
+
* @description 上传组件的配置
|
|
54
|
+
*/
|
|
55
|
+
uploadProps?: {
|
|
56
|
+
/**
|
|
57
|
+
* @description 最大上传数量
|
|
58
|
+
* @default 1
|
|
59
|
+
*/
|
|
60
|
+
maxCount?: number;
|
|
61
|
+
/**
|
|
62
|
+
* @description 接受的文件类型
|
|
63
|
+
* @default 'image'
|
|
64
|
+
*/
|
|
65
|
+
type?: 'image' | 'video' | 'document' | 'all';
|
|
66
|
+
/**
|
|
67
|
+
* @description 最大文件大小(单位:MB)
|
|
68
|
+
* @default 2
|
|
69
|
+
*/
|
|
70
|
+
maxSize?: number;
|
|
71
|
+
/**
|
|
72
|
+
* @description 是否为编辑状态
|
|
73
|
+
*/
|
|
74
|
+
isDetails?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* @description 上传列表的样式类型
|
|
77
|
+
* @default 'picture-card'
|
|
78
|
+
*/
|
|
79
|
+
listType?: 'text' | 'picture' | 'picture-card' | 'picture-circle';
|
|
80
|
+
/**
|
|
81
|
+
* @description 接受上传的文件类型;如果设置了 accept,则 type 无效
|
|
82
|
+
*/
|
|
83
|
+
accept?: string;
|
|
84
|
+
} & Omit<UploadProps, 'type'>;
|
|
85
|
+
}
|
|
86
|
+
export interface AliyunOSSUploadProps extends IProps {
|
|
87
|
+
/**
|
|
88
|
+
* @description 当前上传的文件列表
|
|
89
|
+
*/
|
|
90
|
+
value?: any[];
|
|
91
|
+
/**
|
|
92
|
+
* @description 上传文件变更事件
|
|
93
|
+
*/
|
|
94
|
+
onChange?: (value: any) => void;
|
|
95
|
+
/**
|
|
96
|
+
* @description 视频播放链接设置方法
|
|
97
|
+
*/
|
|
98
|
+
setCurrVideoLink: (value: string) => void;
|
|
99
|
+
/**
|
|
100
|
+
* @description 图片预览弹窗设置方法
|
|
101
|
+
*/
|
|
102
|
+
setPreviewOpen: (value: boolean) => void;
|
|
103
|
+
/**
|
|
104
|
+
* @description 图片预览链接设置方法
|
|
105
|
+
*/
|
|
106
|
+
setPreviewImage: (value: string) => void;
|
|
107
|
+
}
|
|
108
|
+
export interface IInitDataType {
|
|
109
|
+
content?: string;
|
|
110
|
+
name?: string;
|
|
111
|
+
fileSize?: string;
|
|
112
|
+
size?: string;
|
|
113
|
+
uid?: string;
|
|
114
|
+
url?: string;
|
|
115
|
+
response?: {
|
|
116
|
+
url: string;
|
|
117
|
+
};
|
|
118
|
+
status?: 'done' | 'error' | 'uploading' | 'removed';
|
|
119
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|