import 'package:cs_resources/generated/assets.dart'; import 'package:flutter/cupertino.dart'; import 'package:plugin_platform/engine/toast/toast_engine.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:shared/utils/log_utils.dart'; import 'community_state.dart'; import '../garagesale/garagesale_page.dart'; import '../newsfeed/newsfeed_page.dart'; part 'community_vm.g.dart'; @riverpod class CommunityVm extends _$CommunityVm { get topSectionsData => state.topSectionsData; CommunityVmState initState() { return CommunityVmState(); } @override CommunityVmState build(){ final state = initState(); Log.d("--------------------------build---------------------"); return state; } // 设置当前的 tabsRouter 和 pageController Future setTabsRouterAndPageController(dynamic tabsRouter, dynamic pageController) async{ Log.d("setTabsRouterAndPageController---: $tabsRouter"); state = await state.copyWith(tabsRouter: tabsRouter, pageController: pageController,curIdx: tabsRouter.activeIndex); } Future setCurrentUseTag(int useTag) async { state = await state.copyWith(useTag: useTag, curIdx: useTag); Log.d("useTag----: $useTag"); } // 页面切换 switchPage(int index,int useTag,BuildContext? context, [bool? isFirstInitSwitch] ){ if(state.curIdx != index){ state = state.copyWith(curIdx: index, useTag: useTag); final List>? topSectionsData = state.topSectionsData; // Log.d("当前页面${topSectionsData?[index]['pageStartInstanceFn']}"); final pageStartInstanceFn = topSectionsData?[index]['pageStartInstanceFn'] as Function({BuildContext? context}); pageStartInstanceFn(context:context); }else { if(isFirstInitSwitch??false){ final List>? topSectionsData = state.topSectionsData; // Log.d("当前页面${topSectionsData?[index]['pageStartInstanceFn']}"); final pageStartInstanceFn = topSectionsData?[index]['pageStartInstanceFn'] as Function({BuildContext? context}); pageStartInstanceFn(context:context); } } } }