@10yun/cv-mobile-ui 0.5.50 → 0.5.52

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 (114) hide show
  1. package/build/common_func.js +3 -1
  2. package/build/parse-create.js +17 -8
  3. package/build/parse-pages-pkg.js +10 -4
  4. package/empty-devtools.js +3 -0
  5. package/libs/aes.js +50 -0
  6. package/libs/bledefine/bledefine.js +51 -0
  7. package/libs/bledefine/ios-ble-statuscode.js +97 -0
  8. package/libs/nfc/hexiii-nfc.js +236 -0
  9. package/libs/nfc.js +179 -0
  10. package/libs/sdk/html2canvas.js +8 -0
  11. package/libs/sdk/sdk-h5.js +585 -0
  12. package/{plugins → libs}/storage2.js +0 -5
  13. package/{plugins → libs}/storage3.js +0 -4
  14. package/libs/validators/index.js +438 -0
  15. package/libs/weapp-qrcode.js +1108 -0
  16. package/package.json +2 -3
  17. package/ui-cv/components/cv-dialog-share/tui-share.vue +16 -16
  18. package/ui-cv/components/cv-mask-png/cv-mask-png.vue +27 -0
  19. package/ui-cv/components/cv-mask-svg/cv-mask-svg.vue +22 -0
  20. package/ui-cv/components/cv-mask-svg/mixins.js +131 -0
  21. package/ui-fireui/components/{fui-actionsheet/fui-actionsheet.vue → u-action-sheet/u-action-sheet.vue} +21 -21
  22. package/ui-fireui/components/{fui-alert/fui-alert.vue → u-alert/u-alert.vue} +13 -13
  23. package/ui-fireui/components/{fui-badge/fui-badge.vue → u-badge/u-badge.vue} +16 -16
  24. package/ui-fireui/components/{fui-bottom-navigation/fui-bottom-navigation.vue → u-bottom-navigation/u-bottom-navigation.vue} +47 -46
  25. package/ui-fireui/components/{fui-bottom-popup/fui-bottom-popup.vue → u-bottom-popup/u-bottom-popup.vue} +9 -8
  26. package/ui-fireui/components/{fui-bubble-popup/fui-bubble-popup.vue → u-bubble-popup/u-bubble-popup.vue} +19 -15
  27. package/ui-fireui/components/{fui-button/fui-button.vue → u-button/u-button.vue} +69 -69
  28. package/ui-fireui/components/u-button/u-button2.vue +553 -0
  29. package/ui-fireui/components/{fui-calendar/fui-calendar.vue → u-calendar/u-calendar.vue} +78 -78
  30. package/ui-fireui/components/u-calendar/u-calendar2.vue +801 -0
  31. package/ui-fireui/components/{fui-card/fui-card.vue → u-card/u-card.vue} +24 -24
  32. package/ui-fireui/components/{fui-cascade-selection/fui-cascade-selection.vue → u-cascade-selection/u-cascade-selection.vue} +32 -32
  33. package/ui-fireui/components/{fui-circular-progress/fui-circular-progress.vue → u-circular-progress/u-circular-progress.vue} +14 -6
  34. package/ui-fireui/components/{fui-collapse/fui-collapse.vue → u-collapse/u-collapse.vue} +19 -19
  35. package/ui-fireui/components/{fui-countdown/fui-countdown.vue → u-countdown/u-countdown.vue} +28 -28
  36. package/ui-fireui/components/{fui-datetime/fui-datetime.vue → u-datetime/u-datetime.vue} +51 -51
  37. package/ui-fireui/components/{fui-divider/fui-divider.vue → u-divider/u-divider.vue} +6 -6
  38. package/ui-fireui/components/{fui-drawer/fui-drawer.vue → u-drawer/u-drawer.vue} +11 -11
  39. package/ui-fireui/components/{fui-dropdown-list/fui-dropdown-list.vue → u-dropdown-list/u-dropdown-list.vue} +11 -6
  40. package/ui-fireui/components/{fui-fab/fui-fab.vue → u-fab/u-fab.vue} +30 -30
  41. package/ui-fireui/components/{fui-footer/fui-footer.vue → u-footer/u-footer.vue} +19 -15
  42. package/ui-fireui/components/{fui-grid/fui-grid.vue → u-grid/u-grid.vue} +13 -5
  43. package/ui-fireui/components/{fui-grid-item/fui-grid-item.vue → u-grid-item/u-grid-item.vue} +19 -19
  44. package/ui-fireui/components/{fui-icon/fui-icon.vue → u-icon/u-icon.vue} +191 -191
  45. package/ui-fireui/components/{fui-image-cropper/fui-image-cropper.vue → u-image-cropper/u-image-cropper.vue} +44 -44
  46. package/ui-fireui/components/{fui-image-group/fui-image-group.vue → u-image-group/u-image-group.vue} +7 -7
  47. package/ui-fireui/components/{fui-keyboard/fui-keyboard.vue → u-keyboard/u-keyboard.vue} +29 -32
  48. package/ui-fireui/components/{fui-keyboard-input/fui-keyboard-input.vue → u-keyboard-input/u-keyboard-input.vue} +9 -9
  49. package/ui-fireui/components/{fui-list-cell/fui-list-cell.vue → u-list-cell/u-list-cell.vue} +23 -23
  50. package/ui-fireui/components/{fui-list-view/fui-list-view.vue → u-list-view/u-list-view.vue} +11 -11
  51. package/ui-fireui/components/{fui-loading/fui-loading.vue → u-loading/u-loading.vue} +6 -6
  52. package/ui-fireui/components/{fui-loadmore/fui-loadmore.vue → u-loadmore/u-loadmore.vue} +15 -15
  53. package/ui-fireui/components/{fui-modal/fui-modal.vue → u-modal/u-modal.vue} +58 -58
  54. package/ui-fireui/components/{fui-navigation-bar/fui-navigation-bar.vue → u-navigation-bar/u-navigation-bar.vue} +11 -10
  55. package/ui-fireui/components/{fui-no-data/fui-no-data.vue → u-no-data/u-no-data.vue} +11 -11
  56. package/ui-fireui/components/{fui-nomore/fui-nomore.vue → u-nomore/u-nomore.vue} +10 -10
  57. package/ui-fireui/components/{fui-numberbox/fui-numberbox.vue → u-numberbox/u-numberbox.vue} +12 -12
  58. package/ui-fireui/components/{fui-numberbox-border/fui-numberbox-border.vue → u-numberbox-border/u-numberbox-border.vue} +10 -10
  59. package/ui-fireui/components/{fui-picture-cropper/fui-picture-cropper.vue → u-picture-cropper/u-picture-cropper.vue} +42 -42
  60. package/ui-fireui/components/u-picture-cropper/u-picture-cropper.wxs +582 -0
  61. package/ui-fireui/components/{fui-round-progress/fui-round-progress.vue → u-round-progress/u-round-progress.vue} +2 -2
  62. package/ui-fireui/components/{fui-scroll-top/fui-scroll-top.vue → u-scroll-top/u-scroll-top.vue} +21 -21
  63. package/ui-fireui/components/{fui-sharemodel/fui-sharemodel.vue → u-share-model/u-share-model.vue} +24 -24
  64. package/ui-fireui/components/{fui-skeleton/fui-skeleton.vue → u-skeleton/u-skeleton.vue} +22 -22
  65. package/ui-fireui/components/{fui-steps/fui-steps.vue → u-steps/u-steps.vue} +27 -27
  66. package/ui-fireui/components/{fui-sticky/fui-sticky.vue → u-sticky/u-sticky.vue} +4 -4
  67. package/ui-fireui/components/{fui-sticky-wxs/fui-sticky-wxs.vue → u-sticky-wxs/u-sticky-wxs.vue} +7 -7
  68. package/ui-fireui/components/u-sticky-wxs/u-sticky.wxs +46 -0
  69. package/ui-fireui/components/{fui-swipe-action/fui-swipe-action.vue → u-swipe-action/u-swipe-action.vue} +11 -11
  70. package/ui-fireui/components/{fui-tabbar/fui-tabbar.vue → u-tabbar/u-tabbar.vue} +26 -30
  71. package/ui-fireui/components/{fui-tabs/fui-tabs.vue → u-tabs/u-tabs.vue} +17 -17
  72. package/ui-fireui/components/{fui-tabs2/fui-tabs2.vue → u-tabs2/u-tabs2.vue} +17 -17
  73. package/ui-fireui/components/{fui-tag/fui-tag.vue → u-tag/u-tag.vue} +362 -374
  74. package/ui-fireui/components/{fui-time-axis/fui-time-axis.vue → u-time-axis/u-time-axis.vue} +3 -3
  75. package/ui-fireui/components/{fui-timeaxis-item/fui-timeaxis-item.vue → u-timeaxis-item/u-timeaxis-item.vue} +4 -4
  76. package/ui-fireui/components/{fui-tips/fui-tips.vue → u-tips/u-tips.vue} +20 -20
  77. package/ui-fireui/components/{fui-toast/fui-toast.vue → u-toast/u-toast.vue} +13 -13
  78. package/ui-fireui/components/{fui-top-dropdown/fui-top-dropdown.vue → u-top-dropdown/u-top-dropdown.vue} +8 -8
  79. package/ui-fireui/components/{fui-upload/fui-upload.vue → u-upload/u-upload.vue} +30 -30
  80. package/ui-fireui/components/u-upload2/u-upload.vue +464 -0
  81. package/ui-fireui/components/{fui-uploadsamll/fui-uploadsamll.vue → u-uploadsamll/u-uploadsamll.vue} +34 -34
  82. package/ui-fireui/css/thorui.css +589 -0
  83. package/ui-fireui/{fireui.css → index.css} +306 -268
  84. package/ui-fireui/nvue/u-circular-progress/gcanvas/bridge/bridge-weex.js +241 -0
  85. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-2d/FillStyleLinearGradient.js +18 -0
  86. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-2d/FillStylePattern.js +8 -0
  87. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-2d/FillStyleRadialGradient.js +17 -0
  88. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-2d/RenderingContext.js +666 -0
  89. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-webgl/ActiveInfo.js +11 -0
  90. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-webgl/Buffer.js +21 -0
  91. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-webgl/Framebuffer.js +21 -0
  92. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-webgl/GLenum.js +298 -0
  93. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-webgl/GLmethod.js +142 -0
  94. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-webgl/GLtype.js +23 -0
  95. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-webgl/Program.js +21 -0
  96. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-webgl/Renderbuffer.js +21 -0
  97. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-webgl/RenderingContext.js +1191 -0
  98. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-webgl/Shader.js +22 -0
  99. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-webgl/ShaderPrecisionFormat.js +11 -0
  100. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-webgl/Texture.js +22 -0
  101. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-webgl/UniformLocation.js +22 -0
  102. package/ui-fireui/nvue/u-circular-progress/gcanvas/context-webgl/classUtils.js +3 -0
  103. package/ui-fireui/nvue/u-circular-progress/gcanvas/env/canvas.js +74 -0
  104. package/ui-fireui/nvue/u-circular-progress/gcanvas/env/image.js +96 -0
  105. package/ui-fireui/nvue/u-circular-progress/gcanvas/env/tool.js +24 -0
  106. package/ui-fireui/nvue/u-circular-progress/gcanvas/index.js +47 -0
  107. package/ui-fireui/nvue/u-circular-progress/u-circular-progress.nvue +203 -0
  108. package/ui-fireui/nvue/u-icon/icons.js +188 -0
  109. package/ui-fireui/nvue/u-icon/u-icon.vue +78 -0
  110. package/uview-plus/components/u-grid/u-grid.vue +23 -1
  111. package/ui-fireui/components/fui-picture-cropper/fui-picture-cropper.wxs +0 -560
  112. package/ui-fireui/components/fui-rate/fui-rate.vue +0 -167
  113. package/ui-fireui/components/fui-sticky-wxs/fui-sticky.wxs +0 -44
  114. /package/ui-fireui/components/{fui-calendar/fui-calendar.js → u-calendar/u-calendar.js} +0 -0
