lift_router.dart 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import 'package:fluro/fluro.dart';
  2. import 'package:liftmanager/internal/lift/model/lift_brand_entity.dart';
  3. import 'package:liftmanager/internal/lift/model/lift_detail_item.dart';
  4. import 'package:liftmanager/internal/lift/model/lift_item.dart';
  5. import 'package:liftmanager/internal/lift/page/lift_brand_page.dart';
  6. import 'package:liftmanager/internal/lift/page/lift_create_page.dart';
  7. import 'package:liftmanager/internal/lift/page/lift_detail_page.dart';
  8. import 'package:liftmanager/internal/lift/page/lift_list_page.dart';
  9. import 'package:liftmanager/internal/lift/page/lift_map_page.dart';
  10. import 'package:liftmanager/routers/router_init.dart';
  11. import 'dart:convert' as convert;
  12. class LiftRouter implements IRouterProvider{
  13. static String liftListPage = "/lift/list";
  14. static String liftCreatePage = "/lift/create";
  15. static String liftDetailPage = "/lift/detail";
  16. static String liftBrandPage = "/lift/brand";
  17. static String liftMapPage = "/lift/map";
  18. @override
  19. void initRouter(Router router) {
  20. router.define(liftListPage, handler: Handler(handlerFunc: (_,params){
  21. String id = params['id']?.first;
  22. return LiftListPage(id);
  23. }));
  24. router.define(liftDetailPage, handler: Handler(handlerFunc: (_,params){
  25. String projectId = params['project_id']?.first;
  26. String id = params['id']?.first;
  27. return LiftDetailPage(projectId,id);
  28. }));
  29. router.define(liftCreatePage, handler: Handler(handlerFunc: (_,params){
  30. var item = params['item']?.first;
  31. String id = params['id']?.first;
  32. if(item == null){
  33. return LiftCreatePage(id);
  34. }
  35. LiftItem model = LiftItem.fromJsonMap(convert.jsonDecode(item));
  36. return LiftCreatePage(id,item: model,);
  37. }));
  38. router.define(liftBrandPage, handler: Handler(handlerFunc: (_,params){
  39. return LiftBrandPage();
  40. }));
  41. router.define(liftMapPage, handler: Handler(handlerFunc: (_,params){
  42. String type = params["type"].first;
  43. String coordinate = params["coordinate"].first;
  44. if(type == "look"){
  45. return LiftMapPage(type: MapPageType.Look,coordinate: coordinate);
  46. }
  47. return LiftMapPage();
  48. }));
  49. }
  50. }