@@ -46,9 +46,14 @@ Component({
46
46
value : false
47
47
} ,
48
48
// 是否可以预览
49
- isPreview : {
49
+ preview : {
50
50
type : Boolean ,
51
51
value : true
52
+ } ,
53
+ // 所选图片最大限制,单位字节
54
+ maxImageSize : {
55
+ type : Number ,
56
+ value : 10000000 ,
52
57
}
53
58
} ,
54
59
@@ -78,7 +83,7 @@ Component({
78
83
*/
79
84
methods : {
80
85
handleClear ( ) {
81
- var urls = this . data . urls ;
86
+ let urls = this . data . urls ;
82
87
this . setData ( {
83
88
urls : [ ] ,
84
89
clear : false ,
@@ -97,8 +102,8 @@ Component({
97
102
onPreviewTap ( e ) {
98
103
const index = e . currentTarget . dataset . index ;
99
104
const urls = this . data . urls ;
100
- var tempFilePath = '' ;
101
- var previewImageList = [ ] ;
105
+ let tempFilePath = '' ;
106
+ let previewImageList = [ ] ;
102
107
const newOrOld = this . data . newOrOld ;
103
108
104
109
if ( newOrOld == 'old' ) {
@@ -107,7 +112,7 @@ Component({
107
112
108
113
} else {
109
114
tempFilePath = this . data . urls [ index ] . url ;
110
- for ( var i = 0 ; i < urls . length ; i ++ ) {
115
+ for ( let i = 0 ; i < urls . length ; i ++ ) {
111
116
previewImageList . push ( urls [ i ] . url ) ;
112
117
}
113
118
}
@@ -119,7 +124,7 @@ Component({
119
124
all : urls // 需要预览的图片http链接列表
120
125
} ;
121
126
let option = { } ;
122
- if ( this . data . isPreview === true ) {
127
+ if ( this . data . preview === true ) {
123
128
wx . previewImage ( {
124
129
current : tempFilePath , // 当前显示图片的http链接
125
130
urls : previewImageList // 需要预览的图片http链接列表
@@ -143,15 +148,21 @@ Component({
143
148
sourceType : [ 'album' , 'camera' ] ,
144
149
success ( res ) {
145
150
// tempFilePath可以作为img标签的src属性显示图片
146
- var tempFilePath = [ ] ;
151
+ let tempFilePath = [ ] ;
147
152
if ( newOrOld == 'old' ) {
148
153
tempFilePath = res . tempFilePaths ;
149
154
} else {
150
- for ( var i = 0 ; i < res . tempFilePaths . length ; i ++ ) {
155
+ for ( let i = 0 ; i < res . tempFilePaths . length ; i ++ ) {
151
156
tempFilePath . push ( {
152
157
url : res . tempFilePaths [ i ] ,
153
158
// key: null
159
+ imageSize : res . tempFiles [ i ] . size
154
160
} ) ;
161
+ if ( res . tempFiles [ i ] . size > that . data . maxImageSize ) {
162
+ tempFilePath [ i ] . overSize = true ;
163
+ } else {
164
+ tempFilePath [ i ] . overSize = false ;
165
+ }
155
166
}
156
167
}
157
168
const newtempFilePaths = that . data . urls . concat ( tempFilePath ) ;
@@ -174,6 +185,23 @@ Component({
174
185
175
186
that . triggerEvent ( 'linchange' , detail , option ) ;
176
187
that . triggerEvent ( 'linpush' , detail , option ) ;
188
+
189
+ // 超过大小的image集合
190
+ let overSizeList = [ ] ;
191
+ for ( let n = 0 ; n < newtempFilePaths . length ; n ++ ) {
192
+ if ( newtempFilePaths [ n ] . overSize ) {
193
+ overSizeList . push ( newtempFilePaths [ n ] ) ;
194
+ }
195
+ }
196
+
197
+ if ( overSizeList . length > 0 ) {
198
+ let detail = {
199
+ current : tempFilePath ,
200
+ all : newtempFilePaths ,
201
+ overSizeList : overSizeList ,
202
+ } ;
203
+ that . triggerEvent ( 'linoversize' , detail , option ) ;
204
+ }
177
205
}
178
206
} ) ;
179
207
0 commit comments