SKStrangerInterceptViewController.m 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. //
  2. // StrangerInterceptViewController.m
  3. // Artimenring
  4. //
  5. // Created by 振兴 刘 on 16/4/22.
  6. // Copyright © 2016年 BaH Cy. All rights reserved.
  7. //
  8. #import "SKStrangerInterceptViewController.h"
  9. #import "EBaseHeaderView.h"
  10. #import "EBaseTableViewCell.h"
  11. #import "SKStrangerInterceptRecordViewController.h"
  12. #import <UMMobClick/MobClick.h>
  13. @interface SKStrangerInterceptViewController ()
  14. @property(nonatomic, strong) StrangerInterceptModel* strangerModel;
  15. @property(nonatomic, strong) IBOutlet UITableView* mTableView;
  16. @end
  17. @implementation SKStrangerInterceptViewController
  18. - (void)viewDidLoad {
  19. [super viewDidLoad];
  20. // Do any additional setup after loading the view.
  21. if (@available(iOS 11.0, *)) {
  22. [self.navigationItem setLargeTitleDisplayMode:UINavigationItemLargeTitleDisplayModeAlways];
  23. self.edgesForExtendedLayout = UIRectEdgeAll;
  24. }
  25. [self.navigationController setNavigationBarHidden:NO];
  26. self.title = NSLocalizedString(@"WS.JJMSR", nil);
  27. [self requestSwitchFlag];
  28. [self checkWatchStatus:nil];
  29. }
  30. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  31. @weakify(self);
  32. static NSString *cellID = @"StrangerInterceptViewCellID";
  33. EBaseTableViewCell *cell = (EBaseTableViewCell*)[tableView dequeueReusableCellWithIdentifier:cellID];
  34. if(cell == nil) {
  35. cell = [EUtil getBundleView:@"EBaseTableViewCell"];
  36. }
  37. cell.tag = indexPath.row;
  38. [cell.mFirstView setHidden:indexPath.row != 0];
  39. [cell.mSecondView setHidden:indexPath.row == 0];
  40. [cell.mThirdView setHidden:YES];
  41. switch (indexPath.row) {
  42. case 0: {
  43. cell.mFirstTitleLabel.text = NSLocalizedString(@"SI.Cell.Title.1", nil);
  44. cell.mFirstDetailTextLabel.text = NSLocalizedString(@"SI.Cell.Title.Content.1", nil);
  45. [cell.mFirstSwitchBtn setOn: self.strangerModel.toggle > 0];
  46. cell.mBaseTableViewCellCallback = ^(NSInteger index, NSInteger flag) {
  47. [weak_self uploadSwitchFlag:flag];
  48. };
  49. cell.accessoryType = UITableViewCellAccessoryNone;
  50. break;
  51. }
  52. case 1: {
  53. cell.mSecondTitleLabel.text = NSLocalizedString(@"SI.Cell.Title.2", nil);
  54. cell.mSecondDetailTextLabel.text = NSLocalizedString(@"SI.Cell.Title.Content.2", nil);
  55. cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
  56. break;
  57. }
  58. default:
  59. break;
  60. }
  61. return cell;
  62. }
  63. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
  64. [self.mTableView deselectRowAtIndexPath:indexPath animated:YES];
  65. if (indexPath.section == 1) {
  66. switch (indexPath.row) {
  67. case 1:
  68. [self showStrangerInterceptRecord];
  69. break;
  70. default:
  71. break;
  72. }
  73. }
  74. }
  75. - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
  76. if (section == 0) {
  77. EBaseHeaderView *baseView = [EUtil getBundleView:@"EBaseHeaderView"];
  78. [baseView setFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_WIDTH*0.576)];
  79. [baseView.mBaseHeaderImage setImage:[UIImage imageNamed:@"banner_stranger"]];
  80. return baseView;
  81. } else {
  82. return nil;
  83. }
  84. }
  85. - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
  86. if (section == 0)
  87. return SCREEN_WIDTH*0.576;
  88. else
  89. return 0;
  90. }
  91. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
  92. return 2;
  93. }
  94. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
  95. if (section == 0)
  96. return 0;
  97. else
  98. return 1;
  99. }
  100. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
  101. if (indexPath.section == 1 && indexPath.row == 0)
  102. return 78;
  103. else
  104. return 64;
  105. }
  106. - (void)requestSwitchFlag {
  107. @weakify(self);
  108. NSMutableDictionary *param = [[NSMutableDictionary alloc] init];
  109. param[@"cid"] = [DataManager shared].mSelectChildModel.cid;
  110. [self ShowHUBWithText:NSLocalizedString(@"Request.Updating", nil)];
  111. [ERequest httpRequest:param httpURL:URL_STRANGER httpMethod:@"GET" onSuccess:^(NSDictionary *result){
  112. [self HiddenHUB];
  113. if([ERequest isSuccessWithResult:result]) {
  114. weak_self.strangerModel = [StrangerInterceptModel mj_objectWithKeyValues:result[@"data"]];
  115. [weak_self.mTableView reloadData];
  116. } else {
  117. [EasyTextView showErrorText:result[@"message"]];
  118. }
  119. } onFailure:^(NSError *error) {
  120. [weak_self HiddenHUB];
  121. [EasyTextView showErrorText:NSLocalizedString(@"Network.Error", nil)];
  122. }];
  123. }
  124. - (void)uploadSwitchFlag:(NSInteger)flag {
  125. @weakify(self);
  126. NSMutableDictionary* param = [[NSMutableDictionary alloc] init];
  127. param[@"cid"] = [DataManager shared].mSelectChildModel.cid;
  128. param[@"toggle"] = @(flag);
  129. [self ShowHUBWithText:NSLocalizedString(@"Request.Updating", nil)];
  130. [ERequest httpRequest:param httpURL:URL_STRANGER httpMethod:@"POST" onSuccess:^(NSDictionary *result){
  131. [self HiddenHUB];
  132. if([ERequest isSuccessWithResult:result]) {
  133. weak_self.strangerModel.toggle = flag;
  134. } else {
  135. [EasyTextView showErrorText:result[@"message"]];
  136. [weak_self.mTableView reloadData];
  137. }
  138. }onFailure:^(NSError *error) {
  139. [weak_self HiddenHUB];
  140. [weak_self.mTableView reloadData];
  141. [EasyTextView showErrorText:NSLocalizedString(@"Network.Error", nil)];
  142. }];
  143. }
  144. - (void)showStrangerInterceptRecord {
  145. [MobClick event:@"showStrangerInterceptRecord"];
  146. UIViewController *controller = [[self storyboard] instantiateViewControllerWithIdentifier:@"StrangerInterceptRecordVC"];
  147. [self pushViewController:controller animated:YES];
  148. }
  149. @end