import 'package:flutter/cupertino.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:wow_english/common/request/dao/home_dao.dart'; import 'package:wow_english/common/request/exception.dart'; import 'package:wow_english/models/course_module_entity.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; List _listData = []; List get listData => _listData; LessonBloc(this.pageIndex, this.pageController) : super(LessonInitial()) { _currentPageIndex = pageIndex; on(_pageIndexChange); } Future requestData() async { try { await loading(() async { var list = await HomeDao.courseModule(); if (list?.isNotEmpty == true) { _listData = list!; emit(LessonDataLoadState()); } else { EasyLoading.showToast("数据获取失败!"); } }); } 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(); } }