app_pages.dart 1.7 KB

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