linkmore-design 1.0.84 → 1.0.87

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 (121) hide show
  1. package/dist/ConfigProvider/demos/componentSize.d.ts +2 -0
  2. package/dist/ConfigProvider/demos/style.d.ts +2 -0
  3. package/dist/ConfigProvider/index.d.ts +2 -2
  4. package/dist/Form/demos/responsive.d.ts +1 -0
  5. package/dist/Form/demos/responsiveAll.d.ts +3 -0
  6. package/dist/Form/util.d.ts +1 -0
  7. package/dist/ImageViewer/fns/index.d.ts +1 -0
  8. package/dist/Input/index.d.ts +1 -1
  9. package/dist/InputRange/demos/basic.d.ts +2 -0
  10. package/dist/InputRange/index.d.ts +8 -0
  11. package/dist/InputRange/style/index.d.ts +1 -0
  12. package/dist/LmEditTable/EditTable.d.ts +2 -0
  13. package/dist/LmTable/util.d.ts +7 -0
  14. package/dist/LmTable/virTual/VirtualTable.d.ts +2 -2
  15. package/dist/LmUpload/LmUpload.d.ts +1 -0
  16. package/dist/LmUpload/demos/formCard.d.ts +2 -0
  17. package/dist/LmUpload/fns/index.d.ts +1 -0
  18. package/dist/LmUpload/utils.d.ts +1 -0
  19. package/dist/LmUpload/wrapper/UploadWrapper.d.ts +4 -3
  20. package/dist/index.d.ts +3 -0
  21. package/dist/index.umd.js +483 -218
  22. package/dist/index.umd.min.js +5 -5
  23. package/es/Button/index.js +4 -2
  24. package/es/ConfigProvider/cssVariables.js +1 -1
  25. package/es/ConfigProvider/index.d.ts +2 -2
  26. package/es/ConfigProvider/index.js +2 -1
  27. package/es/DatePicker/generatePicker/generateSinglePicker.js +3 -3
  28. package/es/Form/container.js +2 -16
  29. package/es/Form/style/index.css +8 -2
  30. package/es/Form/util.d.ts +1 -0
  31. package/es/Form/util.js +22 -0
  32. package/es/ImageViewer/components/Carousel.js +20 -2
  33. package/es/ImageViewer/components/Thumb.js +24 -5
  34. package/es/ImageViewer/fns/index.d.ts +1 -0
  35. package/es/ImageViewer/fns/index.js +19 -2
  36. package/es/ImageViewer/style/index.css +26 -15
  37. package/es/Input/index.d.ts +1 -1
  38. package/es/Input/index.js +6 -2
  39. package/es/Input/style/index.css +9 -0
  40. package/es/InputRange/index.d.ts +8 -0
  41. package/es/InputRange/index.js +67 -0
  42. package/es/InputRange/style/index.css +511 -0
  43. package/es/InputRange/style/index.d.ts +1 -0
  44. package/es/InputRange/style/index.js +1 -0
  45. package/es/LmEditTable/EditTable.d.ts +2 -0
  46. package/es/LmEditTable/EditTable.js +19 -5
  47. package/es/LmFilter/style/index.css +159 -0
  48. package/es/LmTable/Table.js +50 -64
  49. package/es/LmTable/components/sheelTableCell.js +2 -2
  50. package/es/LmTable/style/index.css +1 -0
  51. package/es/LmTable/util.js +73 -16
  52. package/es/LmTable/virTual/VirtualTable.d.ts +2 -2
  53. package/es/LmTable/virTual/VirtualTable.js +6 -4
  54. package/es/LmUpload/LmUpload.d.ts +1 -0
  55. package/es/LmUpload/LmUpload.js +46 -26
  56. package/es/LmUpload/UploadList/ItemPicture.js +5 -4
  57. package/es/LmUpload/UploadList/ItemPictureCard.js +26 -12
  58. package/es/LmUpload/UploadList/ItemText.js +4 -3
  59. package/es/LmUpload/body/UploadCore.js +1 -1
  60. package/es/LmUpload/fns/index.d.ts +1 -0
  61. package/es/LmUpload/fns/index.js +91 -46
  62. package/es/LmUpload/style/index.css +42 -35
  63. package/es/LmUpload/utils.d.ts +1 -0
  64. package/es/LmUpload/utils.js +12 -0
  65. package/es/LmUpload/wrapper/UploadRoot.js +7 -13
  66. package/es/LmUpload/wrapper/UploadWrapper.d.ts +4 -3
  67. package/es/LmUpload/wrapper/UploadWrapper.js +1 -1
  68. package/es/Select/index.js +3 -2
  69. package/es/Tabs/index.js +3 -2
  70. package/es/index.d.ts +3 -0
  71. package/es/index.js +2 -1
  72. package/lib/Button/index.js +5 -2
  73. package/lib/ConfigProvider/cssVariables.js +1 -1
  74. package/lib/ConfigProvider/index.d.ts +2 -2
  75. package/lib/ConfigProvider/index.js +2 -1
  76. package/lib/DatePicker/generatePicker/generateSinglePicker.js +7 -7
  77. package/lib/Form/container.js +3 -16
  78. package/lib/Form/style/index.css +8 -2
  79. package/lib/Form/util.d.ts +1 -0
  80. package/lib/Form/util.js +24 -0
  81. package/lib/ImageViewer/components/Carousel.js +20 -2
  82. package/lib/ImageViewer/components/Thumb.js +25 -5
  83. package/lib/ImageViewer/fns/index.d.ts +1 -0
  84. package/lib/ImageViewer/fns/index.js +18 -1
  85. package/lib/ImageViewer/style/index.css +26 -15
  86. package/lib/Input/index.d.ts +1 -1
  87. package/lib/Input/index.js +7 -2
  88. package/lib/Input/style/index.css +9 -0
  89. package/lib/InputRange/index.d.ts +8 -0
  90. package/lib/InputRange/index.js +79 -0
  91. package/lib/InputRange/style/index.css +511 -0
  92. package/lib/InputRange/style/index.d.ts +1 -0
  93. package/lib/InputRange/style/index.js +3 -0
  94. package/lib/LmEditTable/EditTable.d.ts +2 -0
  95. package/lib/LmEditTable/EditTable.js +19 -4
  96. package/lib/LmFilter/style/index.css +159 -0
  97. package/lib/LmTable/Table.js +50 -64
  98. package/lib/LmTable/components/sheelTableCell.js +2 -2
  99. package/lib/LmTable/style/index.css +1 -0
  100. package/lib/LmTable/util.js +73 -16
  101. package/lib/LmTable/virTual/VirtualTable.d.ts +2 -2
  102. package/lib/LmTable/virTual/VirtualTable.js +6 -4
  103. package/lib/LmUpload/LmUpload.d.ts +1 -0
  104. package/lib/LmUpload/LmUpload.js +46 -26
  105. package/lib/LmUpload/UploadList/ItemPicture.js +5 -4
  106. package/lib/LmUpload/UploadList/ItemPictureCard.js +26 -12
  107. package/lib/LmUpload/UploadList/ItemText.js +4 -3
  108. package/lib/LmUpload/body/UploadCore.js +1 -1
  109. package/lib/LmUpload/fns/index.d.ts +1 -0
  110. package/lib/LmUpload/fns/index.js +89 -45
  111. package/lib/LmUpload/style/index.css +42 -35
  112. package/lib/LmUpload/utils.d.ts +1 -0
  113. package/lib/LmUpload/utils.js +17 -1
  114. package/lib/LmUpload/wrapper/UploadRoot.js +7 -13
  115. package/lib/LmUpload/wrapper/UploadWrapper.d.ts +4 -3
  116. package/lib/LmUpload/wrapper/UploadWrapper.js +2 -1
  117. package/lib/Select/index.js +4 -2
  118. package/lib/Tabs/index.js +4 -2
  119. package/lib/index.d.ts +3 -0
  120. package/lib/index.js +9 -1
  121. package/package.json +1 -1
