brand_search_presenter.dart 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import 'package:liftmanager/internal/search/page/search_brand.dart';
  2. import 'package:liftmanager/mvp/base_page_presenter.dart';
  3. import 'package:liftmanager/net/api_service.dart';
  4. import 'package:liftmanager/widgets/state_layout.dart';
  5. class BrandSearchPresenterSeconds
  6. extends BasePagePresenter<SearchBrandState> {
  7. Future getBrandList(int page, String searchWord) async {
  8. view.provider.setStateType(StateType.loading);
  9. view.provider.setHasMore(true);
  10. await NewApiService().getBrandListPage(page, 10, searchWord: searchWord, onSuccess: (res) {
  11. view.closeProgress();
  12. if (res != null) {
  13. view.provider.setHasMore(res.records.length == 10);
  14. if (page == 1) {
  15. view.provider.list.clear();
  16. if (res.records.isEmpty) {
  17. view.provider.setStateType(StateType.empty);
  18. } else {
  19. view.provider.addAll(res.records);
  20. }
  21. } else {
  22. view.provider.addAll(res.records);
  23. }
  24. } else {
  25. /// 加载失败
  26. view.provider.setHasMore(false);
  27. view.provider.setStateType(StateType.empty);
  28. }
  29. }, onError: (code, msg) {
  30. view.closeProgress();
  31. view.provider.setHasMore(false);
  32. view.provider.setStateType(StateType.network);
  33. });
  34. }
  35. }