Commit a8260add authored by 杜欣's avatar 杜欣

Merge branch 'test' into featrue/duxin

# Conflicts:
#	lib/main.dart
parents 3a5d1c31 54cb8cd7
assets/left_arrow.png

776 Bytes | W: | H:

assets/left_arrow.png

992 Bytes | W: | H:

assets/left_arrow.png
assets/left_arrow.png
assets/left_arrow.png
assets/left_arrow.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
* @author lsy * @author lsy
* @date 2020/6/29 * @date 2020/6/29
**/ **/
import 'package:flutter/material.dart';
import 'package:flutter_common/commonModel/live/BaseModel.dart'; import 'package:flutter_common/commonModel/live/BaseModel.dart';
import 'package:flutter_common/commonModel/live/LiveData.dart'; import 'package:flutter_common/commonModel/live/LiveData.dart';
import 'package:gm_flutter/ClueModel/server/api/ClueApi.serv.dart'; import 'package:gm_flutter/ClueModel/server/api/ClueApi.serv.dart';
...@@ -18,27 +19,55 @@ class LevelOneModel extends BaseModel { ...@@ -18,27 +19,55 @@ class LevelOneModel extends BaseModel {
LiveData<bool> showTab = LiveData(); LiveData<bool> showTab = LiveData();
LiveData<int> topIndexLive = new LiveData(); LiveData<int> topIndexLive = new LiveData();
LiveData<double> topScrollLive = new LiveData(); LiveData<double> topScrollLive = new LiveData();
LiveData<bool> loadingLive = LiveData();
RxDispose rxDispose = RxDispose(); RxDispose rxDispose = RxDispose();
LiveData<Pair<int,List<Cards>>> cardsLive = LiveData(); LiveData<Pair<int, List<Cards>>> cardsLive = LiveData();
Map<int, List<Cards>> data = new Map(); Map<int, List<Cards>> data = new Map();
List list = ["plan", "hospital", "doctor", "diary"]; List list = ["plan", "hospital", "doctor", "diary"];
List pageList = [1, 1, 1, 1]; List pageList = [1, 1, 1, 1];
List pageHeightList = [118, 149, 118, 118];
void refreshView(bool clear, {RefreshController refreshListener}) { void refreshView(bool clear, {RefreshController refreshListener}) {
int index = currentIndex; Future.delayed(Duration(seconds: 1), () {
if (clear) { Cards cards = Cards(
data.clear(); cardType: "plan",
pageList = [1, 1, 1, 1]; plan: Plan(planName: "ww", minPrice: "50", maxPrice: "500"));
} List<Cards> a = [
ClueApiImpl.getInstance() cards,
.getLevelOneList( cards,
DioUtil.getInstance().getDio(), 123, list[index], pageList[index]) cards,
.listen((event) { cards,
cards,
}).addToDispose(rxDispose).onError((err) { cards,
cards,
cards,
cards,
cards,
cards,
cards,
];
List<Cards> b = [cards];
print("INDEX ${currentIndex}");
if (currentIndex == 1) {
data[currentIndex] = b;
} else {
data[currentIndex] = a;
}
cardsLive.notifyView(Pair(ENDLOADING, data));
}); });
// int index = currentIndex;
// if (clear) {
// data.clear();
// pageList = [1, 1, 1, 1];
// }
// ClueApiImpl.getInstance()
// .getLevelOneList(
// DioUtil.getInstance().getDio(), 123, list[index], pageList[index])
// .listen((event) {})
// .addToDispose(rxDispose)
// .onError((err) {});
} }
int currentIndex = 0; int currentIndex = 0;
...@@ -51,6 +80,7 @@ class LevelOneModel extends BaseModel { ...@@ -51,6 +80,7 @@ class LevelOneModel extends BaseModel {
rectLive.dispost(); rectLive.dispost();
topIndexLive.dispost(); topIndexLive.dispost();
topScrollLive.dispost(); topScrollLive.dispost();
loadingLive.dispost();
} }
void selectPage(int index) { void selectPage(int index) {
...@@ -58,5 +88,13 @@ class LevelOneModel extends BaseModel { ...@@ -58,5 +88,13 @@ class LevelOneModel extends BaseModel {
return; return;
} }
currentIndex = index; currentIndex = index;
if (data[currentIndex] == null) {
cardsLive.notifyView(Pair(LOADING, null));
refreshView(true);
} else {
cardsLive.notifyView(Pair(ENDLOADING, data[currentIndex]));
}
} }
void loadMore() {}
} }
...@@ -2,16 +2,22 @@ ...@@ -2,16 +2,22 @@
* @author lsy * @author lsy
* @date 2020/6/29 * @date 2020/6/29
**/ **/
import 'dart:math';
import 'package:cached_network_image/cached_network_image.dart'; import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/gestures.dart'; import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_boost/flutter_boost.dart';
import 'package:flutter_common/commonModel/live/LiveData.dart'; import 'package:flutter_common/commonModel/live/LiveData.dart';
import 'package:gm_flutter/ClueModel/page/levelOne/LevelOneItem.dart';
import 'package:gm_flutter/ClueModel/page/levelOne/LevelOneModel.dart'; import 'package:gm_flutter/ClueModel/page/levelOne/LevelOneModel.dart';
import 'package:gm_flutter/ClueModel/server/entity/LevelOneFeedList.dart';
import 'package:gm_flutter/ClueModel/util/PosUtil.dart'; import 'package:gm_flutter/ClueModel/util/PosUtil.dart';
import 'package:gm_flutter/ClueModel/view/FiveStarView.dart'; import 'package:gm_flutter/ClueModel/view/FiveStarView.dart';
import 'package:gm_flutter/commonModel/base/BaseComponent.dart'; import 'package:gm_flutter/commonModel/base/BaseComponent.dart';
import 'package:gm_flutter/commonModel/base/BaseState.dart'; import 'package:gm_flutter/commonModel/base/BaseState.dart';
import 'package:gm_flutter/commonModel/bean/Pair.dart';
import 'package:gm_flutter/commonModel/util/DartUtil.dart'; import 'package:gm_flutter/commonModel/util/DartUtil.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart';
...@@ -31,10 +37,15 @@ class LevelOneState extends BaseState<LevelOnePage> ...@@ -31,10 +37,15 @@ class LevelOneState extends BaseState<LevelOnePage>
GlobalKey key1 = new GlobalKey(); GlobalKey key1 = new GlobalKey();
double screenWidth; double screenWidth;
List<Widget> oneList = new List(); List<Widget> oneList = new List();
int lastPageIndex = 0;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
Future.delayed(Duration(seconds: 3), () {
_model.loadingLive.notifyView(false);
_model.refreshView(true);
});
pageController.addListener(() { pageController.addListener(() {
if (screenWidth != null) { if (screenWidth != null) {
_model.topScrollLive.notifyView( _model.topScrollLive.notifyView(
...@@ -54,7 +65,6 @@ class LevelOneState extends BaseState<LevelOnePage> ...@@ -54,7 +65,6 @@ class LevelOneState extends BaseState<LevelOnePage>
} }
void _onScroll(double offset) { void _onScroll(double offset) {
print("OFFSET ${offset}");
if (offset < 10) { if (offset < 10) {
_model.appBarLive.notifyView(0.0); _model.appBarLive.notifyView(0.0);
} else if (offset < 500) { } else if (offset < 500) {
...@@ -90,7 +100,6 @@ class LevelOneState extends BaseState<LevelOnePage> ...@@ -90,7 +100,6 @@ class LevelOneState extends BaseState<LevelOnePage>
_model.dispose(); _model.dispose();
pageController.dispose(); pageController.dispose();
_refreshController.dispose(); _refreshController.dispose();
pageController.dispose();
super.dispose(); super.dispose();
} }
...@@ -99,146 +108,191 @@ class LevelOneState extends BaseState<LevelOnePage> ...@@ -99,146 +108,191 @@ class LevelOneState extends BaseState<LevelOnePage>
screenWidth = MediaQuery.of(context).size.width; screenWidth = MediaQuery.of(context).size.width;
return Scaffold( return Scaffold(
backgroundColor: Colors.white, backgroundColor: Colors.white,
body: Column( body: SafeArea(
children: <Widget>[ top: false,
Expanded( child: StreamBuilder<bool>(
child: Stack( stream: _model.loadingLive.stream,
children: <Widget>[ initialData: true,
MediaQuery.removePadding( builder: (c, data) {
removeTop: true, if (data.data) {
context: context, return loadingItem();
child: NotificationListener( } else {
onNotification: (scrollNotification) { return home();
if (scrollNotification is ScrollUpdateNotification && }
scrollNotification.metrics.axisDirection.index == },
2) { )));
_onScroll(scrollNotification.metrics.pixels); }
}
return false; Widget home() {
}, return Column(
child: baseRefreshView(_refreshController, () { children: <Widget>[
//TODO Expanded(
child: Stack(
children: <Widget>[
MediaQuery.removePadding(
removeTop: true,
context: context,
child: NotificationListener(
onNotification: (scrollNotification) {
if (scrollNotification is ScrollUpdateNotification &&
scrollNotification.metrics.axisDirection.index == 2) {
_onScroll(scrollNotification.metrics.pixels);
}
return false;
},
child: baseRefreshView(
_refreshController,
() {
//TODO
// _refreshController.refreshCompleted(); // _refreshController.refreshCompleted();
}, null, null, },
customScrollView: CustomScrollView( null,
slivers: <Widget>[ null,
SliverList( customScrollView: CustomScrollView(
delegate: SliverChildBuilderDelegate( slivers: <Widget>[
(BuildContext context, int index) { SliverList(
return oneList[index]; delegate: SliverChildBuilderDelegate(
}, (BuildContext context, int index) {
childCount: oneList.length, return oneList[index];
), },
), childCount: oneList.length,
],
)),
)),
StreamBuilder<double>(
stream: _model.appBarLive.stream,
initialData: _model.appBarLive.data ?? 0.0,
builder: (c, data) {
return Opacity(
opacity: data.data,
child: Container(
height: 86,
decoration: BoxDecoration(color: Colors.white),
child: Center(
child: Padding(
padding: EdgeInsets.only(top: 20),
child: Text('文案'),
), ),
), ),
), ],
); ),
}, pullUp: true,
), onLoading: () {
Positioned( _model.loadMore();
top: 86,
child: StreamBuilder<bool>(
stream: _model.showTab.stream,
initialData: _model.showTab.data ?? false,
builder: (c, data) {
return Opacity(
opacity: data.data ? 1.0 : 0.0,
child: Container(
width: MediaQuery.of(context).size.width,
color: Colors.white,
child: MessageBarView(
topIndexLive: _model.topIndexLive,
topScrollLive: _model.topScrollLive,
pageController: pageController,
),
));
}, },
), ),
) )),
], StreamBuilder<double>(
), stream: _model.appBarLive.stream,
), initialData: _model.appBarLive.data ?? 0.0,
Container( builder: (c, data) {
height: 0.5, return Opacity(
width: double.maxFinite, opacity: data.data,
color: Color(0xffE5E5E5), child: Container(
), height: 86,
Container( decoration: BoxDecoration(color: Colors.white),
width: double.maxFinite, child: Center(
height: 55, child: Padding(
child: Row( padding: EdgeInsets.only(top: 20),
mainAxisSize: MainAxisSize.min, child: Text('文案'),
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Container(
margin: EdgeInsets.only(left: 18),
width: 30,
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Container(
width: 22,
height: 22,
child: Image.asset("assets/vs_black.png"),
), ),
Container( ),
margin: EdgeInsets.only(top: 3),
child: baseText("去比较", 10, Color(0xff282828)),
)
],
), ),
), );
GestureDetector( },
behavior: HitTestBehavior.opaque, ),
onTap: () {}, Positioned(
child: Container( top: 86,
margin: EdgeInsets.only(left: 15), child: StreamBuilder<bool>(
width: 135, stream: _model.showTab.stream,
height: 40, initialData: _model.showTab.data ?? false,
decoration: BoxDecoration( builder: (c, data) {
color: Color(0xff51CDC7), return Visibility(
borderRadius: BorderRadius.circular(20)), visible: data.data,
alignment: Alignment.center, child: Container(
child: baseText("咨询", 14, Colors.white, bold: true), width: MediaQuery.of(context).size.width,
)), color: Colors.white,
GestureDetector( child: MessageBarView(
behavior: HitTestBehavior.opaque, topIndexLive: _model.topIndexLive,
onTap: () {}, topScrollLive: _model.topScrollLive,
pageController: pageController,
),
));
},
),
),
Positioned(
top: 49,
left: 15,
child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {
//TODO
print("TAP");
Navigator.pop(context);
},
child: Container(
width: 30,
height: 30,
decoration: BoxDecoration(
color: Color(0x99FFFFFF), shape: BoxShape.circle),
alignment: Alignment.center,
child: Container( child: Container(
margin: EdgeInsets.only(left: 15), child: Image.asset("assets/left_arrow.png"),
width: 135, ),
height: 40, )),
decoration: BoxDecoration( )
color: Color(0xffF96079), ],
borderRadius: BorderRadius.circular(20)), ),
alignment: Alignment.center, ),
child: baseText("获取底价", 14, Colors.white, bold: true), Container(
)), height: 0.5,
Expanded( width: double.maxFinite,
child: Container(), color: Color(0xffE5E5E5),
) ),
], Container(
width: double.maxFinite,
height: 55,
child: Row(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Container(
margin: EdgeInsets.only(left: 18),
width: 30,
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Container(
width: 22,
height: 22,
child: Image.asset("assets/vs_black.png"),
),
Container(
margin: EdgeInsets.only(top: 3),
child: baseText("去比较", 10, Color(0xff282828)),
)
],
),
), ),
) GestureDetector(
], behavior: HitTestBehavior.opaque,
)); onTap: () {},
child: Container(
margin: EdgeInsets.only(left: 15),
width: 135,
height: 40,
decoration: BoxDecoration(
color: Color(0xff51CDC7),
borderRadius: BorderRadius.circular(20)),
alignment: Alignment.center,
child: baseText("咨询", 14, Colors.white, bold: true),
)),
GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {},
child: Container(
margin: EdgeInsets.only(left: 15),
width: 135,
height: 40,
decoration: BoxDecoration(
color: Color(0xffF96079),
borderRadius: BorderRadius.circular(20)),
alignment: Alignment.center,
child: baseText("获取底价", 14, Colors.white, bold: true),
)),
Expanded(
child: Container(),
)
],
),
)
],
);
} }
Widget head() { Widget head() {
...@@ -252,24 +306,7 @@ class LevelOneState extends BaseState<LevelOnePage> ...@@ -252,24 +306,7 @@ class LevelOneState extends BaseState<LevelOnePage>
fit: BoxFit.cover, fit: BoxFit.cover,
image: NetworkImage( image: NetworkImage(
"https://pic.igengmei.com/2018/09/11/1513/b7e825a4e4c1-w"))), "https://pic.igengmei.com/2018/09/11/1513/b7e825a4e4c1-w"))),
child: GestureDetector( // child: ,
behavior: HitTestBehavior.opaque,
onTap: () {
//TODO
},
child: Container(
width: 30,
height: 30,
decoration:
BoxDecoration(color: Color(0x99FFFFFF), shape: BoxShape.circle),
margin: EdgeInsets.only(top: 49, left: 15),
alignment: Alignment.center,
child: Container(
width: 7,
height: 14,
child: Image.asset("assets/left_arrow.png"),
),
)),
); );
} }
...@@ -433,41 +470,66 @@ class LevelOneState extends BaseState<LevelOnePage> ...@@ -433,41 +470,66 @@ class LevelOneState extends BaseState<LevelOnePage>
)); ));
} }
List temp = [20, 10, 10, 10];
int currentIndex;
Widget pages() { Widget pages() {
// return StreamBuilder( return StreamBuilder<Pair<int, List<Cards>>>(
// stream: _model.cardsLive.stream, stream: _model.cardsLive.stream,
// initialData: _model.cardsLive.data??[], initialData: _model.cardsLive.data ?? Pair(LOADING, null),
// builder: (c,data){ builder: (c, data) {
// double height = MediaQuery.of(context).size.height - 86 - 55.5 - 49;
// }, if (_model.data[_model.currentIndex] != null &&
// ) _model.data[_model.currentIndex].length > 0) {
double height = 500; height = max(
return Container( _model.data[_model.currentIndex].length *
width: double.maxFinite, _model.pageHeightList[_model.currentIndex] *
height: height, 1.0,
child: PageView.builder( height);
itemBuilder: (c, index) { }
return Container( return Container(
width: double.maxFinite, color: Colors.yellow,
height: height, width: double.maxFinite,
color: Colors.red, height: height,
child: ListView.builder(itemBuilder: (c,index){ child: PageView.builder(
itemBuilder: (c, pageIndex) {
},itemCount: 10,), if (data.data.first == FAIL) {
); return errorItem(() {
}, _model.refreshView(true);
allowImplicitScrolling: false, });
dragStartBehavior: DragStartBehavior.down, }
controller: pageController, if (data.data.first == LOADING ||
itemCount: 4, _model.data[pageIndex] == null) {
onPageChanged: (index) { return loadingItem();
_model.topIndexLive.notifyView(index); }
_model.selectPage(index); if (data.data.second.length == 0) {
}, if (_model.pageList[pageIndex] == 1) {
), return emptyItem();
} else {
_refreshController.loadNoData();
}
} else {
_refreshController.loadComplete();
}
return ListView.builder(
physics: NeverScrollableScrollPhysics(),
itemBuilder: (c, index) {
return LevelOneItem(_model.data[pageIndex][index]);
},
itemCount: _model.data[pageIndex].length,
);
},
allowImplicitScrolling: false,
dragStartBehavior: DragStartBehavior.down,
controller: pageController,
itemCount: 4,
onPageChanged: (index) {
setState(() {
_refreshController.resetNoData();
});
_model.topIndexLive.notifyView(index);
_model.selectPage(index);
},
),
);
},
); );
} }
} }
...@@ -10,4 +10,6 @@ import 'MainRouterImpl.dart'; ...@@ -10,4 +10,6 @@ import 'MainRouterImpl.dart';
@Router("MainRouter", MainRouterImpl, true) @Router("MainRouter", MainRouterImpl, true)
abstract class MainRouter extends RouterBaser { abstract class MainRouter extends RouterBaser {
void init(); void init();
Widget getTestPage();
} }
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
**/ **/
import 'package:flutter/src/widgets/framework.dart'; import 'package:flutter/src/widgets/framework.dart';
import 'package:gm_flutter/MainRouter/manager/MainManager.dart'; import 'package:gm_flutter/MainRouter/manager/MainManager.dart';
import 'package:gm_flutter/MainRouter/page/test/TestPage.dart';
import 'MainRouter.dart'; import 'MainRouter.dart';
...@@ -12,4 +13,9 @@ class MainRouterImpl implements MainRouter { ...@@ -12,4 +13,9 @@ class MainRouterImpl implements MainRouter {
void init() { void init() {
MainManager.getInstance().startInit(); MainManager.getInstance().startInit();
} }
@override
Widget getTestPage() {
return TestPage();
}
} }
...@@ -8,6 +8,7 @@ import 'package:flutter_common/commonModel/util/JumpUtil.dart'; ...@@ -8,6 +8,7 @@ import 'package:flutter_common/commonModel/util/JumpUtil.dart';
import 'package:gm_flutter/MainRouter/page/proxy/NetProxyPage.dart'; import 'package:gm_flutter/MainRouter/page/proxy/NetProxyPage.dart';
import 'package:gm_flutter/commonModel/base/BaseComponent.dart'; import 'package:gm_flutter/commonModel/base/BaseComponent.dart';
import 'package:gm_flutter/commonModel/base/BaseState.dart'; import 'package:gm_flutter/commonModel/base/BaseState.dart';
import 'package:gm_flutter/main.mark.dart';
import 'TP.dart'; import 'TP.dart';
...@@ -24,8 +25,8 @@ class TestState extends BaseState<TestPage> { ...@@ -24,8 +25,8 @@ class TestState extends BaseState<TestPage> {
list.add(listItem("设置代理页面", () { list.add(listItem("设置代理页面", () {
JumpUtil.jumpToPageRight(context, NetProxyPage()); JumpUtil.jumpToPageRight(context, NetProxyPage());
})); }));
list.add(listItem("测试测试", () { list.add(listItem("一级列表页", () {
JumpUtil.jumpToPageRight(context, TP()); JumpUtil.jumpToPageRight(context, RouterCenterImpl().findClueRouter().getLevelOnePage());
})); }));
return list; return list;
} }
...@@ -40,7 +41,7 @@ class TestState extends BaseState<TestPage> { ...@@ -40,7 +41,7 @@ class TestState extends BaseState<TestPage> {
Navigator.pop(context); Navigator.pop(context);
}), }),
body: Container( body: Container(
child: Column( child: ListView(
children: innerList(), children: innerList(),
), ),
), ),
......
...@@ -70,7 +70,7 @@ AppBar _baseAppBarChangeTitle( ...@@ -70,7 +70,7 @@ AppBar _baseAppBarChangeTitle(
width: 30, width: 30,
height: 30, height: 30,
child: Image.asset( child: Image.asset(
"images/left_arrow.png", "assets/left_arrow.png",
color: Color(0xff323232), color: Color(0xff323232),
), ),
))), ))),
...@@ -272,16 +272,17 @@ Widget baseRefreshView(RefreshController refreshController, ...@@ -272,16 +272,17 @@ Widget baseRefreshView(RefreshController refreshController,
footer: CustomFooter( footer: CustomFooter(
builder: (BuildContext context, LoadStatus mode) { builder: (BuildContext context, LoadStatus mode) {
Widget body; Widget body;
// if (mode == LoadStatus.idle) { print("LOAD STATUE ${mode}");
// body = baseText("准备加载", 12, Color(0xff545454)); if (mode == LoadStatus.idle) {
// } else body = baseText("上拉加载更多", 12, Color(0xff545454));
if (mode == LoadStatus.loading) { } else if (mode == LoadStatus.loading) {
body = baseText("加载中", 12, Color(0xff545454)); body = baseText("加载中", 12, Color(0xff545454));
} else if (mode == LoadStatus.failed) { } else if (mode == LoadStatus.failed) {
body = baseText("加载失败", 12, Color(0xff545454)); body = baseText("加载失败", 12, Color(0xff545454));
} else if (mode == LoadStatus.noMore) { } else if (mode == LoadStatus.noMore) {
body = baseText("没有更多数据了", 12, Color(0xff545454)); body = baseText("没有更多数据了", 12, Color(0xff545454));
} else { }
else {
body = Container(); body = Container();
} }
return Container( return Container(
...@@ -333,3 +334,23 @@ Widget normalRefreshHeader() { ...@@ -333,3 +334,23 @@ Widget normalRefreshHeader() {
}, },
); );
} }
Widget emptyItem({String detail}) {
return Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Container(
height: 210,
width: 210,
color: Colors.red,
),
Container(
margin: EdgeInsets.only(top: 8),
child: baseText(
detail == null ? "暂无消息,找人聊聊去" : detail, 15, Color(0xff9B9B9B)),
),
],
);
}
...@@ -69,9 +69,19 @@ class MyApp extends State<MyAppWidget> { ...@@ -69,9 +69,19 @@ class MyApp extends State<MyAppWidget> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
WindowUtil.setBarStatus(true); WindowUtil.setBarStatus(true);
return MaterialApp( return MaterialApp(
theme: ThemeData(), theme: ThemeData(
primaryColor: Colors.white,
cursorColor: Color(0xff20BDBB),
canvasColor: Colors.white),
builder: FlutterBoost.init(postPush: _onRoutePushed), builder: FlutterBoost.init(postPush: _onRoutePushed),
home: RouterCenterImpl().findClueRouter().getLevelTwoPage()); home: isDebug
? RouterCenterImpl().findMainRouter().getTestPage()
: Container(
color: Colors.white,
child: Center(
child: loadingItem(),
),
));
} }
void _onRoutePushed( void _onRoutePushed(
......
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