mod: 优化前/后台切换网络请求
This commit is contained in:
@ -29,7 +29,8 @@ class DynamicsPage extends StatefulWidget {
|
|||||||
class _DynamicsPageState extends State<DynamicsPage>
|
class _DynamicsPageState extends State<DynamicsPage>
|
||||||
with AutomaticKeepAliveClientMixin {
|
with AutomaticKeepAliveClientMixin {
|
||||||
final DynamicsController _dynamicsController = Get.put(DynamicsController());
|
final DynamicsController _dynamicsController = Get.put(DynamicsController());
|
||||||
Future? _futureBuilderFuture;
|
late Future _futureBuilderFuture;
|
||||||
|
late Future _futureBuilderFutureUp;
|
||||||
bool _isLoadingMore = false;
|
bool _isLoadingMore = false;
|
||||||
Box user = GStrorage.user;
|
Box user = GStrorage.user;
|
||||||
|
|
||||||
@ -40,6 +41,7 @@ class _DynamicsPageState extends State<DynamicsPage>
|
|||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
_futureBuilderFuture = _dynamicsController.queryFollowDynamic();
|
_futureBuilderFuture = _dynamicsController.queryFollowDynamic();
|
||||||
|
_futureBuilderFutureUp = _dynamicsController.queryFollowUp();
|
||||||
ScrollController scrollController = _dynamicsController.scrollController;
|
ScrollController scrollController = _dynamicsController.scrollController;
|
||||||
StreamController<bool> mainStream =
|
StreamController<bool> mainStream =
|
||||||
Get.find<MainController>().bottomBarStream;
|
Get.find<MainController>().bottomBarStream;
|
||||||
@ -229,7 +231,7 @@ class _DynamicsPageState extends State<DynamicsPage>
|
|||||||
controller: _dynamicsController.scrollController,
|
controller: _dynamicsController.scrollController,
|
||||||
slivers: [
|
slivers: [
|
||||||
FutureBuilder(
|
FutureBuilder(
|
||||||
future: _dynamicsController.queryFollowUp(),
|
future: _futureBuilderFutureUp,
|
||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
if (snapshot.connectionState == ConnectionState.done) {
|
if (snapshot.connectionState == ConnectionState.done) {
|
||||||
Map data = snapshot.data;
|
Map data = snapshot.data;
|
||||||
|
@ -13,6 +13,13 @@ class FavPage extends StatefulWidget {
|
|||||||
|
|
||||||
class _FavPageState extends State<FavPage> {
|
class _FavPageState extends State<FavPage> {
|
||||||
final FavController _favController = Get.put(FavController());
|
final FavController _favController = Get.put(FavController());
|
||||||
|
late Future _futureBuilderFuture;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
_futureBuilderFuture = _favController.queryFavFolder();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
@ -26,7 +33,7 @@ class _FavPageState extends State<FavPage> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
body: FutureBuilder(
|
body: FutureBuilder(
|
||||||
future: _favController.queryFavFolder(),
|
future: _futureBuilderFuture,
|
||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
if (snapshot.connectionState == ConnectionState.done) {
|
if (snapshot.connectionState == ConnectionState.done) {
|
||||||
Map data = snapshot.data as Map;
|
Map data = snapshot.data as Map;
|
||||||
|
@ -22,10 +22,12 @@ class LivePage extends StatefulWidget {
|
|||||||
|
|
||||||
class _LivePageState extends State<LivePage> {
|
class _LivePageState extends State<LivePage> {
|
||||||
final LiveController _liveController = Get.put(LiveController());
|
final LiveController _liveController = Get.put(LiveController());
|
||||||
|
late Future _futureBuilderFuture;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
_futureBuilderFuture = _liveController.queryLiveList('init');
|
||||||
ScrollController scrollController = _liveController.scrollController;
|
ScrollController scrollController = _liveController.scrollController;
|
||||||
StreamController<bool> mainStream =
|
StreamController<bool> mainStream =
|
||||||
Get.find<MainController>().bottomBarStream;
|
Get.find<MainController>().bottomBarStream;
|
||||||
@ -64,7 +66,7 @@ class _LivePageState extends State<LivePage> {
|
|||||||
padding: const EdgeInsets.fromLTRB(
|
padding: const EdgeInsets.fromLTRB(
|
||||||
StyleString.safeSpace, 0, StyleString.safeSpace, 0),
|
StyleString.safeSpace, 0, StyleString.safeSpace, 0),
|
||||||
sliver: FutureBuilder(
|
sliver: FutureBuilder(
|
||||||
future: _liveController.queryLiveList('init'),
|
future: _futureBuilderFuture,
|
||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
if (snapshot.connectionState == ConnectionState.done) {
|
if (snapshot.connectionState == ConnectionState.done) {
|
||||||
Map data = snapshot.data as Map;
|
Map data = snapshot.data as Map;
|
||||||
|
@ -14,13 +14,22 @@ class MediaPage extends StatefulWidget {
|
|||||||
|
|
||||||
class _MediaPageState extends State<MediaPage>
|
class _MediaPageState extends State<MediaPage>
|
||||||
with AutomaticKeepAliveClientMixin {
|
with AutomaticKeepAliveClientMixin {
|
||||||
|
late MediaController mediaController;
|
||||||
|
late Future _futureBuilderFuture;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool get wantKeepAlive => true;
|
bool get wantKeepAlive => true;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
mediaController = Get.put(MediaController());
|
||||||
|
_futureBuilderFuture = mediaController.queryFavFolder();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
super.build(context);
|
super.build(context);
|
||||||
final MediaController mediaController = Get.put(MediaController());
|
|
||||||
Color primary = Theme.of(context).colorScheme.primary;
|
Color primary = Theme.of(context).colorScheme.primary;
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(toolbarHeight: 30),
|
appBar: AppBar(toolbarHeight: 30),
|
||||||
@ -107,7 +116,7 @@ class _MediaPageState extends State<MediaPage>
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
trailing: IconButton(
|
trailing: IconButton(
|
||||||
onPressed: () => mediaController.queryFavFolder(),
|
onPressed: () => _futureBuilderFuture,
|
||||||
icon: const Icon(
|
icon: const Icon(
|
||||||
Icons.refresh,
|
Icons.refresh,
|
||||||
size: 20,
|
size: 20,
|
||||||
@ -119,7 +128,7 @@ class _MediaPageState extends State<MediaPage>
|
|||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
height: 170,
|
height: 170,
|
||||||
child: FutureBuilder(
|
child: FutureBuilder(
|
||||||
future: mediaController.queryFavFolder(),
|
future: _futureBuilderFuture,
|
||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
if (snapshot.connectionState == ConnectionState.done) {
|
if (snapshot.connectionState == ConnectionState.done) {
|
||||||
Map data = snapshot.data as Map;
|
Map data = snapshot.data as Map;
|
||||||
|
@ -23,6 +23,7 @@ class RcmdPage extends StatefulWidget {
|
|||||||
class _RcmdPageState extends State<RcmdPage>
|
class _RcmdPageState extends State<RcmdPage>
|
||||||
with AutomaticKeepAliveClientMixin {
|
with AutomaticKeepAliveClientMixin {
|
||||||
final RcmdController _rcmdController = Get.put(RcmdController());
|
final RcmdController _rcmdController = Get.put(RcmdController());
|
||||||
|
late Future _futureBuilderFuture;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool get wantKeepAlive => true;
|
bool get wantKeepAlive => true;
|
||||||
@ -30,6 +31,7 @@ class _RcmdPageState extends State<RcmdPage>
|
|||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
_futureBuilderFuture = _rcmdController.queryRcmdFeed('init');
|
||||||
ScrollController scrollController = _rcmdController.scrollController;
|
ScrollController scrollController = _rcmdController.scrollController;
|
||||||
StreamController<bool> mainStream =
|
StreamController<bool> mainStream =
|
||||||
Get.find<MainController>().bottomBarStream;
|
Get.find<MainController>().bottomBarStream;
|
||||||
@ -71,7 +73,7 @@ class _RcmdPageState extends State<RcmdPage>
|
|||||||
: const EdgeInsets.fromLTRB(
|
: const EdgeInsets.fromLTRB(
|
||||||
StyleString.safeSpace, 0, StyleString.safeSpace, 0),
|
StyleString.safeSpace, 0, StyleString.safeSpace, 0),
|
||||||
sliver: FutureBuilder(
|
sliver: FutureBuilder(
|
||||||
future: _rcmdController.queryRcmdFeed('init'),
|
future: _futureBuilderFuture,
|
||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
if (snapshot.connectionState == ConnectionState.done) {
|
if (snapshot.connectionState == ConnectionState.done) {
|
||||||
Map data = snapshot.data as Map;
|
Map data = snapshot.data as Map;
|
||||||
|
Reference in New Issue
Block a user