From a471816160571e42e32d601cb350c56c739582b6 Mon Sep 17 00:00:00 2001 From: bluesea <307723040@qq.com> Date: Wed, 15 May 2024 16:43:57 +0800 Subject: [PATCH] daf --- .../downloadpage/downloadpage_controller.dart | 9 ++++++++ .../pages/downloadpage/downloadpage_view.dart | 21 +++++++------------ wallpaper/lib/utils/dbmanager.dart | 5 +++++ wallpaper/lib/utils/downloadmanager.dart | 12 ++++++++++- 4 files changed, 33 insertions(+), 14 deletions(-) diff --git a/wallpaper/lib/pages/downloadpage/downloadpage_controller.dart b/wallpaper/lib/pages/downloadpage/downloadpage_controller.dart index c6915dd..b17c36e 100644 --- a/wallpaper/lib/pages/downloadpage/downloadpage_controller.dart +++ b/wallpaper/lib/pages/downloadpage/downloadpage_controller.dart @@ -40,6 +40,15 @@ class DownloadPageController extends GetxController { await DownloadManager.setWallpaperNative(imgUrl); } + //删除图片 + void deleteWallpaper(String imgUrl,int index) async{ + await DownloadManager.deleteWallpaperFile(imgUrl); + DBManager.deleteImg(dataItems[index]); + // ignore: invalid_use_of_protected_member + dataItems.value.removeAt(index); + + // dataItems.value = DBManager.allImgs(); + } } \ No newline at end of file diff --git a/wallpaper/lib/pages/downloadpage/downloadpage_view.dart b/wallpaper/lib/pages/downloadpage/downloadpage_view.dart index c3f4a2e..989c793 100644 --- a/wallpaper/lib/pages/downloadpage/downloadpage_view.dart +++ b/wallpaper/lib/pages/downloadpage/downloadpage_view.dart @@ -30,12 +30,12 @@ class DownloadPageView extends GetView { padding: const EdgeInsets.symmetric(horizontal: 5), // padding: const EdgeInsets.fromLTRB(5, 50, 5, 0), children: List.generate(controller.dataItems.length, (index) { - return getBodyItem(controller.dataItems[index].localUrl!); + return getBodyItem(controller.dataItems[index].localUrl!,index); }), )); } - Stack getBodyItem(String fileName) { + Stack getBodyItem(String fileName,int index) { var imgUrl = '${controller.localDir.value}/$fileName'; return Stack(//堆叠效果 children: [ @@ -45,15 +45,6 @@ class DownloadPageView extends GetView { height: double.infinity, fit: BoxFit.cover, ), - // Image.file(imgUrl), - // FadeInImage.loadImageByFile( - // width: double.infinity, - // height: double.infinity, - // placeholder: kTransparentImage, - // image: imgUrl, - // fit: BoxFit.cover, - // ), - Material( color: Colors.transparent, child: InkWell( @@ -72,7 +63,7 @@ class DownloadPageView extends GetView { mainAxisSize: MainAxisSize.max, // 交叉轴的布局方式,对于column来说就是水平方向的布局方式 crossAxisAlignment: CrossAxisAlignment.center, - children: getButtomWidge(imgUrl), + children: getButtomWidge(imgUrl,index), ), ), ), @@ -84,7 +75,7 @@ class DownloadPageView extends GetView { } - List getButtomWidge(String imgUrl){ + List getButtomWidge(String imgUrl,int index){ List wg = [ IconButton(onPressed:() { controller.saveImgToAlbum(imgUrl); @@ -97,6 +88,10 @@ class DownloadPageView extends GetView { }, icon: const Icon(Icons.wallpaper),color: Colors.white,)); } + wg.add(IconButton(onPressed:() { + controller.deleteWallpaper(imgUrl,index); + + }, icon: const Icon(Icons.delete),color: Colors.red,)); return wg; } } \ No newline at end of file diff --git a/wallpaper/lib/utils/dbmanager.dart b/wallpaper/lib/utils/dbmanager.dart index 90b7c04..31aee4f 100644 --- a/wallpaper/lib/utils/dbmanager.dart +++ b/wallpaper/lib/utils/dbmanager.dart @@ -35,8 +35,13 @@ class DBManager { static List allImgs() { var lis = DBManager.box.values.toList(); + return lis ; } + static void deleteImg(LocalImageInfo item ) { + DBManager.box.delete(item.key); + } + } \ No newline at end of file diff --git a/wallpaper/lib/utils/downloadmanager.dart b/wallpaper/lib/utils/downloadmanager.dart index c8d7cd0..224f580 100644 --- a/wallpaper/lib/utils/downloadmanager.dart +++ b/wallpaper/lib/utils/downloadmanager.dart @@ -114,7 +114,17 @@ class DownloadManager { return result; } - +//删除本地图片 +static Future deleteWallpaperFile(String urlStr) async{ + // 删除文件 + final file = File(urlStr); + if (await file.exists()) { + await file.delete(); + print('文件已删除:$urlStr'); + } else { + print('文件不存在:$urlStr'); + } +}