CNLiveCMineProtocol.h 7.05 KB
//
//  CNLiveCMineProtocol.h
//  CNLiveCMineModule
//
//  Created by open on 2021/12/28.
//

#import <Foundation/Foundation.h>
#import "CNLiveCMineInteViewModel.h"
#import "CNOrderList.h"
typedef NS_ENUM(NSUInteger , CNLiveMobileType) {
    CNLiveMobileTypeRegisen,  //获取短信验证码
    CNLiveMobileTypeUpdate,//更新绑定手机号
};
typedef NS_ENUM(NSUInteger, CNLiveGoldType) {
    CNLiveGoldTypeBegin,
    CNLiveGoldTypeEnd,
};
typedef NS_ENUM(NSUInteger, CNLiveAddressType) {
    CNLiveAddressTypeSelect,//选取地址
    CNLiveAddressTypeRequest,//地址请求
    CNLiveAddressTypeCountryId, //   获取区号
};
typedef NS_ENUM(NSUInteger, CNGroupActiveRequestType) {
    CNGroupActiveRequestTypeGetShare,//获取分享地址
    CNGroupActiveRequestTypeForPrivate,// 获取相关公钥和随机秘钥
};
typedef enum : NSUInteger {
    CNLiveContentViewPayResultSucc,//支付成功
    CNLiveContentViewPayResultFail,//支付失败
    CNLiveContentViewPayResultUnknow,//支付未知
} CNLiveContentViewPayResult;
NS_ASSUME_NONNULL_BEGIN

/// 我的组件与工程对接协议
@protocol CNLiveCMineProtocol <NSObject>


/// 我的积分跳转主工程webView界面
/// @param url 链接地址
-(void)pushCMineInteContentForCMainWebViewWithURL:(NSString *)url statue:(CNLiveCMineIntePushWebViewStatue)statue;

/// 积分任务跳转到不同界面去完成
/// @param param 参数
/// @param currentVC 当前控制器
-(void)pushCMineInteContentForCMainCustomFunctionVCParam:(NSDictionary *)param CurrentVC:(UIViewController *)currentVC;

/// 我的积分跳转主工程我的客服界面
-(void)pushCMineInteContentForCMainPlatFromCurrentVC:(UIViewController *)currentVC;

/// 友盟统计
/// @param event 统计信息
- (void)pushCMinePagesEvent:(NSString *)event;

/// 保存生成图片
/// @param image 要保存的图片
- (void)saveImageWithImage:(UIImage *)image;

/// 获取二维码
/// @param fromT 需要参数
/// @param type 需要参数
- (UIImage *)loadSGQRCodeGenImage:(NSString *)fromT type:(NSString *)type;

///     退出登录
- (void)appLoginOut:(BOOL)closePush;

/// 发送短信验证码
/// @param type 验证码类型
/// @param pNumber 手机号
/// @param contryCode 区号
/// @param verifiCode 验证码
- (void)sendMessageWithCodeType:(CNLiveMobileType) type mobile:(NSString *)pNumber contryCode:(NSString *)contryCode verificationCode:(NSString *)verifiCode success:(void(^)(id result))success failure:(void(^)(NSDictionary *errorDic))failure;

/// 交互跳转
/// @param type 跳转类型1.协议信息h5页面 2.我的视频 3.生活圈 4付费记录 5.电商订单 6投诉 7听见中国 8扫描二维码 9设置背景图片 10用户信息页 11通信录黑名单 12活动h5页面 13小家音响页面跳转 14通讯录界面 15点播页面 16聊天界面 17达人主页 18我的家园 19我的工会 20我的社区 21我的礼盒 22我的话题 23赛事活动 24徒步记录 25路径工具 26第三方绑定 27选择人物形象
/// @param param 跳转传参
- (void)pushCMineContentForCMainPlatWithType:(NSInteger)type param:(NSDictionary *)param contentVC:(UIViewController *)contetVC;

- (BOOL)haveUnreadMessage;
/// 对放回的结果进行提醒判断
/// @param responseObject 返回数据
/// @param error 错误
/// @param completerBlock 成功
- (void)chooseRequestWithResponseObject:(id)responseObject Error:(NSError *)error CompleterBlock:(void(^)(id responseObject,NSInteger errorCode))completerBlock;

