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

comit

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