mix_search_list_presenter.dart 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. import 'package:liftmanager/internal/search/page/search_index.dart';
  2. import 'package:liftmanager/mvp/base_page_presenter.dart';
  3. import 'package:liftmanager/net/api_service.dart';
  4. import 'package:liftmanager/utils/log_util.dart';
  5. import 'package:liftmanager/widgets/state_layout.dart';
  6. class MixListPresenter extends BasePagePresenter<SearchIndexState> {
  7. Future getQuestionList(int page, String title) async {
  8. await NewApiService().getQuestionList(page, 3, null, null, title,
  9. onSuccess: (res) {
  10. view.closeProgress();
  11. LogUtil.d(res);
  12. if (res != null) {
  13. view.provider.setHasMore(res.records.length == 3);
  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. Future getVideoList(int page, String title) async {
  36. await NewApiService().getVideoList(page, 3, null, title, null, "app",
  37. onSuccess: (res) {
  38. print('我的视频列表');
  39. print(res);
  40. view.closeProgress();
  41. if (res != null) {
  42. view.provider.setHasMore(res.records.length == 3);
  43. if (page == 1) {
  44. view.provider.list.clear();
  45. if (res.records.isEmpty) {
  46. view.provider.setStateType(StateType.empty);
  47. } else {
  48. view.provider.addAll(res.records);
  49. }
  50. } else {
  51. view.provider.addAll(res.records);
  52. }
  53. } else {
  54. /// 加载失败
  55. view.provider.setHasMore(false);
  56. view.provider.setStateType(StateType.empty);
  57. }
  58. }, onError: (code, msg) {
  59. view.closeProgress();
  60. view.provider.setHasMore(false);
  61. view.provider.setStateType(StateType.network);
  62. });
  63. }
  64. Future getPositionList(int page, String job) async {
  65. await NewApiService().getPositionList(page, 10, job: job, onSuccess: (res) {
  66. view.closeProgress();
  67. if (res != null) {
  68. view.provider.setHasMore(res.records.length == 10);
  69. if (page == 1) {
  70. view.provider.list.clear();
  71. if (res.records.isEmpty) {
  72. view.provider.setStateType(StateType.empty);
  73. } else {
  74. view.provider.addAll(res.records);
  75. }
  76. } else {
  77. view.provider.addAll(res.records);
  78. }
  79. } else {
  80. /// 加载失败
  81. view.provider.setHasMore(false);
  82. view.provider.setStateType(StateType.empty);
  83. }
  84. }, onError: (code, msg) {
  85. view.closeProgress();
  86. view.provider.setHasMore(false);
  87. view.provider.setStateType(StateType.network);
  88. });
  89. }
  90. Future getShopList(int page, String name, brandId) async {
  91. await NewApiService().getShopList(page, 10, null, name, brandId,
  92. onSuccess: (res) {
  93. view.closeProgress();
  94. if (res != null) {
  95. view.provider.setHasMore(res.records.length == 10);
  96. if (page == 1) {
  97. view.provider.list.clear();
  98. if (res.records.isEmpty) {
  99. view.provider.setStateType(StateType.empty);
  100. } else {
  101. view.provider.addAll(res.records);
  102. }
  103. } else {
  104. view.provider.addAll(res.records);
  105. }
  106. } else {
  107. /// 加载失败
  108. view.provider.setHasMore(false);
  109. view.provider.setStateType(StateType.empty);
  110. }
  111. }, onError: (code, msg) {
  112. view.closeProgress();
  113. view.provider.setHasMore(false);
  114. view.provider.setStateType(StateType.network);
  115. });
  116. }
  117. Future getNewsList(int page, String title) async {
  118. await NewApiService().newsList(page, 10, 0, title, onSuccess: (res) {
  119. view.closeProgress();
  120. if (res != null) {
  121. view.provider.setHasMore(res.rows.length == 10);
  122. if (page == 1) {
  123. view.provider.list.clear();
  124. if (res.rows.isEmpty) {
  125. view.provider.setStateType(StateType.empty);
  126. } else {
  127. view.provider.addAll(res.rows);
  128. }
  129. } else {
  130. view.provider.addAll(res.rows);
  131. }
  132. } else {
  133. /// 加载失败
  134. view.provider.setHasMore(false);
  135. view.provider.setStateType(StateType.empty);
  136. }
  137. }, onError: (code, msg) {
  138. view.closeProgress();
  139. view.provider.setHasMore(false);
  140. view.provider.setStateType(StateType.network);
  141. });
  142. }
  143. }