YMGuildManagementMyConnectionsViewModel.m 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. //
  2. // YMGuildManagementMyConnectionsViewModel.m
  3. // MSYOUPAI
  4. //
  5. // Created by YoMi on 2024/3/26.
  6. // Copyright © 2024 MS. All rights reserved.
  7. //
  8. #import "YMGuildManagementMyConnectionsViewModel.h"
  9. @interface YMGuildManagementMyConnectionsViewModel ()
  10. /// 当前数据数量
  11. @property (nonatomic, assign) NSInteger currentSize;
  12. /// 列表数据
  13. @property (nonatomic, strong, readwrite) NSMutableArray <GHMemberListModel*>*listDataArray;
  14. @end
  15. @implementation YMGuildManagementMyConnectionsViewModel
  16. - (void)ym_initialize{
  17. [super ym_initialize];
  18. self.customNavTitle = @"公会成员";
  19. self.currentPage = 1;
  20. self.currentSize = 15;
  21. self.memberNumber = @"";
  22. }
  23. - (void)getMyConnectionsListData {
  24. @weakify(self)
  25. [ZCHUDHelper showWithStatus:@"加载中..."];
  26. [LCHttpHelper requestWithURLString:ChatRoom_guildCenter parameters:@{
  27. @"page":@(self.currentPage),
  28. @"number":@(self.currentSize)
  29. } needToken:YES type:HttpRequestTypePost success:^(id responseObject) {
  30. @strongify(self)
  31. NSDictionary* dict = (NSDictionary*)responseObject;
  32. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  33. if (code == 0) {
  34. [ZCHUDHelper dismiss];
  35. NSDictionary *data = [dict dictionaryValueForKey:@"data" defaultValue:@{}];
  36. NSDictionary *resultDic = [data dictionaryValueForKey:@"guildMember" defaultValue:@{}];
  37. NSArray *result = [resultDic arrayValueForKey:@"list" defaultValue:@[]];
  38. self.memberNumber = [NSString stringWithFormat:@"%@",data[@"count"][@"memberNumber"]];
  39. if (self.currentPage == 1) {
  40. [self.listDataArray removeAllObjects];
  41. }
  42. NSArray *modelArray = [NSArray yy_modelArrayWithClass:[GHMemberListModel class] json:result];
  43. [self.listDataArray addObjectsFromArray:modelArray];
  44. if(self.currentPage > 0 && self.currentPage % 5 == 0){
  45. [[SDImageCache sharedImageCache] clearMemory];
  46. }
  47. [self.refreshUISubject sendNext:@(result.count < self.currentSize ? YMFooterRefresh_HasNoMoreData : YMFooterRefresh_HasMoreData)];
  48. }else{
  49. [ZCHUDHelper showTitle:[dict stringValueForKey:@"message" defaultValue:@""]];
  50. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
  51. [self.refreshUISubject sendNext:@(YMRefreshError)];
  52. });
  53. }
  54. } failure:^(NSError *error) {
  55. if(self.currentPage != 1){
  56. self.currentPage--;
  57. }
  58. [ZCHUDHelper showTitle:error.localizedDescription];
  59. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
  60. [self.refreshUISubject sendNext:@(YMRefreshError)];
  61. });
  62. }];
  63. }
  64. - (NSMutableArray<GHMemberListModel *> *)listDataArray{
  65. if (!_listDataArray) {
  66. _listDataArray = [NSMutableArray array];
  67. }
  68. return _listDataArray;
  69. }
  70. @end