// // RQTimeADCell.m // jiaPei // // Created by 张嵘 on 2022/11/28. // Copyright © 2022 JCZ. All rights reserved. // #import "RQTimeADCell.h" @interface RQTimeADCell () @property (nonatomic, readwrite, strong) RQTimeADItemViewModel *viewModel; @property (nonatomic, readwrite, strong) SDCycleScrollView *myCycleScrollView; @property (nonatomic, readwrite, strong) NSArray *adArray; @end @implementation RQTimeADCell #pragma mark - PublicMethods + (instancetype)cellWithCollectionView:(UICollectionView *)collectionView forIndexPath:(NSIndexPath *)indexPath { static NSString *ID = @"RQTimeADCell"; [collectionView registerNib:[UINib nibWithNibName:ID bundle:nil] forCellWithReuseIdentifier:ID]; RQTimeADCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:ID forIndexPath:indexPath]; if (!cell) cell = [self rq_viewFromXib]; return cell; } - (void)bindViewModel:(RQTimeADItemViewModel *)viewModel { self.viewModel = viewModel; if (self.adArray.count > 0) { NSMutableArray *arr = [self.adArray.rac_sequence map:^id _Nullable(NSDictionary *dic) { return dic[@"IMG"]; }].array.mutableCopy; if (arr.count >= 1) { [arr insertObject:@"RQ-AD" atIndex:1]; } else { [arr addObject:@"RQ-AD"]; } self.myCycleScrollView.imageURLStringsGroup = arr.copy; } else { } } #pragma mark - SystemMethods - (void)awakeFromNib { [super awakeFromNib]; [self addSubview:self.myCycleScrollView]; } #pragma mark - SDCycleScrollViewDelegate - (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index { if (self.adArray.count >= 1) { if (index == 1) return; } else { if (index >= self.adArray.count) return; } @synchronized (self.adArray) { NSDictionary *dic= self.adArray[index]; [RQ_SHARE_FUNCTION saveObjectWithObject:dic ForKey:@"currentSelectDic"]; NSString *skipType = dic[@"OPENTYPE"]; if ([skipType isEqualToString:@"1"]) { [RQ_SHARE_FUNCTION gotoWebViewWithUrlStr:dic[@"URL"]]; }else{ if ([dic[@"ADTYPE"] isEqualToString:@"2"]) { [RQ_SHARE_FUNCTION miniwithUserName:dic[@"URL"] path:dic[@"AI_XCX_URL"]? : @""]; } else if ([dic[@"ADTYPE"] isEqualToString:@"1"]) { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:dic[@"URL"]] options:@{} completionHandler:^(BOOL success) { }]; } else if ([dic[@"ADTYPE"] isEqualToString:@"3"]) { WXSubscribeMsgReq *req = [[WXSubscribeMsgReq alloc] init]; req.scene = 1; req.templateId = @"1iZwYeI2QtSXZ3rTRkQ42wgRkd7NSINzem8R-LvtHYw"; req.reserved = @""; [WXApi sendReq:req completion:nil]; } } } } - (SDCycleScrollView *)myCycleScrollView { if (!_myCycleScrollView) { _myCycleScrollView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectMake(16, 8, RQ_SCREEN_WIDTH - 32.f, (RQ_SCREEN_WIDTH - 32.f) * (80 / 345.f)) imageNamesGroup:@[@"adPlaceHolder"]]; _myCycleScrollView.layer.cornerRadius = 10.f; _myCycleScrollView.layer.masksToBounds = YES; _myCycleScrollView.localizationImageNamesGroup = @[@"adPlaceHolder"]; _myCycleScrollView.delegate = self; _myCycleScrollView.autoScrollTimeInterval = 5; _myCycleScrollView.placeholderImage = RQImageNamed(@"adPlaceHolder"); _myCycleScrollView.bannerImageViewContentMode = UIViewContentModeScaleAspectFill; } return _myCycleScrollView; } - (NSArray *)adArray { //广告 NSMutableArray *newAD = [NSMutableArray array]; for (NSDictionary *dic in myDelegate.adArray) { if ([dic[@"LOCATION"] isEqualToString:@"6"]) { [newAD addObject:dic]; } } return newAD.copy; } @end