ydb-components-material 0.1.201 → 0.1.202

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 (34) hide show
  1. package/build/docs/404.html +3 -3
  2. package/build/docs/_demos/:uuid +3 -3
  3. package/build/docs/colorful-button.html +3 -3
  4. package/build/docs/colorful-input.html +3 -3
  5. package/build/docs/index.html +3 -3
  6. package/build/docs/{umi.c6775933.css → umi.a4eecfb4.css} +1 -1
  7. package/build/docs/{umi.4aa6a455.js → umi.fcaa9315.js} +1 -1
  8. package/build/docs/~demos/:uuid.html +3 -3
  9. package/build/docs/~demos/colorful-button-demo.html +3 -3
  10. package/build/docs/~demos/colorful-input-demo.html +3 -3
  11. package/build/lowcode/assets-daily.json +11 -11
  12. package/build/lowcode/assets-dev.json +2 -2
  13. package/build/lowcode/assets-prod.json +11 -11
  14. package/build/lowcode/meta.js +1 -1
  15. package/build/lowcode/render/default/view.css +1 -1
  16. package/build/lowcode/render/default/view.js +1 -1
  17. package/build/lowcode/view.css +1 -1
  18. package/build/lowcode/view.js +1 -1
  19. package/dist/BizComps.css +1 -1
  20. package/dist/BizComps.js +1 -1
  21. package/dist/BizComps.js.map +1 -1
  22. package/es/components/file-list/index.js +2 -1
  23. package/es/components/file-list/merge.d.ts +1 -0
  24. package/es/components/file-list/merge.js +113 -41
  25. package/es/components/file-list/merge.scss +18 -0
  26. package/es/components/sign-file/mobile.js +0 -1
  27. package/lib/components/file-list/index.js +2 -1
  28. package/lib/components/file-list/merge.d.ts +1 -0
  29. package/lib/components/file-list/merge.js +114 -42
  30. package/lib/components/file-list/merge.scss +18 -0
  31. package/lib/components/sign-file/mobile.js +0 -1
  32. package/lowcode_es/meta.js +1 -1
  33. package/lowcode_lib/meta.js +1 -1
  34. package/package.json +3 -3
@@ -449,7 +449,8 @@ var FileList = function FileList(_ref) {
449
449
  tokenTY: tokenTY,
450
450
  materialName: curMerge.materialName,
451
451
  openLoading: openLoading,
452
- closeLoading: closeLoading
452
+ closeLoading: closeLoading,
453
+ isPC: isPC
453
454
  }));
454
455
  };
455
456
  export default FileList;
@@ -13,6 +13,7 @@ export interface MergeProps {
13
13
  materialName: string;
14
14
  openLoading: () => void;
15
15
  closeLoading: () => void;
16
+ isPC?: boolean;
16
17
  }
17
18
  declare const Merge: React.FC<MergeProps>;
18
19
  export default Merge;
@@ -1,3 +1,4 @@
1
+ import _Message from "@alifd/next/es/message";
1
2
  import _extends from "@babel/runtime/helpers/extends";
2
3
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
4
  import _regeneratorRuntime from "@babel/runtime/regenerator";
