app_pages.dart 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. import 'package:get/get.dart';
  2. import '../modules/about/bindings/about_binding.dart';
  3. import '../modules/about/views/about_view.dart';
  4. import '../modules/account/bindings/account_binding.dart';
  5. import '../modules/account/views/account_view.dart';
  6. import '../modules/deviceauth/bindings/deviceauth_binding.dart';
  7. import '../modules/deviceauth/views/deviceauth_view.dart';
  8. import '../modules/feedback/bindings/feedback_binding.dart';
  9. import '../modules/feedback/views/feedback_view.dart';
  10. import '../modules/home/bindings/home_binding.dart';
  11. import '../modules/home/views/home_view.dart';
  12. import '../modules/language/bindings/language_binding.dart';
  13. import '../modules/language/views/language_view.dart';
  14. import '../modules/markdown/bindings/markdown_binding.dart';
  15. import '../modules/markdown/views/markdown_view.dart';
  16. import '../modules/node/bindings/node_binding.dart';
  17. import '../modules/node/views/node_view.dart';
  18. import '../modules/precode/bindings/precode_binding.dart';
  19. import '../modules/precode/sendemail/bindings/precode_sendemail_binding.dart';
  20. import '../modules/precode/sendemail/views/precode_sendemail_view.dart';
  21. import '../modules/precode/views/precode_view.dart';
  22. import '../modules/routingmode/bindings/routingmode_binding.dart';
  23. import '../modules/routingmode/views/routingmode_view.dart';
  24. import '../modules/setting/bindings/setting_binding.dart';
  25. import '../modules/setting/views/setting_view.dart';
  26. import '../modules/splash/bindings/splash_binding.dart';
  27. import '../modules/splash/views/splash_view.dart';
  28. import '../modules/splittunneling/bindings/splittunneling_binding.dart';
  29. import '../modules/splittunneling/views/splittunneling_view.dart';
  30. import '../modules/web/bindings/web_binding.dart';
  31. import '../modules/web/views/web_view.dart';
  32. part 'app_routes.dart';
  33. /// 路由页面配置类
  34. class AppPages {
  35. /// 初始路由
  36. static const initial = Routes.SPLASH;
  37. /// 路由页面列表
  38. static final routes = [
  39. GetPage(
  40. name: _Paths.SPLASH,
  41. page: () => const SplashView(),
  42. binding: SplashBinding(),
  43. transitionDuration: const Duration(milliseconds: 0),
  44. ),
  45. GetPage(
  46. name: _Paths.HOME,
  47. page: () => const HomeView(),
  48. binding: HomeBinding(),
  49. transitionDuration: const Duration(milliseconds: 0),
  50. ),
  51. GetPage(
  52. name: _Paths.NODE,
  53. page: () => const NodeView(),
  54. binding: NodeBinding(),
  55. transition: Transition.cupertino,
  56. preventDuplicates: true, // 防止重复打开同一个页面
  57. ),
  58. GetPage(
  59. name: _Paths.WEB,
  60. page: () => const WebView(),
  61. binding: WebBinding(),
  62. transition: Transition.cupertino,
  63. ),
  64. GetPage(
  65. name: _Paths.ABOUT,
  66. page: () => const AboutView(),
  67. binding: AboutBinding(),
  68. transition: Transition.cupertino,
  69. ),
  70. GetPage(
  71. name: _Paths.ACCOUNT,
  72. page: () => const AccountView(),
  73. binding: AccountBinding(),
  74. transition: Transition.cupertino,
  75. ),
  76. GetPage(
  77. name: _Paths.MARKDOWN,
  78. page: () => const MarkdownView(),
  79. binding: MarkdownBinding(),
  80. transition: Transition.cupertino,
  81. ),
  82. GetPage(
  83. name: _Paths.SETTING,
  84. page: () => const SettingView(),
  85. binding: SettingBinding(),
  86. transition: Transition.cupertino,
  87. ),
  88. GetPage(
  89. name: _Paths.PRECODE,
  90. page: () => const PrecodeView(),
  91. binding: PrecodeBinding(),
  92. transition: Transition.cupertino,
  93. children: [
  94. GetPage(
  95. name: _Paths.PRECODE_SENDEMAIL,
  96. page: () => const PrecodeSendemailView(),
  97. binding: PrecodeSendemailBinding(),
  98. transition: Transition.cupertino,
  99. ),
  100. ],
  101. ),
  102. GetPage(
  103. name: _Paths.DEVICEAUTH,
  104. page: () => const DeviceauthView(),
  105. binding: DeviceauthBinding(),
  106. transition: Transition.cupertino,
  107. ),
  108. GetPage(
  109. name: _Paths.ROUTINGMODE,
  110. page: () => const RoutingmodeView(),
  111. binding: RoutingmodeBinding(),
  112. transition: Transition.cupertino,
  113. ),
  114. GetPage(
  115. name: _Paths.LANGUAGE,
  116. page: () => const LanguageView(),
  117. binding: LanguageBinding(),
  118. transition: Transition.cupertino,
  119. ),
  120. GetPage(
  121. name: _Paths.FEEDBACK,
  122. page: () => const FeedbackView(),
  123. binding: FeedbackBinding(),
  124. transition: Transition.cupertino,
  125. ),
  126. GetPage(
  127. name: _Paths.SPLITTUNNELING,
  128. page: () => const SplittunnelingView(),
  129. binding: SplittunnelingBinding(),
  130. transition: Transition.cupertino,
  131. ),
  132. ];
  133. /// 私有构造函数,防止被实例化
  134. AppPages._();
  135. }