zartui 2.0.83 → 2.0.85

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.
@@ -63,6 +63,10 @@ var _Img = require("./image/Img64");
63
63
 
64
64
  var _mediaUtil = require("./media-util");
65
65
 
66
+ var _device = require("../utils/device");
67
+
68
+ var _wxUtil = require("./wx-util");
69
+
66
70
  // Utils
67
71
  // Types
68
72
  // import components
@@ -197,6 +201,10 @@ var _default2 = createComponent({
197
201
  reUploadText: {
198
202
  type: String,
199
203
  default: '重新拍摄'
204
+ },
205
+ useWx: {
206
+ type: Boolean,
207
+ default: false
200
208
  }
201
209
  },
202
210
  model: {
@@ -250,6 +258,8 @@ var _default2 = createComponent({
250
258
  },
251
259
  methods: {
252
260
  mediaPick: function mediaPick(mediaType, mediaAddType) {
261
+ var _this2 = this;
262
+
253
263
  if (this.disabled) {
254
264
  return;
255
265
  }
@@ -272,10 +282,17 @@ var _default2 = createComponent({
272
282
  fileInput = _this$$refs.fileInput;
273
283
 
274
284
  if (mediaType === _type.MediaType.PHOTO) {
275
- if (mediaAddType === _type.MediaAddType.TAKE) {
276
- this.triggerHiddenInput(cameraInput);
277
- } else if (mediaAddType === _type.MediaAddType.PICK) {
278
- this.triggerHiddenInput(imageInput);
285
+ if (this.useWx && (0, _device.isWeixin)() && window.wx) {
286
+ var type = mediaAddType === _type.MediaAddType.TAKE ? 'camera' : 'album';
287
+ (0, _wxUtil.wxUploadImage)(type).then(function (newMedias) {
288
+ _this2.$emit('input', [].concat(_this2.mediaList, newMedias));
289
+ });
290
+ } else {
291
+ if (mediaAddType === _type.MediaAddType.TAKE) {
292
+ this.triggerHiddenInput(cameraInput);
293
+ } else if (mediaAddType === _type.MediaAddType.PICK) {
294
+ this.triggerHiddenInput(imageInput);
295
+ }
279
296
  }
280
297
  } else if (mediaType === _type.MediaType.VIDEO) {
281
298
  if (mediaAddType === _type.MediaAddType.TAKE) {
@@ -345,7 +362,7 @@ var _default2 = createComponent({
345
362
  }
346
363
  },
347
364
  handleInputFiles: function handleInputFiles(event) {
348
- var _this2 = this;
365
+ var _this3 = this;
349
366
 
350
367
  var files = event.target.files;
351
368
 
@@ -377,9 +394,9 @@ var _default2 = createComponent({
377
394
  if ((0, _utils.isPromise)(response)) {
378
395
  response.then(function (data) {
379
396
  if (data) {
380
- _this2.readFiles(data);
397
+ _this3.readFiles(data);
381
398
  } else {
382
- _this2.readFiles(files);
399
+ _this3.readFiles(files);
383
400
  }
384
401
  });
385
402
  return;
@@ -389,13 +406,13 @@ var _default2 = createComponent({
389
406
  this.readFiles(files);
390
407
  },
391
408
  readFiles: function readFiles(files) {
392
- var _this3 = this;
409
+ var _this4 = this;
393
410
 
394
411
  // 处理非图片
395
412
  var notImages = files.filter(function (f) {
396
413
  return !(0, _mediaUtil.isImageType)(f);
397
414
  }).map(function (f) {
398
- return _this3.transformNotImageFile(f);
415
+ return _this4.transformNotImageFile(f);
399
416
  });
400
417
  var newMedias = [];
401
418
 
@@ -420,14 +437,14 @@ var _default2 = createComponent({
420
437
  newMedias = newMedias.concat(medias);
421
438
  }
422
439
  }).finally(function () {
423
- if (_this3.pickerMode === "certificate") {
424
- _this3.$emit('input', [].concat(newMedias));
440
+ if (_this4.pickerMode === "certificate") {
441
+ _this4.$emit('input', [].concat(newMedias));
425
442
  } else {
426
- _this3.$emit('input', [].concat(_this3.mediaList, newMedias));
443
+ _this4.$emit('input', [].concat(_this4.mediaList, newMedias));
427
444
  }
428
445
 
429
- if (_this3.afterRead) {
430
- _this3.afterRead(newMedias);
446
+ if (_this4.afterRead) {
447
+ _this4.afterRead(newMedias);
431
448
  }
432
449
  });
433
450
  },
@@ -541,7 +558,7 @@ var _default2 = createComponent({
541
558
  * @return {Promise<[Media]>}
542
559
  */
543
560
  transformImageFiles: function transformImageFiles(files) {
544
- var _this4 = this;
561
+ var _this5 = this;
545
562
 
546
563
  var promisesTodo = [];
547
564
  var resizeOptions = new _media.ResizeOptions(this.maxImageSideLength);
@@ -549,19 +566,19 @@ var _default2 = createComponent({
549
566
 
550
567
  var _loop = function _loop(i) {
551
568
  var file = files[i];
552
- var watermarkEnabled = _this4.watermarkOptions && _this4.watermarkOptions.watermarkConfigString && (0, _media.checkWatermarkConfigSupported)(_this4.watermarkOptions.watermarkConfigString);
569
+ var watermarkEnabled = _this5.watermarkOptions && _this5.watermarkOptions.watermarkConfigString && (0, _media.checkWatermarkConfigSupported)(_this5.watermarkOptions.watermarkConfigString);
553
570
  var watermarkOpt = void 0;
554
571
 
555
572
  if (watermarkEnabled) {
556
573
  watermarkOpt = new _media.WatermarkOptions({
557
574
  enabled: true,
558
- watermarkConfigString: watermarkEnabled ? _this4.watermarkOptions.watermarkConfigString : '',
575
+ watermarkConfigString: watermarkEnabled ? _this5.watermarkOptions.watermarkConfigString : '',
559
576
  context: {
560
- address: _this4.watermarkOptions.address || "",
561
- humanName: _this4.watermarkOptions.humanName || _this4.watermarkOptions.humanname || "",
562
- projectName: _this4.watermarkOptions.projectName || "",
563
- logo: _this4.watermarkOptions.logo || "",
564
- applicationName: _this4.watermarkOptions.applicationName || "",
577
+ address: _this5.watermarkOptions.address || "",
578
+ humanName: _this5.watermarkOptions.humanName || _this5.watermarkOptions.humanname || "",
579
+ projectName: _this5.watermarkOptions.projectName || "",
580
+ logo: _this5.watermarkOptions.logo || "",
581
+ applicationName: _this5.watermarkOptions.applicationName || "",
565
582
  watermarkTime: new Date()
566
583
  }
567
584
  });
@@ -713,7 +730,7 @@ var _default2 = createComponent({
713
730
  }
714
731
  },
715
732
  onDelete: function onDelete(media, index) {
716
- var _this5 = this;
733
+ var _this6 = this;
717
734
 
718
735
  if (this.beforeDelete) {
719
736
  var response = this.beforeDelete(media);
@@ -724,7 +741,7 @@ var _default2 = createComponent({
724
741
 
725
742
  if ((0, _utils.isPromise)(response)) {
726
743
  response.then(function () {
727
- _this5.deleteMedia(media, index);
744
+ _this6.deleteMedia(media, index);
728
745
  });
729
746
  return;
730
747
  }
@@ -739,7 +756,7 @@ var _default2 = createComponent({
739
756
  this.$emit('delete', media, index);
740
757
  },
741
758
  hiddenInput: function hiddenInput() {
742
- var _this6 = this;
759
+ var _this7 = this;
743
760
 
744
761
  var h = this.$createElement;
745
762
  return [h("input", {
@@ -753,7 +770,7 @@ var _default2 = createComponent({
753
770
  "on": {
754
771
  "change": this.handleInputFiles,
755
772
  "click": function click() {
756
- return _this6.resetInput(_type.MediaType.PHOTO, _type.MediaAddType.TAKE);
773
+ return _this7.resetInput(_type.MediaType.PHOTO, _type.MediaAddType.TAKE);
757
774
  }
758
775
  },
759
776
  "class": bem('hidden')
@@ -767,7 +784,7 @@ var _default2 = createComponent({
767
784
  "on": {
768
785
  "change": this.handleInputFiles,
769
786
  "click": function click() {
770
- return _this6.resetInput(_type.MediaType.PHOTO, _type.MediaAddType.PICK);
787
+ return _this7.resetInput(_type.MediaType.PHOTO, _type.MediaAddType.PICK);
771
788
  }
772
789
  },
773
790
  "class": bem('hidden')
@@ -781,7 +798,7 @@ var _default2 = createComponent({
781
798
  "on": {
782
799
  "change": this.handleInputFiles,
783
800
  "click": function click() {
784
- return _this6.resetInput(_type.MediaType.VIDEO, _type.MediaAddType.TAKE);
801
+ return _this7.resetInput(_type.MediaType.VIDEO, _type.MediaAddType.TAKE);
785
802
  }
786
803
  },
787
804
  "class": bem('hidden')
@@ -794,7 +811,7 @@ var _default2 = createComponent({
794
811
  "on": {
795
812
  "change": this.handleInputFiles,
796
813
  "click": function click() {
797
- return _this6.resetInput(_type.MediaType.VIDEO, _type.MediaAddType.PICK);
814
+ return _this7.resetInput(_type.MediaType.VIDEO, _type.MediaAddType.PICK);
798
815
  }
799
816
  },
800
817
  "class": bem('hidden')
@@ -808,7 +825,7 @@ var _default2 = createComponent({
808
825
  "on": {
809
826
  "change": this.handleInputFiles,
810
827
  "click": function click() {
811
- return _this6.resetInput(_type.MediaType.AUDIO, _type.MediaAddType.TAKE);
828
+ return _this7.resetInput(_type.MediaType.AUDIO, _type.MediaAddType.TAKE);
812
829
  }
813
830
  },
814
831
  "class": bem('hidden')
@@ -821,7 +838,7 @@ var _default2 = createComponent({
821
838
  "on": {
822
839
  "change": this.handleInputFiles,
823
840
  "click": function click() {
824
- return _this6.resetInput(_type.MediaType.AUDIO, _type.MediaAddType.PICK);
841
+ return _this7.resetInput(_type.MediaType.AUDIO, _type.MediaAddType.PICK);
825
842
  }
826
843
  },
827
844
  "class": bem('hidden')
@@ -834,14 +851,14 @@ var _default2 = createComponent({
834
851
  "on": {
835
852
  "change": this.handleInputFiles,
836
853
  "click": function click() {
837
- return _this6.resetInput(_type.MediaType.FILE, _type.MediaAddType.PICK);
854
+ return _this7.resetInput(_type.MediaType.FILE, _type.MediaAddType.PICK);
838
855
  }
839
856
  },
840
857
  "class": bem('hidden')
841
858
  })];
842
859
  },
843
860
  renderIcon: function renderIcon(mediaType, mediaAddType) {
844
- var _this7 = this;
861
+ var _this8 = this;
845
862
 
846
863
  var h = this.$createElement;
847
864
 
@@ -851,7 +868,7 @@ var _default2 = createComponent({
851
868
  "class": bem('button'),
852
869
  "on": {
853
870
  "click": function click() {
854
- return _this7.mediaPick(mediaType, mediaAddType);
871
+ return _this8.mediaPick(mediaType, mediaAddType);
855
872
  }
856
873
  }
857
874
  });
@@ -860,7 +877,7 @@ var _default2 = createComponent({
860
877
  "class": bem('button'),
861
878
  "on": {
862
879
  "click": function click() {
863
- return _this7.mediaPick(mediaType, mediaAddType);
880
+ return _this8.mediaPick(mediaType, mediaAddType);
864
881
  }
865
882
  }
866
883
  });
@@ -870,7 +887,7 @@ var _default2 = createComponent({
870
887
  "class": bem('button'),
871
888
  "on": {
872
889
  "click": function click() {
873
- return _this7.mediaPick(mediaType, mediaAddType);
890
+ return _this8.mediaPick(mediaType, mediaAddType);
874
891
  }
875
892
  }
876
893
  });
@@ -879,7 +896,7 @@ var _default2 = createComponent({
879
896
  "class": bem('button'),
880
897
  "on": {
881
898
  "click": function click() {
882
- return _this7.mediaPick(mediaType, mediaAddType);
899
+ return _this8.mediaPick(mediaType, mediaAddType);
883
900
  }
884
901
  }
885
902
  });
@@ -888,7 +905,7 @@ var _default2 = createComponent({
888
905
  "class": bem('button'),
889
906
  "on": {
890
907
  "click": function click() {
891
- return _this7.mediaPick(mediaType, mediaAddType);
908
+ return _this8.mediaPick(mediaType, mediaAddType);
892
909
  }
893
910
  }
894
911
  });
@@ -919,7 +936,7 @@ var _default2 = createComponent({
919
936
  }, [label])]);
920
937
  },
921
938
  renderCertificates: function renderCertificates() {
922
- var _this8 = this;
939
+ var _this9 = this;
923
940
 
924
941
  var h = this.$createElement;
925
942
 
@@ -932,9 +949,9 @@ var _default2 = createComponent({
932
949
  "click": function click(event) {
933
950
  event.stopPropagation();
934
951
 
935
- _this8.onDelete(media, 0);
952
+ _this9.onDelete(media, 0);
936
953
 
937
- _this8.mediaPick(_type.MediaType.PHOTO, _type.MediaAddType.PICK);
954
+ _this9.mediaPick(_type.MediaType.PHOTO, _type.MediaAddType.PICK);
938
955
  }
939
956
  }
940
957
  }, [h(_ReUpload.default, {
@@ -952,7 +969,7 @@ var _default2 = createComponent({
952
969
  "click": function click(event) {
953
970
  event.stopPropagation(); // 证件照模式只有一张图片
954
971
 
955
- _this8.previewMedia(media, 0);
972
+ _this9.previewMedia(media, 0);
956
973
  }
957
974
  }
958
975
  }, [reUpload]);
@@ -969,7 +986,7 @@ var _default2 = createComponent({
969
986
  },
970
987
  "on": {
971
988
  "click": function click() {
972
- _this8.mediaPick(_type.MediaType.PHOTO, _type.MediaAddType.PICK);
989
+ _this9.mediaPick(_type.MediaType.PHOTO, _type.MediaAddType.PICK);
973
990
  }
974
991
  }
975
992
  }), h("span", {
@@ -1103,7 +1120,7 @@ var _default2 = createComponent({
1103
1120
  }
1104
1121
  },
1105
1122
  renderMediaList: function renderMediaList() {
1106
- var _this9 = this;
1123
+ var _this10 = this;
1107
1124
 
1108
1125
  var h = this.$createElement;
1109
1126
  return this.mediaList.map(function (media, index) {
@@ -1114,7 +1131,7 @@ var _default2 = createComponent({
1114
1131
  "click": function click(event) {
1115
1132
  event.stopPropagation();
1116
1133
 
1117
- _this9.onDelete(media, index);
1134
+ _this10.onDelete(media, index);
1118
1135
  }
1119
1136
  }
1120
1137
  });
@@ -1124,10 +1141,10 @@ var _default2 = createComponent({
1124
1141
  "click": function click(event) {
1125
1142
  event.stopPropagation();
1126
1143
 
1127
- _this9.previewMedia(media, index);
1144
+ _this10.previewMedia(media, index);
1128
1145
  }
1129
1146
  }
1130
- }, [_this9.renderMediaBox(media), _this9.genThumbnailMask(media), deleteIcon]);
1147
+ }, [_this10.renderMediaBox(media), _this10.genThumbnailMask(media), deleteIcon]);
1131
1148
  });
1132
1149
  },
1133
1150
  selectAction: function selectAction(action) {
@@ -1136,7 +1153,7 @@ var _default2 = createComponent({
1136
1153
  }
1137
1154
  },
1138
1155
  render: function render() {
1139
- var _this10 = this;
1156
+ var _this11 = this;
1140
1157
 
1141
1158
  var h = arguments[0];
1142
1159
  var title = this.showTitle && h("div", {
@@ -1150,9 +1167,9 @@ var _default2 = createComponent({
1150
1167
  "mediaUrl": this.mediaUrlToPlay
1151
1168
  },
1152
1169
  "model": {
1153
- value: _this10.mediaPlayerVisible,
1170
+ value: _this11.mediaPlayerVisible,
1154
1171
  callback: function callback($$v) {
1155
- _this10.mediaPlayerVisible = $$v;
1172
+ _this11.mediaPlayerVisible = $$v;
1156
1173
  }
1157
1174
  }
1158
1175
  }), h(_actionSheet.default, {
@@ -1166,9 +1183,9 @@ var _default2 = createComponent({
1166
1183
  "select": this.selectAction
1167
1184
  },
1168
1185
  "model": {
1169
- value: _this10.actionVisible,
1186
+ value: _this11.actionVisible,
1170
1187
  callback: function callback($$v) {
1171
- _this10.actionVisible = $$v;
1188
+ _this11.actionVisible = $$v;
1172
1189
  }
1173
1190
  }
1174
1191
  }), this.pickerMode === "certificate" ? h("div", {
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.wxUploadImage = exports.uploadImage = exports.chooseImage = void 0;
5
+
6
+ var _type = require("./type");
7
+
8
+ var chooseImage = function chooseImage(type) {
9
+ return new Promise(function (resolve, reject) {
10
+ window.wx.chooseImage({
11
+ count: 1,
12
+ sizeType: ['original', 'compressed'],
13
+ // 可以指定是原图还是压缩图,默认二者都有
14
+ sourceType: [type],
15
+ // 可以指定来源是相册还是相机,默认二者都有
16
+ success: function success(_ref) {
17
+ var localIds = _ref.localIds;
18
+ resolve(localIds);
19
+ },
20
+ fail: function fail(res) {
21
+ reject(res);
22
+ }
23
+ });
24
+ });
25
+ };
26
+
27
+ exports.chooseImage = chooseImage;
28
+
29
+ var uploadImage = function uploadImage(localId) {
30
+ return new Promise(function (resolve, reject) {
31
+ window.wx.uploadImage({
32
+ localId: localId,
33
+ // 需要上传的图片的本地ID,由chooseImage接口获得
34
+ isShowProgressTips: 1,
35
+ // 默认为1,显示进度提示
36
+ success: function success(_ref2) {
37
+ var serverId = _ref2.serverId;
38
+ resolve(serverId);
39
+ },
40
+ fail: function fail(res) {
41
+ reject(res);
42
+ }
43
+ });
44
+ });
45
+ };
46
+
47
+ exports.uploadImage = uploadImage;
48
+
49
+ var wxUploadImage = function wxUploadImage(type) {
50
+ return new Promise(function (resolve) {
51
+ var newMedias = [];
52
+ chooseImage(type).then(function (localIds) {
53
+ var time = new Date().getTime().toString();
54
+ var media = {
55
+ type: _type.MediaType.PHOTO,
56
+ uniqueCode: time,
57
+ fileSize: 0,
58
+ lastModified: 0,
59
+ deletable: true,
60
+ status: _type.MediaUploadStatus.DONE
61
+ };
62
+ localIds.forEach(function (localId) {
63
+ media.showSrc = localId;
64
+ media.url = localId;
65
+ uploadImage(localId).then(function (serverId) {
66
+ media.wxServerId = serverId;
67
+ newMedias.push(media);
68
+
69
+ if (newMedias.length === localIds.length) {
70
+ resolve(newMedias);
71
+ }
72
+ });
73
+ });
74
+ });
75
+ });
76
+ };
77
+
78
+ exports.wxUploadImage = wxUploadImage;