@@ -27,24 +27,41 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
27
27
  };
28
28
 
29
29
  var LmUpload = function LmUpload(_a, ref) {
30
- var fileConfig = _a.fileConfig,
30
+ var _fileConfig = _a.fileConfig,
31
+ fileNames = _a.fileNames,
31
32
  components = _a.components,
32
33
  _ossConfig = _a.ossConfig,
33
- resetProps = __rest(_a, ["fileConfig", "components", "ossConfig"]);
34
+ resetProps = __rest(_a, ["fileConfig", "fileNames", "components", "ossConfig"]);
34
35
 
35
36
  var defaultRef = (0, _react.useRef)(null); // 仅在初始化触发一次
36
37
 
37
38
  var initConfig = (0, _react.useMemo)(function () {
38
39
  return {
39
- // 文件配置单独存储
40
- // fileConfig: {
41
- // size: 10,
42
- // type: ['jpg', 'jpeg', 'png'],
43
- // maxCount: 99,
44
- // ...(fileConfig || {}),
45
- // },
46
- // 读取字段配置
47
- fileNames: {
40
+ // 文件参数配置: 存储时的数据
41
+ fileConfig: function fileConfig(fileConfigProps) {
42
+ var file = fileConfigProps.file,
43
+ timestamp = fileConfigProps.timestamp,
44
+ fileName = fileConfigProps.fileName,
45
+ filePath = fileConfigProps.filePath,
46
+ shortlink = fileConfigProps.shortlink,
47
+ url = fileConfigProps.url;
48
+ return Object.assign({
49
+ uid: timestamp,
50
+ fileTypeCode: file.type,
51
+ fileTypeName: file.type,
52
+ fileName: fileName,
53
+ realFileName: file.name,
54
+ fileSize: file.size,
55
+ internalUrl: shortlink,
56
+ externalUrl: shortlink,
57
+ filePath: filePath,
58
+ seq: 0,
59
+ url: url,
60
+ status: 'done'
61
+ }, _fileConfig === null || _fileConfig === void 0 ? void 0 : _fileConfig(fileConfigProps));
62
+ },
63
+ // 读取字段配置: 读取存储的参数字段
64
+ fileNames: Object.assign({
48
65
  uid: 'uid',
49
66
  fileTypeCode: 'fileTypeCode',
50
67
  fileTypeName: 'fileTypeName',
@@ -55,32 +72,31 @@ var LmUpload = function LmUpload(_a, ref) {
55
72
  externalUrl: 'externalUrl',
56
73
  filePath: 'filePath',
57
74
  seq: 'seq',
58
- url: 'url'
59
- },
75
+ url: 'url',
76
+ status: 'status'
77
+ }, fileNames),
60
78
  // 初始化
61
79
  components: Object.assign({
62
80
  wrapper: null
63
81
  }, components || {})
64
82
  };
65
83
  }, []);
66
- var defaultProps = {
84
+ var defaultProps = Object.assign({
85
+ size: 100,
86
+ fileSize: 10,
67
87
  uid: 'uid',
68
- fileList: null,
69
- type: ['jpg', 'jpeg', 'png'],
70
88
  accept: '',
71
- fileSize: 10,
89
+ type: ['jpg', 'jpeg', 'png'],
72
90
  listType: 'card',
73
- size: 100,
91
+ readOnly: false,
74
92
  disabled: false,
75
- maxCount: null,
76
93
  showUploadList: true,
77
- children: null,
94
+ fileList: null,
78
95
  defaultFileList: [],
96
+ limit: null,
97
+ maxCount: null,
98
+ children: null,
79
99
  itemRender: null,
80
- readOnly: false,
81
- onRemove: function onRemove() {
82
- return true;
83
- },
84
100
  enabledOss: false,
85
101
  // oss配置
86
102
  ossConfig: function ossConfig() {
@@ -93,11 +109,15 @@ var LmUpload = function LmUpload(_a, ref) {
93
109
  bucket: 'linkmore-scm-test',
94
110
  shortlink: 'https://linkmore-scm-test.oss-cn-hangzhou.aliyuncs.com'
95
111
  }, typeof _ossConfig === 'function' ? _ossConfig() : _ossConfig);
112
+ },
113
+ // 根据返回值决定是否可删除
114
+ onRemove: function onRemove() {
115
+ return true;
96
116
  }
97
- };
117
+ }, resetProps);
98
118
  return /*#__PURE__*/_react.default.createElement(_UploadRoot.default, Object.assign({
99
119
  ref: ref || defaultRef
100
- }, initConfig, defaultProps, resetProps));
120
+ }, initConfig, defaultProps));
101
121
  };
