bloc.dart
896 Bytes
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<UnitEvent, UnitState> {
CourseUnitEntity? _modelData;
CourseUnitEntity? get modelData => _modelData;
UnitBloc() : super(UnitState().init()) {
on<RequestUnitDataEvent>(_requestData);
}
void _requestData(RequestUnitDataEvent event, Emitter<UnitState> emitter) async {
try {
await loading(() async {
_modelData = await HomeDao.courseUnit(event.moduleId);
emitter(UnitDataLoadState());
});
} catch (e) {
if (e is ApiException) {
showToast(e.message ?? '请求失败,请检查网络连接');
}
}
}
}