controller.dart 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import 'package:electronic_assistant/base/base_controller.dart';
  2. import 'package:flutter/cupertino.dart';
  3. import 'package:get/get_rx/src/rx_types/rx_types.dart';
  4. import 'package:pull_to_refresh/pull_to_refresh.dart';
  5. import '../../../data/bean/talks.dart';
  6. import '../../../data/repositories/talk_repository.dart';
  7. import '../../../utils/error_handler.dart';
  8. class FileSearchController extends BaseController {
  9. final refreshController = RefreshController(initialRefresh: false);
  10. int page = 1;
  11. int pageSize = 10;
  12. @override
  13. void onReady() {
  14. super.onReady();
  15. onRefreshData();
  16. }
  17. RxList<TalkBean> get talkList => talkRepository.talkList;
  18. void requestTalkData({int page = 1}) {
  19. talkRepository.requestTalkPagePaginate(page, pageSize).then((response) {
  20. debugPrint("requestTalkData-response-$response");
  21. if (talkRepository.talkList.length >= response.count) {
  22. debugPrint("requestTalkData-没有更多数据了");
  23. refreshController.loadNoData();
  24. } else {
  25. refreshController.loadComplete();
  26. }
  27. refreshController.refreshCompleted();
  28. }).catchError((error) {
  29. debugPrint("requestTalkData-catchError-$error");
  30. refreshController.loadFailed();
  31. refreshController.refreshFailed();
  32. ErrorHandler.toastError(error);
  33. });
  34. }
  35. void onRefreshData() {
  36. page = 1;
  37. requestTalkData(page: page);
  38. }
  39. void onLoadMoreTalkData() {
  40. requestTalkData(page: ++page);
  41. }
  42. }