43 lines
1.4 KiB
Dart
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});
|
|
}
|
|
} |