fix: 缺省图片添加
This commit is contained in:
parent
9e10608245
commit
a6b0a2ae95
BIN
assets/common/space_img_h.png
Normal file
BIN
assets/common/space_img_h.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
BIN
assets/common/space_img_w.png
Normal file
BIN
assets/common/space_img_w.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
159
ios/Podfile.lock
Normal file
159
ios/Podfile.lock
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
PODS:
|
||||||
|
- connectivity_plus (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- device_info_plus (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- Flutter (1.0.0)
|
||||||
|
- flutter_image_compress_common (1.0.0):
|
||||||
|
- Flutter
|
||||||
|
- Mantle
|
||||||
|
- SDWebImage
|
||||||
|
- SDWebImageWebPCoder
|
||||||
|
- flutter_inappwebview_ios (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- flutter_inappwebview_ios/Core (= 0.0.1)
|
||||||
|
- OrderedSet (~> 6.0.3)
|
||||||
|
- flutter_inappwebview_ios/Core (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- OrderedSet (~> 6.0.3)
|
||||||
|
- flutter_secure_storage (6.0.0):
|
||||||
|
- Flutter
|
||||||
|
- fluttertoast (0.0.2):
|
||||||
|
- Flutter
|
||||||
|
- image_picker_ios (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- libwebp (1.5.0):
|
||||||
|
- libwebp/demux (= 1.5.0)
|
||||||
|
- libwebp/mux (= 1.5.0)
|
||||||
|
- libwebp/sharpyuv (= 1.5.0)
|
||||||
|
- libwebp/webp (= 1.5.0)
|
||||||
|
- libwebp/demux (1.5.0):
|
||||||
|
- libwebp/webp
|
||||||
|
- libwebp/mux (1.5.0):
|
||||||
|
- libwebp/demux
|
||||||
|
- libwebp/sharpyuv (1.5.0)
|
||||||
|
- libwebp/webp (1.5.0):
|
||||||
|
- libwebp/sharpyuv
|
||||||
|
- Mantle (2.2.0):
|
||||||
|
- Mantle/extobjc (= 2.2.0)
|
||||||
|
- Mantle/extobjc (2.2.0)
|
||||||
|
- OrderedSet (6.0.3)
|
||||||
|
- package_info_plus (0.4.5):
|
||||||
|
- Flutter
|
||||||
|
- SDWebImage (5.21.7):
|
||||||
|
- SDWebImage/Core (= 5.21.7)
|
||||||
|
- SDWebImage/Core (5.21.7)
|
||||||
|
- SDWebImageWebPCoder (0.15.0):
|
||||||
|
- libwebp (~> 1.0)
|
||||||
|
- SDWebImage/Core (~> 5.17)
|
||||||
|
- share_plus (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- shared_preferences_foundation (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- FlutterMacOS
|
||||||
|
- sign_in_with_apple (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- sqflite_darwin (0.0.4):
|
||||||
|
- Flutter
|
||||||
|
- FlutterMacOS
|
||||||
|
- url_launcher_ios (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- video_player_avfoundation (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- FlutterMacOS
|
||||||
|
- wakelock_plus (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- webview_flutter_wkwebview (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- FlutterMacOS
|
||||||
|
|
||||||
|
DEPENDENCIES:
|
||||||
|
- connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`)
|
||||||
|
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
|
||||||
|
- Flutter (from `Flutter`)
|
||||||
|
- flutter_image_compress_common (from `.symlinks/plugins/flutter_image_compress_common/ios`)
|
||||||
|
- flutter_inappwebview_ios (from `.symlinks/plugins/flutter_inappwebview_ios/ios`)
|
||||||
|
- flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
|
||||||
|
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
|
||||||
|
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||||
|
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
||||||
|
- share_plus (from `.symlinks/plugins/share_plus/ios`)
|
||||||
|
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
|
||||||
|
- sign_in_with_apple (from `.symlinks/plugins/sign_in_with_apple/ios`)
|
||||||
|
- sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
|
||||||
|
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||||
|
- video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`)
|
||||||
|
- wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`)
|
||||||
|
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/darwin`)
|
||||||
|
|
||||||
|
SPEC REPOS:
|
||||||
|
trunk:
|
||||||
|
- libwebp
|
||||||
|
- Mantle
|
||||||
|
- OrderedSet
|
||||||
|
- SDWebImage
|
||||||
|
- SDWebImageWebPCoder
|
||||||
|
|
||||||
|
EXTERNAL SOURCES:
|
||||||
|
connectivity_plus:
|
||||||
|
:path: ".symlinks/plugins/connectivity_plus/ios"
|
||||||
|
device_info_plus:
|
||||||
|
:path: ".symlinks/plugins/device_info_plus/ios"
|
||||||
|
Flutter:
|
||||||
|
:path: Flutter
|
||||||
|
flutter_image_compress_common:
|
||||||
|
:path: ".symlinks/plugins/flutter_image_compress_common/ios"
|
||||||
|
flutter_inappwebview_ios:
|
||||||
|
:path: ".symlinks/plugins/flutter_inappwebview_ios/ios"
|
||||||
|
flutter_secure_storage:
|
||||||
|
:path: ".symlinks/plugins/flutter_secure_storage/ios"
|
||||||
|
fluttertoast:
|
||||||
|
:path: ".symlinks/plugins/fluttertoast/ios"
|
||||||
|
image_picker_ios:
|
||||||
|
:path: ".symlinks/plugins/image_picker_ios/ios"
|
||||||
|
package_info_plus:
|
||||||
|
:path: ".symlinks/plugins/package_info_plus/ios"
|
||||||
|
share_plus:
|
||||||
|
:path: ".symlinks/plugins/share_plus/ios"
|
||||||
|
shared_preferences_foundation:
|
||||||
|
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
|
||||||
|
sign_in_with_apple:
|
||||||
|
:path: ".symlinks/plugins/sign_in_with_apple/ios"
|
||||||
|
sqflite_darwin:
|
||||||
|
:path: ".symlinks/plugins/sqflite_darwin/darwin"
|
||||||
|
url_launcher_ios:
|
||||||
|
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
||||||
|
video_player_avfoundation:
|
||||||
|
:path: ".symlinks/plugins/video_player_avfoundation/darwin"
|
||||||
|
wakelock_plus:
|
||||||
|
:path: ".symlinks/plugins/wakelock_plus/ios"
|
||||||
|
webview_flutter_wkwebview:
|
||||||
|
:path: ".symlinks/plugins/webview_flutter_wkwebview/darwin"
|
||||||
|
|
||||||
|
SPEC CHECKSUMS:
|
||||||
|
connectivity_plus: cb623214f4e1f6ef8fe7403d580fdad517d2f7dd
|
||||||
|
device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe
|
||||||
|
Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
|
||||||
|
flutter_image_compress_common: 1697a328fd72bfb335507c6bca1a65fa5ad87df1
|
||||||
|
flutter_inappwebview_ios: b89ba3482b96fb25e00c967aae065701b66e9b99
|
||||||
|
flutter_secure_storage: 1ed9476fba7e7a782b22888f956cce43e2c62f13
|
||||||
|
fluttertoast: fe6790210fdba20801685be946e3a2124b72eef5
|
||||||
|
image_picker_ios: e0ece4aa2a75771a7de3fa735d26d90817041326
|
||||||
|
libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8
|
||||||
|
Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d
|
||||||
|
OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94
|
||||||
|
package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
|
||||||
|
SDWebImage: e9fc87c1aab89a8ab1bbd74eba378c6f53be8abf
|
||||||
|
SDWebImageWebPCoder: 0e06e365080397465cc73a7a9b472d8a3bd0f377
|
||||||
|
share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a
|
||||||
|
shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb
|
||||||
|
sign_in_with_apple: c5dcc141574c8c54d5ac99dd2163c0c72ad22418
|
||||||
|
sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
|
||||||
|
url_launcher_ios: 7a95fa5b60cc718a708b8f2966718e93db0cef1b
|
||||||
|
video_player_avfoundation: 3453f792138786248960ca029747fcd9f318ef52
|
||||||
|
wakelock_plus: e29112ab3ef0b318e58cfa5c32326458be66b556
|
||||||
|
webview_flutter_wkwebview: 8ebf4fded22593026f7dbff1fbff31ea98573c8d
|
||||||
|
|
||||||
|
PODFILE CHECKSUM: 3c63482e143d1b91d2d2560aee9fb04ecc74ac7e
|
||||||
|
|
||||||
|
COCOAPODS: 1.16.2
|
||||||
@ -3,6 +3,7 @@ final class ApiConst {
|
|||||||
|
|
||||||
static const appName = 'Glimzo';
|
static const appName = 'Glimzo';
|
||||||
static const int pageSize = 12;
|
static const int pageSize = 12;
|
||||||
|
// https://api-glimzodf.glimzodf.com/glimzodf
|
||||||
static const String apiLink = 'https://api-quickeltv.quickeltv.com/quickeltv';
|
static const String apiLink = 'https://api-quickeltv.quickeltv.com/quickeltv';
|
||||||
|
|
||||||
static String webPrefix = "quickeltv.com";
|
static String webPrefix = "quickeltv.com";
|
||||||
|
|||||||
@ -1,10 +1,8 @@
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'package:dio/dio.dart';
|
import 'package:dio/dio.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
|
||||||
import 'package:skywood/global/request/api_const.dart';
|
import 'package:skywood/global/request/api_const.dart';
|
||||||
import 'package:skywood/global/request/network_interceptor.dart';
|
import 'package:skywood/global/request/network_interceptor.dart';
|
||||||
import 'package:skywood/utils/tools/app_toast.dart';
|
import 'package:skywood/utils/tools/app_toast.dart';
|
||||||
import 'package:talker_dio_logger/talker_dio_logger.dart';
|
|
||||||
|
|
||||||
import '../../utils/tools/token_manage.dart';
|
import '../../utils/tools/token_manage.dart';
|
||||||
|
|
||||||
|
|||||||
@ -57,7 +57,9 @@ class DailyQuestWidget extends StatelessWidget {
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
HelpNav.to(DramaDetailPage(dramaBean: drama));
|
HelpNav.to(DramaDetailPage(dramaBean: drama));
|
||||||
},
|
},
|
||||||
child: HelpImg.network(drama.horizontallyImg, width: 95.w, height: 50.h, fit: BoxFit.cover),
|
child: HelpImg.network(drama.horizontallyImg, width: 95.w, height: 50.h, fit: BoxFit.cover,
|
||||||
|
isWidth: true
|
||||||
|
),
|
||||||
);
|
);
|
||||||
})
|
})
|
||||||
),
|
),
|
||||||
@ -73,7 +75,9 @@ class DailyQuestWidget extends StatelessWidget {
|
|||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
border: Border.all(color: CommonColor.black, width: 1),
|
border: Border.all(color: CommonColor.black, width: 1),
|
||||||
),
|
),
|
||||||
child: HelpImg.network(drama.horizontallyImg, width: 300.w, height: 160.h, fit: BoxFit.cover),
|
child: HelpImg.network(drama.horizontallyImg, width: 300.w, height: 160.h, fit: BoxFit.cover,
|
||||||
|
isWidth: true
|
||||||
|
),
|
||||||
),
|
),
|
||||||
SizedBox(height: 4.h),
|
SizedBox(height: 4.h),
|
||||||
Row(
|
Row(
|
||||||
|
|||||||
@ -23,6 +23,9 @@ class ConstImg {
|
|||||||
static const String noworkImg = "assets/common/nowork_img.png";
|
static const String noworkImg = "assets/common/nowork_img.png";
|
||||||
// applogo
|
// applogo
|
||||||
static const String appLogo = "assets/common/applogo.png";
|
static const String appLogo = "assets/common/applogo.png";
|
||||||
|
// space_img_h
|
||||||
|
static const String spaceImgH = "assets/common/space_img_h.png";
|
||||||
|
static const String spaceImgW = "assets/common/space_img_w.png";
|
||||||
|
|
||||||
|
|
||||||
static const String homeBg = "assets/imgs/home_bg.png";
|
static const String homeBg = "assets/imgs/home_bg.png";
|
||||||
@ -137,6 +140,7 @@ class HelpImg {
|
|||||||
BoxShape? shape,
|
BoxShape? shape,
|
||||||
BorderRadius? borderRadius,
|
BorderRadius? borderRadius,
|
||||||
Widget? errorWidget,
|
Widget? errorWidget,
|
||||||
|
bool isWidth = false,
|
||||||
}) {
|
}) {
|
||||||
return ClipRRect(
|
return ClipRRect(
|
||||||
borderRadius: borderRadius ?? BorderRadius.circular(3),
|
borderRadius: borderRadius ?? BorderRadius.circular(3),
|
||||||
@ -147,6 +151,7 @@ class HelpImg {
|
|||||||
height: height,
|
height: height,
|
||||||
shape: shape,
|
shape: shape,
|
||||||
errorWidget: errorWidget,
|
errorWidget: errorWidget,
|
||||||
|
isWidth: isWidth
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -161,6 +166,7 @@ class HelpImg {
|
|||||||
BoxShape? shape,
|
BoxShape? shape,
|
||||||
BorderRadius? borderRadius,
|
BorderRadius? borderRadius,
|
||||||
Widget? errorWidget,
|
Widget? errorWidget,
|
||||||
|
bool isWidth = false,
|
||||||
}) {
|
}) {
|
||||||
// bool isSvg = path.toLowerCase().endsWith('.svg');
|
// bool isSvg = path.toLowerCase().endsWith('.svg');
|
||||||
// if (isSvg) {
|
// if (isSvg) {
|
||||||
@ -180,6 +186,11 @@ class HelpImg {
|
|||||||
// ),
|
// ),
|
||||||
// );
|
// );
|
||||||
// }
|
// }
|
||||||
|
return FadeInImage.assetNetwork(
|
||||||
|
placeholder: isWidth==true ? ConstImg.spaceImgW : ConstImg.spaceImgH, image: path,
|
||||||
|
width: width, height: height, fit: BoxFit.cover
|
||||||
|
);
|
||||||
|
|
||||||
return Image.network(
|
return Image.network(
|
||||||
path,
|
path,
|
||||||
width: width,
|
width: width,
|
||||||
@ -187,33 +198,17 @@ class HelpImg {
|
|||||||
fit: fit,
|
fit: fit,
|
||||||
loadingBuilder: (context, child, loadingProgress) {
|
loadingBuilder: (context, child, loadingProgress) {
|
||||||
if (loadingProgress == null) return child;
|
if (loadingProgress == null) return child;
|
||||||
return SizedBox(
|
return HelpImg.asset(isWidth==true ? ConstImg.spaceImgW : ConstImg.spaceImgH, fit: BoxFit.fill,
|
||||||
width: width, height: height,
|
width: width, height: height
|
||||||
child: Center(
|
|
||||||
//CircularProgressIndicator
|
|
||||||
child: Container(
|
|
||||||
width: 30,
|
|
||||||
height: 30,
|
|
||||||
padding: const EdgeInsets.all(5),
|
|
||||||
child: CircularProgressIndicator(
|
|
||||||
color: Colors.white,
|
|
||||||
strokeWidth: 1,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
errorBuilder: (context, error, stackTrace) {
|
errorBuilder: (context, error, stackTrace) {
|
||||||
// ✅ 关键:处理加载失败的情况
|
// ✅ 关键:处理加载失败的情况
|
||||||
return errorWidget ??
|
return errorWidget ??
|
||||||
Container(
|
SizedBox(
|
||||||
width: 50,
|
width: width, height: height,
|
||||||
height: 50,
|
child: HelpImg.asset(isWidth==true ? ConstImg.spaceImgW : ConstImg.spaceImgH, fit: BoxFit.fill,
|
||||||
color: Colors.grey[300],
|
width: width, height: height
|
||||||
child: const Icon(
|
|
||||||
Icons.broken_image,
|
|
||||||
color: Colors.grey,
|
|
||||||
size: 40,
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user