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.
- package/es/back-top/index.js +2 -1
- package/es/index.js +1 -1
- package/es/media-picker/index.js +68 -53
- package/es/media-picker/wx-util.js +64 -0
- package/lib/back-top/index.js +3 -1
- package/lib/index.js +1 -1
- package/lib/media-picker/index.js +69 -52
- package/lib/media-picker/wx-util.js +78 -0
- package/lib/zart.js +139 -54
- package/lib/zart.min.js +1 -1
- package/package.json +1 -1
|
@@ -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 (
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
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
|
|
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
|
-
|
|
397
|
+
_this3.readFiles(data);
|
|
381
398
|
} else {
|
|
382
|
-
|
|
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
|
|
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
|
|
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 (
|
|
424
|
-
|
|
440
|
+
if (_this4.pickerMode === "certificate") {
|
|
441
|
+
_this4.$emit('input', [].concat(newMedias));
|
|
425
442
|
} else {
|
|
426
|
-
|
|
443
|
+
_this4.$emit('input', [].concat(_this4.mediaList, newMedias));
|
|
427
444
|
}
|
|
428
445
|
|
|
429
|
-
if (
|
|
430
|
-
|
|
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
|
|
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 =
|
|
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 ?
|
|
575
|
+
watermarkConfigString: watermarkEnabled ? _this5.watermarkOptions.watermarkConfigString : '',
|
|
559
576
|
context: {
|
|
560
|
-
address:
|
|
561
|
-
humanName:
|
|
562
|
-
projectName:
|
|
563
|
-
logo:
|
|
564
|
-
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
952
|
+
_this9.onDelete(media, 0);
|
|
936
953
|
|
|
937
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
1144
|
+
_this10.previewMedia(media, index);
|
|
1128
1145
|
}
|
|
1129
1146
|
}
|
|
1130
|
-
}, [
|
|
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
|
|
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:
|
|
1170
|
+
value: _this11.mediaPlayerVisible,
|
|
1154
1171
|
callback: function callback($$v) {
|
|
1155
|
-
|
|
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:
|
|
1186
|
+
value: _this11.actionVisible,
|
|
1170
1187
|
callback: function callback($$v) {
|
|
1171
|
-
|
|
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;
|