From f9f995b4fbb18c8c1a353987082cc115ad460c7a Mon Sep 17 00:00:00 2001 From: guozhigq Date: Mon, 7 Aug 2023 23:05:57 +0800 Subject: [PATCH] =?UTF-8?q?mod:=20=E4=BC=98=E5=8C=96=E5=89=8D/=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E5=88=87=E6=8D=A2=E7=BD=91=E7=BB=9C=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/dynamics/view.dart | 6 ++++-- lib/pages/fav/view.dart | 9 ++++++++- lib/pages/live/view.dart | 4 +++- lib/pages/media/view.dart | 15 ++++++++++++--- lib/pages/rcmd/view.dart | 4 +++- 5 files changed, 30 insertions(+), 8 deletions(-) diff --git a/lib/pages/dynamics/view.dart b/lib/pages/dynamics/view.dart index 2e01537b..df2935de 100644 --- a/lib/pages/dynamics/view.dart +++ b/lib/pages/dynamics/view.dart @@ -29,7 +29,8 @@ class DynamicsPage extends StatefulWidget { class _DynamicsPageState extends State with AutomaticKeepAliveClientMixin { final DynamicsController _dynamicsController = Get.put(DynamicsController()); - Future? _futureBuilderFuture; + late Future _futureBuilderFuture; + late Future _futureBuilderFutureUp; bool _isLoadingMore = false; Box user = GStrorage.user; @@ -40,6 +41,7 @@ class _DynamicsPageState extends State void initState() { super.initState(); _futureBuilderFuture = _dynamicsController.queryFollowDynamic(); + _futureBuilderFutureUp = _dynamicsController.queryFollowUp(); ScrollController scrollController = _dynamicsController.scrollController; StreamController mainStream = Get.find().bottomBarStream; @@ -229,7 +231,7 @@ class _DynamicsPageState extends State controller: _dynamicsController.scrollController, slivers: [ FutureBuilder( - future: _dynamicsController.queryFollowUp(), + future: _futureBuilderFutureUp, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { Map data = snapshot.data; diff --git a/lib/pages/fav/view.dart b/lib/pages/fav/view.dart index f190bc85..8c242862 100644 --- a/lib/pages/fav/view.dart +++ b/lib/pages/fav/view.dart @@ -13,6 +13,13 @@ class FavPage extends StatefulWidget { class _FavPageState extends State { final FavController _favController = Get.put(FavController()); + late Future _futureBuilderFuture; + + @override + void initState() { + super.initState(); + _futureBuilderFuture = _favController.queryFavFolder(); + } @override Widget build(BuildContext context) { @@ -26,7 +33,7 @@ class _FavPageState extends State { ), ), body: FutureBuilder( - future: _favController.queryFavFolder(), + future: _futureBuilderFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { Map data = snapshot.data as Map; diff --git a/lib/pages/live/view.dart b/lib/pages/live/view.dart index 3e26bafc..93fe276f 100644 --- a/lib/pages/live/view.dart +++ b/lib/pages/live/view.dart @@ -22,10 +22,12 @@ class LivePage extends StatefulWidget { class _LivePageState extends State { final LiveController _liveController = Get.put(LiveController()); + late Future _futureBuilderFuture; @override void initState() { super.initState(); + _futureBuilderFuture = _liveController.queryLiveList('init'); ScrollController scrollController = _liveController.scrollController; StreamController mainStream = Get.find().bottomBarStream; @@ -64,7 +66,7 @@ class _LivePageState extends State { padding: const EdgeInsets.fromLTRB( StyleString.safeSpace, 0, StyleString.safeSpace, 0), sliver: FutureBuilder( - future: _liveController.queryLiveList('init'), + future: _futureBuilderFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { Map data = snapshot.data as Map; diff --git a/lib/pages/media/view.dart b/lib/pages/media/view.dart index e1794d97..54b96ea7 100644 --- a/lib/pages/media/view.dart +++ b/lib/pages/media/view.dart @@ -14,13 +14,22 @@ class MediaPage extends StatefulWidget { class _MediaPageState extends State with AutomaticKeepAliveClientMixin { + late MediaController mediaController; + late Future _futureBuilderFuture; + @override bool get wantKeepAlive => true; + @override + void initState() { + super.initState(); + mediaController = Get.put(MediaController()); + _futureBuilderFuture = mediaController.queryFavFolder(); + } + @override Widget build(BuildContext context) { super.build(context); - final MediaController mediaController = Get.put(MediaController()); Color primary = Theme.of(context).colorScheme.primary; return Scaffold( appBar: AppBar(toolbarHeight: 30), @@ -107,7 +116,7 @@ class _MediaPageState extends State ), ), trailing: IconButton( - onPressed: () => mediaController.queryFavFolder(), + onPressed: () => _futureBuilderFuture, icon: const Icon( Icons.refresh, size: 20, @@ -119,7 +128,7 @@ class _MediaPageState extends State width: double.infinity, height: 170, child: FutureBuilder( - future: mediaController.queryFavFolder(), + future: _futureBuilderFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { Map data = snapshot.data as Map; diff --git a/lib/pages/rcmd/view.dart b/lib/pages/rcmd/view.dart index 1b22a2db..41987f8c 100644 --- a/lib/pages/rcmd/view.dart +++ b/lib/pages/rcmd/view.dart @@ -23,6 +23,7 @@ class RcmdPage extends StatefulWidget { class _RcmdPageState extends State with AutomaticKeepAliveClientMixin { final RcmdController _rcmdController = Get.put(RcmdController()); + late Future _futureBuilderFuture; @override bool get wantKeepAlive => true; @@ -30,6 +31,7 @@ class _RcmdPageState extends State @override void initState() { super.initState(); + _futureBuilderFuture = _rcmdController.queryRcmdFeed('init'); ScrollController scrollController = _rcmdController.scrollController; StreamController mainStream = Get.find().bottomBarStream; @@ -71,7 +73,7 @@ class _RcmdPageState extends State : const EdgeInsets.fromLTRB( StyleString.safeSpace, 0, StyleString.safeSpace, 0), sliver: FutureBuilder( - future: _rcmdController.queryRcmdFeed('init'), + future: _futureBuilderFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { Map data = snapshot.data as Map;