app_pages.dart 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import 'package:get/get.dart';
  2. import 'package:location/di/get_it.dart';
  3. import 'package:location/module/browser/browser_controller.dart';
  4. import 'package:location/module/browser/browser_view.dart';
  5. import 'package:location/module/friend/friend_controller.dart';
  6. import 'package:location/module/friend/friend_page.dart';
  7. import 'package:location/module/login/login_controller.dart';
  8. import 'package:location/module/main/main_page.dart';
  9. import 'package:location/module/mine/mine_page.dart';
  10. import '../module/add_friend/add_friend_dialog_controller.dart';
  11. import '../module/login/login_page.dart';
  12. import '../module/main/main_controller.dart';
  13. import '../module/mine/mine_controller.dart';
  14. import '../module/splash/splash_controller.dart';
  15. import '../module/splash/splash_page.dart';
  16. abstract class AppPage {
  17. static final pages = <GetPage>[...generalPages];
  18. }
  19. abstract class RoutePath {
  20. static const splash = '/';
  21. static const mainTab = '/mainTab';
  22. static const login = '/login';
  23. static const mine = '/mine';
  24. static const browser = '/browser';
  25. static const friend = '/friend';
  26. }
  27. class AppBinding extends Bindings {
  28. @override
  29. void dependencies() {
  30. lazyPut(() => getIt.get<MainController>());
  31. lazyPut(() => getIt.get<AddFriendDialogController>());
  32. lazyPut(() => getIt.get<LoginController>());
  33. lazyPut(() => getIt.get<MineController>());
  34. lazyPut(() => getIt.get<BrowserController>());
  35. lazyPut(() => getIt.get<FriendController>());
  36. }
  37. void lazyPut<S>(InstanceBuilderCallback<S> builder) {
  38. Get.lazyPut(builder, fenix: true);
  39. }
  40. }
  41. final generalPages = [
  42. GetPage(name: RoutePath.splash, page: () => SplashPage()),
  43. GetPage(name: RoutePath.mainTab, page: () => MainPage()),
  44. GetPage(name: RoutePath.login, page: () => LoginPage()),
  45. GetPage(name: RoutePath.mine, page: () => MinePage()),
  46. GetPage(name: RoutePath.friend, page: () => FriendPage()),
  47. ];