@@ -0,0 +1,464 @@
1
+ <template>
2
+ <view class="up-container">
3
+ <view class="up-upload-box">
4
+ <view class="up-image-item" v-for="(item, index) in imageList" :key="index">
5
+ <image :src="item" class="up-item-img" @tap.stop="previewImage(index)" mode="aspectFill"></image>
6
+ <view v-if="!forbidDel" class="up-img-del" @tap.stop="delImage(index)">
7
+ <image class="del-img" src="/static/images/share/icon_del.png" mode="widthFix"></image>
8
+ </view>
9
+ <view v-if="statusArr[index] != 1" class="up-upload-mask">
10
+ <view class="up-upload-loading" v-if="statusArr[index] == 2"></view>
11
+ <text class="up-tips">{{ statusArr[index] == 2 ? '上传中...' : '上传失败' }}</text>
12
+ <view
13
+ class="up-mask-btn"
14
+ v-if="statusArr[index] == 3"
15
+ @tap.stop="reUpLoad(index)"
16
+ hover-class="up-btn-hover"
17
+ :hover-stay-time="150"
18
+ >
19
+ 重新上传
20
+ </view>
21
+ </view>
22
+ </view>
23
+ <view v-if="isShowAdd" class="up-upload-add" @tap="chooseImage">
24
+ <uni-icons type="camera" size="30" color="#00AFC7" />
25
+ <view class="" style="font-size: 24rpx; margin-top: 20rpx">添加</view>
26
+ <!-- <image class="add-img" src="/static/images/share/ad.png" mode="widthFix"></image> -->
27
+ <!-- <view class="up-upload-icon up-icon-plus"></view> -->
28
+ </view>
29
+ </view>
30
+ </view>
31
+ </template>
32
+ <script>
33
+ export default {
34
+ name: 'fuiUpload',
35
+ props: {
36
+ //初始化图片路径
37
+ value: {
38
+ type: Array,
39
+ default() {
40
+ return [];
41
+ }
42
+ },
43
+ //禁用删除
44
+ forbidDel: {
45
+ type: Boolean,
46
+ default: false
47
+ },
48
+ //禁用添加
49
+ forbidAdd: {
50
+ type: Boolean,
51
+ default: false
52
+ },
53
+ //服务器地址
54
+ serverUrl: {
55
+ type: String,
56
+ default: ''
57
+ },
58
+ //限制数
59
+ limit: {
60
+ type: Number,
61
+ default: 9
62
+ },
63
+ //original 原图,compressed 压缩图,默认二者都有
64
+ sizeType: {
65
+ type: Array,
66
+ default() {
67
+ return ['original', 'compressed'];
68
+ }
69
+ },
70
+ //album 从相册选图,camera 使用相机,默认二者都有。如需直接开相机或直接选相册,请只使用一个选项
71
+ sourceType: {
72
+ type: Array,
73
+ default() {
74
+ return ['album', 'camera'];
75
+ }
76
+ },
77
+ //可上传图片类型,默认为空,不限制 Array<String> ['jpg','png','gif']
78
+ imageFormat: {
79
+ type: Array,
80
+ default() {
81
+ return [];
82
+ }
83
+ },
84
+ //单张图片大小限制 MB
85
+ size: {
86
+ type: Number,
87
+ default: 4
88
+ },
89
+ //项目名,默认为 file
90
+ fileKeyName: {
91
+ type: String,
92
+ default: 'file'
93
+ },
94
+ //HTTP 请求 Header, header 中不能设置 Referer。
95
+ header: {
96
+ type: Object,
97
+ default() {
98
+ return {};
99
+ }
100
+ },
101
+ //HTTP 请求中其他额外的 form data
102
+ formData: {
103
+ type: Object,
104
+ default() {
105
+ return {};
106
+ }
107
+ }
108
+ },
109
+ data() {
110
+ return {
111
+ //图片地址
112
+ imageList: [],
113
+ //上传状态:1-上传成功 2-上传中 3-上传失败
114
+ statusArr: []
115
+ };
116
+ },
117
+ created() {
118
+ this.initImages();
119
+ },
120
+ watch: {
121
+ value(val) {
122
+ console.log('监听', val);
123
+ if (val) {
124
+ this.initImages();
125
+ }
126
+ }
127
+ },
128
+ computed: {
129
+ isShowAdd() {
130
+ let isShow = true;
131
+ if (this.forbidAdd || (this.limit && this.imageList.length >= this.limit)) {
132
+ isShow = false;
133
+ }
134
+ return isShow;
135
+ }
136
+ },
137
+ methods: {
138
+ initImages() {
139
+ this.imageList = [...this.value];
140
+ for (let item of this.imageList) {
141
+ this.statusArr.push('1');
142
+ }
143
+ },
144
+ // 重新上传
145
+ reUpLoad(index) {
146
+ this.statusArr[index] = '2';
147
+ this.change();
148
+ this.uploadImage(index, this.imageList[index])
149
+ .then(() => {
150
+ this.change();
151
+ })
152
+ .catch(() => {
153
+ this.change();
154
+ });
155
+ },
156
+ change() {
157
+ let status = ~this.statusArr.indexOf('2') ? 2 : 1;
158
+ if (status != 2 && ~this.statusArr.indexOf('3')) {
159
+ // 上传失败
160
+ status = 3;
161
+ }
162
+ this.$emit('complete', {
163
+ status: status,
164
+ imgArr: this.imageList
165
+ });
166
+ },
167
+ chooseImage() {
168
+ let _this = this;
169
+ uni.chooseImage({
170
+ count: _this.limit - _this.imageList.length,
171
+ success: function (e) {
172
+ let imageArr = [];
173
+ for (let i = 0; i < e.tempFilePaths.length; i++) {
174
+ let len = _this.imageList.length;
175
+ if (len >= _this.limit) {
176
+ uni.showToast({
177
+ title: `最多可上传${_this.limit}张图片`,
178
+ icon: 'none'
179
+ });
180
+ break;
181
+ }
182
+ let path = e.tempFilePaths[i];
183
+ imageArr.push(path);
184
+ _this.imageList.push(path);
185
+ _this.statusArr.push('2');
186
+ }
187
+ _this.change();
188
+
189
+ let start = _this.imageList.length - imageArr.length;
190
+ for (let j = 0; j < imageArr.length; j++) {
191
+ let index = start + j;
192
+ //服务器地址
193
+ if (_this.serverUrl) {
194
+ _this
195
+ .uploadImage(index, imageArr[j])
196
+ .then(() => {
197
+ _this.change();
198
+ })
199
+ .catch(() => {
200
+ _this.change();
201
+ });
202
+ } else {
203
+ //无服务器地址则直接返回成功
204
+ this.statusArr[index] = 1;
205
+ _this.change();
206
+ }
207
+ }
208
+ }
209
+ });
210
+ },
211
+ uploadImage(index, url) {
212
+ let _this = this;
213
+ return new Promise((resolve, reject) => {
214
+ uni.uploadFile({
215
+ url: this.serverUrl,
216
+ name: this.fileKeyName,
217
+ header: {
218
+ //设置请求头
219
+ },
220
+ formData: {},
221
+ filePath: url,
222
+ success: function (res) {
223
+ console.log(res);
224
+ if (res.statusCode == 200) {
225
+ //返回结果 此处需要按接口实际返回进行修改
226
+ let d = JSON.parse(res.data.replace(/\ufeff/g, '') || '{}');
227
+ //判断code,以实际接口规范判断
228
+ if (d.code % 100 === 0) {
229
+ // 上传成功 d.url 为上传后图片地址,以实际接口返回为准
230
+ d.url && (_this.imageList[index] = d.url);
231
+ this.statusArr[index] = d.url ? '1' : '3';
232
+ } else {
233
+ // 上传失败
234
+ this.statusArr[index] = 3;
235
+ }
236
+ resolve(index);
237
+ } else {
238
+ this.statusArr[index] = 3;
239
+
240
+ reject(index);
241
+ }
242
+ },
243
+ fail: function (res) {
244
+ this.statusArr[index] = 3;
245
+
246
+ reject(index);
247
+ }
248
+ });
249
+ });
250
+ },
251
+ delImage(index) {
252
+ this.imageList.splice(index, 1);
253
+ this.statusArr.splice(index, 1);
254
+ this.$emit('remove', {
255
+ index: index
256
+ });
257
+ this.change();
258
+ },
259
+ previewImage(index) {
260
+ if (!this.imageList.length) return;
261
+ uni.previewImage({
262
+ current: this.imageList[index],
263
+ loop: true,
264
+ urls: this.imageList
265
+ });
266
+ }
267
+ }
268
+ };
269
+ </script>
270
+
271
+ <style scoped>
272
+ @font-face {
273
+ font-family: 'tuiUpload';
274
+ src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAATcAA0AAAAAByQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEwAAAABoAAAAciR52BUdERUYAAASgAAAAHgAAAB4AKQALT1MvMgAAAaAAAABCAAAAVjxvR/tjbWFwAAAB+AAAAEUAAAFK5ibpuGdhc3AAAASYAAAACAAAAAj//wADZ2x5ZgAAAkwAAADXAAABAAmNjcZoZWFkAAABMAAAAC8AAAA2FpiS+WhoZWEAAAFgAAAAHQAAACQH3QOFaG10eAAAAeQAAAARAAAAEgwAACBsb2NhAAACQAAAAAwAAAAMAEoAgG1heHAAAAGAAAAAHwAAACABEgA2bmFtZQAAAyQAAAFJAAACiCnmEVVwb3N0AAAEcAAAACgAAAA6OMUs4HjaY2BkYGAAYo3boY/i+W2+MnCzMIDAzb3qdQj6fwPzf+YGIJeDgQkkCgA/KAtvAHjaY2BkYGBu+N/AEMPCAALM/xkYGVABCwBZ4wNrAAAAeNpjYGRgYGBl0GJgZgABJiDmAkIGhv9gPgMADTABSQB42mNgZGFgnMDAysDA1Ml0hoGBoR9CM75mMGLkAIoysDIzYAUBaa4pDA7PGJ9xMjf8b2CIYW5gaAAKM4LkANt9C+UAAHjaY2GAABYIVmBgAAAA+gAtAAAAeNpjYGBgZoBgGQZGBhBwAfIYwXwWBg0gzQakGRmYnjE+4/z/n4EBQksxSf6GqgcCRjYGOIeRCUgwMaACRoZhDwCiLwmoAAAAAAAAAAAAAAAASgCAeNpdjkFKw0AARf/vkIR0BkPayWRKQZtYY90ohJju2kOIbtz0KD1HVm50UfEmWXoAr9ADOHFARHHzeY//Fx8Ci+FJfIgdJFa4AhgiMshbrCuIsLxhFJZVs+Vl1bT1GddtbXTC3OhohN4dg4BJ3zMJAnccyfm468ZzHXddrH9ZKbHzdf9n/vkY/xv9sPQXgGEvBrHHwst5kTbXLE+YpYVPkxepPmW94W16UbdNJd6f3SAzo5W7m1jaKd+8ZZIvk5nlKw9SK6Wle7BLS3f/bTzQLmfAF2T1NsQAeNp9kD1OAzEQhZ/zByQSQiCoXVEA2vyUKRMp9Ailo0g23pBo1155nUg5AS0VB6DlGByAGyDRcgpelkmTImvt6PObmeexAZzjGwr/3yXuhBWO8ShcwREy4Sr1F+Ea+V24jhY+hRvUf4SbuFUD4RYu1BsdVO2Eu5vSbcsKZxgIV3CKJ+Eq9ZVwjfwqXMcVPoQb1L+EmxjjV7iFa2WpDOFhMEFgnEFjig3jAjEcLJIyBtahOfRmEsxMTzd6ETubOBso71dilwMeaDnngCntPbdmvkon/mDLgdSYbh4FS7YpjS4idCgbXyyc1d2oc7D9nu22tNi/a4E1x+xRDWzU/D3bM9JIbAyvkJI18jK3pBJTj2hrrPG7ZynW814IiU68y/SIx5o0dTr3bmniwOLn8owcfbS5kj33qBw+Y1kIeb/dTsQgil2GP5PYcRkAAAB42mNgYoAALjDJyIAOWMGiTIxMjMxsKak5qSWpbFmZiRmJ+QAmgAUIAAAAAf//AAIAAQAAAAwAAAAWAAAAAgABAAMABAABAAQAAAACAAAAAHjaY2BgYGQAgqtL1DlA9M296nUwGgA+8QYgAAA=)
275
+ format('woff');
276
+ font-weight: normal;
277
+ font-style: normal;
278
+ }
279
+
280
+ .up-upload-icon {
281
+ font-family: 'tuiUpload' !important;
282
+ font-style: normal;
283
+ -webkit-font-smoothing: antialiased;
284
+ -moz-osx-font-smoothing: grayscale;
285
+ padding: 10rpx;
286
+ }
287
+
288
+ .up-icon-delete:before {
289
+ content: '\e601';
290
+ }
291
+
292
+ .up-icon-plus:before {
293
+ content: '\e609';
294
+ }
295
+
296
+ .up-upload-box {
297
+ width: 100%;
298
+ display: flex;
299
+ flex-wrap: wrap;
300
+ }
301
+
302
+ .up-upload-add {
303
+ width: 220rpx;
304
+ height: 220rpx;
305
+ font-size: 68rpx;
306
+ font-weight: 100;
307
+ color: #888;
308
+ background-color: #f7f7f7;
309
+ display: flex;
310
+ align-items: center;
311
+ justify-content: center;
312
+ padding: 0;
313
+ }
314
+
315
+ .up-image-item {
316
+ width: 220rpx;
317
+ height: 220rpx;
318
+ position: relative;
319
+ margin-right: 20rpx;
320
+ margin-bottom: 20rpx;
321
+ }
322
+
323
+ .up-image-item:nth-of-type(3n) {
324
+ margin-right: 0;
325
+ }
326
+
327
+ .up-item-img {
328
+ width: 220rpx;
329
+ height: 220rpx;
330
+ display: block;
331
+ }
332
+
333
+ .up-img-del {
334
+ width: 36rpx;
335
+ height: 36rpx;
336
+ position: absolute;
337
+ right: -12rpx;
338
+ top: -12rpx;
339
+ background-color: #eb0909;
340
+ border-radius: 50%;
341
+ color: white;
342
+ font-size: 34rpx;
343
+ z-index: 999;
344
+ }
345
+
346
+ .up-img-del::before {
347
+ content: '';
348
+ width: 16rpx;
349
+ height: 1px;
350
+ position: absolute;
351
+ left: 10rpx;
352
+ top: 18rpx;
353
+ background-color: #fff;
354
+ }
355
+
356
+ .up-upload-mask {
357
+ width: 100%;
358
+ height: 100%;
359
+ position: absolute;
360
+ left: 0;
361
+ top: 0;
362
+ display: flex;
363
+ flex-direction: column;
364
+ align-items: center;
365
+ justify-content: space-around;
366
+ padding: 40rpx 0;
367
+ box-sizing: border-box;
368
+ background-color: rgba(0, 0, 0, 0.6);
369
+ }
370
+
371
+ .up-upload-loading {
372
+ width: 28rpx;
373
+ height: 28rpx;
374
+ border-radius: 50%;
375
+ border: 2px solid;
376
+ border-color: #b2b2b2 #b2b2b2 #b2b2b2 #fff;
377
+ animation: up-rotate 0.7s linear infinite;
378
+ }
379
+
380
+ @keyframes up-rotate {
381
+ 0% {
382
+ transform: rotate(0);
383
+ }
384
+
385
+ 100% {
386
+ transform: rotate(360deg);
387
+ }
388
+ }
389
+
390
+ .up-tips {
391
+ font-size: 26rpx;
392
+ color: #fff;
393
+ }
394
+
395
+ .up-mask-btn {
396
+ padding: 4rpx 16rpx;
397
+ border-radius: 40rpx;
398
+ text-align: center;
399
+ font-size: 24rpx;
400
+ color: #fff;
401
+ border: 1rpx solid #fff;
402
+ display: flex;
403
+ align-items: center;
404
+ justify-content: center;
405
+ }
406
+
407
+ .up-btn-hover {
408
+ opacity: 0.8;
409
+ }
410
+
411
+ /**
412
+ * css 中的
413
+ */
414
+
415
+ .up-upload-box {
416
+ display: flex;
417
+ display: -webkit-flex;
418
+ flex-direction: row;
419
+ flex-wrap: wrap;
420
+ }
421
+
422
+ .up-upload-item {
423
+ width: 153rpx;
424
+ height: 153rpx;
425
+ border: 1rpx solid #e6e6e6;
426
+ box-sizing: border-box;
427
+ border-radius: 4rpx;
428
+ position: relative;
429
+ margin-bottom: 36rpx;
430
+ margin-right: 26rpx;
431
+ }
432
+
433
+ .up-upload-item:nth-of-type(4n) {
434
+ margin-right: 0 !important;
435
+ }
436
+
437
+ .up-upload-img {
438
+ width: 153rpx;
439
+ height: 153rpx;
440
+ border-radius: 4rpx;
441
+ }
442
+
443
+ .up-upload-del {
444
+ position: absolute;
445
+ /* font-size: 24px !important; */
446
+ right: -18rpx;
447
+ top: -18rpx;
448
+ /* color: #ed3f14 !important; */
449
+ }
450
+
451
+ .up-upload-add {
452
+ color: #e6e6e6;
453
+ font-weight: 200;
454
+ display: flex;
455
+ align-items: center;
456
+ justify-content: center;
457
+ }
458
+
459
+ .up-upload-add text {
460
+ font-size: 84rpx;
461
+ line-height: 38rpx;
462
+ height: 48rpx;
463
+ }
464
+ </style>
@@ -1,38 +1,38 @@
1
1
  <template>