@@ -18,19 +19,23 @@ var Merge = function Merge(_ref) {
18
19
  tokenTY = _ref.tokenTY,
19
20
  openLoading = _ref.openLoading,
20
21
  closeLoading = _ref.closeLoading,
21
- close = _ref.close;
22
+ close = _ref.close,
23
+ isPC = _ref.isPC;
22
24
  var _useState = useState(''),
23
25
  viewUrl = _useState[0],
24
26
  setViewUrl = _useState[1];
25
- var _useState2 = useState(''),
26
- viewPdfUrl = _useState2[0],
27
- setViewPdfUrl = _useState2[1];
28
- var _useState3 = useState(null),
29
- blob = _useState3[0],
30
- setBlob = _useState3[1];
31
- var _useState4 = useState(fileList),
32
- materialList = _useState4[0],
33
- setMaterialList = _useState4[1];
27
+ var _useState2 = useState(false),
28
+ isShowPreview = _useState2[0],
29
+ setIsShowPreview = _useState2[1];
30
+ var _useState3 = useState(''),
31
+ viewPdfUrl = _useState3[0],
32
+ setViewPdfUrl = _useState3[1];
33
+ var _useState4 = useState(null),
34
+ blob = _useState4[0],
35
+ setBlob = _useState4[1];
36
+ var _useState5 = useState(fileList),
37
+ materialList = _useState5[0],
38
+ setMaterialList = _useState5[1];
34
39
 
35
40
  // 置顶
36
41
  var top = function top(index) {
@@ -185,9 +190,9 @@ var Merge = function Merge(_ref) {
185
190
  };
186
191
 
187
192
  // 核心:多张图片合并PDF
188
- var imgsToPdf = /*#__PURE__*/function () {
193
+ var buildPdfBlob = /*#__PURE__*/function () {
189
194
  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
190
- var pdf, i, fileUrl, _blob, file, img, targetWidth, scale, targetHeight, pdfBlob, blobUrl;
195
+ var pdf, i, fileUrl, _blob, file, img, targetWidth, scale, targetHeight;
191
196
  return _regeneratorRuntime.wrap(function (_context2) {
192
197
  while (1) switch (_context2.prev = _context2.next) {
193
198
  case 0:
@@ -238,56 +243,112 @@ var Merge = function Merge(_ref) {
238
243
  _context2.next = 1;
239
244
  break;
240
245
  case 5:
241
- // 1. 获取 Blob
242
- pdfBlob = pdf.output('blob');
243
- setBlob(pdfBlob);
244
-
245
- // 2. 创建 Blob URL
246
- blobUrl = URL.createObjectURL(pdfBlob);
247
- setViewPdfUrl(blobUrl);
246
+ return _context2.abrupt("return", pdf.output('blob'));
248
247
  case 6:
249
248
  case "end":
250
249
  return _context2.stop();
251
250
  }
252
251
  }, _callee2);
253
252
  }));
254
- return function imgsToPdf() {
253
+ return function buildPdfBlob() {
255
254
  return _ref3.apply(this, arguments);
256
255
  };
257
256
  }();
258
- var uploadPdf = /*#__PURE__*/function () {
257
+
258
+ // PC:先拼出 PDF,再用 iframe 交给浏览器内置的 PDF 查看器预览
259
+ var imgsToPdf = /*#__PURE__*/function () {
259
260
  var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
260
- var formData;
261
+ var pdfBlob;
261
262
  return _regeneratorRuntime.wrap(function (_context3) {
262
263
  while (1) switch (_context3.prev = _context3.next) {
264
+ case 0:
265
+ _context3.next = 1;
266
+ return buildPdfBlob();
267
+ case 1:
268
+ pdfBlob = _context3.sent;
269
+ setBlob(pdfBlob);
270
+ setViewPdfUrl(URL.createObjectURL(pdfBlob));
271
+ setIsShowPreview(true);
272
+ case 2:
273
+ case "end":
274
+ return _context3.stop();
275
+ }
276
+ }, _callee3);
277
+ }));
278
+ return function imgsToPdf() {
279
+ return _ref4.apply(this, arguments);
280
+ };
281
+ }();
282
+
283
+ // 移动端:WebView 没有内置 PDF 查看器(iframe 里的 blob PDF 渲染不出来),
284
+ // 直接按顺序滚动预览图片,内容与 PDF 一致;PDF 留到点「确认无误」时再生成
285
+ var openImgPreview = function openImgPreview() {
286
+ return setIsShowPreview(true);
287
+ };
288
+ var previewMaterial = function previewMaterial() {
289
+ return isPC ? imgsToPdf() : openImgPreview();
290
+ };
291
+ var uploadPdf = /*#__PURE__*/function () {
292
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
293
+ var pdfBlob, formData, response, res, _t2, _t3;
294
+ return _regeneratorRuntime.wrap(function (_context4) {
295
+ while (1) switch (_context4.prev = _context4.next) {
263
296
  case 0:
264
297
  openLoading();
298
+ _context4.prev = 1;
299
+ _t2 = blob;
300
+ if (_t2) {
301
+ _context4.next = 3;
302
+ break;
303
+ }
304
+ _context4.next = 2;
305
+ return buildPdfBlob();
306
+ case 2:
307
+ _t2 = _context4.sent;
308
+ case 3:
309
+ pdfBlob = _t2;
310
+ if (!blob) setBlob(pdfBlob);
265
311
  formData = new FormData();
266
- formData.append('file', blob, materialName + '.pdf');
312
+ formData.append('file', pdfBlob, materialName + '.pdf');
267
313
  formData.append('open', true);
268
- fetch(baseUrl + "/declaration/material/file/files/api", {
314
+ _context4.next = 4;
315
+ return fetch(baseUrl + "/declaration/material/file/files/api", {
269
316
  method: 'POST',
270
317
  body: formData,
271
318
  headers: {
272
319
  'Authorization': tokenTY || ''
273
320
  }
274
- }).then(function (response) {
275
- return response.json();
276
- }).then(function (res) {
277
- console.log(res);
278
- valChange(_extends({}, res, {
279
- fileName: materialName + '.pdf'
280
- }));
281
- closeLoading();
282
321
  });
283
- case 1:
322
+ case 4:
323
+ response = _context4.sent;
324
+ _context4.next = 5;
325
+ return response.json();
326
+ case 5:
327
+ res = _context4.sent;
328
+ console.log(res);
329
+ valChange(_extends({}, res, {
330
+ fileName: materialName + '.pdf'
331
+ }));
332
+ _context4.next = 7;
333
+ break;
334
+ case 6:
335
+ _context4.prev = 6;
336
+ _t3 = _context4["catch"](1);
337
+ console.error(_t3);
338
+ _Message.error('生成或上传失败,请重试');
339
+ case 7:
340
+ _context4.prev = 7;
341
+ // 原来只在成功分支里关,失败时全屏 loading 会一直挂着
342
+ closeLoading();
343
+ return _context4.finish(7);
344
+ case 8:
284
345
  case "end":
285
- return _context3.stop();
346
+ return _context4.stop();
286
347
  }
287
- }, _callee3);
348
+ }, _callee4, null, [[1, 6, 7, 8]]);
288
349
  }));
