locations_single_photo_controller.dart 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import 'package:clean/base/base_controller.dart';
  2. import 'package:clean/base/base_photo_controller.dart';
  3. import 'package:clean/data/bean/photos_type.dart';
  4. import 'package:clean/module/image_picker/image_picker_util.dart';
  5. import 'package:clean/module/locations_photo/locations_photo_controller.dart';
  6. import 'package:clean/module/people_photo/photo_group.dart';
  7. import 'package:clean/module/photo_preview/photo_preview_view.dart';
  8. import 'package:clean/utils/toast_util.dart';
  9. import 'package:get/get.dart';
  10. import 'package:wechat_assets_picker/wechat_assets_picker.dart';
  11. class LocationsSinglePhotoController extends BasePhotoController {
  12. late PhotoGroup photoGroup;
  13. @override
  14. void onInit() {
  15. print('LocationsSinglePhotoController onInit');
  16. _getArgs();
  17. super.onInit();
  18. }
  19. // 获取传递的参数
  20. void _getArgs() {
  21. final parameters = Get.arguments;
  22. photoGroup = parameters?['PhotoGroup'] as PhotoGroup;
  23. }
  24. // // 通过位置获取照片组
  25. // PhotoGroup getGroupByLocation(String? location) {
  26. // return photoGroups.firstWhere((group) => group.location == location);
  27. // }
  28. // 获取对应的 PhotosType
  29. @override
  30. PhotosType getPhotosType() {
  31. return PhotosType.locationPhotos;
  32. }
  33. @override
  34. void loadPhotos() {
  35. photoGroups.clear();
  36. if (photoGroup.images.isNotEmpty) {
  37. photoGroups.add(photoGroup);
  38. }
  39. selectedPhotosIds.assignAll(ImagePickerUtil.selectedLocationPhotosIds);
  40. }
  41. void clickBack() {
  42. print('LocationsSinglePhotoController clickBack selectedPhotosIds $selectedPhotosIds');
  43. updateSelections(selectedPhotosIds); // 恢复选中状态
  44. Get.back();
  45. }
  46. }