CNLiveListManager.m 2.63 KB
//
//  CNLiveListManager.m
//  CNLiveVideoClassifyKit
//
//  Created by CNLive on 2021/9/8.
//

#import "CNLiveListManager.h"
#import "CNCategoryGetChannelModel.h"
#import <CNLiveCWebViewModule/CNLiveCWebViewModule.h>
#import <CNLiveCWebViewModule/CNLiveSubWebViewController.h>

@interface CNLiveListManager()
{
    BOOL _black;
    CNCategoryGetChannelModel *_model;
    CGFloat beginoffsetY;
    NSString *_backImage, *_backColor ,*_backImageH5;
}
@end

@implementation CNLiveListManager
+(instancetype)shareListManager
{
    static dispatch_once_t onceToken;
    static CNLiveListManager *manager = nil;
    dispatch_once(&onceToken, ^{
        manager = [[CNLiveListManager alloc] init];
    });
    return manager;
}


-(void)model:(CNCategoryGetChannelModel *)model black:(BOOL)black bgImage:(NSString *)bgImage bgColor:(nonnull NSString *)bgColor bgImageH5:(nonnull NSString *)bgImageH5
{
    _model = model;
    _black = black;
    _backImage = bgImage;
    _backColor = bgColor;
    _backImageH5 = bgImageH5;
}
- (void)requestWebViewForScrollView:(nonnull UIScrollView *)scrollView isBeginDragging:(BOOL)isBeginDragging
{
    if (isBeginDragging) {
        beginoffsetY = scrollView.offsetY;
    }else
    {
        if (scrollView.offsetY - beginoffsetY>2) {
            !self.scrollViewDidScrollBlock ?: self.scrollViewDidScrollBlock(YES);
        }else if (scrollView.offsetY - beginoffsetY<-2) {
            !self.scrollViewDidScrollBlock ?: self.scrollViewDidScrollBlock(NO);
        }
    }
}


#pragma mark - JXCategoryListContentViewDelegate

/**
 实现 <JXCategoryListContentViewDelegate> 协议方法,返回该视图控制器所拥有的「视图」
 */
- (UIView *)listView {
    NSDictionary * paramDic = nil;
    if ([_model.pageType isEqualToString:@"4"] || [_model.pageType isEqualToString:@"5"]){
         paramDic= @{
             @"title": _model.showName?_model.showName:@"",
            @"bgColor": _backColor?_backColor:@"",
            @"isBlack":@(_black),
             @"backgroundImg": _backImage?_backImage:@"",
             @"channelId":_model.channelId?_model.channelId:@"",
             @"channelName":_model.id?_model.id:@"",
             @"pageId":_model.pageId?_model.pageId:@""
            
        };
    }else{
         paramDic= @{
            @"title": _model.showName,
            @"bgColor": _backColor,
            @"isBlack":@(_black),
            @"thirdUrl":_model.thirdUrl,
            @"backgroundImgH5":_backImageH5
        };
    }
    UIViewController *subVC = [CNLiveClassifyJumpBridge ListViewWithPageType:_model.pageType.integerValue param:paramDic];
    [self.contentVC addChildViewController:subVC];
    return subVC.view;
}
@end