289
350
  return function uploadPdf() {
290
- return _ref4.apply(this, arguments);
351
+ return _ref5.apply(this, arguments);
291
352
  };
292
353
  }();
293
354
  return /*#__PURE__*/React.createElement("div", {
@@ -355,7 +416,7 @@ var Merge = function Merge(_ref) {
355
416
  onClick: close
356
417
  }, "\u4E0A\u4E00\u6B65"), /*#__PURE__*/React.createElement("div", {
357
418
  className: "preview btn",
358
- onClick: imgsToPdf
419
+ onClick: previewMaterial
359
420
  }, "\u9884\u89C8\u6750\u6599")), viewUrl && /*#__PURE__*/React.createElement("div", {
360
421
  className: "viewImg"
361
422
  }, /*#__PURE__*/React.createElement(CloseOutlined, {
@@ -367,15 +428,26 @@ var Merge = function Merge(_ref) {
367
428
  className: "view",
368
429
  src: viewUrl,
369
430
  alt: ""
370
- })), viewPdfUrl && /*#__PURE__*/React.createElement("div", {
431
+ })), isShowPreview && /*#__PURE__*/React.createElement("div", {
371
432
  className: "view_pdf"
372
- }, /*#__PURE__*/React.createElement("iframe", {
433
+ }, isPC ? /*#__PURE__*/React.createElement("iframe", {
373
434
  src: viewPdfUrl + '#toolbar=0&navpanes=0&scrollbar=0&messages=0&statusbar=0',
374
435
  id: "iframe",
375
436
  frameBorder: "0",
376
437
  height: "95%",
377
438
  width: "100%"
378
- }), /*#__PURE__*/React.createElement("div", {
439
+ }) :
440
+ /*#__PURE__*/
441
+ // 移动端 WebView 没有内置 PDF 查看器,iframe 里的 blob PDF 渲染不出来,改为直接滚动预览图片
442
+ React.createElement("div", {
443
+ className: "view_imgs"
444
+ }, materialList.map(function (item) {
445
+ return /*#__PURE__*/React.createElement("img", {
446
+ key: item.fileId,
447
+ src: item.fileUrl,
448
+ alt: ""
449
+ });
450
+ })), /*#__PURE__*/React.createElement("div", {
379
451
  className: "bottom_btn",
380
452
  style: {
381
453
  background: '#fff',
@@ -384,7 +456,7 @@ var Merge = function Merge(_ref) {
384
456
  }, /*#__PURE__*/React.createElement("div", {
385
457
  className: "previous btn",
386
458
  onClick: function onClick() {
387
- return setViewPdfUrl('');
459
+ return setIsShowPreview(false);
388
460
  }
389
461
  }, "\u8FD4\u56DE\u4FEE\u6539"), /*#__PURE__*/React.createElement("div", {
390
462
  className: "preview btn",
@@ -112,6 +112,24 @@
112
112
  height: 100%;
113
113
  z-index: 999;
114
114
  }
115
+ // 移动端:按顺序滚动预览待合并的图片(代替渲染不出来的 PDF iframe)
116
+ .view_imgs {
117
+ height: 100%;
118
+ box-sizing: border-box;
119
+ overflow-y: auto;
120
+ -webkit-overflow-scrolling: touch;
121
+ background: #ffffff;
122
+ // 底部留出固定按钮的位置,别让最后一张图被压住
123
+ padding: 12px 12px 100px;
124
+
125
+ img {
126
+ display: block;
127
+ width: 100%;
128
+ margin-bottom: 12px;
129
+ border-radius: 4px;
130
+ background: #ffffff;
131
+ }
132
+ }
115
133
  .viewImg {
116
134
  background-color: #3333336a;
117
135
  position: fixed;
@@ -22,7 +22,6 @@ var SignFileMobile = function SignFileMobile(props) {
22
22
  var _useSignFile = useSignFile(props, {
23
23
  withThumbnail: true
24
24
  }),
25
- fileName = _useSignFile.fileName,
26
25
  originalFileId = _useSignFile.originalFileId,
27
26
  guideImg = _useSignFile.guideImg,
28
27
  thumbnail = _useSignFile.thumbnail,
@@ -455,7 +455,8 @@ var FileList = function FileList(_ref) {
455
455
  tokenTY: tokenTY,
456
456
  materialName: curMerge.materialName,
457
457
  openLoading: openLoading,
458
- closeLoading: closeLoading
458
+ closeLoading: closeLoading,
459
+ isPC: isPC
459
460
  }));
460
461
  };
461
462
  var _default = exports["default"] = FileList;
@@ -13,6 +13,7 @@ export interface MergeProps {
13
13
  materialName: string;
14
14
  openLoading: () => void;
15
15
  closeLoading: () => void;
16
+ isPC?: boolean;
16
17
  }
17
18
  declare const Merge: React.FC<MergeProps>;
18
19
  export default Merge;
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  exports.__esModule = true;
5
5
  exports["default"] = void 0;
6
6
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
7
+ var _message = _interopRequireDefault(require("@alifd/next/lib/message"));
7
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
9
10
  var _react = _interopRequireWildcard(require("react"));
@@ -13,7 +14,7 @@ var _reactBeautifulDnd = require("react-beautiful-dnd");
13
14
  var _icons = require("@ant-design/icons");
14
15
  var _jspdf = _interopRequireDefault(require("jspdf"));
15
16
  require("./merge.scss");
16
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
17
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t4 in e) "default" !== _t4 && {}.hasOwnProperty.call(e, _t4) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t4)) && (i.get || i.set) ? o(f, _t4, i) : f[_t4] = e[_t4]); return f; })(e, t); }
17
18
  // 1. 引入 useState
