YXMessageListViewController.m 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. //
  2. // YXMessageListViewController.m
  3. // Temperature
  4. //
  5. // Created by TC on 2025/3/24.
  6. //
  7. #import "YXMessageListViewController.h"
  8. #import "YXMsgListTableViewCell.h"
  9. #import "YXMessageDetailViewController.h"
  10. #import "YXMsgUnreadModel.h"
  11. #import "RDSRootControl.h"
  12. @interface YXMessageListViewController ()<UITableViewDataSource,UITableViewDelegate>
  13. @property (weak, nonatomic) UITableView *tableView;
  14. @property (copy, nonatomic) NSArray *dataArray;
  15. @property (strong, nonatomic)YXMsgUnreadModel *model;
  16. @end
  17. @implementation YXMessageListViewController
  18. - (void)viewDidLoad {
  19. [super viewDidLoad];
  20. self.view.backgroundColor = [UIColor colorWithHexString:@"#F9F9F9"];
  21. self.navigationItem.title = @"消息";
  22. self.dataArray = @[@"系统消息",@"设备消息",@"活动消息"];
  23. [self createTableView];
  24. }
  25. -(void)viewWillAppear:(BOOL)animated
  26. {
  27. [super viewWillAppear:animated];
  28. [self p_getUnreadList];
  29. }
  30. -(void)p_getUnreadList
  31. {
  32. RDS_WEAKSELF(weakSelf)
  33. [RDSDemoApiHelper rds_getUnreadMessageSuccess:^(id responseObject) {
  34. if ([responseObject[@"code"] intValue] == 9999) {
  35. [RDSRootControl shareControl].isLoginSuccess = NO;
  36. TheDataManager.token = @"";
  37. }
  38. if ([responseObject[@"code"] intValue] == 0) {
  39. NSDictionary *dataDic = responseObject[@"data"];
  40. NSDictionary *listDic = dataDic[@"list"];
  41. weakSelf.model = [YXMsgUnreadModel mj_objectWithKeyValues:listDic];
  42. [weakSelf.tableView reloadData];
  43. } else{
  44. [RDSHudShower showBottomToast:responseObject[@"message"]];
  45. }
  46. } failure:^(NSError *error) {
  47. }];
  48. }
  49. -(void)createTableView
  50. {
  51. UITableView *tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height - kNavHeight - kTabbarHeight) style:UITableViewStyleGrouped];
  52. tableView.delegate = self;
  53. tableView.dataSource = self;
  54. tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  55. [tableView registerNib:[UINib nibWithNibName:@"YXMsgListTableViewCell" bundle:nil] forCellReuseIdentifier:@"msgListCellID"];
  56. tableView.backgroundColor = [UIColor colorWithHexString:@"#F9F9F9"];
  57. [self.view addSubview:tableView];
  58. self.tableView = tableView;
  59. }
  60. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  61. {
  62. return 1;
  63. }
  64. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  65. {
  66. return self.dataArray.count;
  67. }
  68. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  69. {
  70. YXMsgListTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"msgListCellID" forIndexPath:indexPath];
  71. cell.selectionStyle = UITableViewCellSelectionStyleNone;
  72. if (indexPath.row == 0) {
  73. cell.picImgView.image = [UIImage imageNamed:@"home_msg_system"];
  74. cell.detailLabel.text = self.model.system.content;
  75. cell.timeLabel.text = self.model.system.last_time;
  76. if ([self.model.system.unread_count integerValue] == 0) {
  77. cell.numLabel.hidden = YES;
  78. }else{
  79. cell.numLabel.hidden = NO;
  80. cell.numLabel.text = [self.model.system.unread_count stringValue];
  81. }
  82. } else if (indexPath.row == 1) {
  83. cell.picImgView.image = [UIImage imageNamed:@"home_msg_device"];
  84. cell.detailLabel.text = self.model.device.content;
  85. cell.timeLabel.text = self.model.device.last_time;
  86. if ([self.model.device.unread_count integerValue] == 0) {
  87. cell.numLabel.hidden = YES;
  88. }else{
  89. cell.numLabel.hidden = NO;
  90. cell.numLabel.text = [self.model.device.unread_count stringValue];
  91. }
  92. } else if (indexPath.row == 2) {
  93. cell.picImgView.image = [UIImage imageNamed:@"home_msg_active"];
  94. cell.detailLabel.text = self.model.activity.content;
  95. cell.timeLabel.text = self.model.activity.last_time;
  96. if ([self.model.activity.unread_count integerValue] == 0) {
  97. cell.numLabel.hidden = YES;
  98. }else{
  99. cell.numLabel.hidden = NO;
  100. cell.numLabel.text = [self.model.activity.unread_count stringValue];
  101. }
  102. }
  103. cell.titleLabel.text = self.dataArray[indexPath.row];
  104. return cell;
  105. }
  106. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
  107. {
  108. YXMessageDetailViewController *detailVc = [[YXMessageDetailViewController alloc]init];
  109. if (indexPath.row == 0) {
  110. detailVc.type = @"1";
  111. } else if (indexPath.row == 1) {
  112. detailVc.type = @"2";
  113. } else if (indexPath.row == 2) {
  114. detailVc.type = @"3";
  115. }
  116. [self.navigationController pushViewController:detailVc animated:YES];
  117. }
  118. -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
  119. {
  120. UIView *headerView = [[UIView alloc]init];
  121. return headerView;
  122. }
  123. -(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
  124. {
  125. UIView *footerView = [[UIView alloc]init];
  126. return footerView;
  127. }
  128. -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
  129. {
  130. return 10;
  131. }
  132. -(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
  133. {
  134. return 0.01;
  135. }
  136. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
  137. {
  138. return 85;
  139. }
  140. /*
  141. #pragma mark - Navigation
  142. // In a storyboard-based application, you will often want to do a little preparation before navigation
  143. - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  144. // Get the new view controller using [segue destinationViewController].
  145. // Pass the selected object to the new view controller.
  146. }
  147. */
  148. @end