102
122
 
103
123
  var _default = /*#__PURE__*/(0, _react.forwardRef)(LmUpload);
@@ -22,9 +22,10 @@ var PictureItem = function PictureItem(_ref) {
22
22
  var readOnly = instance.readOnly,
23
23
  remove = instance.remove,
24
24
  preview = instance.preview,
25
- download = instance.download;
25
+ download = instance.download,
26
+ fileNames = instance.fileNames;
26
27
  return /*#__PURE__*/React.createElement("div", {
27
- className: (0, _classnames.default)('lm_upload_item lm_upload_item_picture', file.status === 'error' && 'error')
28
+ className: (0, _classnames.default)('lm_upload_item lm_upload_item_picture', file[fileNames.status] === 'error' && 'lm_upload_item_error')
28
29
  }, /*#__PURE__*/React.createElement("div", {
29
30
  className: "picture_left"
30
31
  }, /*#__PURE__*/React.createElement("div", {
@@ -33,14 +34,14 @@ var PictureItem = function PictureItem(_ref) {
33
34
  return preview(file);
34
35
  }
35
36
  }, /*#__PURE__*/React.createElement("img", {
36
- src: file.url,
37
+ src: file[fileNames.url],
37
38
  alt: ""
38
39
  })), /*#__PURE__*/React.createElement("div", {
39
40
  className: "lm_upload_item_name",
40
41
  onClick: function onClick() {
41
42
  return download(file);
42
43
  }
43
- }, file.fileName)), !readOnly && /*#__PURE__*/React.createElement("div", {
44
+ }, file[fileNames.fileName])), !readOnly && /*#__PURE__*/React.createElement("div", {
44
45
  className: "picture_right lm_upload_item_action"
45
46
  }, /*#__PURE__*/React.createElement("div", {
46
47
  className: "action_delete",
@@ -28,13 +28,22 @@ var renderThumb = function renderThumb(file) {
28
28
  case 'png':
29
29
  case 'jpg':
30
30
  return /*#__PURE__*/_react.default.createElement("div", {
31
- className: "lm_upload_item_error"
31
+ className: "lm_upload_item_thumb_error"
32
32
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
33
33
  type: "lmweb-image"
34
34
  }), /*#__PURE__*/_react.default.createElement("div", {
35
35
  className: "lm_upload_item_name"
36
36
  }, file.realFileName));
37
37
 
38
+ case 'mp4':
39
+ case 'm2v':
40
+ case 'mkv':
41
+ case 'ogm':
42
+ case 'webm':
43
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
44
+ type: "lmweb-video"
45
+ });
46
+
38
47
  case 'doc':
39
48
  case 'docx':
40
49
  return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
@@ -72,24 +81,29 @@ var PictureItem = function PictureItem(_ref) {
72
81
  var readOnly = instance.readOnly,
73
82
  size = instance.size,
74
83
  remove = instance.remove,
75
- preview = instance.preview;
84
+ preview = instance.preview,
85
+ getFileFields = instance.getFileFields;
76
86
 
77
87
  var _useState = (0, _react.useState)(false),
78
88
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
79
89
  isError = _useState2[0],
80
- setIsError = _useState2[1]; // 文件信息重组
90
+ setIsError = _useState2[1]; // 文件信息重组 获取文件名称 => 截取后缀文件名
81
91
 
82
92
 
83
93
  var resetFile = (0, _react.useMemo)(function () {
84
- var fileExtension = file.realFileName.replace(/.*\./, '').toLowerCase();
85
- return Object.assign(Object.assign({}, file), {
94
+ var fileParams = getFileFields(file);
95
+ var realFileName = fileParams.realFileName,
96
+ fileName = fileParams.fileName,
97
+ filename = fileParams.filename;
98
+ var fileExtension = (realFileName || fileName || filename).replace(/.*\./, '').toLowerCase();
99
+ return Object.assign(Object.assign({}, fileParams), {
86
100
  fileExtension: fileExtension
87
101
  });
88
- }, [file]); // 预览小图
102
+ }, [getFileFields, file]); // 预览小图
89
103
 
90
104
  var thumbUrl = (0, _react.useMemo)(function () {
91
- return "".concat(file.url, "?x-oss-process=image/resize,w_").concat(size);
92
- }, [file.url, size]); // 根据文件名后缀判断
105
+ return "".concat(resetFile.url, "?x-oss-process=image/resize,w_").concat(size);
106
+ }, [resetFile.url, size]); // 根据文件名后缀判断
93
107
 
94
108
  var isImg = (0, _react.useMemo)(function () {
95
109
  return ['jpg', 'jpeg', 'png', 'gif', 'bmp'].includes(resetFile.fileExtension);
@@ -98,7 +112,7 @@ var PictureItem = function PictureItem(_ref) {
98
112
  var resetSize = (0, _react.useMemo)(function () {
99
113
  var width = size - 16;
100
114
  var padding = size > 60 ? 8 : 4;
101
- var fontSize = size > 60 ? 16 : 14;
115
+ var fontSize = size > 60 ? 16 : 12;
102
116
  return {
103
117
  width: width,
104
118
  padding: padding,
@@ -106,7 +120,7 @@ var PictureItem = function PictureItem(_ref) {
106
120
  };
107
121
  }, [size]);
108
122
  return /*#__PURE__*/_react.default.createElement("div", {
109
- className: (0, _classnames.default)('lm_upload_item', 'lm_upload_item_card', isError && 'error'),
123
+ className: (0, _classnames.default)('lm_upload_item', 'lm_upload_item_card', isError && 'lm_upload_item_error'),
110
124
  style: {
111
125
  height: size,
112
126
  width: size
@@ -132,7 +146,7 @@ var PictureItem = function PictureItem(_ref) {
132
146
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
133
147
  type: "lmweb-eye",
134
148
  style: {
135
- fontSize: size > 48 ? 16 : 12
149
+ fontSize: resetSize.fontSize
136
150
  }
137
151
  })), !readOnly && /*#__PURE__*/_react.default.createElement("div", {
138
152
  className: "action_delete",
@@ -142,7 +156,7 @@ var PictureItem = function PictureItem(_ref) {
142
156
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
143
157
  type: "lmweb-delete",
144
158
  style: {
145
- fontSize: size > 48 ? 16 : 12
159
+ fontSize: resetSize.fontSize
146
160
  }
147
161
  })))));
148
162
  };
@@ -19,9 +19,10 @@ var TextItem = function TextItem(_ref) {
19
19
  var file = _ref.file,
20
20
  instance = _ref.instance;
21
21
  var readOnly = instance.readOnly,
22
- remove = instance.remove;
22
+ remove = instance.remove,
23
+ fileNames = instance.fileNames;
23
24
  return /*#__PURE__*/React.createElement("div", {
24
- className: (0, _classnames.default)('lm_upload_item lm_upload_item_text', file.status === 'error' && 'error')
25
+ className: (0, _classnames.default)('lm_upload_item lm_upload_item_text', file[fileNames.status] === 'error' && 'lm_upload_item_error')
25
26
  }, /*#__PURE__*/React.createElement("div", {
26
27
  className: "text_left"
27
28
  }, /*#__PURE__*/React.createElement("div", {
@@ -30,7 +31,7 @@ var TextItem = function TextItem(_ref) {
30
31
  type: "lmweb-attachment"
31
32
  })), /*#__PURE__*/React.createElement("div", {
32
33
  className: "lm_upload_item_name"
33
- }, file.fileName)), !readOnly && /*#__PURE__*/React.createElement("div", {
34
+ }, file[fileNames.fileName])), !readOnly && /*#__PURE__*/React.createElement("div", {
34
35
  className: "text_right lm_upload_item_text_action"
35
36
  }, /*#__PURE__*/React.createElement("div", {
36
37
  className: "action_delete",
@@ -45,7 +45,7 @@ var UploadCore = function UploadCore(_ref) {
45
45
  if ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value) {
46
46
  inputRef.current.value = '';
47
47
  }
48
- }, [(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value]);
48
+ }, [beforeUpload, (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value]);
49
49
  var inputConfig = {
50
50
  type: 'file',
51
51
  accept: accept,
@@ -5,6 +5,7 @@ declare const useCoreOptions: ({ state, dispatch, props }: {
5
5
  }) => {
6
6
  CoreMethods: {
7
7
  getIsMaxCount: () => boolean;
8
+ getFileFields: (fileParams: any) => {};
8
9
  beforeUpload: (e: any) => false | import("../../message").MessageType;
9
10
  getUploadStatus: () => {
10
11
  uploading: boolean;
@@ -69,13 +69,38 @@ var useCoreOptions = function useCoreOptions(_ref) {
69
69
  return {
70
70
  uploading: uploading
71
71
  };
72
- }, [state.percent]); // 获取是否达到最大上传数量
72
+ }, [state.percent]); // 获取文件字段值
73
+
74
+ var getFileFields = (0, _react.useCallback)(function (fileParams) {
75
+ var fileNames = props.fileNames;
76
+ var obj = {};
77
+ Object.entries(fileNames).forEach(function (v) {
78
+ var itemKey = v[0];
79
+ var itemValue = v[1];
80
+
81
+ if (fileParams[itemKey]) {
82
+ obj[itemKey] = fileParams[itemValue];
83
+ }
84
+ });
85
+ return obj;
86
+ }, [props]); // 获取是否达到最大上传数量
73
87
 
74
88
  var getIsMaxCount = (0, _react.useCallback)(function () {
75
- return typeof props.maxCount === 'number' && !(getFileList().length < props.maxCount);
76
- }, [getFileList, props.maxCount]); // 上传完成: File, fileParams
89
+ var maxCount = props.maxCount,
90
+ limit = props.limit;
91
+ var flag = false;
92
+ var num = maxCount || limit;
93
+
94
+ if (num && typeof num === 'number') {
95
+ flag = !(getFileList().length < num);
96
+ }
97
+
98
+ return flag;
99
+ }, [getFileList, props]); // 上传成功事件: File, fileParams
100
+
101
+ var uploadSuccess = (0, _react.useCallback)(function (file, params, ossCallBack) {
102
+ var _a;
77
103
 
78
- var uploadDone = (0, _react.useCallback)(function (file, params, ossCallBack) {
79
104
  var fileList = [params].concat((0, _toConsumableArray2.default)(getFileList()));
80
105
  dispatch({
81
106
  type: 'changeFileList',
@@ -86,18 +111,25 @@ var useCoreOptions = function useCoreOptions(_ref) {
86
111
  percent: null
87
112
  }); // 上传事件:抛出 file: 文件 filelist: 文件列表 event: 上传进度信息
88
113
 
114
+ (_a = props.onSuccess) === null || _a === void 0 ? void 0 : _a.call(props, {
115
+ file: file,
116
+ fileList: fileList
117
+ });
89
118
  onChange === null || onChange === void 0 ? void 0 : onChange({
90
119
  file: file,
91
120
  fileList: fileList
92
121
  });
93
122
  ossCallBack === null || ossCallBack === void 0 ? void 0 : ossCallBack(params);
94
- }, [getFileList]); // 上传进度事件
123
+ }, [getFileList, props.onSuccess, onChange, dispatch]); // 上传进度事件
95
124
 
96
125
  var uploadProgress = (0, _react.useCallback)(function (file, _ref2) {
97
126
  var progress = _ref2.progress,
98
127
  checkPoint = _ref2.checkPoint,
99
128
  result = _ref2.result;
100
- onChange({
129
+
130
+ var _a;
131
+
132
+ var params = {
101
133
  file: file,
102
134
  fileList: getFileList(),
103
135
  event: {
@@ -106,23 +138,43 @@ var useCoreOptions = function useCoreOptions(_ref) {
106
138
  result: result,
107
139
  status: typeof progress !== 'number' ? 'done' : 'uploading'
108
140
  }
109
- });
141
+ };
142
+ (_a = props.onProgress) === null || _a === void 0 ? void 0 : _a.call(props, params);
143
+ onChange === null || onChange === void 0 ? void 0 : onChange(params);
110
144
  dispatch({
111
145
  type: 'changePercent',
112
146
  percent: Number((progress * 100).toFixed(2))
113
147
  });
114
- }, [getFileList]); // 上传至ali-oss
148
+ }, [getFileList, props.onProgress, onChange, dispatch]); // 上传失败事件
149
+
150
+ var uploadError = (0, _react.useCallback)(function (_ref3) {
151
+ var error = _ref3.error,
152
+ file = _ref3.file;
153
+ console.log('上传报错:', error);
154
+ props.onError ? props.onError({
155
+ error: error,
156
+ file: file,
157
+ fileList: getFileList()
158
+ }) : _linkmoreDesign.message.warning('文件上传失败!', 1.5);
159
+ onChange === null || onChange === void 0 ? void 0 : onChange({
160
+ file: file,
161
+ fileList: getFileList(),
162
+ event: {
163
+ status: 'error'
164
+ }
165
+ });
166
+ }, [props.onError, getFileList, onChange]); // 上传至ali-oss
115
167
 
116
168
  var uploadOss = (0, _react.useCallback)(function (file) {
117
169
  return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator.default.mark(function _callee() {
118
- var _a, _ossConfig, _ossConfig$dir, dir, shortlink, _ossConfig$region, region, accessKeyId, accessKeySecret, stsToken, _ossConfig$bucket, bucket, ossCallBack, client, timestamp, fileName, pathName, url, seq, params;
170
+ var _ossConfig, _ossConfig$dir, filePath, shortlink, _ossConfig$region, region, accessKeyId, accessKeySecret, stsToken, _ossConfig$bucket, bucket, ossCallBack, client, timestamp, fileName, pathName, url, params;
119
171
 
120
172
  return _regenerator.default.wrap(function _callee$(_context) {
121
173
  while (1) {
122
174
  switch (_context.prev = _context.next) {
123
175
  case 0:
124
176
  _context.prev = 0;
125
- _ossConfig = ossConfig(), _ossConfig$dir = _ossConfig.dir, dir = _ossConfig$dir === void 0 ? '/BizFile/4595/Supplier/' : _ossConfig$dir, shortlink = _ossConfig.shortlink, _ossConfig$region = _ossConfig.region, region = _ossConfig$region === void 0 ? 'oss-cn-hangzhou' : _ossConfig$region, accessKeyId = _ossConfig.accessKeyId, accessKeySecret = _ossConfig.accessKeySecret, stsToken = _ossConfig.stsToken, _ossConfig$bucket = _ossConfig.bucket, bucket = _ossConfig$bucket === void 0 ? 'linkmore-scm-test' : _ossConfig$bucket, ossCallBack = _ossConfig.ossCallBack;
177
+ _ossConfig = ossConfig(), _ossConfig$dir = _ossConfig.dir, filePath = _ossConfig$dir === void 0 ? '/BizFile/4595/Supplier/' : _ossConfig$dir, shortlink = _ossConfig.shortlink, _ossConfig$region = _ossConfig.region, region = _ossConfig$region === void 0 ? 'oss-cn-hangzhou' : _ossConfig$region, accessKeyId = _ossConfig.accessKeyId, accessKeySecret = _ossConfig.accessKeySecret, stsToken = _ossConfig.stsToken, _ossConfig$bucket = _ossConfig.bucket, bucket = _ossConfig$bucket === void 0 ? 'linkmore-scm-test' : _ossConfig$bucket, ossCallBack = _ossConfig.ossCallBack;
126
178
  client = new _aliOss.default({
127
179
  region: region,
128
180
  accessKeyId: accessKeyId,
@@ -132,7 +184,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
132
184
  });
133
185
  timestamp = Date.now();
134
186
  fileName = "".concat(timestamp, "-").concat(file.name);
135
- pathName = dir.slice(-1) === '/' ? "".concat(dir).concat(fileName) : "".concat(dir, "/").concat(fileName);
187
+ pathName = filePath.slice(-1) === '/' ? "".concat(filePath).concat(fileName) : "".concat(filePath, "/").concat(fileName);
136
188
  url = "".concat(shortlink).concat(pathName) || '';
137
189
  _context.next = 9;
138
190
  return client.multipartUpload(pathName, file, {
@@ -150,53 +202,44 @@ var useCoreOptions = function useCoreOptions(_ref) {
150
202
  });
151
203
 
152
204
  case 9:
153
- seq = (((_a = state.fileList) === null || _a === void 0 ? void 0 : _a.length) || 0) + 1;
154
- params = {
155
- uid: timestamp,
156
- fileTypeCode: file.type,
157
- fileTypeName: file.type,
205
+ params = props.fileConfig({
206
+ file: file,
207
+ timestamp: timestamp,
158
208
  fileName: fileName,
159
- realFileName: file.name,
160
- fileSize: file.size,
161
- internalUrl: 'internalUrl',
162
- externalUrl: 'externalUrl',
163
- filePath: dir,
164
- seq: seq,
209
+ filePath: filePath,
210
+ shortlink: shortlink,
165
211
  url: url
166
- };
167
- uploadDone(file, params, ossCallBack);
168
- _context.next = 18;
212
+ });
213
+ uploadSuccess(file, params, ossCallBack);
214
+ _context.next = 16;
169
215
  break;
170
216
 
171
- case 14:
172
- _context.prev = 14;
217
+ case 13:
218
+ _context.prev = 13;
173
219
  _context.t0 = _context["catch"](0);
174
- console.log('上传报错:', _context.t0);
175
- onChange === null || onChange === void 0 ? void 0 : onChange({
176
- file: file,
177
- fileList: getFileList(),
178
- event: {
179
- status: 'error'
180
- }
220
+ uploadError({
221
+ error: _context.t0,
222
+ file: file
181
223
  });
182
224
 
183
- case 18:
225
+ case 16:
184
226
  case "end":
185
227
  return _context.stop();
186
228
  }
187
229
  }
188
- }, _callee, null, [[0, 14]]);
230
+ }, _callee, null, [[0, 13]]);
189
231
  }));
190
- }, [ossConfig, uploadDone, uploadProgress, getFileList]);
232
+ }, [ossConfig, uploadProgress, props.fileConfig, uploadSuccess, uploadError]); // 自定义使用外部上传
233
+
191
234
  var customUpload = (0, _react.useCallback)(function (file) {
192
235
  var _a;
193
236
 
194
237
  (_a = props.fileUpload) === null || _a === void 0 ? void 0 : _a.call(props, {
195
238
  file: file,
196
239
  value: getFileList(),
197
- onChange: uploadDone
240
+ onChange: uploadSuccess
198
241
  });
199
- }, [props.fileUpload, getFileList, uploadDone]); // 上传前的检测
242
+ }, [props.fileUpload, getFileList, uploadSuccess]); // 上传前的检测
200
243
 
