import 'package:bloc/bloc.dart'; import '../../common/request/dao/home_dao.dart'; import '../../common/request/exception.dart'; import '../../models/course_unit_entity.dart'; import '../../utils/loading.dart'; import '../../utils/toast_util.dart'; import 'event.dart'; import 'state.dart'; class UnitBloc extends Bloc { CourseUnitEntity? _modelData; CourseUnitEntity? get modelData => _modelData; UnitBloc() : super(UnitState().init()) { on(_requestData); } void _requestData(RequestUnitDataEvent event, Emitter emitter) async { try { await loading(() async { _modelData = await HomeDao.courseUnit(event.moduleId); emitter(UnitDataLoadState()); }); } catch (e) { if (e is ApiException) { showToast(e.message ?? '请求失败,请检查网络连接'); } } } }