Commit 1a78c166 authored by 林生雨's avatar 林生雨

comit

parent 826c7070
......@@ -10,11 +10,11 @@ import 'package:gm_flutter/ClueModel/ClueRouterImpl.dart';
@Router("ClueRouter", ClueRouterImpl, true)
abstract class ClueRouter implements RouterBaser {
Widget getProjectDetailsPage(Map<String,dynamic> params);
Widget getProjectDetailsPage(Map<String, dynamic> params);
Widget getPlansCompareFeed(Map<String,dynamic> params);
Widget getPlansCompareFeed(Map<String, dynamic> params);
Widget getLevelOnePage(Map<String,dynamic> params);
Widget getLevelOnePage(Map<String, dynamic> params);
Widget getLevelTwoPage();
......@@ -22,5 +22,5 @@ abstract class ClueRouter implements RouterBaser {
Widget getPlanCompareDetailPage();
Widget getTopPage();
Widget getTopPage(Map<String, dynamic> params);
}
......@@ -45,7 +45,7 @@ class ClueRouterImpl implements ClueRouter {
}
@override
Widget getTopPage() {
return TopPage();
Widget getTopPage(Map<String, dynamic> params) {
return TopPage(params);
}
}
......@@ -24,6 +24,7 @@ class LevelOneModel extends BaseModel {
List<Tabs> tabsList = [];
int plan_id = 0;
PlanOverData planoverItem;
String imageUrl = "";
void init(VoidCallback callback) {
ClueApiImpl.getInstance()
......@@ -31,6 +32,7 @@ class LevelOneModel extends BaseModel {
.listen((event) {
if (event.error == 0) {
planoverItem = event.data;
imageUrl = event.data.banner.imageUrl;
tabsList = event.data.tabs;
stateLive.notifyView(ENDLOADING);
callback();
......
......@@ -189,8 +189,7 @@ class LevelOneState extends BaseState<LevelOnePage>
handle: extend.NestedScrollView.sliverOverlapAbsorberHandleFor(
context),
sliver: baseSliverAppBar(
// _model.imageUrl
"https://pic.igengmei.com/2018/09/11/1513/b7e825a4e4c1-w")),
_model.imageUrl)),
SliverList(
delegate: SliverChildBuilderDelegate((BuildContext c, int i) {
if (i == 0) {
......
......@@ -14,6 +14,7 @@ import 'package:gm_flutter/commonModel/GMBase.dart';
import 'package:gm_flutter/commonModel/bean/Pair.dart';
import 'package:gm_flutter/commonModel/rx/RxDispose.dart';
import 'package:gm_flutter/commonModel/util/PrintUtil.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
class PlanModel extends BaseModel {
LiveData<List> managerLive = new LiveData();
......@@ -75,7 +76,7 @@ class PlanModel extends BaseModel {
refreshFeed(true);
}
void refreshFeed(bool clear) {
void refreshFeed(bool clear, {RefreshController controller}) {
if (clear) {
feedDatas.clear();
}
......@@ -90,15 +91,18 @@ class PlanModel extends BaseModel {
feedDatas.addAll(event.data.plans);
feedsLive.notifyView(Pair(ENDLOADING, feedDatas));
}
controller?.refreshCompleted();
} else {
NativeToast.showNativeToast(event.message);
feedsLive.notifyView(Pair(FAIL, null));
controller?.refreshFailed();
}
})
.addToDispose(rxDispose)
.onError((err) {
PrintUtil.printBug(err);
feedsLive.notifyView(Pair(FAIL, null));
controller?.refreshFailed();
});
}
......
......@@ -27,6 +27,7 @@ import 'package:gm_flutter/commonModel/popMenu/BaseMenuListener.dart';
import 'package:gm_flutter/commonModel/popMenu/BasePopMenu.dart';
import 'package:gm_flutter/commonModel/util/DartUtil.dart';
import 'package:gm_flutter/commonModel/util/WidgetUtil.dart';
import 'package:gm_flutter/main.mark.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'PlanModel.dart';
......@@ -53,8 +54,6 @@ class PlanState extends BaseState<PlanPage> with TickerProviderStateMixin {
@override
void initState() {
CacheManager.getInstance().get(MEMORY_CACHE).save(COOKIE,
"_gtid=3123e178b91a11eaa2d87e40d376ac134112; sessionid=pq9wf8equ4h26ia3yspzmquqn2rjs6mx; _gm_token=4091a81593419225");
DioUtil.getInstance().setProxy("172.30.8.245");
super.initState();
_model.init();
......@@ -350,7 +349,7 @@ class PlanState extends BaseState<PlanPage> with TickerProviderStateMixin {
child: baseRefreshView(
refreshController,
() {
_model.refreshFeed(true);
_model.refreshFeed(true, controller: refreshController);
},
Container(
width: 0,
......@@ -389,7 +388,10 @@ class PlanState extends BaseState<PlanPage> with TickerProviderStateMixin {
data.data == null ? "" : data.data[0].icon ?? "",
fit: BoxFit.cover,
)).gestureDetector(() {
//TODO
Map<String, dynamic> map = {"rank_type": "0"};
RouterCenterImpl()
.findMainRouter()
.jumpPage(context, "clueTop", map, false);
});
},
),
......@@ -411,7 +413,10 @@ class PlanState extends BaseState<PlanPage> with TickerProviderStateMixin {
data.data == null ? "" : data.data[1].icon ?? "",
fit: BoxFit.cover,
)).gestureDetector(() {
//TODO
Map<String, dynamic> map = {"rank_type": "1"};
RouterCenterImpl()
.findMainRouter()
.jumpPage(context, "clueTop", map, false);
});
},
),
......
......@@ -23,6 +23,12 @@ import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'TopList.dart';
class TopPage extends StatefulWidget {
String rank_type;
TopPage(Map<String, dynamic> map) {
this.rank_type = map["rank_type"];
}
@override
State<StatefulWidget> createState() => TopPageState();
}
......@@ -35,6 +41,7 @@ class TopPageState extends BaseState<TopPage> with TickerProviderStateMixin {
@override
void initState() {
_model.rank_type = widget.rank_type;
init();
super.initState();
}
......@@ -136,8 +143,8 @@ class TopPageState extends BaseState<TopPage> with TickerProviderStateMixin {
List<Widget> list = [];
var d = MediaQueryData.fromWindow(window).padding.top;
for (int i = 0; i < _model.tabs.length; i++) {
list.add(extend.NestedScrollViewInnerScrollPositionKeyWidget(Key("Tab${i}"),
TopList(_model.tabs[i].id, kToolbarHeight + d)));
list.add(extend.NestedScrollViewInnerScrollPositionKeyWidget(
Key("Tab${i}"), TopList(_model.tabs[i].id, kToolbarHeight + d)));
}
return extend.NestedScrollView(
innerScrollPositionKeyBuilder: () {
......
......@@ -6,6 +6,8 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter_boost/flutter_boost.dart';
import 'package:flutter_common/commonModel/util/JumpUtil.dart';
import 'package:gm_flutter/MainRouter/manager/MainManager.dart';
import 'package:gm_flutter/commonModel/App.dart';
import 'package:gm_flutter/commonModel/cache/CacheManager.dart';
import 'package:gm_flutter/main.mark.dart';
class JumpManager {
......@@ -25,6 +27,8 @@ class JumpManager {
String pageNameWrap =
nativePage ? "gm://${pageName}" : "flutter://${pageName}";
if (!MainManager.getInstance().isInit) {
CacheManager.getInstance().get(MEMORY_CACHE).save(COOKIE,
"_gtid=3123e178b91a11eaa2d87e40d376ac134112; sessionid=pq9wf8equ4h26ia3yspzmquqn2rjs6mx; _gm_token=4091a81593419225");
JumpUtil.jumpToPageRight(context, initMap(params)[pageNameWrap]);
} else {
FlutterBoost.singleton.open(pageName, urlParams: params);
......@@ -39,6 +43,8 @@ class JumpManager {
RouterCenterImpl().findClueRouter().getProjectDetailsPage(params),
"flutter://cluePlansCompareFeed":
RouterCenterImpl().findClueRouter().getPlansCompareFeed(params),
"flutter://cluePlan": RouterCenterImpl().findClueRouter().getPlanPage(),
"flutter://clueTop": RouterCenterImpl().findClueRouter().getTopPage(params),
};
}
}
......@@ -46,15 +46,21 @@ class TestState extends BaseState<TestPage> {
}));
list.add(listItem("项目说明", () {
JumpUtil.jumpToPageRight(
context, RouterCenterImpl().findClueRouter().getProjectDetailsPage({"planId":1}));
context,
RouterCenterImpl()
.findClueRouter()
.getProjectDetailsPage({"planId": 1}));
}));
list.add(listItem("方案对比", () {
JumpUtil.jumpToPageRight(
context, RouterCenterImpl().findClueRouter().getPlansCompareFeed({"planId":1,"planType":1}));
context,
RouterCenterImpl()
.findClueRouter()
.getPlansCompareFeed({"planId": 1, "planType": 1}));
}));
list.add(listItem("榜单", () {
JumpUtil.jumpToPageRight(
context, RouterCenterImpl().findClueRouter().getTopPage());
JumpUtil.jumpToPageRight(context,
RouterCenterImpl().findClueRouter().getTopPage({"rank_type": "0"}));
}));
list.add(listItem("弹窗", () {
DiscussLowPricePopView.showPopView(context);
......
......@@ -19,8 +19,8 @@ const String APP_HOST_RELEASE = "https://x6cgr5y5-gengmei.mock.coding.io";
*/
//const String APP_HOST_DEBUG = "http://backend.paas-merchant.envs";
//const String APP_HOST_DEBUG = "http://doctor.paas-merchant.env";
//const String APP_HOST_DEBUG = "https://x6cgr5y5-gengmei.mock.coding.io";
const String APP_HOST_DEBUG = "http://backend.paas-merchant.env";
const String APP_HOST_DEBUG = "https://x6cgr5y5-gengmei.mock.coding.io";
//const String APP_HOST_DEBUG = "http://backend.paas-merchant.env";
//const String APP_HOST_DEBUG = "http://janus.paas-merchant.env";
/**
......
......@@ -58,12 +58,16 @@ class MyApp extends State<MyAppWidget> {
void initState() {
super.initState();
FlutterBoost.singleton.registerPageBuilders({
'clueLevelOne': (pageName, params, _) {
return RouterCenterImpl().findClueRouter().getLevelOnePage(params);
},
'demoPage1': (pageName, params, _) {
return DemoPage1();
},
'clueLevelOne': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getLevelOnePage(params),
'clueProjectDetails': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getProjectDetailsPage(params),
'cluePlansCompareFeed': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getPlansCompareFeed(params),
'cluePlan': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getPlanPage(),
'clueTop': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getTopPage(params),
});
FlutterBoost.singleton
.addBoostContainerLifeCycleObserver((state, settings) {
......
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