fix: 用户页面动态panel布局、收藏列表数据为空异常、收藏夹数据更新逻辑

This commit is contained in:
guozhigq
2023-07-31 11:10:35 +08:00
parent 66712963e0
commit e892452bcd
5 changed files with 27 additions and 12 deletions

View File

@ -67,7 +67,7 @@ class MyApp extends StatelessWidget {
), ),
navigatorObservers: [ navigatorObservers: [
VideoDetailPage.routeObserver, VideoDetailPage.routeObserver,
SearchPage.routeObserver SearchPage.routeObserver,
], ],
); );
}), }),

View File

@ -17,7 +17,7 @@ class FavDetailData {
? json['medias'] ? json['medias']
.map<FavDetailItemData>((e) => FavDetailItemData.fromJson(e)) .map<FavDetailItemData>((e) => FavDetailItemData.fromJson(e))
.toList() .toList()
: [FavDetailItemData()]; : [];
hasMore = json['has_more']; hasMore = json['has_more'];
} }
} }

View File

@ -3,6 +3,7 @@ import 'package:get/get.dart';
import 'package:hive/hive.dart'; import 'package:hive/hive.dart';
import 'package:pilipala/pages/dynamics/index.dart'; import 'package:pilipala/pages/dynamics/index.dart';
import 'package:pilipala/pages/home/index.dart'; import 'package:pilipala/pages/home/index.dart';
import 'package:pilipala/pages/media/index.dart';
import 'package:pilipala/utils/feed_back.dart'; import 'package:pilipala/utils/feed_back.dart';
import 'package:pilipala/utils/storage.dart'; import 'package:pilipala/utils/storage.dart';
import './controller.dart'; import './controller.dart';
@ -18,6 +19,7 @@ class _MainAppState extends State<MainApp> with SingleTickerProviderStateMixin {
final MainController _mainController = Get.put(MainController()); final MainController _mainController = Get.put(MainController());
final HomeController _homeController = Get.put(HomeController()); final HomeController _homeController = Get.put(HomeController());
final DynamicsController _dynamicController = Get.put(DynamicsController()); final DynamicsController _dynamicController = Get.put(DynamicsController());
final MediaController _mediaController = Get.put(MediaController());
PageController? _pageController; PageController? _pageController;
@ -87,6 +89,10 @@ class _MainAppState extends State<MainApp> with SingleTickerProviderStateMixin {
} else { } else {
_dynamicController.flag = false; _dynamicController.flag = false;
} }
if (currentPage is MediaPage) {
_mediaController.queryFavFolder();
}
} }
@override @override

View File

@ -5,11 +5,21 @@ import 'package:pilipala/models/user/fav_folder.dart';
import 'package:pilipala/pages/media/index.dart'; import 'package:pilipala/pages/media/index.dart';
import 'package:pilipala/utils/utils.dart'; import 'package:pilipala/utils/utils.dart';
class MediaPage extends StatelessWidget { class MediaPage extends StatefulWidget {
const MediaPage({super.key}); const MediaPage({super.key});
@override
State<MediaPage> createState() => _MediaPageState();
}
class _MediaPageState extends State<MediaPage>
with AutomaticKeepAliveClientMixin {
@override
bool get wantKeepAlive => true;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
super.build(context);
final MediaController mediaController = Get.put(MediaController()); final MediaController mediaController = Get.put(MediaController());
Color primary = Theme.of(context).colorScheme.primary; Color primary = Theme.of(context).colorScheme.primary;
return Scaffold( return Scaffold(

View File

@ -24,8 +24,8 @@ class _MemberDynamicPanelState extends State<MemberDynamicPanel>
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Expanded( super.build(context);
child: LoadingMoreList<DynamicItemModel>( return LoadingMoreList<DynamicItemModel>(
ListConfig<DynamicItemModel>( ListConfig<DynamicItemModel>(
sourceList: source, sourceList: source,
itemBuilder: (BuildContext c, DynamicItemModel item, int index) { itemBuilder: (BuildContext c, DynamicItemModel item, int index) {
@ -33,7 +33,6 @@ class _MemberDynamicPanelState extends State<MemberDynamicPanel>
}, },
indicatorBuilder: _buildIndicator, indicatorBuilder: _buildIndicator,
), ),
),
); );
} }