app_pages.dart 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. import 'package:flutter/material.dart';
  2. import 'package:get/get.dart';
  3. import '../modules/about/bindings/about_binding.dart';
  4. import '../modules/about/views/about_view.dart';
  5. import '../modules/account/bindings/account_binding.dart';
  6. import '../modules/account/views/account_view.dart';
  7. import '../modules/deviceauth/bindings/deviceauth_binding.dart';
  8. import '../modules/deviceauth/views/deviceauth_view.dart';
  9. import '../modules/feedback/bindings/feedback_binding.dart';
  10. import '../modules/feedback/views/feedback_view.dart';
  11. import '../modules/forgotpwd/bindings/forgotpwd_binding.dart';
  12. import '../modules/forgotpwd/views/forgotpwd_view.dart';
  13. import '../modules/home/bindings/home_binding.dart';
  14. import '../modules/home/views/home_view.dart';
  15. import '../modules/language/bindings/language_binding.dart';
  16. import '../modules/language/views/language_view.dart';
  17. import '../modules/login/bindings/login_binding.dart';
  18. import '../modules/login/views/login_view.dart';
  19. import '../modules/markdown/bindings/markdown_binding.dart';
  20. import '../modules/markdown/views/markdown_view.dart';
  21. import '../modules/node/bindings/node_binding.dart';
  22. import '../modules/node/views/node_view.dart';
  23. import '../modules/precode/bindings/precode_binding.dart';
  24. import '../modules/precode/sendemail/bindings/precode_sendemail_binding.dart';
  25. import '../modules/precode/sendemail/views/precode_sendemail_view.dart';
  26. import '../modules/precode/views/precode_view.dart';
  27. import '../modules/routingmode/bindings/routingmode_binding.dart';
  28. import '../modules/routingmode/views/routingmode_view.dart';
  29. import '../modules/setting/bindings/setting_binding.dart';
  30. import '../modules/setting/views/setting_view.dart';
  31. import '../modules/signup/bindings/signup_binding.dart';
  32. import '../modules/signup/views/signup_view.dart';
  33. import '../modules/splash/bindings/splash_binding.dart';
  34. import '../modules/splash/views/splash_view.dart';
  35. import '../modules/splittunneling/bindings/splittunneling_binding.dart';
  36. import '../modules/splittunneling/selectapp/bindings/splittunneling_selectapp_binding.dart';
  37. import '../modules/splittunneling/selectapp/views/splittunneling_selectapp_view.dart';
  38. import '../modules/splittunneling/views/splittunneling_view.dart';
  39. import '../modules/web/bindings/web_binding.dart';
  40. import '../modules/web/views/web_view.dart';
  41. part 'app_routes.dart';
  42. /// 路由页面配置类
  43. class AppPages {
  44. /// 初始路由
  45. static const initial = Routes.SPLASH;
  46. /// 路由页面列表
  47. static final routes = [
  48. GetPage(
  49. name: _Paths.SPLASH,
  50. page: () => const SplashView(),
  51. binding: SplashBinding(),
  52. transition: Transition.native,
  53. curve: Curves.easeInOut,
  54. ),
  55. GetPage(
  56. name: _Paths.HOME,
  57. page: () => const HomeView(),
  58. binding: HomeBinding(),
  59. transition: Transition.native,
  60. curve: Curves.easeInOut,
  61. ),
  62. GetPage(
  63. name: _Paths.NODE,
  64. page: () => const NodeView(),
  65. binding: NodeBinding(),
  66. transition: Transition.native,
  67. curve: Curves.easeInOut,
  68. preventDuplicates: true, // 防止重复打开同一个页面
  69. ),
  70. GetPage(
  71. name: _Paths.WEB,
  72. page: () => const WebView(),
  73. binding: WebBinding(),
  74. transition: Transition.native,
  75. curve: Curves.easeInOut,
  76. ),
  77. GetPage(
  78. name: _Paths.ABOUT,
  79. page: () => const AboutView(),
  80. binding: AboutBinding(),
  81. transition: Transition.native,
  82. curve: Curves.easeInOut,
  83. ),
  84. GetPage(
  85. name: _Paths.ACCOUNT,
  86. page: () => const AccountView(),
  87. binding: AccountBinding(),
  88. transition: Transition.native,
  89. curve: Curves.easeInOut,
  90. ),
  91. GetPage(
  92. name: _Paths.MARKDOWN,
  93. page: () => const MarkdownView(),
  94. binding: MarkdownBinding(),
  95. transition: Transition.native,
  96. curve: Curves.easeInOut,
  97. ),
  98. GetPage(
  99. name: _Paths.SETTING,
  100. page: () => const SettingView(),
  101. binding: SettingBinding(),
  102. transition: Transition.native,
  103. curve: Curves.easeInOut,
  104. ),
  105. GetPage(
  106. name: _Paths.PRECODE,
  107. page: () => const PrecodeView(),
  108. binding: PrecodeBinding(),
  109. transition: Transition.native,
  110. curve: Curves.easeInOut,
  111. children: [
  112. GetPage(
  113. name: _Paths.PRECODE_SENDEMAIL,
  114. page: () => const PrecodeSendemailView(),
  115. binding: PrecodeSendemailBinding(),
  116. transition: Transition.native,
  117. curve: Curves.easeInOut,
  118. ),
  119. ],
  120. ),
  121. GetPage(
  122. name: _Paths.DEVICEAUTH,
  123. page: () => const DeviceauthView(),
  124. binding: DeviceauthBinding(),
  125. transition: Transition.native,
  126. curve: Curves.easeInOut,
  127. ),
  128. GetPage(
  129. name: _Paths.ROUTINGMODE,
  130. page: () => const RoutingmodeView(),
  131. binding: RoutingmodeBinding(),
  132. transition: Transition.native,
  133. curve: Curves.easeInOut,
  134. ),
  135. GetPage(
  136. name: _Paths.LANGUAGE,
  137. page: () => const LanguageView(),
  138. binding: LanguageBinding(),
  139. transition: Transition.native,
  140. curve: Curves.easeInOut,
  141. ),
  142. GetPage(
  143. name: _Paths.FEEDBACK,
  144. page: () => const FeedbackView(),
  145. binding: FeedbackBinding(),
  146. transition: Transition.native,
  147. curve: Curves.easeInOut,
  148. ),
  149. GetPage(
  150. name: _Paths.SPLITTUNNELING,
  151. page: () => const SplittunnelingView(),
  152. binding: SplittunnelingBinding(),
  153. transition: Transition.native,
  154. curve: Curves.easeInOut,
  155. children: [
  156. GetPage(
  157. name: _Paths.SPLITTUNNELING_SELECTAPP,
  158. page: () => SplittunnelingSelectappView(),
  159. binding: SplittunnelingSelectappBinding(),
  160. transition: Transition.native,
  161. curve: Curves.easeInOut,
  162. ),
  163. ],
  164. ),
  165. GetPage(
  166. name: _Paths.SIGNUP,
  167. page: () => const SignupView(),
  168. binding: SignupBinding(),
  169. transition: Transition.native,
  170. curve: Curves.easeInOut,
  171. ),
  172. GetPage(
  173. name: _Paths.FORGOTPWD,
  174. page: () => const ForgotpwdView(),
  175. binding: ForgotpwdBinding(),
  176. transition: Transition.native,
  177. curve: Curves.easeInOut,
  178. ),
  179. GetPage(
  180. name: _Paths.LOGIN,
  181. page: () => const LoginView(),
  182. binding: LoginBinding(),
  183. transition: Transition.native,
  184. curve: Curves.easeInOut,
  185. ),
  186. ];
  187. /// 私有构造函数,防止被实例化
  188. AppPages._();
  189. }