2
- <view class="fui-container">
3
- <view class="fui-upload-box" :class="[isShowAdd ? 'fui-uploadd' : 'fui-none']">
4
- <view class="fui-image-item" v-for="(item, index) in imageList" :key="index">
2
+ <view class="up-container">
3
+ <view class="up-upload-box" :class="[isShowAdd ? 'up-uploadd' : 'up-none']">
4
+ <view class="up-image-item" v-for="(item, index) in imageList" :key="index">
5
5
  <image
6
6
  :src="item"
7
7
  :style="[{ borderRadius: borderRadius + 'rpx' }]"
8
- class="fui-item-img"
8
+ class="up-item-img"
9
9
  @tap.stop="previewImage(index)"
10
10
  mode="aspectFill"
11
11
  ></image>
12
- <view v-if="!forbidDel" class="fui-img-del" @tap.stop="delImage(index)"></view>
13
- <view v-if="statusArr[index] != 1" class="fui-upload-mask">
14
- <view class="fui-upload-loading" v-if="statusArr[index] == 2"></view>
15
- <text class="fui-tips">{{ statusArr[index] == 2 ? '上传中...' : '上传失败' }}</text>
12
+ <view v-if="!forbidDel" class="up-img-del" @tap.stop="delImage(index)"></view>
13
+ <view v-if="statusArr[index] != 1" class="up-upload-mask">
14
+ <view class="up-upload-loading" v-if="statusArr[index] == 2"></view>
15
+ <text class="up-tips">{{ statusArr[index] == 2 ? '上传中...' : '上传失败' }}</text>
16
16
  <view
