search_presenter.dart 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import 'package:liftmanager/internal/search/model/search_entity.dart';
  2. import 'package:liftmanager/internal/search/page/search_page2.dart';
  3. import 'package:liftmanager/mvp/base_page_presenter.dart';
  4. import 'package:liftmanager/net/api_service.dart';
  5. import 'package:liftmanager/net/dio_utils.dart';
  6. import 'package:liftmanager/widgets/state_layout.dart';
  7. class SearchPresenter extends BasePagePresenter<SearchPageState> {
  8. Future search(String text, int page, bool isShowDialog) async{
  9. Map<String, String> params = Map();
  10. params["q"] = text;
  11. params["page"] = page.toString();
  12. params["l"] = "Dart";
  13. await requestNetwork<SearchEntity>(Method.get,
  14. url: ApiUrl.account_smscode,
  15. queryParameters: params,
  16. isShow: isShowDialog,
  17. onSuccess: (data){
  18. if(data != null){
  19. /// 一页30条数据,等于30条认为有下一页
  20. /// 具体的处理逻辑根据具体的接口情况处理,这部分可以抽离出来
  21. view.provider.setHasMore(data.items.length == 30);
  22. if (page == 1){
  23. /// 刷新
  24. view.provider.list.clear();
  25. if (data.items.isEmpty){
  26. view.provider.setStateType(StateType.empty);
  27. }else{
  28. view.provider.addAll(data.items);
  29. }
  30. }else{
  31. view.provider.addAll(data.items);
  32. }
  33. }else{
  34. /// 加载失败
  35. view.provider.setHasMore(false);
  36. view.provider.setStateType(StateType.network);
  37. }
  38. },
  39. onError: (_, __){
  40. /// 加载失败
  41. view.provider.setHasMore(false);
  42. view.provider.setStateType(StateType.network);
  43. }
  44. );
  45. }
  46. }
  47. // class SearchIndexPresenter extends BasePagePresenter<SearchPageState> {
  48. // Future getWalletList(int page) async {
  49. // await NewApiService().getSearchIndex(page,6,1,onSuccess: (res) {
  50. // LogUtil.d(res);
  51. // LogUtil.d(666663);
  52. // view.closeProgress();
  53. // if (res != null) {
  54. // view.provider.setHasMore(res.records.length == 6);
  55. // if(page == 1){
  56. // view.provider.list.clear();
  57. // if (res.records.isEmpty) {
  58. // view.provider.setStateType(StateType.empty);
  59. // } else {
  60. // view.provider.addAll(res.records);
  61. // }
  62. // }else{
  63. // view.provider.addAll(res.records);
  64. // }
  65. // } else {
  66. // /// 加载失败
  67. // view.provider.setHasMore(false);
  68. // view.provider.setStateType(StateType.empty);
  69. // }
  70. // }, onError: (code, msg) {
  71. // view.closeProgress();
  72. // view.provider.setHasMore(false);
  73. // view.provider.setStateType(StateType.network);
  74. // });
  75. // }
  76. // }