// // MyChildViewController.m // LekangGuard // // Created by ecell on 2023/7/27. // #import "MyChildViewController.h" #import "CommMessageTableViewCell.h" #import "CommMessageDetailsViewController.h" @interface MyChildViewController () @property (nonatomic ,strong) CommonTableView *msgTable; @property (nonatomic ,assign) NSInteger page; @end @implementation MyChildViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.page = 1; self.view.backgroundColor = KKBackgroundGrey; [self.view addSubview:self.msgTable]; [self.msgTable mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; [UICommon MessageUpload:@"加载中"]; [self getMessageList:TableisReload_h]; } - (CommonTableView *)msgTable { if (!_msgTable) { kWeakSelf(self) _msgTable = [[CommonTableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain cellHeight:50 cellRow:0 isAdaptive:YES isLine:NO commonCell:CommMessageTableViewCell.class createCell:^(ZZTableViewCell * _Nonnull cells, NSIndexPath * _Nonnull indexPath) { CommMessageTableViewCell *cell = (CommMessageTableViewCell *)cells; cell.redModel = self.modelListArr[indexPath.row]; } selectedCell:^(UITableView * _Nonnull tableView, NSIndexPath * _Nonnull indexPath) { RedFlowerModel *redModel = self.modelListArr[indexPath.row]; if (redModel.receiveStatus == 0) [weakself setMessageRead:redModel IndexPath:indexPath]; } DidscrollView:^(UIScrollView * _Nonnull scrollView) { }]; _msgTable.backgroundColor = KKClearColor; _msgTable.emptyDataSetSource = self; _msgTable.emptyDataSetDelegate = self; [_msgTable bindHeadRefreshHandler:^{ [UICommon feedbackGenerator]; [weakself getMessageList:TableisReload_h]; } themeColor:KKMainColor refreshStyle:KafkaRefreshStyleReplicatorWoody]; [_msgTable bindFootRefreshHandler:^{ [weakself getMessageList:TableisReload_f]; } themeColor:KKMainColor refreshStyle:KafkaRefreshStyleReplicatorWoody]; } return _msgTable; } #pragma mark 获取校园通知 /// 获取校园通知 - (void)getMessageList:(TableisReload)isReload { kWeakSelf(self) if (isReload == TableisReload_h) { self.page = 1; [self.modelListArr removeAllObjects]; } NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; [parameters setValue:@(self.page) forKey:@"current"]; [parameters setValue:@(20) forKey:@"pageSize"]; [parameters setValue:@(1) forKey:@"flag"]; [[[APIManager sharedManager] APGET:ReadFlowerList_GET_URL parameters:parameters resultClass:BaseModel.class] subscribeNext:^(BaseModel *obj) { [UICommon HidenLoading]; if (ARRAYHASVALUE(obj.records)) { [weakself.msgTable.headRefreshControl endRefreshingWithAlertText:@"已为你加载最新数据~" completion:^{}]; [weakself.msgTable.footRefreshControl endRefreshing]; for (NSDictionary *dic in obj.records) { RedFlowerModel *model = [RedFlowerModel yy_modelWithJSON:dic]; [self.modelListArr addObject:model]; } weakself.page++; weakself.msgTable.footRefreshControl.hidden = obj.records.count < KSizeNO ? YES : NO; weakself.msgTable.cellRow = self.modelListArr.count; [weakself.msgTable reloadData]; } } error:^(NSError * _Nullable error) { NSDictionary *dic = error.userInfo; [UICommon MessageErrorText:dic[NSLocalizedDescriptionKey]]; }]; } #pragma mark 消息已读 /// 消息已读 - (void)setMessageRead:(RedFlowerModel *)redModel IndexPath:(NSIndexPath *_Nonnull)indexPath { NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; NSString *url = F(@"%@%@", ReadOwnFlowerStatus_GET_URL,redModel.Id); [[[APIManager sharedManager] APGET:url parameters:parameters resultClass:BaseModel.class] subscribeNext:^(id _Nullable x) { [UICommon HidenLoading]; for (int i = 0; i < self.modelListArr.count; i++) { RedFlowerModel *model = self.modelListArr[i]; if (model.Id == redModel.Id) { [self.modelListArr removeObject:model]; redModel.receiveStatus = 1; [self.modelListArr replaceObjectAtIndex:i withObject:redModel]; break; } } [self.msgTable reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationNone]; } error:^(NSError * _Nullable error) { NSDictionary *dic = error.userInfo; [UICommon MessageErrorText:dic[NSLocalizedDescriptionKey]]; }]; } /* #pragma mark - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller. } */ @end