news_list_presenter.dart 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import 'package:liftmanager/internal/news/page/news_list_page.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 NewsListPresenterss extends BasePagePresenter<NewsListStateList> {
  6. Future list(String text, int pageIndex, pageSize, isTop) async {
  7. await NewApiService().newsList(pageIndex, pageSize, isTop, text,
  8. onSuccess: (data) {
  9. view.closeProgress();
  10. if (data != null) {
  11. view.provider.setHasMore(data.rows.length == pageSize);
  12. if (pageIndex == 1) {
  13. view.provider.list.clear();
  14. if (data.rows.isEmpty) {
  15. view.provider.setStateType(StateType.empty);
  16. } else {
  17. view.provider.addAll(data.rows);
  18. print("*-////--------");
  19. }
  20. } else {
  21. view.provider.addAll(data.rows);
  22. }
  23. } else {
  24. /// 加载失败
  25. view.provider.setHasMore(false);
  26. view.provider.setStateType(StateType.empty);
  27. }
  28. }, onError: (code, msg) {
  29. view.closeProgress();
  30. view.provider.setHasMore(false);
  31. view.provider.setStateType(StateType.network);
  32. });
  33. }
  34. }