Commit ab8a1cdded9f6726b05f6b67c8e2182b73b0b29f

Authored by wdn127929
1 parent d30312d4

图片删除七牛云 。OK

@@ -178,6 +178,7 @@ class WineManageSunModel { @@ -178,6 +178,7 @@ class WineManageSunModel {
178 String remark; 178 String remark;
179 String wineSave; 179 String wineSave;
180 List<UploadImgModel> img = []; 180 List<UploadImgModel> img = [];
  181 + List<String> imgAll = [];
181 TextEditingController wineNameC = TextEditingController(); //酒品名称 182 TextEditingController wineNameC = TextEditingController(); //酒品名称
182 TextEditingController wineNumC = TextEditingController(); //存酒数量 183 TextEditingController wineNumC = TextEditingController(); //存酒数量
183 TextEditingController wineUnitC = TextEditingController(); //计量单位 184 TextEditingController wineUnitC = TextEditingController(); //计量单位
@@ -234,6 +235,7 @@ class WineManageSunModel { @@ -234,6 +235,7 @@ class WineManageSunModel {
234 uploadImgModel.qiniuUrl = v; 235 uploadImgModel.qiniuUrl = v;
235 uploadImgModel.process = 1; 236 uploadImgModel.process = 1;
236 img.add(uploadImgModel); 237 img.add(uploadImgModel);
  238 + imgAll.add(v);
237 }); 239 });
238 } else { 240 } else {
239 convert.jsonDecode(json['img']).forEach((v) { 241 convert.jsonDecode(json['img']).forEach((v) {
@@ -241,6 +243,7 @@ class WineManageSunModel { @@ -241,6 +243,7 @@ class WineManageSunModel {
241 uploadImgModel.qiniuUrl = v; 243 uploadImgModel.qiniuUrl = v;
242 uploadImgModel.process = 1; 244 uploadImgModel.process = 1;
243 img.add(uploadImgModel); 245 img.add(uploadImgModel);
  246 + imgAll.add(v);
244 }); 247 });
245 } 248 }
246 } 249 }
@@ -57,6 +57,8 @@ class _BaseInfoPageState extends State<BaseInfoPage> { @@ -57,6 +57,8 @@ class _BaseInfoPageState extends State<BaseInfoPage> {
57 String phoneStr = ''; 57 String phoneStr = '';
58 bool isSelect = true; 58 bool isSelect = true;
59 59
  60 + List<String> imgAll = [];
  61 +
60 @override 62 @override
61 void initState() { 63 void initState() {
62 super.initState(); 64 super.initState();
@@ -135,6 +137,8 @@ class _BaseInfoPageState extends State<BaseInfoPage> { @@ -135,6 +137,8 @@ class _BaseInfoPageState extends State<BaseInfoPage> {
135 nameStr = _baseIndoProvider.baseInfoSunModel.name; 137 nameStr = _baseIndoProvider.baseInfoSunModel.name;
136 _uploadImageProvider.touxiang.qiniuUrl = 138 _uploadImageProvider.touxiang.qiniuUrl =
137 _baseIndoProvider.baseInfoSunModel.photo; 139 _baseIndoProvider.baseInfoSunModel.photo;
  140 +
  141 + imgAll.add(_baseIndoProvider.baseInfoSunModel.photo);
138 _uploadImageProvider.erweima.qiniuUrl = 142 _uploadImageProvider.erweima.qiniuUrl =
139 _baseIndoProvider.baseInfoSunModel.qrcode; 143 _baseIndoProvider.baseInfoSunModel.qrcode;
140 _phoneController.text = _baseIndoProvider.baseInfoSunModel.phone; 144 _phoneController.text = _baseIndoProvider.baseInfoSunModel.phone;
@@ -211,6 +215,17 @@ class _BaseInfoPageState extends State<BaseInfoPage> { @@ -211,6 +215,17 @@ class _BaseInfoPageState extends State<BaseInfoPage> {
211 await _baseIndoProvider.setCustomerActivityBaseinfo(context, params); 215 await _baseIndoProvider.setCustomerActivityBaseinfo(context, params);
212 // _baseIndoProvider.baseInfoSunModel = null; 216 // _baseIndoProvider.baseInfoSunModel = null;
213 if (isSuccess) { 217 if (isSuccess) {
  218 +
  219 +
  220 + // imgAll和images 比较,挑出不一样的,删除七牛云
  221 + Set<String> difference = Set.from(imgAll)..removeAll([ _uploadImageProvider.touxiang.qiniuUrl]);
  222 + List<String> differenceList = difference.toList(); //需要删除的图片
  223 + if (differenceList.length > 0) {
  224 + String delImgs = Utils.listToStringEnglish(differenceList);
  225 +
  226 + _uploadImageProvider.deleteImg(context, delImgs,
  227 + needToast: false);
  228 + }
214 _uploadImageProvider.touxiang.file = null; 229 _uploadImageProvider.touxiang.file = null;
215 _uploadImageProvider.erweima.file = null; 230 _uploadImageProvider.erweima.file = null;
216 nameStr = nameTemp; 231 nameStr = nameTemp;
@@ -432,7 +447,11 @@ class _BaseInfoPageState extends State<BaseInfoPage> { @@ -432,7 +447,11 @@ class _BaseInfoPageState extends State<BaseInfoPage> {
432 file = File(compressedFile.absolute.path); 447 file = File(compressedFile.absolute.path);
433 } 448 }
434 UploadImageUtil().startUploadOnly( 449 UploadImageUtil().startUploadOnly(
435 - context, file, title == '头像' ? 0 : 1, true, _uploadImageProvider); 450 + context, file, title == '头像' ? 0 : 1, true, _uploadImageProvider,
  451 + () {
  452 + imgAll.add(_uploadImageProvider.touxiang.qiniuUrl);
  453 + //上传完成
  454 + });
436 } 455 }
437 } 456 }
438 } 457 }
@@ -95,6 +95,8 @@ class _BookInfoPageState extends State<BookInfoPage> { @@ -95,6 +95,8 @@ class _BookInfoPageState extends State<BookInfoPage> {
95 List<SmsChangeFieldSunModel> changeFieldData = []; // 95 List<SmsChangeFieldSunModel> changeFieldData = []; //
96 List<ChangeModel> data = []; //停车信息图片 96 List<ChangeModel> data = []; //停车信息图片
97 97
  98 + List<String> imgAll = [];
  99 +
98 @override 100 @override
99 void initState() { 101 void initState() {
100 super.initState(); 102 super.initState();
@@ -187,6 +189,9 @@ class _BookInfoPageState extends State<BookInfoPage> { @@ -187,6 +189,9 @@ class _BookInfoPageState extends State<BookInfoPage> {
187 sloganC.text = marketingCenterProvider.markDataModel.home.slogan ?? ''; 189 sloganC.text = marketingCenterProvider.markDataModel.home.slogan ?? '';
188 _uploadImageProvider.firstImage.qiniuUrl = 190 _uploadImageProvider.firstImage.qiniuUrl =
189 marketingCenterProvider.markDataModel.home.image ?? null; 191 marketingCenterProvider.markDataModel.home.image ?? null;
  192 + if (_uploadImageProvider.firstImage.qiniuUrl != null) {
  193 + imgAll.add(_uploadImageProvider.firstImage.qiniuUrl);
  194 + }
190 _uploadImageProvider.firstImage.process = 195 _uploadImageProvider.firstImage.process =
191 marketingCenterProvider.markDataModel.home.image != null && 196 marketingCenterProvider.markDataModel.home.image != null &&
192 marketingCenterProvider.markDataModel.home.image != '' 197 marketingCenterProvider.markDataModel.home.image != ''
@@ -249,6 +254,8 @@ class _BookInfoPageState extends State<BookInfoPage> { @@ -249,6 +254,8 @@ class _BookInfoPageState extends State<BookInfoPage> {
249 _uploadImageProvider.storeImage1.qiniuUrl = 254 _uploadImageProvider.storeImage1.qiniuUrl =
250 marketingCenterProvider.markDataModel.reserve.parkImages[0]; 255 marketingCenterProvider.markDataModel.reserve.parkImages[0];
251 _uploadImageProvider.storeImage1.process = 1; 256 _uploadImageProvider.storeImage1.process = 1;
  257 +
  258 + imgAll.add(_uploadImageProvider.storeImage1.qiniuUrl);
252 } 259 }
253 if (marketingCenterProvider.markDataModel.reserve.parkImages.length == 260 if (marketingCenterProvider.markDataModel.reserve.parkImages.length ==
254 2) { 261 2) {
@@ -258,11 +265,16 @@ class _BookInfoPageState extends State<BookInfoPage> { @@ -258,11 +265,16 @@ class _BookInfoPageState extends State<BookInfoPage> {
258 _uploadImageProvider.storeImage2.qiniuUrl = 265 _uploadImageProvider.storeImage2.qiniuUrl =
259 marketingCenterProvider.markDataModel.reserve.parkImages[1]; 266 marketingCenterProvider.markDataModel.reserve.parkImages[1];
260 _uploadImageProvider.storeImage2.process = 1; 267 _uploadImageProvider.storeImage2.process = 1;
  268 + imgAll.add(_uploadImageProvider.storeImage1.qiniuUrl);
  269 + imgAll.add(_uploadImageProvider.storeImage2.qiniuUrl);
261 } 270 }
262 } 271 }
263 272
264 _uploadImageProvider.logo.qiniuUrl = 273 _uploadImageProvider.logo.qiniuUrl =
265 marketingCenterProvider.markDataModel.marketing.logo ?? null; 274 marketingCenterProvider.markDataModel.marketing.logo ?? null;
  275 + if (_uploadImageProvider.logo.qiniuUrl != null) {
  276 + imgAll.add(_uploadImageProvider.logo.qiniuUrl);
  277 + }
266 278
267 _uploadImageProvider.logo.process = 279 _uploadImageProvider.logo.process =
268 marketingCenterProvider.markDataModel.marketing.logo != null && 280 marketingCenterProvider.markDataModel.marketing.logo != null &&
@@ -371,8 +383,9 @@ class _BookInfoPageState extends State<BookInfoPage> { @@ -371,8 +383,9 @@ class _BookInfoPageState extends State<BookInfoPage> {
371 File yourFile = File(pickedFile.path); 383 File yourFile = File(pickedFile.path);
372 Uint8List afterImg = await yourFile.readAsBytes(); 384 Uint8List afterImg = await yourFile.readAsBytes();
373 Uint8List newImg = await Utils.testFromFileComporessList5R4( 385 Uint8List newImg = await Utils.testFromFileComporessList5R4(
374 - context, afterImg,  
375 - ); 386 + context,
  387 + afterImg,
  388 + );
376 if (newImg != null) { 389 if (newImg != null) {
377 path = await Utils.saveImage(newImg); 390 path = await Utils.saveImage(newImg);
378 if (path == null) { 391 if (path == null) {
@@ -410,7 +423,13 @@ class _BookInfoPageState extends State<BookInfoPage> { @@ -410,7 +423,13 @@ class _BookInfoPageState extends State<BookInfoPage> {
410 file = File(path); 423 file = File(path);
411 } 424 }
412 UploadImageUtil().startUploadOnly( 425 UploadImageUtil().startUploadOnly(
413 - context, file, type, true, _uploadImageProvider); 426 + context, file, type, true, _uploadImageProvider, () {
  427 + if (type == 4) {
  428 + imgAll.add(_uploadImageProvider.firstImage.qiniuUrl);
  429 + } else if (type == 9) {
  430 + imgAll.add(_uploadImageProvider.logo.qiniuUrl);
  431 + }
  432 + });
414 } 433 }
415 } 434 }
416 } else { 435 } else {
@@ -448,8 +467,14 @@ class _BookInfoPageState extends State<BookInfoPage> { @@ -448,8 +467,14 @@ class _BookInfoPageState extends State<BookInfoPage> {
448 if (need) { 467 if (need) {
449 file = File(path); 468 file = File(path);
450 } 469 }
451 - UploadImageUtil()  
452 - .startUploadOnly(context, file, type, true, _uploadImageProvider); 470 + UploadImageUtil().startUploadOnly(
  471 + context, file, type, true, _uploadImageProvider, () {
  472 + if (type == 4) {
  473 + imgAll.add(_uploadImageProvider.firstImage.qiniuUrl);
  474 + } else if (type == 9) {
  475 + imgAll.add(_uploadImageProvider.logo.qiniuUrl);
  476 + }
  477 + });
453 } 478 }
454 } 479 }
455 } 480 }
@@ -1215,6 +1240,17 @@ class _BookInfoPageState extends State<BookInfoPage> { @@ -1215,6 +1240,17 @@ class _BookInfoPageState extends State<BookInfoPage> {
1215 index: item.index, 1240 index: item.index,
1216 imageModel: item.image, 1241 imageModel: item.image,
1217 height: 190, 1242 height: 190,
  1243 + callback: () {
  1244 + if (item.index == 5) {
  1245 + imgAll.add(_uploadImageProvider
  1246 + .storeImage1.qiniuUrl);
  1247 + } else if (item.index == 6) {
  1248 + imgAll.add(_uploadImageProvider
  1249 + .storeImage2.qiniuUrl);
  1250 + }
  1251 +
  1252 + //完成
  1253 + },
1218 deleteCallback: () { 1254 deleteCallback: () {
1219 item.image.qiniuUrl = null; 1255 item.image.qiniuUrl = null;
1220 item.image.file = null; 1256 item.image.file = null;
@@ -1708,6 +1744,23 @@ class _BookInfoPageState extends State<BookInfoPage> { @@ -1708,6 +1744,23 @@ class _BookInfoPageState extends State<BookInfoPage> {
1708 .setSellerTemplateConf(context, params, 1744 .setSellerTemplateConf(context, params,
1709 showLoading: true); 1745 showLoading: true);
1710 if (success) { 1746 if (success) {
  1747 + // imgAll和images 比较,挑出不一样的,删除七牛云
  1748 +
  1749 + List<String> delImgs = [];
  1750 + delImgs.addAll(images);
  1751 + delImgs.add(_uploadImageProvider.firstImage.qiniuUrl);
  1752 + delImgs.add(_uploadImageProvider.logo.qiniuUrl);
  1753 + Set<String> difference = Set.from(imgAll)
  1754 + ..removeAll(delImgs);
  1755 + List<String> differenceList =
  1756 + difference.toList(); //需要删除的图片
  1757 + if (differenceList.length > 0) {
  1758 + String delImgs =
  1759 + Utils.listToStringEnglish(differenceList);
  1760 +
  1761 + _uploadImageProvider.deleteImg(context, delImgs,
  1762 + needToast: false);
  1763 + }
1711 Utils.showToast('保存成功'); 1764 Utils.showToast('保存成功');
1712 Navigator.pop(context); 1765 Navigator.pop(context);
1713 } 1766 }
@@ -57,6 +57,8 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> { @@ -57,6 +57,8 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> {
57 bool addChefImge = false; 57 bool addChefImge = false;
58 bool addAbove = false; 58 bool addAbove = false;
59 59
  60 + List<String> imgAll = [];
  61 +
60 @override 62 @override
61 void initState() { 63 void initState() {
62 super.initState(); 64 super.initState();
@@ -91,6 +93,10 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> { @@ -91,6 +93,10 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> {
91 _uploadImageProvider.firstImage.qiniuUrl = 93 _uploadImageProvider.firstImage.qiniuUrl =
92 _marketingCenterProvider.markDataModel.chef.image ?? null; 94 _marketingCenterProvider.markDataModel.chef.image ?? null;
93 95
  96 + if (_uploadImageProvider.firstImage.qiniuUrl != null) {
  97 + imgAll.add(_uploadImageProvider.firstImage.qiniuUrl);
  98 + }
  99 +
94 _uploadImageProvider.firstImage.process = 100 _uploadImageProvider.firstImage.process =
95 _uploadImageProvider.firstImage.qiniuUrl != null && 101 _uploadImageProvider.firstImage.qiniuUrl != null &&
96 _uploadImageProvider.firstImage.qiniuUrl != '' 102 _uploadImageProvider.firstImage.qiniuUrl != ''
@@ -145,7 +151,9 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> { @@ -145,7 +151,9 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> {
145 file = File(compressedFile.absolute.path); 151 file = File(compressedFile.absolute.path);
146 } 152 }
147 UploadImageUtil() 153 UploadImageUtil()
148 - .startUploadOnly(context, file, 4, true, _uploadImageProvider); 154 + .startUploadOnly(context, file, 4, true, _uploadImageProvider, () {
  155 + imgAll.add(_uploadImageProvider.firstImage.qiniuUrl);
  156 + });
149 } 157 }
150 } 158 }
151 } 159 }
@@ -685,6 +693,19 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> { @@ -685,6 +693,19 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> {
685 .setSellerTemplateConf(context, params, 693 .setSellerTemplateConf(context, params,
686 showLoading: true); 694 showLoading: true);
687 if (success) { 695 if (success) {
  696 + // imgAll和images 比较,挑出不一样的,删除七牛云
  697 + Set<String> difference = Set.from(imgAll)
  698 + ..removeAll(
  699 + [_uploadImageProvider.firstImage.qiniuUrl]);
  700 + List<String> differenceList =
  701 + difference.toList(); //需要删除的图片
  702 + if (differenceList.length > 0) {
  703 + String delImgs =
  704 + Utils.listToStringEnglish(differenceList);
  705 +
  706 + _uploadImageProvider.deleteImg(context, delImgs,
  707 + needToast: false);
  708 + }
688 Utils.showToast('保存成功'); 709 Utils.showToast('保存成功');
689 Navigator.pop(context); 710 Navigator.pop(context);
690 } 711 }
@@ -54,6 +54,8 @@ class _DishShowPageState extends State<DishShowPage> { @@ -54,6 +54,8 @@ class _DishShowPageState extends State<DishShowPage> {
54 ScrollController controller = ScrollController(); 54 ScrollController controller = ScrollController();
55 List data = []; 55 List data = [];
56 56
  57 + List<String> imgAll = [];
  58 +
57 @override 59 @override
58 void initState() { 60 void initState() {
59 super.initState(); 61 super.initState();
@@ -72,7 +74,7 @@ class _DishShowPageState extends State<DishShowPage> { @@ -72,7 +74,7 @@ class _DishShowPageState extends State<DishShowPage> {
72 _uploadImageProvider.storeImage3 = UploadImgModel(); 74 _uploadImageProvider.storeImage3 = UploadImgModel();
73 _uploadImageProvider.storeImage4 = UploadImgModel(); 75 _uploadImageProvider.storeImage4 = UploadImgModel();
74 _uploadImageProvider.storeImage5 = UploadImgModel(); 76 _uploadImageProvider.storeImage5 = UploadImgModel();
75 - _uploadImageProvider.storeImage6 = UploadImgModel(); 77 + _uploadImageProvider.storeImage6 = UploadImgModel();
76 super.dispose(); 78 super.dispose();
77 } 79 }
78 80
@@ -126,6 +128,10 @@ class _DishShowPageState extends State<DishShowPage> { @@ -126,6 +128,10 @@ class _DishShowPageState extends State<DishShowPage> {
126 ? marketingCenterProvider.markDataModel.signboard.images[0] 128 ? marketingCenterProvider.markDataModel.signboard.images[0]
127 : null; 129 : null;
128 130
  131 + if (_uploadImageProvider.storeImage1.qiniuUrl != null) {
  132 + imgAll.add(_uploadImageProvider.storeImage1.qiniuUrl);
  133 + }
  134 +
129 _uploadImageProvider.storeImage1.process = 135 _uploadImageProvider.storeImage1.process =
130 _uploadImageProvider.storeImage1.qiniuUrl != null && 136 _uploadImageProvider.storeImage1.qiniuUrl != null &&
131 _uploadImageProvider.storeImage1.qiniuUrl != '' 137 _uploadImageProvider.storeImage1.qiniuUrl != ''
@@ -136,6 +142,9 @@ class _DishShowPageState extends State<DishShowPage> { @@ -136,6 +142,9 @@ class _DishShowPageState extends State<DishShowPage> {
136 marketingCenterProvider.markDataModel.signboard.images.length > 1 142 marketingCenterProvider.markDataModel.signboard.images.length > 1
137 ? marketingCenterProvider.markDataModel.signboard.images[1] 143 ? marketingCenterProvider.markDataModel.signboard.images[1]
138 : null; 144 : null;
  145 + if (_uploadImageProvider.storeImage2.qiniuUrl != null) {
  146 + imgAll.add(_uploadImageProvider.storeImage2.qiniuUrl);
  147 + }
139 _uploadImageProvider.storeImage2.process = 148 _uploadImageProvider.storeImage2.process =
140 _uploadImageProvider.storeImage2.qiniuUrl != null && 149 _uploadImageProvider.storeImage2.qiniuUrl != null &&
141 _uploadImageProvider.storeImage2.qiniuUrl != '' 150 _uploadImageProvider.storeImage2.qiniuUrl != ''
@@ -146,6 +155,10 @@ class _DishShowPageState extends State<DishShowPage> { @@ -146,6 +155,10 @@ class _DishShowPageState extends State<DishShowPage> {
146 ? marketingCenterProvider.markDataModel.signboard.images[2] 155 ? marketingCenterProvider.markDataModel.signboard.images[2]
147 : null; 156 : null;
148 157
  158 + if (_uploadImageProvider.storeImage3.qiniuUrl != null) {
  159 + imgAll.add(_uploadImageProvider.storeImage3.qiniuUrl);
  160 + }
  161 +
149 _uploadImageProvider.storeImage3.process = 162 _uploadImageProvider.storeImage3.process =
150 _uploadImageProvider.storeImage3.qiniuUrl != null && 163 _uploadImageProvider.storeImage3.qiniuUrl != null &&
151 _uploadImageProvider.storeImage3.qiniuUrl != '' 164 _uploadImageProvider.storeImage3.qiniuUrl != ''
@@ -157,6 +170,10 @@ class _DishShowPageState extends State<DishShowPage> { @@ -157,6 +170,10 @@ class _DishShowPageState extends State<DishShowPage> {
157 ? marketingCenterProvider.markDataModel.signboard.images[3] 170 ? marketingCenterProvider.markDataModel.signboard.images[3]
158 : null; 171 : null;
159 172
  173 + if (_uploadImageProvider.storeImage4.qiniuUrl != null) {
  174 + imgAll.add(_uploadImageProvider.storeImage4.qiniuUrl);
  175 + }
  176 +
160 _uploadImageProvider.storeImage4.process = 177 _uploadImageProvider.storeImage4.process =
161 _uploadImageProvider.storeImage4.qiniuUrl != null && 178 _uploadImageProvider.storeImage4.qiniuUrl != null &&
162 _uploadImageProvider.storeImage4.qiniuUrl != '' 179 _uploadImageProvider.storeImage4.qiniuUrl != ''
@@ -167,6 +184,10 @@ class _DishShowPageState extends State<DishShowPage> { @@ -167,6 +184,10 @@ class _DishShowPageState extends State<DishShowPage> {
167 ? marketingCenterProvider.markDataModel.signboard.images[4] 184 ? marketingCenterProvider.markDataModel.signboard.images[4]
168 : null; 185 : null;
169 186
  187 + if (_uploadImageProvider.storeImage5.qiniuUrl != null) {
  188 + imgAll.add(_uploadImageProvider.storeImage5.qiniuUrl);
  189 + }
  190 +
170 _uploadImageProvider.storeImage5.process = 191 _uploadImageProvider.storeImage5.process =
171 _uploadImageProvider.storeImage5.qiniuUrl != null && 192 _uploadImageProvider.storeImage5.qiniuUrl != null &&
172 _uploadImageProvider.storeImage5.qiniuUrl != '' 193 _uploadImageProvider.storeImage5.qiniuUrl != ''
@@ -177,6 +198,10 @@ class _DishShowPageState extends State<DishShowPage> { @@ -177,6 +198,10 @@ class _DishShowPageState extends State<DishShowPage> {
177 ? marketingCenterProvider.markDataModel.signboard.images[5] 198 ? marketingCenterProvider.markDataModel.signboard.images[5]
178 : null; 199 : null;
179 200
  201 + if (_uploadImageProvider.storeImage6.qiniuUrl != null) {
  202 + imgAll.add(_uploadImageProvider.storeImage6.qiniuUrl);
  203 + }
  204 +
180 _uploadImageProvider.storeImage6.process = 205 _uploadImageProvider.storeImage6.process =
181 _uploadImageProvider.storeImage6.qiniuUrl != null && 206 _uploadImageProvider.storeImage6.qiniuUrl != null &&
182 _uploadImageProvider.storeImage6.qiniuUrl != '' 207 _uploadImageProvider.storeImage6.qiniuUrl != ''
@@ -344,6 +369,28 @@ class _DishShowPageState extends State<DishShowPage> { @@ -344,6 +369,28 @@ class _DishShowPageState extends State<DishShowPage> {
344 model: _uploadImageProvider, 369 model: _uploadImageProvider,
345 index: item.index, 370 index: item.index,
346 imageModel: item.image, 371 imageModel: item.image,
  372 + callback: () {
  373 + if (item.index == 5) {
  374 + imgAll.add(_uploadImageProvider
  375 + .storeImage1.qiniuUrl);
  376 + } else if (item.index == 6) {
  377 + imgAll.add(_uploadImageProvider
  378 + .storeImage2.qiniuUrl);
  379 + } else if (item.index == 7) {
  380 + imgAll.add(_uploadImageProvider
  381 + .storeImage3.qiniuUrl);
  382 + } else if (item.index == 8) {
  383 + imgAll.add(_uploadImageProvider
  384 + .storeImage4.qiniuUrl);
  385 + } else if (item.index == 10) {
  386 + imgAll.add(_uploadImageProvider
  387 + .storeImage5.qiniuUrl);
  388 + } else if (item.index == 11) {
  389 + imgAll.add(_uploadImageProvider
  390 + .storeImage6.qiniuUrl);
  391 + }
  392 + //完成
  393 + },
347 deleteCallback: () { 394 deleteCallback: () {
348 item.image.qiniuUrl = null; 395 item.image.qiniuUrl = null;
349 item.image.file = null; 396 item.image.file = null;
@@ -446,36 +493,12 @@ class _DishShowPageState extends State<DishShowPage> { @@ -446,36 +493,12 @@ class _DishShowPageState extends State<DishShowPage> {
446 List<String> images = []; 493 List<String> images = [];
447 494
448 for (int i = 0; i < data.length; i++) { 495 for (int i = 0; i < data.length; i++) {
449 - ChangeModel imgModel = data[i];  
450 - if (imgModel.image.qiniuUrl != null &&  
451 - imgModel.image.qiniuUrl != '') {  
452 - images.add(imgModel.image.qiniuUrl);  
453 - }  
454 - }  
455 - // if (_uploadImageProvider.storeImage1.qiniuUrl != null &&  
456 - // _uploadImageProvider.storeImage1.qiniuUrl != '') {  
457 - // images.add(_uploadImageProvider.storeImage1.qiniuUrl);  
458 - // }  
459 - // if (_uploadImageProvider.storeImage2.qiniuUrl != null &&  
460 - // _uploadImageProvider.storeImage2.qiniuUrl != '') {  
461 - // images.add(_uploadImageProvider.storeImage2.qiniuUrl);  
462 - // }  
463 - // if (_uploadImageProvider.storeImage3.qiniuUrl != null &&  
464 - // _uploadImageProvider.storeImage3.qiniuUrl != '') {  
465 - // images.add(_uploadImageProvider.storeImage3.qiniuUrl);  
466 - // }  
467 - // if (_uploadImageProvider.storeImage4.qiniuUrl != null &&  
468 - // _uploadImageProvider.storeImage4.qiniuUrl != '') {  
469 - // images.add(_uploadImageProvider.storeImage4.qiniuUrl);  
470 - // }  
471 - // if (_uploadImageProvider.storeImage5.qiniuUrl != null &&  
472 - // _uploadImageProvider.storeImage5.qiniuUrl != '') {  
473 - // images.add(_uploadImageProvider.storeImage5.qiniuUrl);  
474 - // }  
475 - // if (_uploadImageProvider.storeImage6.qiniuUrl != null &&  
476 - // _uploadImageProvider.storeImage6.qiniuUrl != '') {  
477 - // images.add(_uploadImageProvider.storeImage6.qiniuUrl);  
478 - // } 496 + ChangeModel imgModel = data[i];
  497 + if (imgModel.image.qiniuUrl != null &&
  498 + imgModel.image.qiniuUrl != '') {
  499 + images.add(imgModel.image.qiniuUrl);
  500 + }
  501 + }
479 502
480 if (addDish && images.length == 0) { 503 if (addDish && images.length == 0) {
481 Utils.showToast('请至少上传一张图片!'); 504 Utils.showToast('请至少上传一张图片!');
@@ -498,6 +521,14 @@ class _DishShowPageState extends State<DishShowPage> { @@ -498,6 +521,14 @@ class _DishShowPageState extends State<DishShowPage> {
498 bool success = await marketingCenterProvider 521 bool success = await marketingCenterProvider
499 .setSellerTemplateConf(context, params, showLoading: true); 522 .setSellerTemplateConf(context, params, showLoading: true);
500 if (success) { 523 if (success) {
  524 + // imgAll和images 比较,挑出不一样的,删除七牛云
  525 + Set<String> difference = Set.from(imgAll)..removeAll(images);
  526 + List<String> differenceList = difference.toList(); //需要删除的图片
  527 + if (differenceList.length > 0) {
  528 + String delImgs = Utils.listToStringEnglish(differenceList);
  529 + _uploadImageProvider.deleteImg(context, delImgs,
  530 + needToast: false);
  531 + }
501 Utils.showToast('保存成功'); 532 Utils.showToast('保存成功');
502 Navigator.pop(context); 533 Navigator.pop(context);
503 } 534 }
@@ -305,7 +305,7 @@ class _FirstImagePageState extends State<FirstImagePage> { @@ -305,7 +305,7 @@ class _FirstImagePageState extends State<FirstImagePage> {
305 file = File(compressedFile.absolute.path); 305 file = File(compressedFile.absolute.path);
306 } 306 }
307 UploadImageUtil() 307 UploadImageUtil()
308 - .startUploadOnly(context, file, 4, true, _uploadImageProvider); 308 + .startUploadOnly(context, file, 4, true, _uploadImageProvider,(){});
309 } 309 }
310 } 310 }
311 } 311 }
@@ -134,7 +134,7 @@ class _ImgPickerInvitationWidgetState @@ -134,7 +134,7 @@ class _ImgPickerInvitationWidgetState
134 file = File(compressedFile.absolute.path); 134 file = File(compressedFile.absolute.path);
135 } 135 }
136 UploadImageUtil() 136 UploadImageUtil()
137 - .startUploadOnly(context, file, widget.index, true, widget.model); 137 + .startUploadOnly(context, file, widget.index, true, widget.model,widget.callback);
138 } 138 }
139 } 139 }
140 } 140 }
@@ -287,7 +287,7 @@ class _MarkingInteractionPageState extends State<MarkingInteractionPage> { @@ -287,7 +287,7 @@ class _MarkingInteractionPageState extends State<MarkingInteractionPage> {
287 file = File(compressedFile.absolute.path); 287 file = File(compressedFile.absolute.path);
288 } 288 }
289 UploadImageUtil() 289 UploadImageUtil()
290 - .startUploadOnly(context, file, 4, true, _uploadImageProvider); 290 + .startUploadOnly(context, file, 4, true, _uploadImageProvider,(){});
291 } 291 }
292 } 292 }
293 } 293 }
@@ -75,6 +75,7 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { @@ -75,6 +75,7 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
75 StoreBaseIndoProvider _baseIndoProvider; 75 StoreBaseIndoProvider _baseIndoProvider;
76 76
77 List data = []; 77 List data = [];
  78 + List<String> imgAll = [];
78 79
79 @override 80 @override
80 void initState() { 81 void initState() {
@@ -138,6 +139,10 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { @@ -138,6 +139,10 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
138 marketingCenterProvider.markDataModel.store.images.length > 0 139 marketingCenterProvider.markDataModel.store.images.length > 0
139 ? marketingCenterProvider.markDataModel.store.images[0] 140 ? marketingCenterProvider.markDataModel.store.images[0]
140 : null; 141 : null;
  142 +
  143 + if (_uploadImageProvider.storeImage1.qiniuUrl != null) {
  144 + imgAll.add(_uploadImageProvider.storeImage1.qiniuUrl);
  145 + }
141 _uploadImageProvider.storeImage1.process = 146 _uploadImageProvider.storeImage1.process =
142 _uploadImageProvider.storeImage1.qiniuUrl != null && 147 _uploadImageProvider.storeImage1.qiniuUrl != null &&
143 _uploadImageProvider.storeImage1.qiniuUrl != '' 148 _uploadImageProvider.storeImage1.qiniuUrl != ''
@@ -147,6 +152,9 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { @@ -147,6 +152,9 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
147 marketingCenterProvider.markDataModel.store.images.length > 1 152 marketingCenterProvider.markDataModel.store.images.length > 1
148 ? marketingCenterProvider.markDataModel.store.images[1] 153 ? marketingCenterProvider.markDataModel.store.images[1]
149 : null; 154 : null;
  155 + if (_uploadImageProvider.storeImage2.qiniuUrl != null) {
  156 + imgAll.add(_uploadImageProvider.storeImage2.qiniuUrl);
  157 + }
150 _uploadImageProvider.storeImage2.process = 158 _uploadImageProvider.storeImage2.process =
151 _uploadImageProvider.storeImage2.qiniuUrl != null && 159 _uploadImageProvider.storeImage2.qiniuUrl != null &&
152 _uploadImageProvider.storeImage2.qiniuUrl != '' 160 _uploadImageProvider.storeImage2.qiniuUrl != ''
@@ -156,6 +164,9 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { @@ -156,6 +164,9 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
156 marketingCenterProvider.markDataModel.store.images.length > 2 164 marketingCenterProvider.markDataModel.store.images.length > 2
157 ? marketingCenterProvider.markDataModel.store.images[2] 165 ? marketingCenterProvider.markDataModel.store.images[2]
158 : null; 166 : null;
  167 + if (_uploadImageProvider.storeImage3.qiniuUrl != null) {
  168 + imgAll.add(_uploadImageProvider.storeImage3.qiniuUrl);
  169 + }
159 _uploadImageProvider.storeImage3.process = 170 _uploadImageProvider.storeImage3.process =
160 _uploadImageProvider.storeImage3.qiniuUrl != null && 171 _uploadImageProvider.storeImage3.qiniuUrl != null &&
161 _uploadImageProvider.storeImage3.qiniuUrl != '' 172 _uploadImageProvider.storeImage3.qiniuUrl != ''
@@ -165,6 +176,9 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { @@ -165,6 +176,9 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
165 marketingCenterProvider.markDataModel.store.images.length > 3 176 marketingCenterProvider.markDataModel.store.images.length > 3
166 ? marketingCenterProvider.markDataModel.store.images[3] 177 ? marketingCenterProvider.markDataModel.store.images[3]
167 : null; 178 : null;
  179 + if (_uploadImageProvider.storeImage4.qiniuUrl != null) {
  180 + imgAll.add(_uploadImageProvider.storeImage4.qiniuUrl);
  181 + }
168 _uploadImageProvider.storeImage4.process = 182 _uploadImageProvider.storeImage4.process =
169 _uploadImageProvider.storeImage4.qiniuUrl != null && 183 _uploadImageProvider.storeImage4.qiniuUrl != null &&
170 _uploadImageProvider.storeImage4.qiniuUrl != '' 184 _uploadImageProvider.storeImage4.qiniuUrl != ''
@@ -511,6 +525,22 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { @@ -511,6 +525,22 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
511 model: _uploadImageProvider, 525 model: _uploadImageProvider,
512 index: item.index, 526 index: item.index,
513 imageModel: item.image, 527 imageModel: item.image,
  528 + callback: () {
  529 + //完成
  530 + if (item.index == 5) {
  531 + imgAll
  532 + .add(_uploadImageProvider.storeImage1.qiniuUrl);
  533 + } else if (item.index == 6) {
  534 + imgAll
  535 + .add(_uploadImageProvider.storeImage2.qiniuUrl);
  536 + } else if (item.index == 7) {
  537 + imgAll
  538 + .add(_uploadImageProvider.storeImage3.qiniuUrl);
  539 + } else if (item.index == 8) {
  540 + imgAll
  541 + .add(_uploadImageProvider.storeImage4.qiniuUrl);
  542 + }
  543 + },
514 deleteCallback: () { 544 deleteCallback: () {
515 item.image.qiniuUrl = null; 545 item.image.qiniuUrl = null;
516 item.image.file = null; 546 item.image.file = null;
@@ -785,28 +815,13 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { @@ -785,28 +815,13 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
785 815
786 List<String> images = []; 816 List<String> images = [];
787 for (int i = 0; i < data.length; i++) { 817 for (int i = 0; i < data.length; i++) {
788 - ChangeModel imgModel = data[i]; 818 + ChangeModel imgModel = data[i];
789 if (imgModel.image.qiniuUrl != null && 819 if (imgModel.image.qiniuUrl != null &&
790 imgModel.image.qiniuUrl != '') { 820 imgModel.image.qiniuUrl != '') {
791 images.add(imgModel.image.qiniuUrl); 821 images.add(imgModel.image.qiniuUrl);
792 } 822 }
793 } 823 }
794 - // if (_uploadImageProvider.storeImage1.qiniuUrl != null &&  
795 - // _uploadImageProvider.storeImage1.qiniuUrl != '') {  
796 - // images.add(_uploadImageProvider.storeImage1.qiniuUrl);  
797 - // }  
798 - // if (_uploadImageProvider.storeImage2.qiniuUrl != null &&  
799 - // _uploadImageProvider.storeImage2.qiniuUrl != '') {  
800 - // images.add(_uploadImageProvider.storeImage2.qiniuUrl);  
801 - // }  
802 - // if (_uploadImageProvider.storeImage3.qiniuUrl != null &&  
803 - // _uploadImageProvider.storeImage3.qiniuUrl != '') {  
804 - // images.add(_uploadImageProvider.storeImage3.qiniuUrl);  
805 - // }  
806 - // if (_uploadImageProvider.storeImage4.qiniuUrl != null &&  
807 - // _uploadImageProvider.storeImage4.qiniuUrl != '') {  
808 - // images.add(_uploadImageProvider.storeImage4.qiniuUrl);  
809 - // } 824 +
810 if (images.length == 0) { 825 if (images.length == 0) {
811 Utils.showToast('请至少上传一张图片!'); 826 Utils.showToast('请至少上传一张图片!');
812 return false; 827 return false;
@@ -834,6 +849,18 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { @@ -834,6 +849,18 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
834 .setSellerTemplateConf(context, params, 849 .setSellerTemplateConf(context, params,
835 showLoading: true); 850 showLoading: true);
836 if (success) { 851 if (success) {
  852 + // imgAll和images 比较,挑出不一样的,删除七牛云
  853 + Set<String> difference = Set.from(imgAll)
  854 + ..removeAll(images);
  855 + List<String> differenceList =
  856 + difference.toList(); //需要删除的图片
  857 + if (differenceList.length > 0) {
  858 + String delImgs =
  859 + Utils.listToStringEnglish(differenceList);
  860 +
  861 + _uploadImageProvider.deleteImg(context, delImgs,
  862 + needToast: false);
  863 + }
837 Utils.showToast('保存成功'); 864 Utils.showToast('保存成功');
838 Navigator.pop(context); 865 Navigator.pop(context);
839 } 866 }
@@ -67,6 +67,7 @@ class _MenuAddDishesPageState extends State<MenuAddDishesPage> { @@ -67,6 +67,7 @@ class _MenuAddDishesPageState extends State<MenuAddDishesPage> {
67 TextEditingController introduceC = TextEditingController(); //简介 67 TextEditingController introduceC = TextEditingController(); //简介
68 TextEditingController tasteC = TextEditingController(); //味型 68 TextEditingController tasteC = TextEditingController(); //味型
69 TextEditingController cooksC = TextEditingController(); //烹调 69 TextEditingController cooksC = TextEditingController(); //烹调
  70 + List<String> imgAll = [];
70 @override 71 @override
71 void initState() { 72 void initState() {
72 super.initState(); 73 super.initState();
@@ -124,6 +125,7 @@ class _MenuAddDishesPageState extends State<MenuAddDishesPage> { @@ -124,6 +125,7 @@ class _MenuAddDishesPageState extends State<MenuAddDishesPage> {
124 menuManageProvider.cookbookOneSunModel.image != '') { 125 menuManageProvider.cookbookOneSunModel.image != '') {
125 uploadImageProvider.dish.qiniuUrl = 126 uploadImageProvider.dish.qiniuUrl =
126 menuManageProvider.cookbookOneSunModel.image; 127 menuManageProvider.cookbookOneSunModel.image;
  128 + imgAll.add(uploadImageProvider.dish.qiniuUrl);
127 } 129 }
128 if (menuManageProvider.cookbookOneSunModel.spec.length > 0) { 130 if (menuManageProvider.cookbookOneSunModel.spec.length > 0) {
129 data = []; 131 data = [];
@@ -258,6 +260,18 @@ class _MenuAddDishesPageState extends State<MenuAddDishesPage> { @@ -258,6 +260,18 @@ class _MenuAddDishesPageState extends State<MenuAddDishesPage> {
258 } 260 }
259 261
260 if (sucess) { 262 if (sucess) {
  263 + if (uploadImageProvider.dish.qiniuUrl != null &&
  264 + uploadImageProvider.dish.qiniuUrl != '') {
  265 + // imgAll和images 比较,挑出不一样的,删除七牛云
  266 + Set<String> difference = Set.from(imgAll)
  267 + ..removeAll([uploadImageProvider.dish.qiniuUrl]);
  268 + List<String> differenceList = difference.toList(); //需要删除的图片
  269 + if (differenceList.length > 0) {
  270 + String delImgs = Utils.listToStringEnglish(differenceList);
  271 + uploadImageProvider.deleteImg(context, delImgs, needToast: false);
  272 + }
  273 + }
  274 +
261 EventBus().emit('menu_manage_page'); 275 EventBus().emit('menu_manage_page');
262 Navigator.of(context).pop(); 276 Navigator.of(context).pop();
263 } 277 }
@@ -446,7 +460,7 @@ class _MenuAddDishesPageState extends State<MenuAddDishesPage> { @@ -446,7 +460,7 @@ class _MenuAddDishesPageState extends State<MenuAddDishesPage> {
446 if (pickedFile != null) { 460 if (pickedFile != null) {
447 File compressedFile = await FlutterNativeImage.compressImage( 461 File compressedFile = await FlutterNativeImage.compressImage(
448 pickedFile.path, 462 pickedFile.path,
449 - quality: 50, 463 + quality: 70,
450 percentage: 50); 464 percentage: 50);
451 setState(() { 465 setState(() {
452 if (pickedFile != null) { 466 if (pickedFile != null) {
@@ -467,7 +481,10 @@ class _MenuAddDishesPageState extends State<MenuAddDishesPage> { @@ -467,7 +481,10 @@ class _MenuAddDishesPageState extends State<MenuAddDishesPage> {
467 file = File(compressedFile.absolute.path); 481 file = File(compressedFile.absolute.path);
468 } 482 }
469 UploadImageUtil() 483 UploadImageUtil()
470 - .startUploadOnly(context, file, 3, true, uploadImageProvider); 484 + .startUploadOnly(context, file, 3, true, uploadImageProvider, () {
  485 + imgAll.add(uploadImageProvider.dish.qiniuUrl);
  486 + //完成
  487 + });
471 } 488 }
472 } 489 }
473 } 490 }
@@ -132,6 +132,9 @@ class _TablePhotoManagerPageState extends State<TablePhotoManagerPage> { @@ -132,6 +132,9 @@ class _TablePhotoManagerPageState extends State<TablePhotoManagerPage> {
132 bool success = await _tablePhotoManagerModel.delTablePhoto(context, params, 132 bool success = await _tablePhotoManagerModel.delTablePhoto(context, params,
133 isShowLoading: true); 133 isShowLoading: true);
134 if (success) { 134 if (success) {
  135 +
  136 + _uploadImageProvider.deleteImg(context,_uploadImageProvider.tableImageList[index].qiniuUrl);
  137 +
135 // String entry = 'qn.colorcun.com:FhPRiYHsv64MELeqTDp9A5TBuBp1/jpeg'; 138 // String entry = 'qn.colorcun.com:FhPRiYHsv64MELeqTDp9A5TBuBp1/jpeg';
136 // Codec<String, String> stringToBase64 = utf8.fuse(base64); 139 // Codec<String, String> stringToBase64 = utf8.fuse(base64);
137 // String encoded = stringToBase64.encode(entry); 140 // String encoded = stringToBase64.encode(entry);
@@ -83,6 +83,7 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> { @@ -83,6 +83,7 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
83 bool onePhone = true; 83 bool onePhone = true;
84 84
85 MarketingCenterProvider marketingCenterProvider; 85 MarketingCenterProvider marketingCenterProvider;
  86 + List<String> imgAll = [];
86 87
87 ///获取接单时间接口 88 ///获取接单时间接口
88 _getReceiveOrdersTime() async { 89 _getReceiveOrdersTime() async {
@@ -356,6 +357,8 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> { @@ -356,6 +357,8 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
356 _addressController.text = itemModel.data.realAddress; 357 _addressController.text = itemModel.data.realAddress;
357 _introductionController.text = itemModel.data.sellerdesc; 358 _introductionController.text = itemModel.data.sellerdesc;
358 _uploadImageProvider.mentou.qiniuUrl = itemModel.data.sellerImage; 359 _uploadImageProvider.mentou.qiniuUrl = itemModel.data.sellerImage;
  360 +
  361 + // imgAll.add(itemModel.data.sellerImage); //后台删除
359 // _uploadImageProvider.notifyListeners(); 362 // _uploadImageProvider.notifyListeners();
360 _countName = _nameController.text.trim().length; 363 _countName = _nameController.text.trim().length;
361 _countAddress = _addressController.text.trim().length; 364 _countAddress = _addressController.text.trim().length;
@@ -555,6 +558,18 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> { @@ -555,6 +558,18 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
555 558
556 // print(userModel.user); 559 // print(userModel.user);
557 560
  561 + if (_uploadImageProvider.mentou.path != null &&
  562 + _uploadImageProvider.mentou.path != '') {
  563 +// imgAll和images 比较,挑出不一样的,删除七牛云
  564 + // Set<String> difference = Set.from(imgAll)
  565 + // ..removeAll([_uploadImageProvider.mentou.qiniuUrl]);
  566 + // List<String> differenceList = difference.toList(); //需要删除的图片
  567 + // if (differenceList.length > 0) {
  568 + String delImgs = Utils.listToStringEnglish(imgAll);
  569 + _uploadImageProvider.deleteImg(context, delImgs, needToast: false);
  570 + // }
  571 + }
  572 +
558 if (App.sp.containsKey('user')) { 573 if (App.sp.containsKey('user')) {
559 String s = App.sp.getString('user'); 574 String s = App.sp.getString('user');
560 User _user = User.fromJson(json.decode(s)); 575 User _user = User.fromJson(json.decode(s));
@@ -769,7 +784,11 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> { @@ -769,7 +784,11 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
769 _uploadImageProvider.mentou.file = File(path); 784 _uploadImageProvider.mentou.file = File(path);
770 _uploadImageProvider.mentou.path = path; 785 _uploadImageProvider.mentou.path = path;
771 UploadImageUtil().startUploadOnly( 786 UploadImageUtil().startUploadOnly(
772 - context, File(path), 2, true, _uploadImageProvider); 787 + context, File(path), 2, true, _uploadImageProvider, () {
  788 + imgAll.add(_uploadImageProvider.mentou.qiniuUrl);
  789 +
  790 + // 完成
  791 + });
773 } 792 }
774 } 793 }
775 } 794 }
@@ -56,6 +56,7 @@ class _CreateStoreWinePageState extends State<CreateStoreWinePage> { @@ -56,6 +56,7 @@ class _CreateStoreWinePageState extends State<CreateStoreWinePage> {
56 String isMember = '会员状态未知'; 56 String isMember = '会员状态未知';
57 int memberIndex; 57 int memberIndex;
58 String memberid; 58 String memberid;
  59 + List<String> delimgsNeed = [];
59 60
60 @override 61 @override
61 void initState() { 62 void initState() {
@@ -476,6 +477,8 @@ class _CreateStoreWinePageState extends State<CreateStoreWinePage> { @@ -476,6 +477,8 @@ class _CreateStoreWinePageState extends State<CreateStoreWinePage> {
476 index: index, 477 index: index,
477 uploadImageProvider: _uploadImageProvider, 478 uploadImageProvider: _uploadImageProvider,
478 onDel: () { 479 onDel: () {
  480 + //把删除的图片记录下来
  481 + delimgsNeed.addAll(dataWine[index].imgAll);
479 dataWine.removeAt(index); 482 dataWine.removeAt(index);
480 setState(() {}); 483 setState(() {});
481 }, 484 },
@@ -627,10 +630,14 @@ class _CreateStoreWinePageState extends State<CreateStoreWinePage> { @@ -627,10 +630,14 @@ class _CreateStoreWinePageState extends State<CreateStoreWinePage> {
627 String cdate = DateUtil.formatDate(DateTime.now(), 630 String cdate = DateUtil.formatDate(DateTime.now(),
628 format: DateFormats.full); 631 format: DateFormats.full);
629 List<Map<String, String>> data = []; 632 List<Map<String, String>> data = [];
  633 + List<String> loadimages = []; //所有上传的照片
  634 + List<String> allimages = []; //上传到七牛云的所有图片
630 dataWine.forEach((element) { 635 dataWine.forEach((element) {
  636 + allimages.addAll(element.imgAll);
631 List<String> images = []; 637 List<String> images = [];
632 element.img.forEach((value) { 638 element.img.forEach((value) {
633 images.add(value.qiniuUrl); 639 images.add(value.qiniuUrl);
  640 + loadimages.add(value.qiniuUrl);
634 }); 641 });
635 Map<String, String> map = { 642 Map<String, String> map = {
636 'wine_name': element.wineNameC.text, 643 'wine_name': element.wineNameC.text,
@@ -720,6 +727,20 @@ class _CreateStoreWinePageState extends State<CreateStoreWinePage> { @@ -720,6 +727,20 @@ class _CreateStoreWinePageState extends State<CreateStoreWinePage> {
720 } 727 }
721 728
722 if (success) { 729 if (success) {
  730 + // imgAll和images 比较,挑出不一样的,删除七牛云
  731 +
  732 + allimages.addAll(delimgsNeed); //把“删除一项”加回来
  733 + Set<String> difference = Set.from(allimages)
  734 + ..removeAll(loadimages);
  735 + List<String> differenceList =
  736 + difference.toList(); //需要删除的图片
  737 + if (differenceList.length > 0) {
  738 + String delImgs =
  739 + Utils.listToStringEnglish(differenceList);
  740 + _uploadImageProvider.deleteImg(context, delImgs,
  741 + needToast: false);
  742 + }
  743 +
723 App.sp.setInt("wineSerialSub", wineSerialSub + 1); 744 App.sp.setInt("wineSerialSub", wineSerialSub + 1);
724 //存酒成功,返回列表,并刷新 745 //存酒成功,返回列表,并刷新
725 bus.emit('refresh_wine_home_all_list'); 746 bus.emit('refresh_wine_home_all_list');
@@ -168,10 +168,11 @@ class _CreateWineItemPageState extends State<CreateWineItemPage> { @@ -168,10 +168,11 @@ class _CreateWineItemPageState extends State<CreateWineItemPage> {
168 _textFieldWidget( 168 _textFieldWidget(
169 '存酒编号', '点击输入存酒编号', widget.wineManageSunModel.wineSerialC, 169 '存酒编号', '点击输入存酒编号', widget.wineManageSunModel.wineSerialC,
170 keyboardType: TextInputType.numberWithOptions(decimal: true)), 170 keyboardType: TextInputType.numberWithOptions(decimal: true)),
171 - 171 +
172 VEmptyView(16), 172 VEmptyView(16),
173 _textFieldWidget( 173 _textFieldWidget(
174 '备注信息', '点击输入备注', widget.wineManageSunModel.wineRemarkC), 174 '备注信息', '点击输入备注', widget.wineManageSunModel.wineRemarkC),
  175 + VEmptyView(16),
175 Consumer<UploadImageProvider>(builder: (context, model, _) { 176 Consumer<UploadImageProvider>(builder: (context, model, _) {
176 return ImgPickerWidget( 177 return ImgPickerWidget(
177 scrollController: widget.controller, 178 scrollController: widget.controller,
@@ -186,6 +187,10 @@ class _CreateWineItemPageState extends State<CreateWineItemPage> { @@ -186,6 +187,10 @@ class _CreateWineItemPageState extends State<CreateWineItemPage> {
186 setState(() {}); 187 setState(() {});
187 }, 188 },
188 callback: () { 189 callback: () {
  190 + widget.wineManageSunModel.imgAll
  191 + .add(widget.wineManageSunModel.img.last.qiniuUrl);
  192 +
  193 + //完成
189 // for (UploadImgModel item 194 // for (UploadImgModel item
190 // in _uploadImageProvider 195 // in _uploadImageProvider
191 // .tableImageList) { 196 // .tableImageList) {
@@ -45,6 +45,8 @@ class _OnlineCheckEditPageState extends State<OnlineCheckEditPage> { @@ -45,6 +45,8 @@ class _OnlineCheckEditPageState extends State<OnlineCheckEditPage> {
45 bool arrowStatus = true; // true合住 false展开 45 bool arrowStatus = true; // true合住 false展开
46 NotebookDetailModel detailModel; 46 NotebookDetailModel detailModel;
47 47
  48 + List<String> imgAll = [];
  49 +
48 @override 50 @override
49 void initState() { 51 void initState() {
50 super.initState(); 52 super.initState();
@@ -138,6 +140,18 @@ class _OnlineCheckEditPageState extends State<OnlineCheckEditPage> { @@ -138,6 +140,18 @@ class _OnlineCheckEditPageState extends State<OnlineCheckEditPage> {
138 bool result = 140 bool result =
139 await _onlineCheckEditProvider.updateOrderInfo(context, params); 141 await _onlineCheckEditProvider.updateOrderInfo(context, params);
140 if (result) { 142 if (result) {
  143 +
  144 +
  145 +
  146 +
  147 + // imgAll和images 比较,挑出不一样的,删除七牛云
  148 + Set<String> difference = Set.from(imgAll)..removeAll(imgs);
  149 + List<String> differenceList = difference.toList(); //需要删除的图片
  150 + if (differenceList.length > 0) {
  151 + String delImgs = Utils.listToStringEnglish(differenceList);
  152 + _uploadImageProvider.deleteImg(context, delImgs,
  153 + needToast: false);
  154 + }
141 // 跳转至在线买单处理完的详情页面 155 // 跳转至在线买单处理完的详情页面
142 Future.delayed(Duration(milliseconds: 200), () { 156 Future.delayed(Duration(milliseconds: 200), () {
143 NavigatorUtil.goOnlineCheckDetailPage(context, 157 NavigatorUtil.goOnlineCheckDetailPage(context,
@@ -799,6 +813,15 @@ class _OnlineCheckEditPageState extends State<OnlineCheckEditPage> { @@ -799,6 +813,15 @@ class _OnlineCheckEditPageState extends State<OnlineCheckEditPage> {
799 _scrollController, 813 _scrollController,
800 uploadType: UploadType 814 uploadType: UploadType
801 .ConsumptionUploadType, 815 .ConsumptionUploadType,
  816 + callback: () {
  817 +
  818 + imgAll.add(
  819 + _uploadImageProvider
  820 + .imageList
  821 + .last
  822 + .qiniuUrl);
  823 + //完成
  824 + },
802 ); 825 );
803 }), 826 }),
804 ) 827 )
@@ -1891,7 +1891,7 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -1891,7 +1891,7 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
1891 ]); 1891 ]);
1892 } 1892 }
1893 1893
1894 - _updatePhotoNote() async { 1894 + _updatePhotoNote({String qiniuUrl}) async {
1895 List<String> imageQiniuUrlList = []; 1895 List<String> imageQiniuUrlList = [];
1896 // if (isDelete) { 1896 // if (isDelete) {
1897 for (int i = 0; i < remarkImgs.length; i++) { 1897 for (int i = 0; i < remarkImgs.length; i++) {
@@ -1914,6 +1914,11 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -1914,6 +1914,11 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
1914 photoNote: json.encode(imageQiniuUrlList)); 1914 photoNote: json.encode(imageQiniuUrlList));
1915 1915
1916 if (sucess) { 1916 if (sucess) {
  1917 +
  1918 + if (qiniuUrl != null) {
  1919 + _uploadImageProvider.deleteImg(context, qiniuUrl,needToast: false);
  1920 + }
  1921 +
1917 // bus.emit("refresh_book_list"); //刷新已预订列表 1922 // bus.emit("refresh_book_list"); //刷新已预订列表
1918 1923
1919 // EventBus().emit("refresh_tablemanager"); //刷新桌位 1924 // EventBus().emit("refresh_tablemanager"); //刷新桌位
@@ -1950,11 +1955,12 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -1950,11 +1955,12 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
1950 imageList: remarkImgs, 1955 imageList: remarkImgs,
1951 uploadType: UploadType.RemarkImagesType, 1956 uploadType: UploadType.RemarkImagesType,
1952 deleteCallback: (int index) { 1957 deleteCallback: (int index) {
  1958 + //删除图片接口??????
  1959 + _updatePhotoNote(qiniuUrl:remarkImgs[index].qiniuUrl);
1953 remarkImgs.removeWhere( 1960 remarkImgs.removeWhere(
1954 (element) => element == remarkImgs[index]); 1961 (element) => element == remarkImgs[index]);
1955 setState(() {}); 1962 setState(() {});
1956 - //删除图片接口??????  
1957 - _updatePhotoNote(); 1963 +
1958 }, 1964 },
1959 callback: () async { 1965 callback: () async {
1960 print(remarkImgs); 1966 print(remarkImgs);
@@ -57,6 +57,8 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { @@ -57,6 +57,8 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> {
57 String phoneStr = ''; 57 String phoneStr = '';
58 bool isSelect = true; 58 bool isSelect = true;
59 59
  60 + List<String> imgAll = [];
  61 +
60 @override 62 @override
61 void initState() { 63 void initState() {
62 super.initState(); 64 super.initState();
@@ -135,6 +137,8 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { @@ -135,6 +137,8 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> {
135 nameStr = _baseIndoProvider.baseInfoSunModel.name; 137 nameStr = _baseIndoProvider.baseInfoSunModel.name;
136 _uploadImageProvider.touxiang.qiniuUrl = 138 _uploadImageProvider.touxiang.qiniuUrl =
137 _baseIndoProvider.baseInfoSunModel.photo; 139 _baseIndoProvider.baseInfoSunModel.photo;
  140 +
  141 + imgAll.add(_baseIndoProvider.baseInfoSunModel.photo);
138 _uploadImageProvider.erweima.qiniuUrl = 142 _uploadImageProvider.erweima.qiniuUrl =
139 _baseIndoProvider.baseInfoSunModel.qrcode; 143 _baseIndoProvider.baseInfoSunModel.qrcode;
140 _phoneController.text = _baseIndoProvider.baseInfoSunModel.phone; 144 _phoneController.text = _baseIndoProvider.baseInfoSunModel.phone;
@@ -211,6 +215,15 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { @@ -211,6 +215,15 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> {
211 await _baseIndoProvider.setCustomerActivityBaseinfo(context, params); 215 await _baseIndoProvider.setCustomerActivityBaseinfo(context, params);
212 // _baseIndoProvider.baseInfoSunModel = null; 216 // _baseIndoProvider.baseInfoSunModel = null;
213 if (isSuccess) { 217 if (isSuccess) {
  218 + // imgAll和images 比较,挑出不一样的,删除七牛云
  219 + Set<String> difference = Set.from(imgAll)
  220 + ..removeAll([_uploadImageProvider.touxiang.qiniuUrl]);
  221 + List<String> differenceList = difference.toList(); //需要删除的图片
  222 + if (differenceList.length > 0) {
  223 + String delImgs = Utils.listToStringEnglish(differenceList);
  224 +
  225 + _uploadImageProvider.deleteImg(context, delImgs, needToast: false);
  226 + }
214 _uploadImageProvider.touxiang.file = null; 227 _uploadImageProvider.touxiang.file = null;
215 _uploadImageProvider.erweima.file = null; 228 _uploadImageProvider.erweima.file = null;
216 nameStr = nameTemp; 229 nameStr = nameTemp;
@@ -434,7 +447,11 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { @@ -434,7 +447,11 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> {
434 file = File(compressedFile.absolute.path); 447 file = File(compressedFile.absolute.path);
435 } 448 }
436 UploadImageUtil().startUploadOnly( 449 UploadImageUtil().startUploadOnly(
437 - context, file, title == '头像' ? 0 : 1, true, _uploadImageProvider); 450 + context, file, title == '头像' ? 0 : 1, true, _uploadImageProvider,
  451 + () {
  452 + imgAll.add(_uploadImageProvider.touxiang.qiniuUrl);
  453 + //上传完成
  454 + });
438 } 455 }
439 } 456 }
440 } 457 }
@@ -87,6 +87,8 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> { @@ -87,6 +87,8 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> {
87 UploadImageProvider _uploadImageProvider; 87 UploadImageProvider _uploadImageProvider;
88 List<SmsChangeFieldSunModel> changeFieldData = []; // 88 List<SmsChangeFieldSunModel> changeFieldData = []; //
89 89
  90 + List<String> imgAll = [];
  91 +
90 @override 92 @override
91 void initState() { 93 void initState() {
92 super.initState(); 94 super.initState();
@@ -160,11 +162,15 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> { @@ -160,11 +162,15 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> {
160 sloganC.text = marketingCenterProvider.markDataModel.home.slogan ?? ''; 162 sloganC.text = marketingCenterProvider.markDataModel.home.slogan ?? '';
161 _uploadImageProvider.firstImage.qiniuUrl = 163 _uploadImageProvider.firstImage.qiniuUrl =
162 marketingCenterProvider.markDataModel.home.image ?? null; 164 marketingCenterProvider.markDataModel.home.image ?? null;
  165 + if (_uploadImageProvider.firstImage.qiniuUrl != null) {
  166 + imgAll.add(_uploadImageProvider.firstImage.qiniuUrl);
  167 + }
163 _uploadImageProvider.firstImage.process = 168 _uploadImageProvider.firstImage.process =
164 marketingCenterProvider.markDataModel.home.image != null && 169 marketingCenterProvider.markDataModel.home.image != null &&
165 marketingCenterProvider.markDataModel.home.image != '' 170 marketingCenterProvider.markDataModel.home.image != ''
166 ? 1 171 ? 1
167 : null; 172 : null;
  173 +
168 addFirstImage = 174 addFirstImage =
169 marketingCenterProvider.markDataModel.home.isFirstImage == '1' 175 marketingCenterProvider.markDataModel.home.isFirstImage == '1'
170 ? true 176 ? true
@@ -217,6 +223,10 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> { @@ -217,6 +223,10 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> {
217 _uploadImageProvider.logo.qiniuUrl = 223 _uploadImageProvider.logo.qiniuUrl =
218 marketingCenterProvider.markDataModel.marketing.logo ?? null; 224 marketingCenterProvider.markDataModel.marketing.logo ?? null;
219 225
  226 + if (_uploadImageProvider.logo.qiniuUrl != null) {
  227 + imgAll.add(_uploadImageProvider.logo.qiniuUrl);
  228 + }
  229 +
220 _uploadImageProvider.logo.process = 230 _uploadImageProvider.logo.process =
221 marketingCenterProvider.markDataModel.marketing.logo != null && 231 marketingCenterProvider.markDataModel.marketing.logo != null &&
222 marketingCenterProvider.markDataModel.marketing.logo != '' 232 marketingCenterProvider.markDataModel.marketing.logo != ''
@@ -312,8 +322,8 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> { @@ -312,8 +322,8 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> {
312 // pickedFile.path, 322 // pickedFile.path,
313 // quality: 70, 323 // quality: 70,
314 // percentage: 50); 324 // percentage: 50);
315 - File compressedFile =  
316 - await Utils.compressImageToFile(pickedFile.path, quality: 70); 325 + File compressedFile =
  326 + await Utils.compressImageToFile(pickedFile.path, quality: 70);
317 path = compressedFile.path; 327 path = compressedFile.path;
318 } 328 }
319 329
@@ -344,7 +354,13 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> { @@ -344,7 +354,13 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> {
344 file = File(path); 354 file = File(path);
345 } 355 }
346 UploadImageUtil().startUploadOnly( 356 UploadImageUtil().startUploadOnly(
347 - context, file, type, true, _uploadImageProvider); 357 + context, file, type, true, _uploadImageProvider, () {
  358 + if (type == 4) {
  359 + imgAll.add(_uploadImageProvider.firstImage.qiniuUrl);
  360 + } else if (type == 9) {
  361 + imgAll.add(_uploadImageProvider.logo.qiniuUrl);
  362 + }
  363 + });
348 } 364 }
349 } 365 }
350 } else { 366 } else {
@@ -353,8 +369,8 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> { @@ -353,8 +369,8 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> {
353 // pickedFile.path, 369 // pickedFile.path,
354 // quality: 70, 370 // quality: 70,
355 // percentage: 50); 371 // percentage: 50);
356 - File compressedFile =  
357 - await Utils.compressImageToFile(pickedFile.path, quality: 70); 372 + File compressedFile =
  373 + await Utils.compressImageToFile(pickedFile.path, quality: 70);
358 path = compressedFile.path; 374 path = compressedFile.path;
359 } 375 }
360 376
@@ -384,8 +400,14 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> { @@ -384,8 +400,14 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> {
384 if (need) { 400 if (need) {
385 file = File(path); 401 file = File(path);
386 } 402 }
387 - UploadImageUtil()  
388 - .startUploadOnly(context, file, type, true, _uploadImageProvider); 403 + UploadImageUtil().startUploadOnly(
  404 + context, file, type, true, _uploadImageProvider, () {
  405 + if (type == 4) {
  406 + imgAll.add(_uploadImageProvider.firstImage.qiniuUrl);
  407 + } else if (type == 9) {
  408 + imgAll.add(_uploadImageProvider.logo.qiniuUrl);
  409 + }
  410 + });
389 } 411 }
390 } 412 }
391 } 413 }
@@ -1481,6 +1503,23 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> { @@ -1481,6 +1503,23 @@ class _BookInfoPageSimState extends State<BookInfoPageSim> {
1481 .setSellerTemplateConf(context, params, 1503 .setSellerTemplateConf(context, params,
1482 showLoading: true); 1504 showLoading: true);
1483 if (success) { 1505 if (success) {
  1506 + // imgAll和images 比较,挑出不一样的,删除七牛云
  1507 +
  1508 + List<String> useImgs = [];
  1509 +
  1510 + useImgs.add(_uploadImageProvider.firstImage.qiniuUrl);
  1511 + useImgs.add(_uploadImageProvider.logo.qiniuUrl);
  1512 + Set<String> difference = Set.from(imgAll)
  1513 + ..removeAll(useImgs);
  1514 + List<String> differenceList =
  1515 + difference.toList(); //需要删除的图片
  1516 + if (differenceList.length > 0) {
  1517 + String delImgs =
  1518 + Utils.listToStringEnglish(differenceList);
  1519 +
  1520 + _uploadImageProvider.deleteImg(context, delImgs,
  1521 + needToast: false);
  1522 + }
1484 Utils.showToast('保存成功'); 1523 Utils.showToast('保存成功');
1485 Navigator.pop(context); 1524 Navigator.pop(context);
1486 } 1525 }
@@ -290,7 +290,7 @@ class _MarkingInteractionPageSimState extends State<MarkingInteractionPageSim> { @@ -290,7 +290,7 @@ class _MarkingInteractionPageSimState extends State<MarkingInteractionPageSim> {
290 file = File(compressedFile.absolute.path); 290 file = File(compressedFile.absolute.path);
291 } 291 }
292 UploadImageUtil() 292 UploadImageUtil()
293 - .startUploadOnly(context, file, 4, true, _uploadImageProvider); 293 + .startUploadOnly(context, file, 4, true, _uploadImageProvider,(){});
294 } 294 }
295 } 295 }
296 } 296 }
@@ -84,6 +84,8 @@ class _StoreBaseInfoPageSimState extends State<StoreBaseInfoPageSim> { @@ -84,6 +84,8 @@ class _StoreBaseInfoPageSimState extends State<StoreBaseInfoPageSim> {
84 84
85 MarketingCenterProvider marketingCenterProvider; 85 MarketingCenterProvider marketingCenterProvider;
86 86
  87 + List<String> imgAll = [];
  88 +
87 ///获取接单时间接口 89 ///获取接单时间接口
88 _getReceiveOrdersTime() async { 90 _getReceiveOrdersTime() async {
89 GetSellerInfoSunModel model = await bookSetTimeModel.getSellerById(context); 91 GetSellerInfoSunModel model = await bookSetTimeModel.getSellerById(context);
@@ -555,6 +557,18 @@ class _StoreBaseInfoPageSimState extends State<StoreBaseInfoPageSim> { @@ -555,6 +557,18 @@ class _StoreBaseInfoPageSimState extends State<StoreBaseInfoPageSim> {
555 557
556 // print(userModel.user); 558 // print(userModel.user);
557 559
  560 + if (_uploadImageProvider.mentou.path != null &&
  561 + _uploadImageProvider.mentou.path != '') {
  562 +// imgAll和images 比较,挑出不一样的,删除七牛云
  563 + // Set<String> difference = Set.from(imgAll)
  564 + // ..removeAll([_uploadImageProvider.mentou.qiniuUrl]);
  565 + // List<String> differenceList = difference.toList(); //需要删除的图片
  566 + // if (differenceList.length > 0) {
  567 + String delImgs = Utils.listToStringEnglish(imgAll);
  568 + _uploadImageProvider.deleteImg(context, delImgs, needToast: false);
  569 + // }
  570 + }
  571 +
558 if (App.sp.containsKey('user')) { 572 if (App.sp.containsKey('user')) {
559 String s = App.sp.getString('user'); 573 String s = App.sp.getString('user');
560 User _user = User.fromJson(json.decode(s)); 574 User _user = User.fromJson(json.decode(s));
@@ -753,8 +767,8 @@ class _StoreBaseInfoPageSimState extends State<StoreBaseInfoPageSim> { @@ -753,8 +767,8 @@ class _StoreBaseInfoPageSimState extends State<StoreBaseInfoPageSim> {
753 // pickedFile.path, 767 // pickedFile.path,
754 // quality: 70, 768 // quality: 70,
755 // percentage: 50); 769 // percentage: 50);
756 - File compressedFile =  
757 - await Utils.compressImageToFile(pickedFile.path, quality: 70); 770 + File compressedFile =
  771 + await Utils.compressImageToFile(pickedFile.path, quality: 70);
758 path = compressedFile.path; 772 path = compressedFile.path;
759 } 773 }
760 //更新本地存储,上传中展示 774 //更新本地存储,上传中展示
@@ -771,7 +785,9 @@ class _StoreBaseInfoPageSimState extends State<StoreBaseInfoPageSim> { @@ -771,7 +785,9 @@ class _StoreBaseInfoPageSimState extends State<StoreBaseInfoPageSim> {
771 _uploadImageProvider.mentou.file = File(path); 785 _uploadImageProvider.mentou.file = File(path);
772 _uploadImageProvider.mentou.path = path; 786 _uploadImageProvider.mentou.path = path;
773 UploadImageUtil().startUploadOnly( 787 UploadImageUtil().startUploadOnly(
774 - context, File(path), 2, true, _uploadImageProvider); 788 + context, File(path), 2, true, _uploadImageProvider, () {
  789 + imgAll.add(_uploadImageProvider.mentou.qiniuUrl);
  790 + });
775 } 791 }
776 } 792 }
777 } 793 }
@@ -158,6 +158,7 @@ class UploadImageUtil { @@ -158,6 +158,7 @@ class UploadImageUtil {
158 //消费清单 158 //消费清单
159 uploadImageProvider.imageList[index].process = 1; 159 uploadImageProvider.imageList[index].process = 1;
160 uploadImageProvider.imageList[index].qiniuUrl = imgUrl; 160 uploadImageProvider.imageList[index].qiniuUrl = imgUrl;
  161 + callback();
161 } else if (uploadType == UploadType.TableManagerType) { 162 } else if (uploadType == UploadType.TableManagerType) {
162 //桌面照片管理 163 //桌面照片管理
163 uploadImageProvider.tableImageList[index].process = 1; 164 uploadImageProvider.tableImageList[index].process = 1;
@@ -205,6 +206,7 @@ class UploadImageUtil { @@ -205,6 +206,7 @@ class UploadImageUtil {
205 //新建存酒 206 //新建存酒
206 imageList[index].process = 1; 207 imageList[index].process = 1;
207 imageList[index].qiniuUrl = imgUrl; 208 imageList[index].qiniuUrl = imgUrl;
  209 + callback();
208 } else if (uploadType == UploadType.CouponDishType) { 210 } else if (uploadType == UploadType.CouponDishType) {
209 //新建优惠券 211 //新建优惠券
210 imageList[index].process = 1; 212 imageList[index].process = 1;
@@ -438,8 +440,13 @@ class UploadImageUtil { @@ -438,8 +440,13 @@ class UploadImageUtil {
438 } 440 }
439 441
440 ///上传到七牛云 442 ///上传到七牛云
441 - void startUploadOnly(BuildContext context, File selectedFile, int index,  
442 - bool needInit, UploadImageProvider uploadImageProvider) async { 443 + void startUploadOnly(
  444 + BuildContext context,
  445 + File selectedFile,
  446 + int index,
  447 + bool needInit,
  448 + UploadImageProvider uploadImageProvider,
  449 + VoidCallback callback) async {
443 final PutController putController = PutController(); 450 final PutController putController = PutController();
444 print(index); 451 print(index);
445 452
@@ -527,61 +534,73 @@ class UploadImageUtil { @@ -527,61 +534,73 @@ class UploadImageUtil {
527 uploadImageProvider.touxiang.qiniuUrl = imgUrl; 534 uploadImageProvider.touxiang.qiniuUrl = imgUrl;
528 uploadImageProvider.touxiang.file = null; 535 uploadImageProvider.touxiang.file = null;
529 uploadImageProvider.notifyListeners(); 536 uploadImageProvider.notifyListeners();
  537 + callback();
530 } else if (index == 1) { 538 } else if (index == 1) {
531 uploadImageProvider.erweima.process = 1; 539 uploadImageProvider.erweima.process = 1;
532 uploadImageProvider.erweima.qiniuUrl = imgUrl; 540 uploadImageProvider.erweima.qiniuUrl = imgUrl;
533 uploadImageProvider.erweima.file = null; 541 uploadImageProvider.erweima.file = null;
534 uploadImageProvider.notifyListeners(); 542 uploadImageProvider.notifyListeners();
  543 + callback();
535 } else if (index == 2) { 544 } else if (index == 2) {
536 uploadImageProvider.mentou.process = 1; 545 uploadImageProvider.mentou.process = 1;
537 uploadImageProvider.mentou.qiniuUrl = imgUrl; 546 uploadImageProvider.mentou.qiniuUrl = imgUrl;
538 uploadImageProvider.mentou.file = null; 547 uploadImageProvider.mentou.file = null;
539 uploadImageProvider.notifyListeners(); 548 uploadImageProvider.notifyListeners();
  549 + callback();
540 } else if (index == 3) { 550 } else if (index == 3) {
541 uploadImageProvider.dish.process = 1; 551 uploadImageProvider.dish.process = 1;
542 uploadImageProvider.dish.qiniuUrl = imgUrl; 552 uploadImageProvider.dish.qiniuUrl = imgUrl;
543 uploadImageProvider.dish.file = null; 553 uploadImageProvider.dish.file = null;
544 uploadImageProvider.notifyListeners(); 554 uploadImageProvider.notifyListeners();
  555 + callback();
545 } else if (index == 4) { 556 } else if (index == 4) {
546 uploadImageProvider.firstImage.process = 1; 557 uploadImageProvider.firstImage.process = 1;
547 uploadImageProvider.firstImage.qiniuUrl = imgUrl; 558 uploadImageProvider.firstImage.qiniuUrl = imgUrl;
548 uploadImageProvider.firstImage.file = null; 559 uploadImageProvider.firstImage.file = null;
549 uploadImageProvider.notifyListeners(); 560 uploadImageProvider.notifyListeners();
  561 + callback();
550 } else if (index == 5) { 562 } else if (index == 5) {
551 uploadImageProvider.storeImage1.process = 1; 563 uploadImageProvider.storeImage1.process = 1;
552 uploadImageProvider.storeImage1.qiniuUrl = imgUrl; 564 uploadImageProvider.storeImage1.qiniuUrl = imgUrl;
553 uploadImageProvider.storeImage1.file = null; 565 uploadImageProvider.storeImage1.file = null;
554 uploadImageProvider.notifyListeners(); 566 uploadImageProvider.notifyListeners();
  567 + callback();
555 } else if (index == 6) { 568 } else if (index == 6) {
556 uploadImageProvider.storeImage2.process = 1; 569 uploadImageProvider.storeImage2.process = 1;
557 uploadImageProvider.storeImage2.qiniuUrl = imgUrl; 570 uploadImageProvider.storeImage2.qiniuUrl = imgUrl;
558 uploadImageProvider.storeImage2.file = null; 571 uploadImageProvider.storeImage2.file = null;
559 uploadImageProvider.notifyListeners(); 572 uploadImageProvider.notifyListeners();
  573 + callback();
560 } else if (index == 7) { 574 } else if (index == 7) {
561 uploadImageProvider.storeImage3.process = 1; 575 uploadImageProvider.storeImage3.process = 1;
562 uploadImageProvider.storeImage3.qiniuUrl = imgUrl; 576 uploadImageProvider.storeImage3.qiniuUrl = imgUrl;
563 uploadImageProvider.storeImage3.file = null; 577 uploadImageProvider.storeImage3.file = null;
564 uploadImageProvider.notifyListeners(); 578 uploadImageProvider.notifyListeners();
  579 + callback();
565 } else if (index == 8) { 580 } else if (index == 8) {
566 uploadImageProvider.storeImage4.process = 1; 581 uploadImageProvider.storeImage4.process = 1;
567 uploadImageProvider.storeImage4.qiniuUrl = imgUrl; 582 uploadImageProvider.storeImage4.qiniuUrl = imgUrl;
568 uploadImageProvider.storeImage4.file = null; 583 uploadImageProvider.storeImage4.file = null;
569 uploadImageProvider.notifyListeners(); 584 uploadImageProvider.notifyListeners();
  585 + callback();
570 } else if (index == 9) { 586 } else if (index == 9) {
571 uploadImageProvider.logo.process = 1; 587 uploadImageProvider.logo.process = 1;
572 uploadImageProvider.logo.qiniuUrl = imgUrl; 588 uploadImageProvider.logo.qiniuUrl = imgUrl;
573 uploadImageProvider.logo.file = null; 589 uploadImageProvider.logo.file = null;
574 uploadImageProvider.notifyListeners(); 590 uploadImageProvider.notifyListeners();
  591 + callback();
575 } else if (index == 10) { 592 } else if (index == 10) {
576 uploadImageProvider.storeImage5.process = 1; 593 uploadImageProvider.storeImage5.process = 1;
577 uploadImageProvider.storeImage5.qiniuUrl = imgUrl; 594 uploadImageProvider.storeImage5.qiniuUrl = imgUrl;
578 uploadImageProvider.storeImage5.file = null; 595 uploadImageProvider.storeImage5.file = null;
579 uploadImageProvider.notifyListeners(); 596 uploadImageProvider.notifyListeners();
  597 + callback();
580 } else if (index == 11) { 598 } else if (index == 11) {
581 uploadImageProvider.storeImage6.process = 1; 599 uploadImageProvider.storeImage6.process = 1;
582 uploadImageProvider.storeImage6.qiniuUrl = imgUrl; 600 uploadImageProvider.storeImage6.qiniuUrl = imgUrl;
583 uploadImageProvider.storeImage6.file = null; 601 uploadImageProvider.storeImage6.file = null;
584 uploadImageProvider.notifyListeners(); 602 uploadImageProvider.notifyListeners();
  603 + callback();
585 } 604 }
586 }) 605 })
587 ..catchError((dynamic error) { 606 ..catchError((dynamic error) {