@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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hzab/form-render-mobile",
|
|
3
|
-
"version": "1.2.
|
|
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 =
|
|
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 = "
|
|
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(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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}
|