my_router.dart 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import 'package:lszlgl/page/login/login_page.dart';
  2. import 'package:lszlgl/page/main_tab_page.dart';
  3. import 'package:lszlgl/page/reap_step/reap_sample_task/reap_sample_task_page.dart';
  4. import 'package:lszlgl/page/reap_step/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. // 根页面
  10. const rLoginPage = '/';
  11. // 主页
  12. const rMainTabPage = '/MainTabPage';
  13. // 账号管理
  14. const rAccountManagePage = '/AccountManagePage';
  15. // 设置
  16. const rSettingPage = '/SettingPage';
  17. // 修改密码
  18. const rChangePwdPage = '/ChangePwdPage';
  19. // 收获流程列表
  20. const rSampleTaskListTabPage = '/SampleTaskListTabPage';
  21. // 收获扦样任务
  22. const rReapSampleTaskPage = '/ReapSampleTaskPage';
  23. final Map<String, MyNavigatorBuilder> rRouteMap = {
  24. // 根页面
  25. rLoginPage: (context, args) => const LoginPage(),
  26. rMainTabPage: (context, args) => const MainTabPage(),
  27. rAccountManagePage: (context, args) => const AccountManagePage(),
  28. rSettingPage: (context, args) => const SettingPage(),
  29. rChangePwdPage: (context, args) => const ChangePwdPage(),
  30. rSampleTaskListTabPage: (context, args) => SampleTaskListTabPage(args: args as SampleTaskListTabPageArgs?),
  31. rReapSampleTaskPage: (context, args) => ReapSampleTaskPage(detail: args as bool?),
  32. };
  33. class MyRouter {
  34. MyRouter._();
  35. /// 登录
  36. static void startLogin({bool popAll = false}) {
  37. if (popAll) {
  38. MyNavigator.pushRemoveUntil(rLoginPage, (route) => false);
  39. } else {
  40. MyNavigator.push(rLoginPage);
  41. }
  42. }
  43. /// 主页
  44. static void startMain({bool popAll = false}) {
  45. if (popAll) {
  46. MyNavigator.pushRemoveUntil(rMainTabPage, (route) => false);
  47. } else {
  48. MyNavigator.push(rMainTabPage);
  49. }
  50. }
  51. /// 账号管理
  52. static void startAccountManage() {
  53. MyNavigator.push(rAccountManagePage);
  54. }
  55. /// 设置
  56. static void startSetting() {
  57. MyNavigator.push(rSettingPage);
  58. }
  59. /// 修改密码
  60. static void startChangePwd() {
  61. MyNavigator.push(rChangePwdPage);
  62. }
  63. /// 收获环节列表
  64. static void startSampleTaskList(SampleTaskListTabPageArgs args) {
  65. MyNavigator.push(rSampleTaskListTabPage, args: args);
  66. }
  67. /// 收获扦样任务
  68. static void startReapSampleTask({bool detail = false}) {
  69. MyNavigator.push(rReapSampleTaskPage, args: detail);
  70. }
  71. }