app_pages.dart 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import 'package:get/get.dart';
  2. import 'package:keyboard/module/about/about_controller.dart';
  3. import 'package:keyboard/module/browser/browser_controller.dart';
  4. import 'package:keyboard/module/character/content/character_group_content_controller.dart';
  5. import 'package:keyboard/module/character_custom/character_custom_controller.dart';
  6. import 'package:keyboard/module/character_custom/detail/character_custom_detail_page.dart';
  7. import 'package:keyboard/module/character_custom/list/character_custom_list_controller.dart';
  8. import 'package:keyboard/module/feedback/feedback_controller.dart';
  9. import 'package:keyboard/module/keyboard/keyboard_controller.dart';
  10. import 'package:keyboard/module/keyboard_manage/keyboard_manage_controller.dart';
  11. import 'package:keyboard/module/login/login_controller.dart';
  12. import 'package:keyboard/module/mine/mine_controller.dart';
  13. import '../di/get_it.dart';
  14. import '../module/about/about_page.dart';
  15. import '../module/browser/browser_page.dart';
  16. import '../module/character/character_controller.dart';
  17. import '../module/character_custom/character_custom_page.dart';
  18. import '../module/character_custom/detail/character_custom_detail_controller.dart';
  19. import '../module/character_custom/list/character_custom_list_page.dart';
  20. import '../module/feedback/feedback_page.dart';
  21. import '../module/keyboard_manage/keyboard_manage_page.dart';
  22. import '../module/login/login_page.dart';
  23. import '../module/main/main_controller.dart';
  24. import '../module/main/main_page.dart';
  25. abstract class AppPage {
  26. static final pages = <GetPage>[...generalPages];
  27. }
  28. abstract class RoutePath {
  29. static const splash = '/';
  30. static const mainTab = '/mainTab';
  31. static const login = '/login';
  32. static const keyboardSetting = '/keyboardSetting';
  33. static const feedback = '/feedback';
  34. static const about = '/about';
  35. static const browser = '/browser';
  36. static const keyboardManage = '/keyboardManage';
  37. static const characterCustom = '/characterCustom';
  38. static const characterCustomDetail = '/characterCustomDetail';
  39. static const characterCustomList = '/characterCustomList';
  40. }
  41. class AppBinding extends Bindings {
  42. @override
  43. void dependencies() {
  44. lazyPut(() => getIt.get<MainController>());
  45. lazyPut(() => getIt.get<MineController>());
  46. lazyPut(() => getIt.get<CharacterController>());
  47. lazyPut(() => getIt.get<LoginController>());
  48. lazyPut(() => getIt.get<KeyBoardController>());
  49. lazyPut(() => getIt.get<FeedbackController>());
  50. lazyPut(() => getIt.get<AboutController>());
  51. lazyPut(() => getIt.get<BrowserController>());
  52. lazyPut(() => getIt.get<CharacterGroupContentController>());
  53. lazyPut(() => getIt.get<KeyboardManageController>());
  54. lazyPut(() => getIt.get<CharacterCustomController>());
  55. lazyPut(() => getIt.get<CharacterCustomDetailController>());
  56. lazyPut(() => getIt.get<CharacterCustomListController>());
  57. }
  58. void lazyPut<S>(InstanceBuilderCallback<S> builder) {
  59. Get.lazyPut(builder, fenix: true);
  60. }
  61. }
  62. final generalPages = [
  63. GetPage(name: RoutePath.mainTab, page: () => MainPage()),
  64. GetPage(name: RoutePath.login, page: () => LoginPage()),
  65. GetPage(name: RoutePath.feedback, page: () => FeedbackPage()),
  66. GetPage(name: RoutePath.about, page: () => AboutPage()),
  67. GetPage(name: RoutePath.browser, page: () => BrowserPage()),
  68. GetPage(name: RoutePath.keyboardManage, page: () => KeyboardManagePage()),
  69. GetPage(name: RoutePath.characterCustom, page: () => CharacterCustomPage()),
  70. GetPage(
  71. name: RoutePath.characterCustomDetail,
  72. page: () => CharacterCustomDetailPage(),
  73. ),
  74. GetPage(
  75. name: RoutePath.characterCustomList,
  76. page: () => CharacterCustomListPage(),
  77. ),
  78. ];