@10yun/cv-mobile-ui 0.3.24 → 0.3.26
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/package.json +5 -2
- package/plugins/request.js +14 -2
- package/ui-cv/cv-banner/cv-banner.vue +23 -14
- package/ui-cv/cv-banner-card/cv-banner-card.vue +24 -16
- package/ui-cv/cv-block/cv-block.vue +6 -6
- package/ui-cv/cv-box/cv-box.vue +6 -7
- package/ui-cv/cv-button/cv-button.vue +32 -13
- package/ui-cv/cv-cell/cv-cell.vue +21 -25
- package/ui-cv/cv-checkbox/cv-checkbox.vue +22 -22
- package/ui-cv/cv-checkbox-tag/cv-checkbox-tag.vue +30 -25
- package/ui-cv/cv-code-sms/cv-code-sms.vue +60 -38
- package/ui-cv/cv-dialog-bottom/cv-dialog-bottom.vue +14 -18
- package/ui-cv/cv-dialog-full/cv-dialog-full.vue +14 -18
- package/ui-cv/cv-dialog-loading/cv-dialog-loading.vue +10 -17
- package/ui-cv/cv-dialog-share/cv-dialog-share.vue +4 -5
- package/ui-cv/cv-draw-barcode/cv-draw-barcode.vue +54 -51
- package/ui-cv/cv-draw-posters/cv-draw-posters.vue +53 -71
- package/ui-cv/cv-draw-progress/cv-draw-progress.vue +44 -39
- package/ui-cv/cv-draw-qrcode/cv-draw-qrcode.vue +48 -45
- package/ui-cv/cv-editor/compressImage.vue +47 -40
- package/ui-cv/cv-editor/cv-editor.vue +234 -124
- package/ui-cv/cv-editor-parse/cv-editor-parse.vue +21 -30
- package/ui-cv/cv-editor-parse/u-parse.vue +21 -30
- package/ui-cv/cv-filter-hm/cv-filter-hm.vue +140 -74
- package/ui-cv/cv-form-group/cv-form-group.vue +11 -13
- package/ui-cv/cv-form-item/cv-form-item.vue +35 -20
- package/ui-cv/cv-form-merge/cv-form-merge.vue +5 -10
- package/ui-cv/cv-geo-local/cv-geo-local.vue +50 -27
- package/ui-cv/cv-icons/cv-icons.vue +24 -19
- package/ui-cv/cv-info/cv-info.vue +9 -11
- package/ui-cv/cv-input-btn/cv-input-btn.vue +34 -13
- package/ui-cv/cv-input-digit/cv-input-digit.vue +31 -18
- package/ui-cv/cv-input-idcard/cv-input-idcard.vue +31 -21
- package/ui-cv/cv-input-number/cv-input-number.vue +29 -14
- package/ui-cv/cv-input-password/cv-input-password.vue +31 -20
- package/ui-cv/cv-input-text/cv-input-text.vue +32 -17
- package/ui-cv/cv-link/cv-link.vue +7 -7
- package/ui-cv/cv-lists-base/cv-lists-base.vue +148 -114
- package/ui-cv/cv-lists-swiper/cv-lists-swipe2r.vue +24 -15
- package/ui-cv/cv-lists-swiper/cv-lists-swiper.vue +85 -63
- package/ui-cv/cv-load-more/cv-load-more.vue +60 -28
- package/ui-cv/cv-message/cv-message.vue +5 -6
- package/ui-cv/cv-nav-col/cv-nav-col.vue +9 -13
- package/ui-cv/cv-nav-group/cv-nav-group.vue +6 -8
- package/ui-cv/cv-nav-row/cv-nav-row.vue +21 -25
- package/ui-cv/cv-picker-date/cv-picker-date.vue +28 -12
- package/ui-cv/cv-picker-datetime/cv-picker-datetime.vue +43 -21
- package/ui-cv/cv-picker-datetime5/cv-picker-datetime5.vue +108 -60
- package/ui-cv/cv-picker-region/cv-picker-region.vue +46 -32
- package/ui-cv/cv-picker-time/cv-picker-time.vue +26 -11
- package/ui-cv/cv-picker1/cv-picker1.vue +32 -17
- package/ui-cv/cv-picker2/cv-picker2.vue +46 -28
- package/ui-cv/cv-picker3/cv-picker3.vue +77 -44
- package/ui-cv/cv-radio/cv-radio.vue +17 -10
- package/ui-cv/cv-radio-sex/cv-radio-sex.vue +20 -21
- package/ui-cv/cv-radio-tag/cv-radio-tag.vue +22 -11
- package/ui-cv/cv-rate/cv-rate.vue +17 -13
- package/ui-cv/cv-search/cv-search.vue +17 -12
- package/ui-cv/cv-skeleton/cv-skeleton.vue +32 -27
- package/ui-cv/cv-skeleton/cv-skeleton2.vue +56 -33
- package/ui-cv/cv-skeleton-group/cv-skeleton-group.vue +4 -6
- package/ui-cv/cv-specs/cv-specs.vue +31 -30
- package/ui-cv/cv-switch/cv-switch.vue +4 -5
- package/ui-cv/cv-tab-lists/cv-tab-lists.vue +189 -128
- package/ui-cv/cv-textarea/cv-textarea.vue +31 -13
- package/ui-cv/cv-treaty/cv-treaty.vue +8 -8
- package/ui-cv/cv-update-app/cv-update-app.vue +68 -53
- package/ui-cv/cv-upload-avatar/cv-upload-avatar.vue +33 -31
- package/ui-cv/cv-upload-img/cv-upload-img.vue +97 -70
- package/ui-cv/dict/area-city.js +612 -612
- package/ui-cv/dict/area-county.js +3392 -3392
- package/ui-cv/dict/area-province.js +35 -35
- package/ui-cv/mixins/mixins-checkbox.js +9 -15
- package/ui-cv/mixins/mixins-common.js +7 -7
- package/ui-cv/mixins/mixins-input.js +11 -12
- package/ui-cv/mixins/mixins-picker.js +9 -13
- package/ui-cv/mixins/mixins-radio.js +10 -14
|
@@ -1,50 +1,152 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<cv-form-item
|
|
3
|
-
:
|
|
2
|
+
<cv-form-item
|
|
3
|
+
:tip="tip"
|
|
4
|
+
:label="label"
|
|
5
|
+
:must="must"
|
|
6
|
+
:message="message"
|
|
7
|
+
:messageDisplay="messageDisplay"
|
|
8
|
+
:labelWidth="localLabelWidth"
|
|
9
|
+
layout="col"
|
|
10
|
+
:input-value="localVal"
|
|
11
|
+
>
|
|
4
12
|
<view class="cv-editor">
|
|
5
|
-
<view class=
|
|
13
|
+
<view class="toolbar" @tap="format">
|
|
6
14
|
<view :class="formats.bold ? 'ql-active' : ''" class="iconfont icon-zitijiacu" data-name="bold"></view>
|
|
7
15
|
<view :class="formats.italic ? 'ql-active' : ''" class="iconfont icon-zitixieti" data-name="italic"></view>
|
|
8
16
|
<view :class="formats.underline ? 'ql-active' : ''" class="iconfont icon-zitixiahuaxian" data-name="underline"></view>
|
|
9
17
|
<view :class="formats.strike ? 'ql-active' : ''" class="iconfont icon-zitishanchuxian" data-name="strike"></view>
|
|
10
|
-
<view
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
data-value="
|
|
18
|
+
<view
|
|
19
|
+
:class="formats.align === 'left' ? 'ql-active' : ''"
|
|
20
|
+
class="iconfont icon-zuoduiqi"
|
|
21
|
+
data-name="align"
|
|
22
|
+
data-value="left"
|
|
23
|
+
></view>
|
|
24
|
+
<view
|
|
25
|
+
:class="formats.align === 'center' ? 'ql-active' : ''"
|
|
26
|
+
class="iconfont icon-juzhongduiqi"
|
|
27
|
+
data-name="align"
|
|
28
|
+
data-value="center"
|
|
29
|
+
></view>
|
|
30
|
+
<view
|
|
31
|
+
:class="formats.align === 'right' ? 'ql-active' : ''"
|
|
32
|
+
class="iconfont icon-youduiqi"
|
|
33
|
+
data-name="align"
|
|
34
|
+
data-value="right"
|
|
35
|
+
></view>
|
|
36
|
+
<view
|
|
37
|
+
:class="formats.align === 'justify' ? 'ql-active' : ''"
|
|
38
|
+
class="iconfont icon-zuoyouduiqi"
|
|
39
|
+
data-name="align"
|
|
40
|
+
data-value="justify"
|
|
41
|
+
></view>
|
|
42
|
+
<view
|
|
43
|
+
:class="formats.lineHeight ? 'ql-active' : ''"
|
|
44
|
+
class="iconfont icon-line-height"
|
|
45
|
+
data-name="lineHeight"
|
|
46
|
+
data-value="2"
|
|
47
|
+
></view>
|
|
48
|
+
<view
|
|
49
|
+
:class="formats.letterSpacing ? 'ql-active' : ''"
|
|
50
|
+
class="iconfont icon-Character-Spacing"
|
|
51
|
+
data-name="letterSpacing"
|
|
52
|
+
data-value="2em"
|
|
53
|
+
></view>
|
|
54
|
+
<view
|
|
55
|
+
:class="formats.marginTop ? 'ql-active' : ''"
|
|
56
|
+
class="iconfont icon-722bianjiqi_duanqianju"
|
|
57
|
+
data-name="marginTop"
|
|
58
|
+
data-value="20px"
|
|
59
|
+
></view>
|
|
60
|
+
<view
|
|
61
|
+
:class="formats.previewarginBottom ? 'ql-active' : ''"
|
|
62
|
+
class="iconfont icon-723bianjiqi_duanhouju"
|
|
63
|
+
data-name="marginBottom"
|
|
64
|
+
data-value="20px"
|
|
65
|
+
></view>
|
|
21
66
|
<view class="iconfont icon-clearedformat" @tap="removeFormat"></view>
|
|
22
|
-
<view
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
data-value="
|
|
67
|
+
<view
|
|
68
|
+
:class="formats.fontFamily ? 'ql-active' : ''"
|
|
69
|
+
class="iconfont icon-font"
|
|
70
|
+
data-name="fontFamily"
|
|
71
|
+
data-value="Pacifico"
|
|
72
|
+
></view>
|
|
73
|
+
<view
|
|
74
|
+
:class="formats.fontSize === '24px' ? 'ql-active' : ''"
|
|
75
|
+
class="iconfont icon-fontsize"
|
|
76
|
+
data-name="fontSize"
|
|
77
|
+
data-value="24px"
|
|
78
|
+
></view>
|
|
79
|
+
<view
|
|
80
|
+
:class="formats.color === '#0000ff' ? 'ql-active' : ''"
|
|
81
|
+
class="iconfont icon-text_color"
|
|
82
|
+
data-name="color"
|
|
83
|
+
data-value="#0000ff"
|
|
84
|
+
></view>
|
|
85
|
+
<view
|
|
86
|
+
:class="formats.backgroundColor === '#00ff00' ? 'ql-active' : ''"
|
|
87
|
+
class="iconfont icon-fontbgcolor"
|
|
88
|
+
data-name="backgroundColor"
|
|
89
|
+
data-value="#00ff00"
|
|
90
|
+
></view>
|
|
27
91
|
<view class="iconfont icon-date" @tap="insertDate"></view>
|
|
28
92
|
<view class="iconfont icon--checklist" data-name="list" data-value="check"></view>
|
|
29
|
-
<view
|
|
30
|
-
|
|
93
|
+
<view
|
|
94
|
+
:class="formats.list === 'ordered' ? 'ql-active' : ''"
|
|
95
|
+
class="iconfont icon-youxupailie"
|
|
96
|
+
data-name="list"
|
|
97
|
+
data-value="ordered"
|
|
98
|
+
></view>
|
|
99
|
+
<view
|
|
100
|
+
:class="formats.list === 'bullet' ? 'ql-active' : ''"
|
|
101
|
+
class="iconfont icon-wuxupailie"
|
|
102
|
+
data-name="list"
|
|
103
|
+
data-value="bullet"
|
|
104
|
+
></view>
|
|
31
105
|
<view class="iconfont icon-undo" @tap="undo"></view>
|
|
32
106
|
<view class="iconfont icon-redo" @tap="redo"></view>
|
|
33
107
|
<view class="iconfont icon-outdent" data-name="indent" data-value="-1"></view>
|
|
34
108
|
<view class="iconfont icon-indent" data-name="indent" data-value="+1"></view>
|
|
35
109
|
<view class="iconfont icon-fengexian" @tap="insertDivider"></view>
|
|
36
110
|
<view class="iconfont icon-charutupian" @tap="insertImage"></view>
|
|
37
|
-
<view
|
|
38
|
-
|
|
39
|
-
|
|
111
|
+
<view
|
|
112
|
+
:class="formats.header === 1 ? 'ql-active' : ''"
|
|
113
|
+
class="iconfont icon-format-header-1"
|
|
114
|
+
data-name="header"
|
|
115
|
+
:data-value="1"
|
|
116
|
+
></view>
|
|
117
|
+
<view
|
|
118
|
+
:class="formats.script === 'sub' ? 'ql-active' : ''"
|
|
119
|
+
class="iconfont icon-zitixiabiao"
|
|
120
|
+
data-name="script"
|
|
121
|
+
data-value="sub"
|
|
122
|
+
></view>
|
|
123
|
+
<view
|
|
124
|
+
:class="formats.script === 'super' ? 'ql-active' : ''"
|
|
125
|
+
class="iconfont icon-zitishangbiao"
|
|
126
|
+
data-name="script"
|
|
127
|
+
data-value="super"
|
|
128
|
+
></view>
|
|
40
129
|
<view class="iconfont icon-shanchu" @tap="clear"></view>
|
|
41
|
-
<view
|
|
42
|
-
|
|
130
|
+
<view
|
|
131
|
+
:class="formats.direction === 'rtl' ? 'ql-active' : ''"
|
|
132
|
+
class="iconfont icon-direction-rtl"
|
|
133
|
+
data-name="direction"
|
|
134
|
+
data-value="rtl"
|
|
135
|
+
></view>
|
|
43
136
|
</view>
|
|
44
137
|
|
|
45
|
-
<editor
|
|
46
|
-
|
|
47
|
-
|
|
138
|
+
<editor
|
|
139
|
+
id="editor"
|
|
140
|
+
class="ql-container"
|
|
141
|
+
:placeholder="placeholder"
|
|
142
|
+
showImgSize
|
|
143
|
+
showImgToolbar
|
|
144
|
+
showImgResize
|
|
145
|
+
@statuschange="onStatusChange"
|
|
146
|
+
:read-only="readOnly"
|
|
147
|
+
@ready="onEditorReady"
|
|
148
|
+
@blur="onBlur"
|
|
149
|
+
></editor>
|
|
48
150
|
</view>
|
|
49
151
|
<helang-compress ref="helangCompress"></helang-compress>
|
|
50
152
|
</cv-form-item>
|
|
@@ -52,33 +154,33 @@
|
|
|
52
154
|
|
|
53
155
|
<script>
|
|
54
156
|
import MixinsCommon from '../mixins/mixins-common.js';
|
|
55
|
-
import helangCompress from './compressImage'
|
|
157
|
+
import helangCompress from './compressImage';
|
|
56
158
|
export default {
|
|
57
159
|
mixins: [MixinsCommon],
|
|
58
160
|
components: {
|
|
59
161
|
helangCompress
|
|
60
162
|
},
|
|
61
|
-
name:
|
|
163
|
+
name: 'cvEditor',
|
|
62
164
|
inject: {
|
|
63
165
|
cvFormGroup: {
|
|
64
166
|
default() {
|
|
65
|
-
return null
|
|
167
|
+
return null;
|
|
66
168
|
}
|
|
67
169
|
}
|
|
68
170
|
},
|
|
69
171
|
props: {
|
|
70
172
|
value: {
|
|
71
173
|
type: String,
|
|
72
|
-
default:
|
|
174
|
+
default: ''
|
|
73
175
|
},
|
|
74
176
|
tip: {
|
|
75
177
|
type: String,
|
|
76
|
-
default:
|
|
178
|
+
default: ''
|
|
77
179
|
},
|
|
78
180
|
|
|
79
181
|
message: {
|
|
80
182
|
type: String,
|
|
81
|
-
default:
|
|
183
|
+
default: ''
|
|
82
184
|
},
|
|
83
185
|
messageDisplay: {
|
|
84
186
|
type: Boolean,
|
|
@@ -98,7 +200,7 @@ export default {
|
|
|
98
200
|
leaveConfirm: '正在上传文件',
|
|
99
201
|
maxSize: 1080,
|
|
100
202
|
quality: 80
|
|
101
|
-
}
|
|
203
|
+
};
|
|
102
204
|
}
|
|
103
205
|
}
|
|
104
206
|
},
|
|
@@ -107,7 +209,7 @@ export default {
|
|
|
107
209
|
localVal: '',
|
|
108
210
|
readOnly: false,
|
|
109
211
|
formats: {},
|
|
110
|
-
upload_progress: null
|
|
212
|
+
upload_progress: null
|
|
111
213
|
};
|
|
112
214
|
},
|
|
113
215
|
watch: {
|
|
@@ -135,64 +237,66 @@ export default {
|
|
|
135
237
|
this.localVal = res.html;
|
|
136
238
|
this.$emit('input', this.localVal);
|
|
137
239
|
}
|
|
138
|
-
})
|
|
240
|
+
});
|
|
139
241
|
},
|
|
140
242
|
readOnlyChange() {
|
|
141
|
-
this.readOnly = !this.readOnly
|
|
243
|
+
this.readOnly = !this.readOnly;
|
|
142
244
|
},
|
|
143
245
|
onEditorReady() {
|
|
144
|
-
uni
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
246
|
+
uni
|
|
247
|
+
.createSelectorQuery()
|
|
248
|
+
.in(this)
|
|
249
|
+
.select('#editor')
|
|
250
|
+
.context((res) => {
|
|
251
|
+
this.editorContext = res.context;
|
|
252
|
+
this.setContents();
|
|
253
|
+
// console.log('初始化完成')
|
|
254
|
+
})
|
|
255
|
+
.exec();
|
|
149
256
|
},
|
|
150
257
|
setContents() {
|
|
151
258
|
this.editorContext.setContents({
|
|
152
259
|
html: this.localVal
|
|
153
|
-
})
|
|
260
|
+
});
|
|
154
261
|
},
|
|
155
262
|
undo() {
|
|
156
|
-
this.editorContext.undo()
|
|
263
|
+
this.editorContext.undo();
|
|
157
264
|
},
|
|
158
265
|
redo() {
|
|
159
|
-
this.editorContext.redo()
|
|
266
|
+
this.editorContext.redo();
|
|
160
267
|
},
|
|
161
268
|
format(e) {
|
|
162
|
-
let {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
} = e.target.dataset
|
|
166
|
-
if (!name) return
|
|
167
|
-
this.editorContext.format(name, value)
|
|
269
|
+
let { name, value } = e.target.dataset;
|
|
270
|
+
if (!name) return;
|
|
271
|
+
this.editorContext.format(name, value);
|
|
168
272
|
},
|
|
169
273
|
onStatusChange(e) {
|
|
170
|
-
const formats = e.detail
|
|
171
|
-
this.formats = formats
|
|
274
|
+
const formats = e.detail;
|
|
275
|
+
this.formats = formats;
|
|
172
276
|
},
|
|
173
277
|
insertDivider() {
|
|
174
278
|
this.editorContext.insertDivider({
|
|
175
279
|
success: function () {
|
|
176
280
|
// console.log('insert divider success')
|
|
177
281
|
}
|
|
178
|
-
})
|
|
282
|
+
});
|
|
179
283
|
},
|
|
180
284
|
clear() {
|
|
181
285
|
this.editorContext.clear({
|
|
182
286
|
success: function (res) {
|
|
183
287
|
// console.log("clear success")
|
|
184
288
|
}
|
|
185
|
-
})
|
|
289
|
+
});
|
|
186
290
|
},
|
|
187
291
|
removeFormat() {
|
|
188
|
-
this.editorContext.removeFormat()
|
|
292
|
+
this.editorContext.removeFormat();
|
|
189
293
|
},
|
|
190
294
|
insertDate() {
|
|
191
|
-
const date = new Date()
|
|
192
|
-
const formatDate = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}
|
|
295
|
+
const date = new Date();
|
|
296
|
+
const formatDate = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;
|
|
193
297
|
this.editorContext.insertText({
|
|
194
298
|
text: formatDate
|
|
195
|
-
})
|
|
299
|
+
});
|
|
196
300
|
},
|
|
197
301
|
/* 插入图片 ,可批量插入 */
|
|
198
302
|
insertImage() {
|
|
@@ -202,40 +306,41 @@ export default {
|
|
|
202
306
|
/* 图片选择成功,开始循环执行上传任务 */
|
|
203
307
|
this.imgUploadQueue(res.tempFiles, 0);
|
|
204
308
|
}
|
|
205
|
-
})
|
|
309
|
+
});
|
|
206
310
|
},
|
|
207
311
|
/* 多图上传队列处理,若有图片上传失败则清空所有等待中图片 */
|
|
208
312
|
imgUploadQueue(images, key) {
|
|
209
313
|
let showLoading_title = this.upload.leaveConfirm ? this.upload.leaveConfirm + ':' : '';
|
|
210
314
|
showLoading_title += this.upload_progress === null ? '' : '(' + this.upload_progress + '%)';
|
|
211
|
-
showLoading_title +=
|
|
315
|
+
showLoading_title += parseInt(key) + 1 + '/' + images.length;
|
|
212
316
|
// console.log(showLoading_title);
|
|
213
317
|
uni.showLoading({
|
|
214
318
|
title: showLoading_title
|
|
215
319
|
});
|
|
216
|
-
this.imgUpload(images[key])
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
320
|
+
this.imgUpload(images[key])
|
|
321
|
+
.then((result) => {
|
|
322
|
+
this.editorContext.insertImage({
|
|
323
|
+
src: result.src,
|
|
324
|
+
alt: images[key].name,
|
|
325
|
+
success: () => {
|
|
326
|
+
// console.log('insert image success')
|
|
327
|
+
if (images.length > ++key) {
|
|
328
|
+
this.imgUploadQueue(images, key);
|
|
329
|
+
} else {
|
|
330
|
+
uni.hideLoading();
|
|
331
|
+
this.getContents();
|
|
332
|
+
}
|
|
227
333
|
}
|
|
228
|
-
}
|
|
334
|
+
});
|
|
229
335
|
})
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
336
|
+
.catch((error) => {
|
|
337
|
+
console.error(error.msg);
|
|
338
|
+
uni.showToast({
|
|
339
|
+
title: error.msg,
|
|
340
|
+
duration: 2000,
|
|
341
|
+
icon: 'none'
|
|
342
|
+
});
|
|
236
343
|
});
|
|
237
|
-
});
|
|
238
|
-
|
|
239
344
|
},
|
|
240
345
|
/* 上传图片 */
|
|
241
346
|
imgUpload(file) {
|
|
@@ -244,7 +349,7 @@ export default {
|
|
|
244
349
|
error: 0,
|
|
245
350
|
msg: '',
|
|
246
351
|
src: ''
|
|
247
|
-
}
|
|
352
|
+
};
|
|
248
353
|
const upload = this.upload;
|
|
249
354
|
return this.compressImage(file).then((fileUrl) => {
|
|
250
355
|
if (upload.url) {
|
|
@@ -258,18 +363,18 @@ export default {
|
|
|
258
363
|
uploadFileRes.data = JSON.parse(uploadFileRes.data);
|
|
259
364
|
// console.log(uploadFileRes.data)
|
|
260
365
|
if (uploadFileRes.statusCode !== 200 || uploadFileRes.data.error) {
|
|
261
|
-
return_data.msg = uploadFileRes.data.msg
|
|
262
|
-
return_data.error = uploadFileRes.data.error
|
|
366
|
+
return_data.msg = uploadFileRes.data.msg;
|
|
367
|
+
return_data.error = uploadFileRes.data.error;
|
|
263
368
|
reject(return_data);
|
|
264
369
|
} else {
|
|
265
|
-
return_data.src = uploadFileRes.data.save_domain + '/' + uploadFileRes.data.save_domain.save_url
|
|
370
|
+
return_data.src = uploadFileRes.data.save_domain + '/' + uploadFileRes.data.save_domain.save_url;
|
|
266
371
|
resolve(return_data);
|
|
267
372
|
}
|
|
268
373
|
},
|
|
269
374
|
fail: (fail) => {
|
|
270
375
|
// console.log(fail)
|
|
271
|
-
return_data.msg = fail.msg || '图片上传失败'
|
|
272
|
-
return_data.error = 1
|
|
376
|
+
return_data.msg = fail.msg || '图片上传失败';
|
|
377
|
+
return_data.error = 1;
|
|
273
378
|
reject(return_data);
|
|
274
379
|
}
|
|
275
380
|
});
|
|
@@ -280,9 +385,8 @@ export default {
|
|
|
280
385
|
// console.log('预期需要上传的数据总长度' + res.totalBytesExpectedToSend);
|
|
281
386
|
|
|
282
387
|
// 测试条件,取消上传任务。
|
|
283
|
-
|
|
284
388
|
});
|
|
285
|
-
})
|
|
389
|
+
});
|
|
286
390
|
} else {
|
|
287
391
|
console.warn('因:没有图片资源接口路径,故:直接转为base64使用。生成环境建议使用图片接口地址保存图片并返回地址。');
|
|
288
392
|
// #ifdef MP-WEIXIN
|
|
@@ -290,18 +394,20 @@ export default {
|
|
|
290
394
|
uni.getFileSystemManager().readFile({
|
|
291
395
|
filePath: fileUrl, //选择图片返回的相对路径
|
|
292
396
|
encoding: 'base64', //编码格式
|
|
293
|
-
success: res => {
|
|
397
|
+
success: (res) => {
|
|
398
|
+
//成功的回调
|
|
294
399
|
// console.log(res);
|
|
295
|
-
let base64 = 'data:' + file.type + ';base64,' + res.data //不加上这串字符,在页面无法显示的哦
|
|
400
|
+
let base64 = 'data:' + file.type + ';base64,' + res.data; //不加上这串字符,在页面无法显示的哦
|
|
296
401
|
return_data.src = base64;
|
|
297
402
|
resolve(return_data);
|
|
298
|
-
},
|
|
299
|
-
|
|
300
|
-
return_data.
|
|
403
|
+
},
|
|
404
|
+
fail: (e) => {
|
|
405
|
+
return_data.msg = '图片转换失败';
|
|
406
|
+
return_data.error = 1;
|
|
301
407
|
reject(return_data);
|
|
302
408
|
}
|
|
303
|
-
})
|
|
304
|
-
})
|
|
409
|
+
});
|
|
410
|
+
});
|
|
305
411
|
// #endif
|
|
306
412
|
|
|
307
413
|
// #ifndef MP-WEIXIN
|
|
@@ -310,20 +416,21 @@ export default {
|
|
|
310
416
|
url: fileUrl,
|
|
311
417
|
method: 'GET',
|
|
312
418
|
responseType: 'arraybuffer',
|
|
313
|
-
success: ress => {
|
|
314
|
-
let base64 = uni.arrayBufferToBase64(ress.data); //把arraybuffer转成base64
|
|
315
|
-
return_data.src = 'data:' + file.type + ';base64,' + base64////不加上这串字符,在页面无法显示的哦
|
|
419
|
+
success: (ress) => {
|
|
420
|
+
let base64 = uni.arrayBufferToBase64(ress.data); //把arraybuffer转成base64
|
|
421
|
+
return_data.src = 'data:' + file.type + ';base64,' + base64; ////不加上这串字符,在页面无法显示的哦
|
|
316
422
|
resolve(return_data);
|
|
317
|
-
},
|
|
318
|
-
|
|
319
|
-
return_data.
|
|
423
|
+
},
|
|
424
|
+
fail: (e) => {
|
|
425
|
+
return_data.msg = '图片转换失败';
|
|
426
|
+
return_data.error = 1;
|
|
320
427
|
reject(return_data);
|
|
321
428
|
}
|
|
322
|
-
})
|
|
323
|
-
})
|
|
429
|
+
});
|
|
430
|
+
});
|
|
324
431
|
// #endif
|
|
325
432
|
}
|
|
326
|
-
})
|
|
433
|
+
});
|
|
327
434
|
},
|
|
328
435
|
/* 压缩图片 */
|
|
329
436
|
compressImage(file) {
|
|
@@ -332,23 +439,26 @@ export default {
|
|
|
332
439
|
// console.log('压缩图片')
|
|
333
440
|
let fileType = file.type.split('/')[1];
|
|
334
441
|
fileType = fileType == 'jpeg' ? 'jpg' : fileType;
|
|
335
|
-
this.$refs.helangCompress
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
442
|
+
this.$refs.helangCompress
|
|
443
|
+
.compress({
|
|
444
|
+
src: file.path,
|
|
445
|
+
maxSize: this.upload.maxSize || 1080,
|
|
446
|
+
fileType: file.type,
|
|
447
|
+
quality: (this.upload.quality || 80) / 100
|
|
448
|
+
})
|
|
449
|
+
.then((res) => {
|
|
450
|
+
// console.log('压缩成功')
|
|
451
|
+
// console.log(res);
|
|
452
|
+
// console.log('返回压缩后的图片地址');
|
|
453
|
+
resolve(res);
|
|
454
|
+
})
|
|
455
|
+
.catch((err) => {
|
|
456
|
+
console.error(err);
|
|
457
|
+
reject(err);
|
|
458
|
+
});
|
|
349
459
|
} else {
|
|
350
460
|
//不压缩直接返回
|
|
351
|
-
resolve(file.path)
|
|
461
|
+
resolve(file.path);
|
|
352
462
|
}
|
|
353
463
|
});
|
|
354
464
|
|
|
@@ -359,7 +469,7 @@ export default {
|
|
|
359
469
|
};
|
|
360
470
|
</script>
|
|
361
471
|
<style>
|
|
362
|
-
@import
|
|
472
|
+
@import './editor-icon.css';
|
|
363
473
|
.wrapper {
|
|
364
474
|
padding: 5px;
|
|
365
475
|
}
|
|
@@ -374,7 +484,7 @@ export default {
|
|
|
374
484
|
.toolbar {
|
|
375
485
|
box-sizing: border-box;
|
|
376
486
|
border-bottom: 0;
|
|
377
|
-
font-family:
|
|
487
|
+
font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
|
|
378
488
|
}
|
|
379
489
|
.ql-container {
|
|
380
490
|
box-sizing: border-box;
|