// // QXCClassSDKHeader.h // QXCClassSDK // // Created by 王博 on 2019/1/14. // Copyright © 2019年 k. All rights reserved. // #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> #import "QXCClassParams.h" #import "QXCProductModel.h" NS_ASSUME_NONNULL_BEGIN @protocol QXCClassSDKHeaderDelegate <NSObject> @required -(void)closeLiveClass; @optional -(void)exitMultiScreenAssistant; -(void)enterRoomServerSuccess; /**用户点击公告里的链接,如外部没有实现使用默认webview加载,如外部实现该代理内部不做任何操作**/ -(void)userClickUrlByTopTipMsg:(NSString*)url; /**用户点击直播带货里的链接,如外部没有实现使用默认webview加载,如外部实现该代理内部不做任何操作**/ -(void)userClickProduct:(NSDictionary*)dic; /**用户点击助教聊天区发送的链接,如外部没有实现使用默认webview加载,如外部实现该代理内部不做任何操作**/ -(void)userClickChatLink:(NSString*)url; -(void)liveEndNotify:(NSDictionary*)dic; -(void)willEnterPicInPicLive; -(void)willResumeByPicInPic; @end @interface QXCClassSDKHeader : NSObject +(instancetype)getInstance; +(void)destoryInstance; @property (nonatomic,weak) id<QXCClassSDKHeaderDelegate> delegate; /**获取直播VC**/ -(UIViewController*)getQXCClassLiveVC; /**获取直播IpadVC**/ -(UIViewController*)getIpadQXCClassLiveVC; /**获取直播老师端VC**/ -(UIViewController*)getTeaLiveClassVC; /**获取老师端Ipad VC**/ -(UIViewController*)getTeaIpadLiveClassVC; /**获取大直播学生端VC**/ -(UIViewController*)getBigLiveClassVC; /**获取大直播老师端VC**/ -(UIViewController*)getTeaBigLiveClassVC; /**获取Ipad大直播VC**/ -(UIViewController*)getIpadBigLiveClassVC; /**获取Ipad大直播老师端VC**/ -(UIViewController*)getTeaIpadBigLiveClassVC; /**获取融合小课堂VC**/ -(UIViewController*)getSmallMergeClassVC; /**获取融合小课堂老师端VC**/ -(UIViewController*)getTeaSmallMergeClassVC; /**获取Ipad融合小课堂VC**/ -(UIViewController*)getIpadSmallMergeClassVC; /**获取Ipad融合小课堂老师端VC**/ -(UIViewController*)getIpadTeaSmallMergeClassVC; /**进入直播 需要先**/ -(void)enterQXCLiveClass:(QXCClassParams*)params; /**进入直播 Ipad**/ -(void)enterIpadQXCLiveClass:(QXCClassParams*)params; /**进入直播 老师端**/ -(void)enterTeaLiveClass:(QXCClassParams*)params; /**进入直播 Ipad老师端**/ -(void)enterTeaIpadLiveClass:(QXCClassParams*)params; /**进入直播 大课堂学生端**/ -(void)enterBigLiveClass:(QXCClassParams*)params; /**进入直播 大课堂老师端**/ -(void)enterTeaBigLiveClass:(QXCClassParams*)params; /**进入直播 iIpad大课堂学生端**/ -(void)enterIpadBigLiveClass:(QXCClassParams*)params; /**进入直播 ipad大课堂老师端**/ -(void)enterIpadTeaBigLiveClass:(QXCClassParams*)params; /**进入融合小课堂**/ -(void)enterSmallMergeClass:(QXCClassParams*)params; /**进入融合小课堂老师端**/ -(void)enterTeaSmallMergeClass:(QXCClassParams*)params; /**进入Ipad融合小课**/ -(void)enterIpadSmallMergeClass:(QXCClassParams*)params; /**进入Ipad融合小课堂老师端**/ -(void)enterIpadTeaSmallMergeClass:(QXCClassParams*)params; -(void)clearQXCLiveClass; #pragma mark =================多屏 =================== -(void)connectRoomServerByMultiScreen:(QXCClassParams*)params; -(void)setSourceTypeByMultiScreen:(int)sourceType; -(void)selectCaptureDevicePosition:(NSInteger)captureDevicePosition; -(UIViewController*)getKWhiteBoardVC; -(UIViewController*)getKCameraVC; -(UIViewController*)getKChatVC; -(void)closeMultiScreenAssistant; -(void)clearMultiScreenAssistant; -(UIView*)qxc_getPicInPicView; -(void)qxc_enterPicInPicLive; -(BOOL)qxc_checkCurIsPicInPicLive; /// 获取缓存大小 - (NSUInteger)qxc_getSDKCacheSize; /// 删除缓存 - (void)qxc_deleteSDKCache; /** 设置是否测试环境、线上环境 需要在enterxxxClass之前调用**/ -(void)qxc_setServerType:(QXCServerType)serverType; /** 获取SDK版本号**/ -(NSString*)qxc_getSDKVersion; /** 如果当前有直播,调用该接口回关闭当前直播**/ -(void)closeCurLiveIfNeed; -(void)qxc_setIsSaaSVer:(BOOL) isSaaS; /** 是否显示log**/ -(void)qxc_showLog:(BOOL) showLog; /** 通过客户端设置产品列表 需要在 enterxxxClass之后调用**/ -(void)qxc_setProdcutList:(NSArray<QXCProductModel*>*)productList; - (void)qxc_isOpenCloudNotes:(BOOL)open; - (void)qxc_allowCapturedTips:(BOOL)allow; @end NS_ASSUME_NONNULL_END