app_pages.dart 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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/friend/friend_controller.dart';
  5. import 'package:location/module/friend/friend_page.dart';
  6. import 'package:location/module/friend/setting/friend_setting_controller.dart';
  7. import 'package:location/module/friend/setting/friend_setting_page.dart';
  8. import 'package:location/module/login/login_controller.dart';
  9. import 'package:location/module/main/main_page.dart';
  10. import 'package:location/module/member/member_controller.dart';
  11. import 'package:location/module/member/member_page.dart';
  12. import 'package:location/module/mine/mine_page.dart';
  13. import 'package:location/module/news/news_page.dart';
  14. import 'package:location/module/news/pending_list/news_pending_list_controller.dart';
  15. import 'package:location/module/news/pending_list/news_pending_list_page.dart';
  16. import '../module/add_friend/add_friend_dialog_controller.dart';
  17. import '../module/login/login_page.dart';
  18. import '../module/main/main_controller.dart';
  19. import '../module/mine/mine_controller.dart';
  20. import '../module/news/news_controller.dart';
  21. import '../module/splash/splash_page.dart';
  22. import '../module/track/track_controller.dart';
  23. import '../module/track/track_page.dart';
  24. abstract class AppPage {
  25. static final pages = <GetPage>[...generalPages];
  26. }
  27. abstract class RoutePath {
  28. static const splash = '/';
  29. static const mainTab = '/mainTab';
  30. static const login = '/login';
  31. static const mine = '/mine';
  32. static const browser = '/browser';
  33. static const friend = '/friend';
  34. static const friendSetting = '/friendSetting';
  35. static const member = '/member';
  36. static const track = '/track';
  37. static const news = '/news';
  38. static const newsPendingList = '/newsPendingList';
  39. }
  40. class AppBinding extends Bindings {
  41. @override
  42. void dependencies() {
  43. lazyPut(() => getIt.get<MainController>());
  44. lazyPut(() => getIt.get<AddFriendDialogController>());
  45. lazyPut(() => getIt.get<LoginController>());
  46. lazyPut(() => getIt.get<MineController>());
  47. lazyPut(() => getIt.get<BrowserController>());
  48. lazyPut(() => getIt.get<FriendController>());
  49. lazyPut(() => getIt.get<FriendSettingController>());
  50. lazyPut(() => getIt.get<MemberController>());
  51. lazyPut(() => getIt.get<TrackController>());
  52. lazyPut(() => getIt.get<NewsController>());
  53. lazyPut(() => getIt.get<NewsPendingListController>());
  54. }
  55. void lazyPut<S>(InstanceBuilderCallback<S> builder) {
  56. Get.lazyPut(builder, fenix: true);
  57. }
  58. }
  59. final generalPages = [
  60. GetPage(name: RoutePath.splash, page: () => SplashPage()),
  61. GetPage(name: RoutePath.mainTab, page: () => MainPage()),
  62. GetPage(name: RoutePath.login, page: () => LoginPage()),
  63. GetPage(name: RoutePath.mine, page: () => MinePage()),
  64. GetPage(name: RoutePath.friend, page: () => FriendPage()),
  65. GetPage(name: RoutePath.friendSetting, page: () => FriendSettingPage()),
  66. GetPage(name: RoutePath.member, page: () => MemberPage()),
  67. GetPage(name: RoutePath.track, page: () => TrackPage()),
  68. GetPage(name: RoutePath.news, page: () => NewsPage()),
  69. GetPage(name: RoutePath.newsPendingList, page: () => NewsPendingListPage()),
  70. ];