/// 清除缓存
- (void)clearMemories;
///金币下落声音判断
///@param type 判断位置
///@param block 返回处理
- (void)goldSoundType:(CNLiveGoldType)type block:(void(^)(void))block;

/// 跳转地址页
/// @param block 选取地址返回
- (void)addressSendVCType:(CNLiveAddressType)type block:(nullable void(^)(id addressObj) ) block;
///弹func视图
- (void) pushFuncView:(UIButton *)view block:(void(^)(id object))block;
///base64加密
- (NSString *)base64StringDecrypt:(NSString *)str encryptKey:(NSString *)encryptKey;

/**
 调用分享界面进行分享操作
 
 @param shareTitle 分享标题
 @param shareUrl 分享的链接
 @param shareDesc 分享的描述
 @param shareImage 图片集合,传入参数可以为单张图片信息,也可以为一个NSArray,数组元素可以为UIImage、NSString(图片路径)、NSURL(图片路径)
 @param isFull 是否横屏显示分享界面
 @param isHiddenWjj 是否隐藏网加加
 */
- (void)showShareViewWithParamForShareTitle:(NSString * _Nullable )shareTitle
                                   ShareUrl:(NSString * _Nullable )shareUrl
                                  ShareDesc:(NSString * _Nullable)shareDesc
                                ShareImage:(id)shareImage
                                ScreenFull:(BOOL)isFull
                                 HiddenWjj:(BOOL)isHiddenWjj
                                  HiddenQQ:(BOOL)isHiddenQQ
                                  HiddenWB:(BOOL)isHiddenWB
                          HiddenLifeCircle:(BOOL)isHiddenLifeCircle
                        HiddenWechatCircle:(BOOL)isHiddenWechatCircle
                              HiddenWechat:(BOOL)isHiddenWechat
                              HiddenSafari:(BOOL)isHiddenSafari
                                    FormVC:(UIViewController *)formVC
                                  TopImage:(NSArray<NSString *> *)topImage
                                 TopTitles:(NSArray<NSString *> *)topTitle
TouchActionBlock:(void(^)(NSString * title))resultBlock;

/// 调取CNGroupActiveViewModel的网络请求获取需要的内容
- (void)responseCroupActiveViewModelRequestType:(CNGroupActiveRequestType)type reponseBlock:( void (^)(id  __nullable objective))block;
/** 生成一张带有logo的二维码(logoScaleToSuperView:相对于父视图的缩放比取值范围0-1;0,不显示,1,代表与父视图大小相同)*/
- (UIImage *)generateWithLogoQRCodeData:(NSString *)data logoImageName:(NSString *)logoImageName logoScaleToSuperView:(CGFloat)logoScaleToSuperView;
/*!
 对数组排序
 
 @param dataArray        需要排序的数组,可以为 model
 @param localizedNameSEL 数组中对象需要排序的属性,可以为 model.userName
 
 @return 排序后的索引及 groupArray 字典形式 kBALocalizedIndexArrayKey kBALocalizedGroupArrayKey
 */
- (NSDictionary *)ba_localizedWithDataArray:(NSMutableArray *)dataArray
                           localizedNameSEL:(SEL)localizedNameSEL;
///电商交互(具体看电商交互规则)
- (void)skipType:(NSString*)type to:(NSString*)to shopType:(NSString*)shopType currentVC:(UIViewController*)currentVC;

/**
 调用订单界面支付
 
 @param orderModel 订单数据
 @param formVC 来源控制器
 @param completerBlock 返回支付结果
 */
- (void)requestCNLiveContentPayViewForOrderPay:(CNOrderList *)orderModel FromVC:(UIViewController *)formVC CompleterBlock:(void(^)(CNLiveContentViewPayResult payResult))completerBlock;
/// 更新推送设置
/// @param on yes:关闭推送   No:打开推送
/// @param userId 会话id
/// @param complete 请求完成回调
- (void)updateSetupStatus:(BOOL)on userId:(NSString *)userId block:(void (^)(BOOL succ))complete;
@end

NS_ASSUME_NONNULL_END