// // YXMessageListViewController.m // Temperature // // Created by TC on 2025/3/24. // #import "YXMessageListViewController.h" #import "YXMsgListTableViewCell.h" #import "YXMessageDetailViewController.h" #import "YXMsgUnreadModel.h" #import "RDSRootControl.h" @interface YXMessageListViewController () @property (weak, nonatomic) UITableView *tableView; @property (copy, nonatomic) NSArray *dataArray; @property (strong, nonatomic)YXMsgUnreadModel *model; @end @implementation YXMessageListViewController - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor colorWithHexString:@"#F9F9F9"]; self.navigationItem.title = @"消息"; self.dataArray = @[@"系统消息",@"设备消息",@"活动消息"]; [self createTableView]; } -(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self p_getUnreadList]; } -(void)p_getUnreadList { RDS_WEAKSELF(weakSelf) [RDSDemoApiHelper rds_getUnreadMessageSuccess:^(id responseObject) { if ([responseObject[@"code"] intValue] == 9999) { [RDSRootControl shareControl].isLoginSuccess = NO; TheDataManager.token = @""; } if ([responseObject[@"code"] intValue] == 0) { NSDictionary *dataDic = responseObject[@"data"]; NSDictionary *listDic = dataDic[@"list"]; weakSelf.model = [YXMsgUnreadModel mj_objectWithKeyValues:listDic]; [weakSelf.tableView reloadData]; } else{ [RDSHudShower showBottomToast:responseObject[@"message"]]; } } failure:^(NSError *error) { }]; } -(void)createTableView { UITableView *tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height - kNavHeight - kTabbarHeight) style:UITableViewStyleGrouped]; tableView.delegate = self; tableView.dataSource = self; tableView.separatorStyle = UITableViewCellSeparatorStyleNone; [tableView registerNib:[UINib nibWithNibName:@"YXMsgListTableViewCell" bundle:nil] forCellReuseIdentifier:@"msgListCellID"]; tableView.backgroundColor = [UIColor colorWithHexString:@"#F9F9F9"]; [self.view addSubview:tableView]; self.tableView = tableView; } - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return self.dataArray.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { YXMsgListTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"msgListCellID" forIndexPath:indexPath]; cell.selectionStyle = UITableViewCellSelectionStyleNone; if (indexPath.row == 0) { cell.picImgView.image = [UIImage imageNamed:@"home_msg_system"]; cell.detailLabel.text = self.model.system.content; cell.timeLabel.text = self.model.system.last_time; if ([self.model.system.unread_count integerValue] == 0) { cell.numLabel.hidden = YES; }else{ cell.numLabel.hidden = NO; cell.numLabel.text = [self.model.system.unread_count stringValue]; } } else if (indexPath.row == 1) { cell.picImgView.image = [UIImage imageNamed:@"home_msg_device"]; cell.detailLabel.text = self.model.device.content; cell.timeLabel.text = self.model.device.last_time; if ([self.model.device.unread_count integerValue] == 0) { cell.numLabel.hidden = YES; }else{ cell.numLabel.hidden = NO; cell.numLabel.text = [self.model.device.unread_count stringValue]; } } else if (indexPath.row == 2) { cell.picImgView.image = [UIImage imageNamed:@"home_msg_active"]; cell.detailLabel.text = self.model.activity.content; cell.timeLabel.text = self.model.activity.last_time; if ([self.model.activity.unread_count integerValue] == 0) { cell.numLabel.hidden = YES; }else{ cell.numLabel.hidden = NO; cell.numLabel.text = [self.model.activity.unread_count stringValue]; } } cell.titleLabel.text = self.dataArray[indexPath.row]; return cell; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { YXMessageDetailViewController *detailVc = [[YXMessageDetailViewController alloc]init]; if (indexPath.row == 0) { detailVc.type = @"1"; } else if (indexPath.row == 1) { detailVc.type = @"2"; } else if (indexPath.row == 2) { detailVc.type = @"3"; } [self.navigationController pushViewController:detailVc animated:YES]; } -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *headerView = [[UIView alloc]init]; return headerView; } -(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { UIView *footerView = [[UIView alloc]init]; return footerView; } -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 10; } -(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { return 0.01; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 85; } /* #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