my_router.dart 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import 'package:lszlgl/page/login/login_page.dart';
  2. import 'package:lszlgl/page/main_tab_page.dart';
  3. import 'package:lszlgl/page/sample_task/reap_sample_detail/reap_sample_task_page.dart';
  4. import 'package:lszlgl/page/sample_task/sample_task_list_tab_page.dart';
  5. import 'package:lszlgl/page/user_center/account_manage_page.dart';
  6. import 'package:lszlgl/page/user_center/change_pwd_page.dart';
  7. import 'package:lszlgl/page/user_center/setting_page.dart';
  8. import 'package:lszlgl/router/my_navigator.dart';
  9. import '../page/sample_task/stock_sample_detail/stock_sample_task_page.dart';
  10. // 根页面
  11. const rLoginPage = '/';
  12. // 主页
  13. const rMainTabPage = '/MainTabPage';
  14. // 账号管理
  15. const rAccountManagePage = '/AccountManagePage';
  16. // 设置
  17. const rSettingPage = '/SettingPage';
  18. // 修改密码
  19. const rChangePwdPage = '/ChangePwdPage';
  20. // 收获流程列表
  21. const rSampleTaskListTabPage = '/SampleTaskListTabPage';
  22. // 收获扦样任务
  23. const rReapSampleTaskPage = '/ReapSampleTaskPage';
  24. // 库存扦样任务
  25. const rStockSampleTaskPage = '/StockSampleTaskPage';
  26. final Map<String, MyNavigatorBuilder> rRouteMap = {
  27. // 根页面
  28. rLoginPage: (context, args) => const LoginPage(),
  29. rMainTabPage: (context, args) => const MainTabPage(),
  30. rAccountManagePage: (context, args) => const AccountManagePage(),
  31. rSettingPage: (context, args) => const SettingPage(),
  32. rChangePwdPage: (context, args) => const ChangePwdPage(),
  33. rSampleTaskListTabPage: (context, args) => SampleTaskListTabPage(args: args as SampleTaskListTabPageArgs?),
  34. rReapSampleTaskPage: (context, args) => ReapSampleTaskPage(args: args as ReapSampleTaskPageArgs),
  35. rStockSampleTaskPage: (context, args) => StockSampleTaskPage(args: args as StockSampleTaskPageArgs),
  36. };
  37. class MyRouter {
  38. MyRouter._();
  39. /// 登录
  40. static void startLogin({bool popAll = false}) {
  41. if (popAll) {
  42. MyNavigator.pushRemoveUntil(rLoginPage, (route) => false);
  43. } else {
  44. MyNavigator.push(rLoginPage);
  45. }
  46. }
  47. /// 主页
  48. static void startMain({bool popAll = false}) {
  49. if (popAll) {
  50. MyNavigator.pushRemoveUntil(rMainTabPage, (route) => false);
  51. } else {
  52. MyNavigator.push(rMainTabPage);
  53. }
  54. }
  55. /// 账号管理
  56. static void startAccountManage() {
  57. MyNavigator.push(rAccountManagePage);
  58. }
  59. /// 设置
  60. static void startSetting() {
  61. MyNavigator.push(rSettingPage);
  62. }
  63. /// 修改密码
  64. static void startChangePwd() {
  65. MyNavigator.push(rChangePwdPage);
  66. }
  67. /// 收获环节列表
  68. static Future<dynamic> startSampleTaskList(SampleTaskListTabPageArgs args) {
  69. return MyNavigator.push(rSampleTaskListTabPage, args: args);
  70. }
  71. /// 收获扦样任务
  72. static Future<dynamic> startReapSampleTask({ReapSampleTaskPageArgs? args}) {
  73. return MyNavigator.push(rReapSampleTaskPage, args: args ?? ReapSampleTaskPageArgs());
  74. }
  75. /// 库存扦样任务
  76. static Future<dynamic> startStockSampleTask({StockSampleTaskPageArgs? args}) {
  77. return MyNavigator.push(rStockSampleTaskPage, args: args ?? StockSampleTaskPageArgs());
  78. }
  79. }