import 'package:flutter/cupertino.dart'; import 'package:get/get.dart'; import 'package:news_getx/middlewares/router_auth.dart'; import 'package:news_getx/middlewares/router_welcome.dart'; import 'package:news_getx/modules/account/account_binding.dart'; import 'package:news_getx/modules/application/application_binding.dart'; import 'package:news_getx/modules/application/application_page.dart'; import 'package:news_getx/modules/bookmarks/bookmarks_binding.dart'; import 'package:news_getx/modules/category/category_binding.dart'; import 'package:news_getx/modules/detail/detail_binding.dart'; import 'package:news_getx/modules/detail/detail_page.dart'; import 'package:news_getx/modules/main/main_binding.dart'; import 'package:news_getx/modules/not_found/not_found_binding.dart'; import 'package:news_getx/modules/not_found/not_found_page.dart'; import 'package:news_getx/modules/sign_in/sign_in_binding.dart'; import 'package:news_getx/modules/sign_in/sign_in_page.dart'; import 'package:news_getx/modules/sign_up/sign_up_binding.dart'; import 'package:news_getx/modules/sign_up/sign_up_page.dart'; import 'package:news_getx/modules/welcome/welcome_binding.dart'; import 'package:news_getx/modules/welcome/welcome_page.dart'; import 'package:news_getx/routes/app_observer.dart'; part './app_routes.dart'; abstract class AppPages { static const Initial = AppRoutes.Initial; static final NavigatorObserver observer = AppNavigatorObserver(); static List history = []; // 404 static final notFoundRoute = GetPage( name: AppRoutes.NotFound, page: () => NotFoundPage(), binding: NotFoundBinding(), ); // 页面 static final pages = [ // 免登陆 GetPage( name: AppRoutes.Initial, page: () => WelcomePage(), binding: WelcomeBinding(), middlewares: [RouteWelcomeMiddleware()], ), // 登录页 GetPage( name: AppRoutes.Signin, page: () => SignInPage(), binding: SignInBinding(), ), // 注册页 GetPage( name: AppRoutes.Signup, page: () => SignUpPage(), binding: SignUpBinding(), ), // 应用页 GetPage( name: AppRoutes.Application, page: () => ApplicationPage(), binding: ApplicationBinding(), bindings: [ MainBinding(), CategoryBinding(), BookmarksBinding(), AccountBinding(), ], middlewares: [ RouteAuthMiddleware(), ], ), // 详情页 GetPage( name: AppRoutes.Detail, page: () => DetailPage(), binding: DetailBinding(), middlewares: [ RouteAuthMiddleware(), ], ), ]; }