@hzab/form-render-mobile 1.2.6 → 1.2.8

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/CHANGELOG.md CHANGED
@@ -1,4 +1,12 @@
1
- # @hzab/form-render-mobile@1.2.5
1
+ # @hzab/form-render-mobile@1.2.8
2
+
3
+ feat: uploader 增加点击回调
4
+
5
+ # @hzab/form-render-mobile@1.2.7
6
+
7
+ fix: 图片链接添加 query
8
+
9
+ # @hzab/form-render-mobile@1.2.6
2
10
 
3
11
  fix: 缩略图后缀名更换
4
12
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hzab/form-render-mobile",
3
- "version": "1.2.6",
3
+ "version": "1.2.8",
4
4
  "description": "formily-form-render-mobile",
5
5
  "main": "src",
6
6
  "scripts": {
@@ -49,6 +49,7 @@
49
49
  "@formily/core": "2.2.29",
50
50
  "@formily/react": "2.2.29",
51
51
  "@hzab/data-model": "^0.0.3",
52
+ "@hzab/utils": "^1.0.16",
52
53
  "antd-mobile": "^5.32.0",
53
54
  "antd-mobile-icons": "^0.2.2",
54
55
  "nanoid": "^3.3.7",
@@ -1,6 +1,6 @@
1
1
  import { nanoid } from "nanoid";
2
2
  import { getFormRenderGlobalServeConfig } from "../../../globalConfig";
3
-
3
+ import { addQuery } from "@hzab/utils/src/url";
4
4
  /**
5
5
  * 建立一个可以存取该 file 的 url
6
6
  * @param {Object} file 文件
@@ -104,16 +104,7 @@ export function handleMaxCount(fileList, maxCount) {
104
104
  }
105
105
  return list;
106
106
  }
107
- /**判断是否私有 */
108
- const isSelf = (selfUrlList, fileUrl) => {
109
- let flag = "?";
110
- selfUrlList?.forEach((el) => {
111
- if (fileUrl?.startsWith(el)) {
112
- flag = "&";
113
- }
114
- });
115
- return flag;
116
- };
107
+
117
108
  /**
118
109
  * 处理传入的数据,数据格式统一转成 Array<fileObject>
119
110
  * @param {Array} fileList Array<fileObject|string>
@@ -134,7 +125,7 @@ export function handleInputFileList(_fileList, maxCount = 1, opt) {
134
125
  const uid = nanoid();
135
126
  let thumbnailUrl = "";
136
127
  if (getFormRenderGlobalServeConfig()?.showThumbnail) {
137
- thumbnailUrl = `${file}${opt?.thumbnailParams ? isSelf(opt?.selfUrlList, file) + opt?.thumbnailParams : ""}`;
128
+ thumbnailUrl = addQuery(file, opt?.thumbnailParams);
138
129
  }
139
130
  return {
140
131
  name: uid,
@@ -40,28 +40,30 @@ function Uploader(props, ref) {
40
40
  onCountExceed,
41
41
  headers,
42
42
  uploadBtnNode,
43
+ uploadCallback,
43
44
  // cordova插件上传类型 cordova-plugin-chooser | cordova-plugin-camera
44
45
  cordovaPlugin = "cordova-plugin-camera",
45
46
  uploaderProps,
46
- thumbnailParams = "image_process=resize,w_200",
47
- selfUrlList = ["https://self-oss.abt.hzabjt.com"]
47
+ thumbnailParams = { image_process: "resize,w_200" },
48
48
  } = props;
49
49
  const [loading, setLoading] = useState(false);
50
- const [fileList, setFileList] = useState(handleInputFileList(value, maxCount, {
51
- thumbnailParams,
52
- ossOpt,
53
- selfUrlList
54
- }));
50
+ const [fileList, setFileList] = useState(
51
+ handleInputFileList(value, maxCount, {
52
+ thumbnailParams,
53
+ ossOpt,
54
+ }),
55
+ );
55
56
  const [actionSheetVisible, setActionSheetVisible] = useState(false);
56
57
  const uploadManagerRef = useRef(new uploadManager(new ChooserUploader()));
57
58
 
58
59
  useEffect(() => {
59
- setFileList(handleInputFileList(value, maxCount, {
60
- thumbnailParams,
61
- ossOpt,
62
- selfUrlList
63
- }));
64
- }, [value, thumbnailParams, ossOpt]);
60
+ setFileList(
61
+ handleInputFileList(value, maxCount, {
62
+ thumbnailParams,
63
+ ossOpt,
64
+ }),
65
+ );
66
+ }, [value, ossOpt]);
65
67
 
66
68
  useImperativeHandle(ref, () => ({ onPicker, setActionSheetVisible }));
67
69
 
@@ -99,7 +101,7 @@ function Uploader(props, ref) {
99
101
  axiosConf: props?.axiosConf,
100
102
  ...ossOpt,
101
103
  ossUrl,
102
- thumbnailParams
104
+ thumbnailParams,
103
105
  });
104
106
  setLoading(false);
105
107
  }
@@ -155,7 +157,7 @@ function Uploader(props, ref) {
155
157
  onGalleryUopload?.({
156
158
  onUploadSuccess: (res) => {
157
159
  onFileChange({
158
- persist: () => { },
160
+ persist: () => {},
159
161
  target: {
160
162
  value: "",
161
163
  files: [res],
@@ -164,8 +166,8 @@ function Uploader(props, ref) {
164
166
  },
165
167
  options: {
166
168
  cameraDirection: uploaderProps?.CameraConf?.frontCamera ? Camera.Direction.FRONT : null,
167
- ...uploaderProps?.CameraConf
168
- }
169
+ ...uploaderProps?.CameraConf,
170
+ },
169
171
  });
170
172
  } else if (window?.chooser && cordovaPlugin === "cordova-plugin-chooser") {
171
173
  uploadManagerRef.current.uploadFile({
@@ -176,7 +178,7 @@ function Uploader(props, ref) {
176
178
  },
177
179
  onSuccess(values) {
178
180
  onFileChange({
179
- persist: () => { },
181
+ persist: () => {},
180
182
  target: {
181
183
  value: "",
182
184
  files: [values.blob],
@@ -195,7 +197,7 @@ function Uploader(props, ref) {
195
197
  case "captureImage":
196
198
  getImage(props.imgPluginOpt, props.getImgOpt).then((res) => {
197
199
  onFileChange({
198
- persist: () => { },
200
+ persist: () => {},
199
201
  target: {
200
202
  value: "",
201
203
  files: [res],
@@ -207,7 +209,7 @@ function Uploader(props, ref) {
207
209
  case "captureVideo":
208
210
  getVideo().then((res) => {
209
211
  onFileChange({
210
- persist: () => { },
212
+ persist: () => {},
211
213
  target: {
212
214
  value: "",
213
215
  files: [res],
@@ -273,10 +275,12 @@ function Uploader(props, ref) {
273
275
  <>
274
276
  <div
275
277
  className={`uploader-add-btn ${loading ? "uploader-add-btn-loading" : ""}`}
276
- onClick={() => {
278
+ onClick={async () => {
277
279
  if (loading) {
278
280
  return;
279
281
  }
282
+ uploadCallback && (await uploadCallback());
283
+
280
284
  setActionSheetVisible(true);
281
285
  }}
282
286
  loading={loading}