18
19
 
19
20
  var Merge = function Merge(_ref) {
@@ -26,19 +27,23 @@ var Merge = function Merge(_ref) {
26
27
  tokenTY = _ref.tokenTY,
27
28
  openLoading = _ref.openLoading,
28
29
  closeLoading = _ref.closeLoading,
29
- close = _ref.close;
30
+ close = _ref.close,
31
+ isPC = _ref.isPC;
30
32
  var _useState = (0, _react.useState)(''),
31
33
  viewUrl = _useState[0],
32
34
  setViewUrl = _useState[1];
33
- var _useState2 = (0, _react.useState)(''),
34
- viewPdfUrl = _useState2[0],
35
- setViewPdfUrl = _useState2[1];
36
- var _useState3 = (0, _react.useState)(null),
37
- blob = _useState3[0],
38
- setBlob = _useState3[1];
39
- var _useState4 = (0, _react.useState)(fileList),
40
- materialList = _useState4[0],
41
- setMaterialList = _useState4[1];
35
+ var _useState2 = (0, _react.useState)(false),
36
+ isShowPreview = _useState2[0],
37
+ setIsShowPreview = _useState2[1];
38
+ var _useState3 = (0, _react.useState)(''),
39
+ viewPdfUrl = _useState3[0],
40
+ setViewPdfUrl = _useState3[1];
41
+ var _useState4 = (0, _react.useState)(null),
42
+ blob = _useState4[0],
43
+ setBlob = _useState4[1];
44
+ var _useState5 = (0, _react.useState)(fileList),
45
+ materialList = _useState5[0],
46
+ setMaterialList = _useState5[1];
42
47
 
43
48
  // 置顶
44
49
  var top = function top(index) {
@@ -193,9 +198,9 @@ var Merge = function Merge(_ref) {
193
198
  };
194
199
 
195
200
  // 核心:多张图片合并PDF
196
- var imgsToPdf = /*#__PURE__*/function () {
201
+ var buildPdfBlob = /*#__PURE__*/function () {
197
202
  var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
198
- var pdf, i, fileUrl, _blob, file, img, targetWidth, scale, targetHeight, pdfBlob, blobUrl;
203
+ var pdf, i, fileUrl, _blob, file, img, targetWidth, scale, targetHeight;
199
204
  return _regenerator["default"].wrap(function (_context2) {
200
205
  while (1) switch (_context2.prev = _context2.next) {
201
206
  case 0:
@@ -246,56 +251,112 @@ var Merge = function Merge(_ref) {
246
251
  _context2.next = 1;
247
252
  break;
248
253
  case 5:
249
- // 1. 获取 Blob
250
- pdfBlob = pdf.output('blob');
251
- setBlob(pdfBlob);
252
-
253
- // 2. 创建 Blob URL
254
- blobUrl = URL.createObjectURL(pdfBlob);
255
- setViewPdfUrl(blobUrl);
254
+ return _context2.abrupt("return", pdf.output('blob'));
256
255
  case 6:
257
256
  case "end":
258
257
  return _context2.stop();
259
258
  }
260
259
  }, _callee2);
261
260
  }));
262
- return function imgsToPdf() {
261
+ return function buildPdfBlob() {
263
262
  return _ref3.apply(this, arguments);
264
263
  };
265
264
  }();
266
- var uploadPdf = /*#__PURE__*/function () {
265
+
266
+ // PC:先拼出 PDF,再用 iframe 交给浏览器内置的 PDF 查看器预览
267
+ var imgsToPdf = /*#__PURE__*/function () {
267
268
  var _ref4 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
268
- var formData;
269
+ var pdfBlob;
269
270
  return _regenerator["default"].wrap(function (_context3) {
270
271
  while (1) switch (_context3.prev = _context3.next) {
272
+ case 0:
273
+ _context3.next = 1;
274
+ return buildPdfBlob();
275
+ case 1:
276
+ pdfBlob = _context3.sent;
277
+ setBlob(pdfBlob);
278
+ setViewPdfUrl(URL.createObjectURL(pdfBlob));
279
+ setIsShowPreview(true);
280
+ case 2:
281
+ case "end":
282
+ return _context3.stop();
283
+ }
284
+ }, _callee3);
285
+ }));
286
+ return function imgsToPdf() {
287
+ return _ref4.apply(this, arguments);
288
+ };
289
+ }();
290
+
291
+ // 移动端:WebView 没有内置 PDF 查看器(iframe 里的 blob PDF 渲染不出来),
292
+ // 直接按顺序滚动预览图片,内容与 PDF 一致;PDF 留到点「确认无误」时再生成
293
+ var openImgPreview = function openImgPreview() {
294
+ return setIsShowPreview(true);
295
+ };
296
+ var previewMaterial = function previewMaterial() {
297
+ return isPC ? imgsToPdf() : openImgPreview();
298
+ };
299
+ var uploadPdf = /*#__PURE__*/function () {
300
+ var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
301
+ var pdfBlob, formData, response, res, _t2, _t3;
302
+ return _regenerator["default"].wrap(function (_context4) {
303
+ while (1) switch (_context4.prev = _context4.next) {
271
304
  case 0:
272
305
  openLoading();
306
+ _context4.prev = 1;
307
+ _t2 = blob;
308
+ if (_t2) {
309
+ _context4.next = 3;
310
+ break;
311
+ }
312
+ _context4.next = 2;
313
+ return buildPdfBlob();
314
+ case 2:
315
+ _t2 = _context4.sent;
316
+ case 3:
317
+ pdfBlob = _t2;
318
+ if (!blob) setBlob(pdfBlob);
273
319
  formData = new FormData();
274
- formData.append('file', blob, materialName + '.pdf');
320
+ formData.append('file', pdfBlob, materialName + '.pdf');
275
321
  formData.append('open', true);
276
- fetch(baseUrl + "/declaration/material/file/files/api", {
322
+ _context4.next = 4;
323
+ return fetch(baseUrl + "/declaration/material/file/files/api", {
277
324
  method: 'POST',
278
325
  body: formData,
279
326
  headers: {
280
327
  'Authorization': tokenTY || ''
281
328
  }
282
- }).then(function (response) {
283
- return response.json();
284
- }).then(function (res) {
285
- console.log(res);
286
- valChange((0, _extends2["default"])({}, res, {
287
- fileName: materialName + '.pdf'
288
- }));
289
- closeLoading();
290
329
  });
291
- case 1:
330
+ case 4:
331
+ response = _context4.sent;
332
+ _context4.next = 5;
333
+ return response.json();
334
+ case 5:
335
+ res = _context4.sent;
336
+ console.log(res);
337
+ valChange((0, _extends2["default"])({}, res, {
338
+ fileName: materialName + '.pdf'
339
+ }));
340
+ _context4.next = 7;
341
+ break;
342
+ case 6:
343
+ _context4.prev = 6;
344
+ _t3 = _context4["catch"](1);
345
+ console.error(_t3);
346
+ _message["default"].error('生成或上传失败,请重试');
347
+ case 7:
348
+ _context4.prev = 7;
349
+ // 原来只在成功分支里关,失败时全屏 loading 会一直挂着
350
+ closeLoading();
351
+ return _context4.finish(7);
352
+ case 8:
292
353
  case "end":
293
- return _context3.stop();
354
+ return _context4.stop();
294
355
  }
295
- }, _callee3);
356
+ }, _callee4, null, [[1, 6, 7, 8]]);
296
357
  }));
