@hzab/form-render-mobile 1.1.6 → 1.2.0-beta

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,8 @@
1
- # @hzab/form-render-mobile@1.1.5
1
+ # @hzab/form-render-mobile@1.1.7
2
+
3
+ feat:支持配置摄像头相关配置
4
+
5
+ # @hzab/form-render-mobile@1.1.6
2
6
 
3
7
  fix: 修复 || 加上 三元判断
4
8
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hzab/form-render-mobile",
3
- "version": "1.1.6",
3
+ "version": "1.2.0-beta",
4
4
  "description": "formily-form-render-mobile",
5
5
  "main": "src",
6
6
  "scripts": {
@@ -1,106 +1,5 @@
1
1
  import { axios } from "@hzab/data-model";
2
-
3
- export function getSignature(opt = {}) {
4
- const { serverUrl = "/api/v1/user/oss/getWebOssConfig" } = opt;
5
- // 减 10 秒,避免发起请求时 刚好过期的情况
6
- if (
7
- window.__ossSignatureRes &&
8
- serverUrl === window.__ossSignatureRes.serverUrl &&
9
- Date.now() - window.__ossSignatureRes.__saveTime < window.__ossSignatureRes.expireTimeMillis - 10000
10
- ) {
11
- return Promise.resolve(window.__ossSignatureRes);
12
- }
13
- const { axios: _ax = axios, params = {}, axiosConf } = opt;
14
- return _ax
15
- .get(serverUrl, {
16
- ...axiosConf,
17
- params: {
18
- isPublic: 1,
19
- ...params,
20
- },
21
- })
22
- .then((res) => {
23
- window.__ossSignatureRes = res?.data?.data;
24
- if (window.__ossSignatureRes) {
25
- window.__ossSignatureRes.__saveTime = Date.now();
26
- window.__ossSignatureRes.serverUrl = serverUrl;
27
- }
28
- return window.__ossSignatureRes;
29
- });
30
- }
31
-
32
- class OssUpload {
33
- constructor(props = {}) {
34
- this.axios = props.axios || axios;
35
- this.axiosConf = props.axiosConf || {};
36
- this.serverUrl = props.serverUrl || "/api/v1/user/oss/getWebOssConfig";
37
- }
38
-
39
- getSignature(serverUrl = this.serverUrl, opt) {
40
- return getSignature({
41
- ...opt,
42
- serverUrl,
43
- axios: opt?.axios || this.axios,
44
- axiosConf: { ...this.axiosConf, ...opt?.axiosConf },
45
- });
46
- }
47
-
48
- upload(file, opt = {}) {
49
- return new Promise(async (resolve, reject) => {
50
- const ossParams = await this.getSignature(this.serverUrl, {
51
- ...opt,
52
- params: opt.signatureParams,
53
- });
54
-
55
- const { ossParams: propOssParams } = opt || {};
56
- const formData = new FormData();
57
- // key 表示上传到 Bucket 内的 Object 的完整路径,例如 exampledir/exampleobject.txtObject,完整路径中不能包含 Bucket 名称。
58
- // filename 表示待上传的本地文件名称。
59
- let filename = file?.name;
60
- if (file?.name) {
61
- const nameArr = file?.name.match(/^(.+)\.(.+)$/);
62
- if (nameArr && nameArr.length > 2) {
63
- filename = `${nameArr[1]}_${Date.now()}_${Math.round(Math.random() * 1000)}.${nameArr[2]}`;
64
- }
65
- }
66
- if (!filename) {
67
- filename = `${Date.now()}.${file.type?.replace(/\w+\/, ''/)}`;
68
- }
69
- const key = `${ossParams?.dir}${filename}`;
70
- formData.set("key", key);
71
- formData.set("OSSAccessKeyId", ossParams.accessid);
72
- formData.set("policy", ossParams.policy);
73
- formData.set("Signature", ossParams.signature);
74
- if (ossParams.callback) {
75
- formData.set("callback", ossParams.callback);
76
- }
77
- formData.set("success_action_status", 200);
78
- formData.set("file", file);
79
-
80
- if (propOssParams) {
81
- for (const key in propOssParams) {
82
- if (Object.hasOwnProperty.call(propOssParams, key)) {
83
- formData.set(key, propOssParams[key]);
84
- }
85
- }
86
- }
87
-
88
- const _axios = opt?.axios || this.axios;
89
-
90
- return _axios
91
- .post(ossParams.host, formData, { ...this.axiosConf, ...opt?.axiosConf })
92
- .then((res) => {
93
- resolve(res);
94
- return res;
95
- })
96
- .catch((err) => {
97
- console.error("oss upload err", err);
98
- reject(err);
99
- return Promise.reject(err);
100
- });
101
- });
102
- }
103
- }
2
+ import OssUpload from "@hzab/utils/src/upload/ossUpload";
104
3
 
105
4
  /**
106
5
  * 处理文件上传逻辑
@@ -128,8 +27,10 @@ export async function handleOssUpload(files, opt) {
128
27
  promise.push(
129
28
  new Promise(async (resolve, reject) => {
130
29
  const f = (await (beforeUpload && beforeUpload(file, { reject }))) || file;
30
+
131
31
  ossUpload
132
32
  .upload(f, {
33
+ ...opt,
133
34
  signatureParams: {
134
35
  isPublic: 1,
135
36
  ...(signatureParams || {}),
@@ -41,6 +41,7 @@ function Uploader(props, ref) {
41
41
  uploadBtnNode,
42
42
  // cordova插件上传类型 cordova-plugin-chooser | cordova-plugin-camera
43
43
  cordovaPlugin = "cordova-plugin-camera",
44
+ uploaderProps
44
45
  } = props;
45
46
  const [loading, setLoading] = useState(false);
46
47
  const [fileList, setFileList] = useState(handleInputFileList(value, maxCount));
@@ -142,13 +143,17 @@ function Uploader(props, ref) {
142
143
  onGalleryUopload?.({
143
144
  onUploadSuccess: (res) => {
144
145
  onFileChange({
145
- persist: () => {},
146
+ persist: () => { },
146
147
  target: {
147
148
  value: "",
148
149
  files: [res],
149
150
  },
150
151
  });
151
152
  },
153
+ options: {
154
+ cameraDirection: uploaderProps?.CameraConf?.frontCamera ? Camera.Direction.FRONT : null,
155
+ ...uploaderProps?.CameraConf
156
+ }
152
157
  });
153
158
  } else if (window?.chooser && cordovaPlugin === "cordova-plugin-chooser") {
154
159
  uploadManagerRef.current.uploadFile({
@@ -159,7 +164,7 @@ function Uploader(props, ref) {
159
164
  },
160
165
  onSuccess(values) {
161
166
  onFileChange({
162
- persist: () => {},
167
+ persist: () => { },
163
168
  target: {
164
169
  value: "",
165
170
  files: [values.blob],
@@ -178,7 +183,7 @@ function Uploader(props, ref) {
178
183
  case "captureImage":
179
184
  getImage(props.imgPluginOpt, props.getImgOpt).then((res) => {
180
185
  onFileChange({
181
- persist: () => {},
186
+ persist: () => { },
182
187
  target: {
183
188
  value: "",
184
189
  files: [res],
@@ -190,7 +195,7 @@ function Uploader(props, ref) {
190
195
  case "captureVideo":
191
196
  getVideo().then((res) => {
192
197
  onFileChange({
193
- persist: () => {},
198
+ persist: () => { },
194
199
  target: {
195
200
  value: "",
196
201
  files: [res],