import 'package:flutter/cupertino.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:wow_english/common/request/dao/home_dao.dart'; import 'package:wow_english/common/request/exception.dart'; import 'package:wow_english/utils/loading.dart'; part 'lesson_event.dart'; part 'lesson_state.dart'; class LessonBloc extends Bloc { final int pageIndex; final PageController pageController; int _currentPageIndex = 0; int get currentPageIndex => _currentPageIndex; LessonBloc(this.pageIndex,this.pageController) : super(LessonInitial()) { _currentPageIndex = pageIndex; on(_pageIndexChange); } Future requestData() async { try { await loading(() async { HomeDao.courseModule(); emit(LessonDataLoadState()); }); } catch (e) { if (e is ApiException) { } } } void _pageIndexChange(PageViewChangeIndexEvent event,Emitter emitter) async { _currentPageIndex = event.index; emitter(PageIndexChangeState()); } @override Future close() { pageController.dispose(); return super.close(); } }