WallPaper_FSX_Flutter/lib/modules/catalog/catalog_controller.dart
fengshengxiong 9caadfb09a 1.按照UI图修改
2.完善其他功能
2024-05-17 17:02:22 +08:00

43 lines
1.4 KiB
Dart

import 'package:get/get.dart';
import 'package:now_wallpaper/common/components/view_state_widget.dart';
import 'package:now_wallpaper/models/wallpaper_model.dart';
import 'package:now_wallpaper/modules/root/root_controller.dart';
import 'package:now_wallpaper/routes/app_pages.dart';
class CatalogController extends GetxController {
static CatalogController get to => Get.find<CatalogController>();
late ViewState viewState;
late List<WallpaperModel> wallpaperModelList;
@override
void onInit() {
super.onInit();
getData();
}
void getData() {
wallpaperModelList = RootController.to.wallpaperModelList;
viewState = wallpaperModelList.isNotEmpty ? ViewState.normal : ViewState.empty;
refresh();
}
/// 从分类中随机取5张
List<WallpaperData> getRandomFiveList(WallpaperModel item) {
if (item.data != null && item.data!.length >= 5) {
var flatList = item.data!.map((e) => e).toList();
return (flatList..shuffle()).take(5).toList();
} else {
return item.data == null ? <WallpaperData>[] : item.data!;
}
}
void onTapSingleCls(WallpaperModel wallpaperModel) {
// 进入单个分类页面
Get.toNamed(AppPages.singleCls, arguments: wallpaperModel);
}
/// 点击壁纸
void onTapItem(List<WallpaperData> wallpaperList, int index) {
Get.toNamed(AppPages.wallpaperDet, arguments: {'position': index, 'wallpaperList': wallpaperList});
}
}