Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
G
gm_flutter
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
林生雨
gm_flutter
Commits
b08c33b5
Commit
b08c33b5
authored
Jul 04, 2020
by
林生雨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
commit
parent
1e0d0eeb
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
264 additions
and
107 deletions
+264
-107
LevelOneList.dart
lib/ClueModel/page/levelOne/LevelOneList.dart
+101
-0
LevelOneListModel.dart
lib/ClueModel/page/levelOne/LevelOneListModel.dart
+68
-0
LevelOneModel.dart
lib/ClueModel/page/levelOne/LevelOneModel.dart
+27
-57
LevelOnePage.dart
lib/ClueModel/page/levelOne/LevelOnePage.dart
+0
-0
PlanOverViewBean.dart
lib/ClueModel/server/entity/PlanOverViewBean.dart
+5
-5
BaseComponent.dart
lib/commonModel/base/BaseComponent.dart
+63
-45
No files found.
lib/ClueModel/page/levelOne/LevelOneList.dart
0 → 100644
View file @
b08c33b5
/*
* @author lsy
* @date 2020/7/4
**/
import
'package:flutter/cupertino.dart'
;
import
'package:flutter/material.dart'
;
import
'package:gm_flutter/ClueModel/page/levelOne/LevelOneListModel.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/LevelOneFeedList.dart'
;
import
'package:gm_flutter/commonModel/base/BaseComponent.dart'
;
import
'package:pull_to_refresh/pull_to_refresh.dart'
;
import
'LevelOneItem.dart'
;
class
LevelOneList
extends
StatefulWidget
{
double
topHeight
;
int
planId
;
String
tabName
;
LevelOneList
(
this
.
planId
,
this
.
tabName
,
this
.
topHeight
);
@override
State
<
StatefulWidget
>
createState
()
=>
LevelOneListState
();
}
class
LevelOneListState
extends
State
<
LevelOneList
>
{
LevelOneListModel
_model
=
LevelOneListModel
();
RefreshController
refreshController
=
RefreshController
();
@override
void
initState
()
{
super
.
initState
();
_model
.
plan_id
=
widget
.
planId
;
_model
.
tab_type
=
widget
.
tabName
;
_model
.
refreshView
(
true
);
}
@override
void
dispose
()
{
refreshController
.
dispose
();
_model
.
dispose
();
super
.
dispose
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
baseStateView
(
MediaQuery
.
of
(
context
).
size
.
width
,
MediaQuery
.
of
(
context
).
size
.
height
,
_model
.
stateLive
,
pages
(),
()
{
_model
.
refreshView
(
true
);
},
paddingTop:
widget
.
topHeight
);
}
Widget
pages
()
{
return
baseRefreshView
(
refreshController
,
()
{},
null
,
null
,
customScrollView:
CustomScrollView
(
// physics: NeverScrollableScrollPhysics(),
physics:
ClampingScrollPhysics
(),
// shrinkWrap: true,
slivers:
<
Widget
>[
SliverOverlapInjector
(
handle:
NestedScrollView
.
sliverOverlapAbsorberHandleFor
(
context
),
),
StreamBuilder
<
List
<
Cards
>>(
stream:
_model
.
cardsLive
.
stream
,
initialData:
_model
.
cardsLive
.
data
??
[],
builder:
(
c
,
data
)
{
if
(
data
.
data
.
isEmpty
&&
_model
.
page
>
1
)
{
refreshController
.
loadNoData
();
}
else
{
refreshController
.
loadComplete
();
}
return
SliverList
(
delegate:
SliverChildBuilderDelegate
(
(
BuildContext
context
,
int
index
)
{
return
LevelOneItem
(
_model
.
data
[
index
]);
},
childCount:
_model
.
data
.
length
,
),
);
},
),
StreamBuilder
<
List
<
Cards
>>(
stream:
_model
.
cardsLive
.
stream
,
initialData:
_model
.
data
??
[],
builder:
(
c
,
data
)
{
double
height
=
MediaQuery
.
of
(
context
).
size
.
height
-
40
-
widget
.
topHeight
-
100
*
_model
.
data
.
length
;
return
SliverToBoxAdapter
(
child:
Container
(
height:
height
<
0
?
0
:
height
,
),
);
},
),
],
),
onLoading:
()
{
_model
.
loadMore
();
},
pullDown:
false
,
pullUp:
true
);
}
}
lib/ClueModel/page/levelOne/LevelOneListModel.dart
0 → 100644
View file @
b08c33b5
/*
* @author lsy
* @date 2020/7/4
**/
import
'package:flutter_common/commonModel/live/BaseModel.dart'
;
import
'package:flutter_common/commonModel/live/LiveData.dart'
;
import
'package:flutter_common/commonModel/toast/NativeToast.dart'
;
import
'package:gm_flutter/ClueModel/server/api/ClueApi.serv.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/LevelOneFeedList.dart'
;
import
'package:gm_flutter/commonModel/bean/Pair.dart'
;
import
'package:gm_flutter/commonModel/net/DioUtil.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
LevelOneListModel
extends
BaseModel
{
int
plan_id
;
String
tab_type
;
int
page
=
1
;
LiveData
<
int
>
stateLive
=
LiveData
();
LiveData
<
List
<
Cards
>>
cardsLive
=
LiveData
();
List
<
Cards
>
data
=
[];
RxDispose
rxDispose
=
RxDispose
();
void
refreshView
(
bool
clear
,
{
RefreshController
refreshListener
})
{
if
(
clear
)
{
data
.
clear
();
page
=
1
;
}
ClueApiImpl
.
getInstance
()
.
getLevelOneList
(
DioUtil
.
getInstance
().
getDio
(),
plan_id
,
tab_type
,
page
)
.
listen
((
event
)
{
if
(
event
.
error
==
0
)
{
if
((
event
.
data
.
cards
==
null
||
event
.
data
.
cards
.
isEmpty
)
&&
page
==
1
)
{
stateLive
.
notifyView
(
EMPTY
);
}
else
{
data
.
addAll
(
event
.
data
.
cards
);
cardsLive
.
notifyView
(
data
);
stateLive
.
notifyView
(
ENDLOADING
);
}
}
else
{
NativeToast
.
showNativeToast
(
event
.
message
);
stateLive
.
notifyView
(
FAIL
);
}
})
.
addToDispose
(
rxDispose
)
.
onError
((
err
)
{
PrintUtil
.
printBug
(
err
);
stateLive
.
notifyView
(
FAIL
);
});
}
@override
void
dispose
()
{
rxDispose
.
dispose
();
stateLive
.
dispost
();
cardsLive
.
dispost
();
}
void
loadMore
()
{
page
++;
refreshView
(
false
);
}
}
lib/ClueModel/page/levelOne/LevelOneModel.dart
View file @
b08c33b5
...
@@ -5,8 +5,10 @@
...
@@ -5,8 +5,10 @@
import
'package:flutter/material.dart'
;
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:flutter_common/commonModel/toast/NativeToast.dart'
;
import
'package:gm_flutter/ClueModel/server/api/ClueApi.serv.dart'
;
import
'package:gm_flutter/ClueModel/server/api/ClueApi.serv.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/LevelOneFeedList.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/LevelOneFeedList.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/PlanOverViewBean.dart'
;
import
'package:gm_flutter/commonModel/GMBase.dart'
;
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'
;
...
@@ -15,64 +17,45 @@ import 'package:pull_to_refresh/pull_to_refresh.dart';
...
@@ -15,64 +17,45 @@ import 'package:pull_to_refresh/pull_to_refresh.dart';
class
LevelOneModel
extends
BaseModel
{
class
LevelOneModel
extends
BaseModel
{
LiveData
<
double
>
appBarLive
=
LiveData
();
LiveData
<
double
>
appBarLive
=
LiveData
();
LiveData
<
List
<
String
>>
rectLive
=
LiveData
();
LiveData
<
List
<
String
>>
explainLive
=
LiveData
();
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
();
LiveData
<
int
>
stateLive
=
LiveData
();
LiveData
<
double
>
textLive
=
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
<
Tabs
>
tabsList
=
[];
List
pageList
=
[
1
,
1
,
1
,
1
];
List
pageList
=
[
1
,
1
,
1
,
1
];
List
pageHeightList
=
[
118
,
149
,
118
,
118
];
List
pageHeightList
=
[
118
,
149
,
118
,
118
];
int
plan_id
=
0
;
PlanOverData
planoverItem
;
void
refreshView
(
bool
clear
,
{
RefreshController
refreshListener
})
{
void
init
(
VoidCallback
callback
)
{
Future
.
delayed
(
Duration
(
seconds:
1
),
()
{
Cards
cards
=
Cards
(
cardType:
"plan"
,
plan:
Plan
(
planName:
"ww"
,
minPrice:
"50"
,
maxPrice:
"500"
));
List
<
Cards
>
a
=
[
cards
,
cards
,
cards
,
cards
,
cards
,
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
()
ClueApiImpl
.
getInstance
()
.
getLevelOneList
(
.
getPlanOverView
(
DioUtil
.
getInstance
().
getDio
(),
plan_id
)
DioUtil
.
getInstance
().
getDio
(),
123
,
list
[
index
],
pageList
[
index
])
.
listen
((
event
)
{
.
listen
((
event
)
{})
if
(
event
.
error
==
0
)
{
planoverItem
=
event
.
data
;
tabsList
=
event
.
data
.
tabs
;
stateLive
.
notifyView
(
ENDLOADING
);
callback
();
}
else
{
NativeToast
.
showNativeToast
(
event
.
message
);
stateLive
.
notifyView
(
FAIL
);
}
})
.
addToDispose
(
rxDispose
)
.
addToDispose
(
rxDispose
)
.
onError
((
err
)
{
.
onError
((
err
)
{
PrintUtil
.
printBug
(
err
);
PrintUtil
.
printBug
(
err
);
});
stateLive
.
notifyView
(
FAIL
);
});
}
}
int
currentIndex
=
0
;
int
currentIndex
=
0
;
@override
@override
...
@@ -80,26 +63,13 @@ class LevelOneModel extends BaseModel {
...
@@ -80,26 +63,13 @@ class LevelOneModel extends BaseModel {
showTab
.
dispost
();
showTab
.
dispost
();
cardsLive
.
dispost
();
cardsLive
.
dispost
();
appBarLive
.
dispost
();
appBarLive
.
dispost
();
rectLive
.
dispost
();
topIndexLive
.
dispost
();
topIndexLive
.
dispost
();
topScrollLive
.
dispost
();
topScrollLive
.
dispost
();
loadingLive
.
dispost
();
stateLive
.
dispost
();
}
textLive
.
dispost
();
void
selectPage
(
int
index
)
{
if
(
currentIndex
==
index
)
{
return
;
}
currentIndex
=
index
;
if
(
data
[
currentIndex
]
==
null
)
{
cardsLive
.
notifyView
(
Pair
(
LOADING
,
null
));
refreshView
(
true
);
}
else
{
cardsLive
.
notifyView
(
Pair
(
ENDLOADING
,
data
[
currentIndex
]));
}
}
}
void
loadMore
(
)
{
void
selectTab
(
int
index
)
{
}
}
}
}
lib/ClueModel/page/levelOne/LevelOnePage.dart
View file @
b08c33b5
This diff is collapsed.
Click to expand it.
lib/ClueModel/server/entity/PlanOverViewBean.dart
View file @
b08c33b5
...
@@ -8,7 +8,7 @@ class PlanOverViewBean {
...
@@ -8,7 +8,7 @@ class PlanOverViewBean {
Null
extra
;
Null
extra
;
Null
errorExtra
;
Null
errorExtra
;
UserType
userType
;
UserType
userType
;
Data
data
;
PlanOver
Data
data
;
PlanOverViewBean
(
PlanOverViewBean
(
{
this
.
error
,
{
this
.
error
,
...
@@ -26,7 +26,7 @@ class PlanOverViewBean {
...
@@ -26,7 +26,7 @@ class PlanOverViewBean {
userType
=
json
[
'user_type'
]
!=
null
userType
=
json
[
'user_type'
]
!=
null
?
new
UserType
.
fromJson
(
json
[
'user_type'
])
?
new
UserType
.
fromJson
(
json
[
'user_type'
])
:
null
;
:
null
;
data
=
json
[
'data'
]
!=
null
?
new
Data
.
fromJson
(
json
[
'data'
])
:
null
;
data
=
json
[
'data'
]
!=
null
?
new
PlanOver
Data
.
fromJson
(
json
[
'data'
])
:
null
;
}
}
Map
<
String
,
dynamic
>
toJson
()
{
Map
<
String
,
dynamic
>
toJson
()
{
...
@@ -56,7 +56,7 @@ class UserType {
...
@@ -56,7 +56,7 @@ class UserType {
}
}
}
}
class
Data
{
class
PlanOver
Data
{
Banner
banner
;
Banner
banner
;
String
name
;
String
name
;
String
positiveRate
;
String
positiveRate
;
...
@@ -67,7 +67,7 @@ class Data {
...
@@ -67,7 +67,7 @@ class Data {
List
<
ExplanationAttrs
>
explanationAttrs
;
List
<
ExplanationAttrs
>
explanationAttrs
;
List
<
Tabs
>
tabs
;
List
<
Tabs
>
tabs
;
Data
(
PlanOver
Data
(
{
this
.
banner
,
{
this
.
banner
,
this
.
name
,
this
.
name
,
this
.
positiveRate
,
this
.
positiveRate
,
...
@@ -78,7 +78,7 @@ class Data {
...
@@ -78,7 +78,7 @@ class Data {
this
.
explanationAttrs
,
this
.
explanationAttrs
,
this
.
tabs
});
this
.
tabs
});
Data
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
{
PlanOver
Data
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
{
banner
=
banner
=
json
[
'banner'
]
!=
null
?
new
Banner
.
fromJson
(
json
[
'banner'
])
:
null
;
json
[
'banner'
]
!=
null
?
new
Banner
.
fromJson
(
json
[
'banner'
])
:
null
;
name
=
json
[
'name'
];
name
=
json
[
'name'
];
...
...
lib/commonModel/base/BaseComponent.dart
View file @
b08c33b5
...
@@ -143,42 +143,49 @@ Widget loadingItem({bool needBackground = false}) {
...
@@ -143,42 +143,49 @@ Widget loadingItem({bool needBackground = false}) {
Widget
netErrorItem
(
)
{}
Widget
netErrorItem
(
)
{}
Widget
errorItem
(
double
width
,
double
height
,
VoidCallback
retry
,
Widget
errorItem
(
double
width
,
double
height
,
VoidCallback
retry
,
{
String
errorText
,
String
retryText
})
{
{
String
errorText
,
String
retryText
,
double
paddingTop
})
{
return
Container
(
return
Container
(
width:
width
,
width:
width
,
height:
height
,
height:
height
,
color:
Colors
.
white
,
padding:
EdgeInsets
.
only
(
top:
paddingTop
)
,
alignment:
Alignment
.
topCenter
,
alignment:
Alignment
.
topCenter
,
child:
Container
(
child:
Container
(
width:
180
,
width:
180
,
height:
315.5
,
height:
315.5
,
margin:
EdgeInsets
.
only
(
top:
62
),
margin:
EdgeInsets
.
only
(
top:
62
),
child:
Stack
(
child:
Column
(
alignment:
AlignmentDirectional
.
center
,
children:
<
Widget
>[
children:
<
Widget
>[
Container
(
Positioned
(
left:
0
,
top:
0
,
child:
Container
(
width:
180
,
width:
180
,
height:
186.5
,
height:
186.5
,
child:
Image
.
asset
(
"assets/error.png"
),
child:
Stack
(
),
alignment:
AlignmentDirectional
.
center
,
),
children:
<
Widget
>[
Positioned
(
Positioned
(
top:
166
,
left:
0
,
child:
Container
(
top:
0
,
width:
180
,
child:
Container
(
alignment:
Alignment
.
center
,
width:
180
,
child:
baseText
(
height:
186.5
,
errorText
??
"原谅我一看到美人就不淡定"
,
15
,
Color
(
0xff666666
)),
child:
Image
.
asset
(
"assets/error.png"
),
),
),
Positioned
(
top:
166
,
child:
Container
(
width:
180
,
alignment:
Alignment
.
center
,
child:
baseText
(
errorText
??
"原谅我一看到美人就不淡定"
,
15
,
Color
(
0xff666666
)),
),
),
],
),
),
),
),
Container
(
Positioned
(
bottom:
60
,
child:
Container
(
width:
150
,
width:
150
,
height:
40
,
height:
40
,
margin:
EdgeInsets
.
only
(
top:
17
),
decoration:
BoxDecoration
(
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
circular
(
20
),
borderRadius:
BorderRadius
.
circular
(
20
),
gradient:
LinearGradient
(
gradient:
LinearGradient
(
...
@@ -190,12 +197,10 @@ Widget errorItem(double width, double height, VoidCallback retry,
...
@@ -190,12 +197,10 @@ Widget errorItem(double width, double height, VoidCallback retry,
).
gestureDetector
(()
{
).
gestureDetector
(()
{
retry
();
retry
();
}),
}),
),
Container
(
Positioned
(
bottom:
0
,
child:
Container
(
width:
150
,
width:
150
,
height:
40
,
height:
40
,
margin:
EdgeInsets
.
only
(
top:
20
),
decoration:
BoxDecoration
(
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
circular
(
20
),
borderRadius:
BorderRadius
.
circular
(
20
),
border:
Border
.
all
(
color:
Color
(
0xffFF5963
),
width:
0.5
)),
border:
Border
.
all
(
color:
Color
(
0xffFF5963
),
width:
0.5
)),
...
@@ -204,10 +209,8 @@ Widget errorItem(double width, double height, VoidCallback retry,
...
@@ -204,10 +209,8 @@ Widget errorItem(double width, double height, VoidCallback retry,
).
gestureDetector
(()
{
).
gestureDetector
(()
{
AppSettings
.
openWIFISettings
();
AppSettings
.
openWIFISettings
();
}),
}),
)
],
],
)));
),
));
}
}
//TODO
//TODO
...
@@ -373,8 +376,9 @@ Widget normalRefreshHeader() {
...
@@ -373,8 +376,9 @@ Widget normalRefreshHeader() {
);
);
}
}
Widget
emptyItem
(
double
width
,
double
height
,
{
String
detail
})
{
Widget
emptyItem
(
double
width
,
double
height
,
{
String
detail
,
double
paddingTop
})
{
return
Container
(
return
Container
(
padding:
EdgeInsets
.
only
(
top:
paddingTop
),
width:
width
,
width:
width
,
height:
height
,
height:
height
,
color:
Colors
.
white
,
color:
Colors
.
white
,
...
@@ -383,20 +387,34 @@ Widget emptyItem(double width, double height, {String detail}) {
...
@@ -383,20 +387,34 @@ Widget emptyItem(double width, double height, {String detail}) {
width:
175
,
width:
175
,
height:
188
,
height:
188
,
margin:
EdgeInsets
.
only
(
top:
62.5
),
margin:
EdgeInsets
.
only
(
top:
62.5
),
child:
Stack
(
child:
Column
(
alignment:
AlignmentDirectional
.
bottomCenter
,
mainAxisSize:
MainAxisSize
.
min
,
children:
<
Widget
>[
children:
<
Widget
>[
Container
(
Container
(
width:
175
,
width:
175
,
height:
188
,
height:
188
,
child:
Image
.
asset
(
"assets/empty.png"
),
child:
Stack
(
alignment:
AlignmentDirectional
.
bottomCenter
,
children:
<
Widget
>[
Container
(
width:
175
,
height:
188
,
child:
Image
.
asset
(
"assets/empty.png"
),
),
Positioned
(
bottom:
17
,
child:
baseText
(
detail
??
"此处太寂寥,转转别处吧"
,
15
,
Color
(
0xff666666
)),
)
],
),
),
),
Positioned
(
Container
(
bottom:
17
,
height:
0
,
c
hild:
baseText
(
detail
??
"此处太寂寥,转转别处吧"
,
15
,
Color
(
0xff666666
))
,
c
olor:
Colors
.
white
,
)
)
],
],
),
)
),
),
);
);
}
}
...
@@ -491,7 +509,7 @@ Widget baseSliverTitle(String text, double width, LiveData liveData) {
...
@@ -491,7 +509,7 @@ Widget baseSliverTitle(String text, double width, LiveData liveData) {
}
}
Widget
baseStateView
(
double
width
,
double
height
,
LiveData
<
int
>
stateLive
,
Widget
baseStateView
(
double
width
,
double
height
,
LiveData
<
int
>
stateLive
,
Widget
home
,
VoidCallback
retry
)
{
Widget
home
,
VoidCallback
retry
,{
double
paddingTop
}
)
{
return
StreamBuilder
(
return
StreamBuilder
(
stream:
stateLive
.
stream
,
stream:
stateLive
.
stream
,
initialData:
stateLive
.
data
??
LOADING
,
initialData:
stateLive
.
data
??
LOADING
,
...
@@ -499,9 +517,9 @@ Widget baseStateView(double width, double height, LiveData<int> stateLive,
...
@@ -499,9 +517,9 @@ Widget baseStateView(double width, double height, LiveData<int> stateLive,
if
(
data
.
data
==
LOADING
)
{
if
(
data
.
data
==
LOADING
)
{
return
loadingItem
();
return
loadingItem
();
}
else
if
(
data
.
data
==
FAIL
)
{
}
else
if
(
data
.
data
==
FAIL
)
{
return
errorItem
(
width
,
height
,
retry
);
return
errorItem
(
width
,
height
,
retry
,
paddingTop:
paddingTop
);
}
else
if
(
data
.
data
==
EMPTY
)
{
}
else
if
(
data
.
data
==
EMPTY
)
{
return
emptyItem
(
width
,
height
);
return
emptyItem
(
width
,
height
,
paddingTop:
paddingTop
);
}
}
return
home
;
return
home
;
},
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment