mapWidgets(List<Datum> serverUi,
HomeBodyDataState state,) {
for (var element in serverUi) {
String widgetType = element.keywords;
serverWidgets.add(
toWidget(element, widgetType, state),
);
}
return serverWidgets;
}
Widget toWidget(Datum element,
String widgetType,
HomeBodyDataState state,) {
switch (widgetType) {
case AppStrings.advertiseSectionIdentifier:
return Advertise(
imagesList: state.advertiseSectionData.fold(
() => null,
(a) =>
a.fold(
(l) => null,
(r) =>
r.value.fold(
(l) => null,
(r) => r,
),
),
),
);
case AppStrings.sliderSectionIdentifier:
Future<Either<ValueFailures, HeaderImagesList>> getAdvertiseData({
required String endPoint,
}) async {
log('api called : ${endPoint}');
try {
final response = await _dio.get(
AppStrings.baseUrl + endPoint,
);
final result = response.data;
log('api called : ${result.toString()}');
return right(
AdvertiseResponseModel.fromJson(result).toDomain(),
);
} on DioError catch (error) {
return left(
ValueFailures.serverError(
failedValue: error.error.toString(),
),
);
}
}
如何实现SDUI?必须使用flutter包吗?