17
- class="fui-mask-btn"
17
+ class="up-mask-btn"
18
18
  v-if="statusArr[index] == 3"
19
19
  @tap.stop="reUpLoad(index)"
20
- hover-class="fui-btn-hover"
20
+ hover-class="up-btn-hover"
21
21
  :hover-stay-time="150"
22
22
  >
23
23
  重新上传
24
24
  </view>
25
25
  </view>
26
26
  </view>
27
- <view v-if="isShowAdd" class="fui-upload-addicon" @tap="chooseImage">
28
- <view class="fui-upload-item">
27
+ <view v-if="isShowAdd" class="up-upload-addicon" @tap="chooseImage">
28
+ <view class="up-upload-item">
29
29
  <image style="width: 45rpx; height: 45rpx" src="/static/images/img.png" mode="widthFix"></image>
30
30
  <!-- <cv-icons type="media-camera-filled" size="44" color="#262871" /> -->
31
31
  <!-- <view class="fontS_15" :style="[{ fontSize: fontSize + 'rpx' }]" style="margin-top: 10upx; color: #4fb49b">
32
32
  请上传照片
33
33
  </view> -->
34
34
  </view>
35
- <!-- <view class="fui-upload-icon fui-icon-plus"></view> -->
35
+ <!-- <view class="up-upload-icon up-icon-plus"></view> -->
36
36
  </view>
