main_controller.dart 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import 'package:get/get_rx/src/rx_types/rx_types.dart';
  2. import 'package:injectable/injectable.dart';
  3. import 'package:location/base/base_controller.dart';
  4. import 'package:location/data/bean/user_info.dart';
  5. import 'package:location/data/repositories/account_repository.dart';
  6. import 'package:location/data/repositories/friends_repository.dart';
  7. import 'package:location/utils/atmob_log.dart';
  8. import '../add_friend/add_friend_view.dart';
  9. import '../mine/mine_page.dart';
  10. @injectable
  11. class MainController extends BaseController {
  12. final FriendsRepository friendsRepository;
  13. final AccountRepository accountRepository;
  14. RxList<UserInfo> get friendsList => friendsRepository.friendsList;
  15. UserInfo get mineLocation => accountRepository.locationUserInfo.value;
  16. MainController(this.friendsRepository, this.accountRepository);
  17. final Rxn<UserInfo> _selectedFriend = Rxn<UserInfo>();
  18. UserInfo? get selectedFriend => _selectedFriend.value;
  19. void onAddFriendClick() {
  20. AddFriendView.show();
  21. }
  22. void onMineClick() {
  23. MinePage.start();
  24. }
  25. void onSelectClick(UserInfo mineLocation) {
  26. AtmobLog.d("zkzk", "onSelectClick: ${mineLocation.phoneNumber}");
  27. _selectedFriend.value = mineLocation;
  28. }
  29. }