123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- //
- // 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
|