201
244
  var beforeUpload = (0, _react.useCallback)(function (e) {
202
245
  var files = e.target.files; // 循环文件检查是否存在不符合要求的文件
@@ -223,20 +266,20 @@ var useCoreOptions = function useCoreOptions(_ref) {
223
266
 
224
267
  var remove = (0, _react.useCallback)(function (file) {
225
268
  return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator.default.mark(function _callee2() {
226
- var _b, _c, res, fileList;
269
+ var _a, _b, res, fileList;
227
270
 
228
271
  return _regenerator.default.wrap(function _callee2$(_context2) {
229
272
  while (1) {
230
273
  switch (_context2.prev = _context2.next) {
231
274
  case 0:
232
275
  _context2.next = 2;
233
- return (_b = props.onRemove) === null || _b === void 0 ? void 0 : _b.call(props, file);
276
+ return (_a = props.onRemove) === null || _a === void 0 ? void 0 : _a.call(props, file);
234
277
 
235
278
  case 2:
236
279
  res = _context2.sent;
237
280
 
238
281
  if (res) {
239
- fileList = (_c = getFileList()) === null || _c === void 0 ? void 0 : _c.filter(function (v) {
282
+ fileList = (_b = getFileList()) === null || _b === void 0 ? void 0 : _b.filter(function (v) {
240
283
  return v[uid] !== file[uid];
241
284
  });
242
285
  dispatch({
@@ -256,21 +299,22 @@ var useCoreOptions = function useCoreOptions(_ref) {
256
299
  }
257
300
  }, _callee2);
258
301
  }));
259
- }, [props.onRemove, getFileList, uid]); // 点击文件链接或预览图标时的回调
302
+ }, [props.onRemove, getFileList, onChange, dispatch, uid]); // 点击文件链接或预览图标时的回调
260
303
 
261
304
  var preview = (0, _react.useCallback)(function (file) {
262
305
  var _a;
263
306
 
264
307
  (_a = props.onPreview) === null || _a === void 0 ? void 0 : _a.call(props, file);
265
- }, []); // 点击下载文件时的回调
308
+ }, [props.onPreview]); // 点击下载文件时的回调
266
309
 
267
310
  var download = (0, _react.useCallback)(function (file) {
268
311
  var _a;
269
312
 
270
313
  (_a = props.onDownload) === null || _a === void 0 ? void 0 : _a.call(props, file);
271
- }, []);
314
+ }, [props.onDownload]);
272
315
  var CoreMethods = {
273
316
  getIsMaxCount: getIsMaxCount,
317
+ getFileFields: getFileFields,
274
318
  beforeUpload: beforeUpload,
275
319
  getUploadStatus: getUploadStatus,
276
320
  remove: remove,