routers.dart 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import 'package:fluro/fluro.dart';
  2. import 'package:flutter/cupertino.dart';
  3. import 'package:liftmanager/internal/account/account_router.dart';
  4. import 'package:liftmanager/internal/bbs/bbs_router.dart';
  5. import 'package:liftmanager/internal/friends/friends_router.dart';
  6. import 'package:liftmanager/internal/heavy/heavy_router.dart';
  7. import 'package:liftmanager/internal/home/home_page.dart';
  8. import 'package:liftmanager/internal/home/webview_page.dart';
  9. import 'package:liftmanager/internal/hospital/hospital_roter.dart';
  10. import 'package:liftmanager/internal/lift/lift_router.dart';
  11. import 'package:liftmanager/internal/maintenance/maintenance_router.dart';
  12. import 'package:liftmanager/internal/means/means_router.dart';
  13. import 'package:liftmanager/internal/message/message_router.dart';
  14. import 'package:liftmanager/internal/news/news_router.dart';
  15. import 'package:liftmanager/internal/project/project_router.dart';
  16. import 'package:liftmanager/internal/repair/repair_router.dart';
  17. import 'package:liftmanager/internal/search/search_router.dart';
  18. import 'package:liftmanager/internal/sign/sign_router.dart';
  19. import 'package:liftmanager/internal/team/team_router.dart';
  20. import 'package:liftmanager/internal/wode/wode_router.dart';
  21. import 'package:liftmanager/internal/yearly/yearly_router.dart';
  22. import 'package:liftmanager/routers/router_init.dart';
  23. import '404.dart';
  24. class Routers {
  25. static String home = "/home";
  26. static String webViewPage = "/webview";
  27. static List<IRouterProvider> _listRouter = [];
  28. static void configureRouters(FluroRouter router){
  29. router.notFoundHandler = Handler(
  30. handlerFunc: (BuildContext context, Map<String, List<String>> params) {
  31. debugPrint("未找到目标页");
  32. return WidgetNotFound();
  33. });
  34. router.define(home, handler: Handler(
  35. handlerFunc: (BuildContext context, Map<String, List<String>> params) => HomePage()));
  36. router.define(webViewPage, handler: Handler(handlerFunc: (_, params){
  37. String title = params['title']?.first;
  38. String url = params['url']?.first;
  39. return WebViewPage(title: title, url: url);
  40. }));
  41. _listRouter.clear();
  42. /// 各自路由由各自模块管理,统一在此添加初始化
  43. // _listRouter.add(ShopRouter());
  44. _listRouter.add(AccountRouter());
  45. _listRouter.add(ProjectRouter());
  46. _listRouter.add(WodeRouter());
  47. _listRouter.add(SearchRouter());
  48. _listRouter.add(SignRouter());
  49. _listRouter.add(LiftRouter());
  50. _listRouter.add(RepairRouter());
  51. _listRouter.add(YearlyRouter());
  52. _listRouter.add(MaintenanceRouter());
  53. _listRouter.add(BbsRouter());
  54. _listRouter.add(MeansRouter());
  55. _listRouter.add(FriendsRouter());
  56. _listRouter.add(TeamRouter());
  57. _listRouter.add(NewsRouter());
  58. _listRouter.add(HeavyRouter());
  59. _listRouter.add(MessageRouter());
  60. _listRouter.add(HospitalRouter());
  61. // _listRouter.add(StatisticsRouter());
  62. /// 初始化路由
  63. _listRouter.forEach((routerProvider){
  64. routerProvider.initRouter(router);
  65. });
  66. }
  67. }