search_presenter.dart 2.9 KB

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