37
37
  </view>
38
38
  </view>
@@ -327,7 +327,7 @@ export default {
327
327
  font-style: normal;
328
328
  }
329
329
 
330
- .fui-upload-icon {
330
+ .up-upload-icon {
331
331
  font-family: 'fuiUpload' !important;
332
332
  font-style: normal;
333
333
  -webkit-font-smoothing: antialiased;
@@ -335,26 +335,26 @@ export default {
335
335
  padding: 10rpx;
336
336
  }
337
337
 
338
- .fui-icon-delete:before {
338
+ .up-icon-delete:before {
339
339
  content: '\e601';
340
340
  }
341
341
 
342
- .fui-icon-plus:before {
342
+ .up-icon-plus:before {
343
343
  content: '\e609';
344
344
  }
345
345
 
346
- .fui-upload-box {
346
+ .up-upload-box {
347
347
  width: 100%;
348
348
  border-radius: 50%;
349
349
  }
350
- .fui-uploadd {
350
+ .up-uploadd {
351
351
  border: 1rpx solid #cccccc;
352
352
  border-radius: 0;
353
353
  }
354
- .fui-none {
354
+ .up-none {
355
355
  border: none;
356
356
  }
357
- .fui-upload-add {
357
+ .up-upload-add {
358
358
  width: 62rpx;
359
359
  height: 62rpx;
360
360
  font-weight: 100;
@@ -363,12 +363,12 @@ export default {
363
363
  padding: 0;
364
364
  background-color: #fff;
365
365
  }
366
- .fui-upload-addicon {
366
+ .up-upload-addicon {
367
367
  width: 62rpx;
368
368
  height: 62rpx;
369
369
  background-color: #fff;
370
370
  }
371
- .fui-upload-item {
371
+ .up-upload-item {
372
372
  margin: auto;
373
373
  vertical-align: middle;
374
374
  text-align: center;
@@ -376,7 +376,7 @@ export default {
376
376
  height: 62rpx;
377
377
  padding: 14rpx 0;
378
378
  }
379
- .fui-image-item {
379
+ .up-image-item {
380
380
  width: 62rpx;
381
381
  height: 62rpx;
382
382
  position: relative;
@@ -384,17 +384,17 @@ export default {
384
384
  border-radius: 50%;
385
385
  }
386
386
 
387
- .fui-image-item:nth-of-type(3n) {
387
+ .up-image-item:nth-of-type(3n) {
388
388
  margin-right: 0;
389
389
  }
390
390
 
391
- .fui-item-img {
391
+ .up-item-img {
392
392
  width: 100%;
393
393
  height: 100%;
394
394
  display: block;
395
395
  }
396
396
 
397
- .fui-img-del {
397
+ .up-img-del {
398
398
  width: 36rpx;
399
399
  height: 36rpx;
400
400
  position: absolute;
@@ -407,7 +407,7 @@ export default {
407
407
  z-index: 999;
408
408
  }
409
409
 
410
- .fui-img-del::before {
410
+ .up-img-del::before {
411
411
  content: '';
412
412
  width: 16rpx;
413
413
  height: 1px;
@@ -417,7 +417,7 @@ export default {
417
417
  background-color: #fff;
418
418
  }
419
419
 
420
- .fui-upload-mask {
420
+ .up-upload-mask {
421
421
  width: 100%;
422
422
  height: 100%;
423
423
  position: absolute;
@@ -431,16 +431,16 @@ export default {
431
431
  background-color: rgba(0, 0, 0, 0.6);
432
432
  }
433
433
 
434
- .fui-upload-loading {
434
+ .up-upload-loading {
435
435
  width: 28rpx;
436
436
  height: 28rpx;
437
437
  border-radius: 50%;
438
438
  border: 2px solid;
439
439
  border-color: #b2b2b2 #b2b2b2 #b2b2b2 #fff;
440
- animation: fui-rotate 0.7s linear infinite;
440
+ animation: up-rotate 0.7s linear infinite;
441
441
  }
442
442
 
443
- @keyframes fui-rotate {
443
+ @keyframes up-rotate {
444
444
  0% {
445
445
  transform: rotate(0);
446
446
  }
@@ -450,12 +450,12 @@ export default {
450
450
  }
451
451
  }
452
452
 
453
- .fui-tips {
453
+ .up-tips {
454
454
  font-size: 26rpx;
455
455
  color: #fff;
456
456
  }
457
457
 
458
- .fui-mask-btn {
458
+ .up-mask-btn {
459
459
  padding: 4rpx 16rpx;
460
460
  border-radius: 40rpx;
461
461
  text-align: center;
@@ -466,7 +466,7 @@ export default {
466
466
  justify-content: center;
467
467
  }
468
468
 
469
- .fui-btn-hover {
469
+ .up-btn-hover {
470
470
  opacity: 0.8;
471
471
  }
472
472
  </style>