297
358
  return function uploadPdf() {
298
- return _ref4.apply(this, arguments);
359
+ return _ref5.apply(this, arguments);
299
360
  };
300
361
  }();
301
362
  return /*#__PURE__*/React.createElement("div", {
@@ -363,7 +424,7 @@ var Merge = function Merge(_ref) {
363
424
  onClick: close
364
425
  }, "\u4E0A\u4E00\u6B65"), /*#__PURE__*/React.createElement("div", {
365
426
  className: "preview btn",
366
- onClick: imgsToPdf
427
+ onClick: previewMaterial
367
428
  }, "\u9884\u89C8\u6750\u6599")), viewUrl && /*#__PURE__*/React.createElement("div", {
368
429
  className: "viewImg"
369
430
  }, /*#__PURE__*/React.createElement(_icons.CloseOutlined, {
@@ -375,15 +436,26 @@ var Merge = function Merge(_ref) {
375
436
  className: "view",
376
437
  src: viewUrl,
377
438
  alt: ""
378
- })), viewPdfUrl && /*#__PURE__*/React.createElement("div", {
439
+ })), isShowPreview && /*#__PURE__*/React.createElement("div", {
379
440
  className: "view_pdf"
380
- }, /*#__PURE__*/React.createElement("iframe", {
441
+ }, isPC ? /*#__PURE__*/React.createElement("iframe", {
381
442
  src: viewPdfUrl + '#toolbar=0&navpanes=0&scrollbar=0&messages=0&statusbar=0',
382
443
  id: "iframe",
383
444
  frameBorder: "0",
384
445
  height: "95%",
385
446
  width: "100%"
386
- }), /*#__PURE__*/React.createElement("div", {
447
+ }) :
448
+ /*#__PURE__*/
449
+ // 移动端 WebView 没有内置 PDF 查看器,iframe 里的 blob PDF 渲染不出来,改为直接滚动预览图片
450
+ React.createElement("div", {
451
+ className: "view_imgs"
452
+ }, materialList.map(function (item) {
453
+ return /*#__PURE__*/React.createElement("img", {
454
+ key: item.fileId,
455
+ src: item.fileUrl,
456
+ alt: ""
457
+ });
458
+ })), /*#__PURE__*/React.createElement("div", {
387
459
  className: "bottom_btn",
388
460
  style: {
389
461
  background: '#fff',
@@ -392,7 +464,7 @@ var Merge = function Merge(_ref) {
392
464
  }, /*#__PURE__*/React.createElement("div", {
393
465
  className: "previous btn",
394
466
  onClick: function onClick() {
395
- return setViewPdfUrl('');
467
+ return setIsShowPreview(false);
396
468
  }
397
469
  }, "\u8FD4\u56DE\u4FEE\u6539"), /*#__PURE__*/React.createElement("div", {
398
470
  className: "preview btn",
@@ -112,6 +112,24 @@
112
112
  height: 100%;
113
113
  z-index: 999;
114
114
  }
115
+ // 移动端:按顺序滚动预览待合并的图片(代替渲染不出来的 PDF iframe)
116
+ .view_imgs {
117
+ height: 100%;
118
+ box-sizing: border-box;
119
+ overflow-y: auto;
120
+ -webkit-overflow-scrolling: touch;
121
+ background: #ffffff;
122
+ // 底部留出固定按钮的位置,别让最后一张图被压住
123
+ padding: 12px 12px 100px;
124
+
125
+ img {
126
+ display: block;
127
+ width: 100%;
128
+ margin-bottom: 12px;
129
+ border-radius: 4px;
130
+ background: #ffffff;
131
+ }
132
+ }
115
133
  .viewImg {
116
134
  background-color: #3333336a;
117
135
  position: fixed;
@@ -27,7 +27,6 @@ var SignFileMobile = function SignFileMobile(props) {
27
27
  var _useSignFile = (0, _useSignFile2.useSignFile)(props, {
28
28
  withThumbnail: true
29
29
  }),
30
- fileName = _useSignFile.fileName,
31
30
  originalFileId = _useSignFile.originalFileId,
32
31
  guideImg = _useSignFile.guideImg,
33
32
  thumbnail = _useSignFile.thumbnail,
@@ -99,7 +99,7 @@ function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
99
99
  packageName = 'ydb-components-material';
100
100
  }
101
101
  if (version === void 0) {
102
- version = '0.1.201';
102
+ version = '0.1.202';
103
103
  }
104
104
  if (basicLibraryVersion === void 0) {
105
105
  basicLibraryVersion = {
@@ -104,7 +104,7 @@ function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
104
104
  packageName = 'ydb-components-material';
105
105
  }
106
106
  if (version === void 0) {
107
- version = '0.1.201';
107
+ version = '0.1.202';
108
108
  }
109
109
  if (basicLibraryVersion === void 0) {
110
110
  basicLibraryVersion = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ydb-components-material",
3
- "version": "0.1.201",
3
+ "version": "0.1.202",
4
4
  "description": "ydb-components-material",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -102,10 +102,10 @@
102
102
  },
103
103
  "componentConfig": {
104
104
  "isComponentLibrary": true,
105
- "materialSchema": "https://unpkg.com/ydb-components-material@0.1.201/build/lowcode/assets-prod.json"
105
+ "materialSchema": "https://unpkg.com/ydb-components-material@0.1.202/build/lowcode/assets-prod.json"
106
106
  },
107
107
  "lcMeta": {
108
108
  "type": "component"
109
109
  },
110
- "homepage": "https://unpkg.com/ydb-components-material@0.1.201/build/index.html"
110
+ "homepage": "https://unpkg.com/ydb-components-material@0.1.202/build/index.html"
111
111
  }