123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- //
- // RQWrongAndCollectionCell.m
- // SDJK
- //
- // Created by 张嵘 on 2022/5/23.
- //
- #import "RQWrongAndCollectionCell.h"
- @interface RQWrongAndCollectionCell ()
- @property (nonatomic, readwrite, strong) RQWrongAndCollectionItemViewModel *viewModel;
- @property (weak, nonatomic) IBOutlet UIImageView *myBgImageView;
- @property (weak, nonatomic) IBOutlet UILabel *myTitleLabel;
- @property (weak, nonatomic) IBOutlet UILabel *numLabel;
- @property (weak, nonatomic) IBOutlet UIButton *clearBtn;
- @property (weak, nonatomic) IBOutlet QMUIButton *synBtn;
- @end
- @implementation RQWrongAndCollectionCell
- #pragma mark - PublicMethods
- + (instancetype)cellWithTableView:(UITableView *)tableView {
- static NSString *ID = @"RQWrongAndCollectionCell";
- RQWrongAndCollectionCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
- if (!cell) {
- cell = [self rq_viewFromXib];
- cell.selectionStyle = UITableViewCellSelectionStyleNone;
- cell.clearBtn.layer.cornerRadius = RQ_FIT_HORIZONTAL(30.f) / 2.f;
- cell.synBtn.layer.cornerRadius = RQ_FIT_HORIZONTAL(30.f) / 2.f;
- }
- return cell;
- }
- - (void)bindViewModel:(RQWrongAndCollectionItemViewModel *)viewModel {
- _viewModel = viewModel;
- _myBgImageView.image = RQImageNamed(viewModel.icon);
- _myTitleLabel.text = viewModel.title;
- RAC(_numLabel, text) = [RACObserve(viewModel, subtitle) takeUntil:self.rac_prepareForReuseSignal];
- if ([_myTitleLabel.text isEqualToString:@"做错题"]) {
- [_clearBtn setTitleNormal:@"清空错题"];
- _numLabel.textColor = RQColorFromHexString(@"#B5CFFC");
- [_clearBtn setTitleColor:RQ_MAIN_COLOR forState:UIControlStateNormal];
- [_clearBtn setTapActionWithBlock:^(UITapGestureRecognizer *tap) {
- [NSObject rq_showAlertViewWithTitle:@"温馨提示" message:@"确认要清空错题吗?" confirmTitle:@"确认" cancelTitle:@"关闭" confirmAction:^{
- // [MBProgressHUD rq_showProgressHUD:@"清空中..."];
- // [[RQ_HTTP_Service queryDeleteWrongRecord] subscribeNext:^(id _Nullable x) {
- // [RQ_SDJK_DB_MANAGER deleteAllWrongModelsWithComplete:^(BOOL isSuccess) {
- // [MBProgressHUD rq_hideHUD];
- // if (isSuccess) {
- // [MBProgressHUD rq_showTips:@"清空成功"];
- // } else {
- // [MBProgressHUD rq_showTips:@"清空本地表失败"];
- // }
- // }];
- // } error:^(NSError * _Nullable error) {
- // [MBProgressHUD rq_hideHUD];
- // [MBProgressHUD rq_showErrorTips:error];
- // }];
- [RQ_SDJK_DB_MANAGER deleteAllWrongModelsWithComplete:^(BOOL isSuccess) {
- [MBProgressHUD rq_hideHUD];
- if (isSuccess) {
- [MBProgressHUD rq_showTips:@"清空成功"];
- } else {
- [MBProgressHUD rq_showTips:@"清空本地表失败"];
- }
- }];
- } cancelAction:nil];
- }];
-
- [_synBtn setTitleNormal:@"同步错题"];
- [_synBtn setTitleColor:RQ_MAIN_COLOR forState:UIControlStateNormal];
- // [_synBtn setTapActionWithBlock:^(UITapGestureRecognizer *tap) {
- //
- // }];
- } else {
- [_clearBtn setTitleNormal:@"清空收藏题"];
- _numLabel.textColor = RQColorFromHexString(@"#B5FCD6");
- [_clearBtn setTitleColor:RQ_MAIN_TEXT_COLOR_4 forState:UIControlStateNormal];
- [_clearBtn setTapActionWithBlock:^(UITapGestureRecognizer *tap) {
- [NSObject rq_showAlertViewWithTitle:@"温馨提示" message:@"确认要清空收藏题吗?" confirmTitle:@"确认" cancelTitle:@"关闭" confirmAction:^{
- // [MBProgressHUD rq_showProgressHUD:@"清空中..."];
- // [[RQ_HTTP_Service queryDeleteCollectionRecord] subscribeNext:^(id _Nullable x) {
- // [RQ_SDJK_DB_MANAGER deleteAllCollectionModelsWithComplete:^(BOOL isSuccess) {
- // [MBProgressHUD rq_hideHUD];
- // if (isSuccess) {
- // [MBProgressHUD rq_showTips:@"清空成功"];
- // } else {
- // [MBProgressHUD rq_showTips:@"清空本地表失败"];
- // }
- // }];
- // } error:^(NSError * _Nullable error) {
- // [MBProgressHUD rq_hideHUD];
- // [MBProgressHUD rq_showErrorTips:error];
- // }];
- [RQ_SDJK_DB_MANAGER deleteAllCollectionModelsWithComplete:^(BOOL isSuccess) {
- [MBProgressHUD rq_hideHUD];
- if (isSuccess) {
- [MBProgressHUD rq_showTips:@"清空成功"];
- } else {
- [MBProgressHUD rq_showTips:@"清空本地表失败"];
- }
- }];
- } cancelAction:nil];
- }];
-
- [_synBtn setTitleNormal:@"同步收藏题"];
- [_synBtn setTitleColor:RQ_MAIN_TEXT_COLOR_4 forState:UIControlStateNormal];
- // [_synBtn setTapActionWithBlock:^(UITapGestureRecognizer *tap) {
- //
- // }];
- }
-
- }
- - (IBAction)synBtnAction:(id)sender {
- BOOL isCollect = [self.synBtn.titleLabel.text isEqualToString:@"同步收藏题"];
- LCActionSheet *sheet = [LCActionSheet sheetWithTitle:@"" cancelButtonTitle:@"取消" clicked:^(LCActionSheet * _Nonnull actionSheet, NSInteger buttonIndex) {
- switch (buttonIndex) {
- case 1: {
- [QMUITips showLoading:@"合并中..." inView:DefaultTipsParentView];
- if (isCollect) {
- [[RQ_HTTP_Service postCollectionsWithSubject:self.viewModel.homePageSubjectType] subscribeNext:^(id _Nullable x) {
- [[RQ_HTTP_Service getAppCollectionByUserWithSubject:self.viewModel.homePageSubjectType] subscribeNext:^(NSArray *collectionModelArr) {
- [RQ_SDJK_DB_MANAGER addCollectionRecordWithRQCollectionModelArr:collectionModelArr isClearOldData:YES complete:^(BOOL isSuccess, NSError * _Nullable error) {
- [QMUITips hideAllTips];
- if (isSuccess) {
- [RQ_SDJK_DB_MANAGER refreshCollectCount];
- [QMUITips showSucceed:@"合并成功"];
- }
- }];
- } error:^(NSError * _Nullable error) {
- [QMUITips hideAllTips];
- [QMUITips showError:[NSError rq_tipsFromError:error]];
- }];
- } error:^(NSError * _Nullable error) {
- [QMUITips hideAllTips];
- [QMUITips showError:[NSError rq_tipsFromError:error]];
- }];
- } else {
- [[RQ_HTTP_Service postWrongsWithSubject:self.viewModel.homePageSubjectType] subscribeNext:^(id _Nullable x) {
- [[RQ_HTTP_Service getAppWrongByUserWithSubject:self.viewModel.homePageSubjectType] subscribeNext:^(NSArray *wrongModelArr) {
- [RQ_SDJK_DB_MANAGER addWrongRecordWithRQWrongModelArr:wrongModelArr isClearOldData:YES complete:^(BOOL isSuccess, NSError * _Nullable error) {
- [QMUITips hideAllTips];
- if (isSuccess) {
- [RQ_SDJK_DB_MANAGER refreshWrongCount];
- [QMUITips showSucceed:@"合并成功"];
- }
- }];
- } error:^(NSError * _Nullable error) {
- [QMUITips hideAllTips];
- [QMUITips showError:[NSError rq_tipsFromError:error]];
- }];
- } error:^(NSError * _Nullable error) {
- [QMUITips hideAllTips];
- [QMUITips showError:[NSError rq_tipsFromError:error]];
- }];
- }
- break;
- }
- case 2: {
- [QMUITips showLoading:@"备份中..." inView:DefaultTipsParentView];
- if (isCollect) {
- [[RQ_HTTP_Service postBakCollectionsWithSubject:self.viewModel.homePageSubjectType] subscribeNext:^(id _Nullable x) {
- [QMUITips hideAllTips];
- [QMUITips showSucceed:@"备份成功"];
- } error:^(NSError * _Nullable error) {
- [QMUITips hideAllTips];
- [QMUITips showError:[NSError rq_tipsFromError:error]];
- }];
- } else {
- [[RQ_HTTP_Service postBakWrongsWithSubject:self.viewModel.homePageSubjectType] subscribeNext:^(id _Nullable x) {
- [QMUITips hideAllTips];
- [QMUITips showSucceed:@"备份成功"];
- } error:^(NSError * _Nullable error) {
- [QMUITips hideAllTips];
- [QMUITips showError:[NSError rq_tipsFromError:error]];
- }];
- }
- break;
- }
-
- case 3: {
- [QMUITips showLoading:@"恢复中..." inView:DefaultTipsParentView];
- if (isCollect) {
- [[RQ_HTTP_Service getAppCollectionByUserWithSubject:self.viewModel.homePageSubjectType] subscribeNext:^(NSArray *collectionModelArr) {
- [RQ_SDJK_DB_MANAGER addCollectionRecordWithRQCollectionModelArr:collectionModelArr isClearOldData:YES complete:^(BOOL isSuccess, NSError * _Nullable error) {
- [QMUITips hideAllTips];
- if (isSuccess) {
- [RQ_SDJK_DB_MANAGER refreshCollectCount];
- [QMUITips showSucceed:@"恢复成功"];
- }
- }];
- } error:^(NSError * _Nullable error) {
- [QMUITips hideAllTips];
- [QMUITips showError:[NSError rq_tipsFromError:error]];
- }];
- } else {
- [[RQ_HTTP_Service getAppWrongByUserWithSubject:self.viewModel.homePageSubjectType] subscribeNext:^(NSArray *wrongModelArr) {
- [RQ_SDJK_DB_MANAGER addWrongRecordWithRQWrongModelArr:wrongModelArr isClearOldData:YES complete:^(BOOL isSuccess, NSError * _Nullable error) {
- [QMUITips hideAllTips];
- if (isSuccess) {
- [RQ_SDJK_DB_MANAGER refreshWrongCount];
- [QMUITips showSucceed:@"恢复成功"];
- }
- }];
- } error:^(NSError * _Nullable error) {
- [QMUITips hideAllTips];
- [QMUITips showError:[NSError rq_tipsFromError:error]];
- }];
- }
- break;
- }
-
- default:
- break;
- }
-
- } otherButtonTitles:isCollect? @"合并本机和云端收藏" : @"合并本机和云端错题",isCollect? @"备份本机收藏到云端" : @"备份本机错题到云端",isCollect? @"恢复云端收藏到本机" : @"恢复云端错题到本机", nil];
- sheet.buttonFont = RQRegularFont_16;
- sheet.buttonColor = RQ_MAIN_TEXT_COLOR_1;
- sheet.buttonHeight = 60.f;
- [sheet show];
- }
- #pragma mark - SystemMethods
- - (void)awakeFromNib {
- [super awakeFromNib];
- }
- - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
- [super setSelected:selected animated:animated];
- }
- @end
|