Commit 27b41dbf authored by 朱翠翠's avatar 朱翠翠

路由

parent 35f24e7a
......@@ -10,9 +10,9 @@ import 'package:gm_flutter/ClueModel/ClueRouterImpl.dart';
@Router("ClueRouter", ClueRouterImpl, true)
abstract class ClueRouter implements RouterBaser {
Widget getProjectDetailsPage();
Widget getProjectDetailsPage(Map<String,dynamic> params);
Widget getPlansCompareFeed();
Widget getPlansCompareFeed(Map<String,dynamic> params);
Widget getLevelOnePage(Map<String,dynamic> params);
......
......@@ -5,22 +5,22 @@
import 'package:flutter/material.dart';
import 'package:flutter/src/widgets/framework.dart';
import 'package:gm_flutter/ClueModel/ClueRouter.dart';
import 'package:gm_flutter/ClueModel/page/PlanCompareDetail/PlanCompareDetailPage.dart';
import 'package:gm_flutter/ClueModel/page/PlansCompareFeed/PlansCompareFeedPage.dart';
import 'package:gm_flutter/ClueModel/page/ProjectDetails/ProjectDetailsPage.dart';
import 'package:gm_flutter/ClueModel/page/levelOne/LevelOnePage.dart';
import 'package:gm_flutter/ClueModel/page/levelTwo/LevelTwoPage.dart';
import 'package:gm_flutter/ClueModel/page/plan/PlanPage.dart';
import 'package:gm_flutter/ClueModel/page/PlanCompareDetail/PlanCompareDetailPage.dart';
import 'package:gm_flutter/ClueModel/page/top/TopPage.dart';
class ClueRouterImpl implements ClueRouter {
@override
Widget getProjectDetailsPage() {
return ProjectDetailsPage(1);
Widget getProjectDetailsPage(Map<String, dynamic> params) {
return ProjectDetailsPage(params);
}
@override
Widget getLevelOnePage(Map<String,dynamic> params) {
Widget getLevelOnePage(Map<String, dynamic> params) {
return LevelOnePage(params);
}
......@@ -30,8 +30,8 @@ class ClueRouterImpl implements ClueRouter {
}
@override
Widget getPlansCompareFeed() {
return PlansCompareFeedPage(123,1);
Widget getPlansCompareFeed(Map<String, dynamic> params) {
return PlansCompareFeedPage(params);
}
@override
......
......@@ -5,11 +5,11 @@
**/
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_boost/flutter_boost.dart';
import 'package:gm_flutter/ClueModel/page/PlansCompareFeed/PlansCompareFeedModel.dart';
import 'package:gm_flutter/ClueModel/server/entity/PlansCompareFeed.dart';
import 'package:gm_flutter/commonModel/base/BaseComponent.dart';
import 'package:gm_flutter/commonModel/base/BaseState.dart';
import 'package:gm_flutter/main.mark.dart';
import 'CallBackCompareItem.dart';
import 'PlansCompareFeedItemView.dart';
......@@ -18,7 +18,10 @@ class PlansCompareFeedPage extends StatefulWidget {
int _planType;
int _planId;
PlansCompareFeedPage(this._planType, this._planId);
PlansCompareFeedPage(Map<String, dynamic> params) {
this._planType = params["planType"];
this._planId = params["planId"];
}
@override
State<StatefulWidget> createState() => _PlansCompareFeedState();
......@@ -109,9 +112,9 @@ class _PlansCompareFeedState extends BaseState<PlansCompareFeedPage>
onClickCompare() {
if (_compareColor == Color(0xFFCCCCCC)) return;
setState(() {
Map<String, dynamic> map = {};
map["ids"] = _setCompare;
FlutterBoost.singleton.open("sample", urlParams: map);
RouterCenterImpl()
.findMainRouter()
.jumpPage(context, "pageName", {"ids": _setCompare}, false);
});
}
......
......@@ -15,7 +15,9 @@ import '../../server/entity/ProjectDetailsItem.dart';
class ProjectDetailsPage extends StatefulWidget {
int _planId;
ProjectDetailsPage(this._planId);
ProjectDetailsPage(Map<String, dynamic> params) {
this._planId = params["planId"];
}
@override
State<StatefulWidget> createState() => _ProjectDetailsState();
......@@ -62,24 +64,12 @@ class _ProjectDetailsState extends BaseState<ProjectDetailsPage> {
}
ProjectDetailsItem item = data.data;
if (item == null || item.data == null || item.data.groups == null) {
return emptyItem(MediaQuery
.of(context)
.size
.width,
MediaQuery
.of(context)
.size
.height);
return emptyItem(MediaQuery.of(context).size.width,
MediaQuery.of(context).size.height);
}
if (item.error != 0) {
return errorItem(MediaQuery
.of(context)
.size
.width,
MediaQuery
.of(context)
.size
.height, () {
return errorItem(MediaQuery.of(context).size.width,
MediaQuery.of(context).size.height, () {
_model.init(widget._planId);
});
}
......
......@@ -35,6 +35,10 @@ class JumpManager {
return {
"flutter://clueLevelOne":
RouterCenterImpl().findClueRouter().getLevelOnePage(params),
"flutter://clueProjectDetails":
RouterCenterImpl().findClueRouter().getProjectDetailsPage(params),
"flutter://cluePlansCompareFeed":
RouterCenterImpl().findClueRouter().getPlansCompareFeed(params),
};
}
}
......@@ -46,11 +46,11 @@ class TestState extends BaseState<TestPage> {
}));
list.add(listItem("项目说明", () {
JumpUtil.jumpToPageRight(
context, RouterCenterImpl().findClueRouter().getProjectDetailsPage());
context, RouterCenterImpl().findClueRouter().getProjectDetailsPage({"planId":1}));
}));
list.add(listItem("方案对比", () {
JumpUtil.jumpToPageRight(
context, RouterCenterImpl().findClueRouter().getPlansCompareFeed());
context, RouterCenterImpl().findClueRouter().getPlansCompareFeed({"planId":1,"planType":1}));
}));
list.add(listItem("榜单", () {
JumpUtil.jumpToPageRight(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment