DSBaseModuleManager.h 3.47 KB
//
//  DSBaseModuleManager.h
//  DSBaseModule
//
//  Created by zhaolin on 2020/1/20.
//  Copyright © 2020 CNLive. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <Photos/Photos.h>

NS_ASSUME_NONNULL_BEGIN

@interface DSBaseModuleManager : NSObject

#pragma mark - 通用信息

/// 键盘显示的高度
@property (nonatomic,assign) CGFloat keyboardDisplayHeight;

#pragma mark - 单例

+(instancetype)sharedManager;

/// 单例创建方法
-(void)managerInit;

#pragma mark - 提示

/**
 alert弹框

 @param title 标题
 @param message 信息
 @param actionTitleArr 按钮
 @param actionMethod 按钮事件回调
 @return alert弹框
 */
-(nonnull UIAlertController*)presentAlert:(nullable NSString*)title message:(nullable NSString*)message actionTitleArr:(nullable NSArray*)actionTitleArr actionMethod:(nullable void (^)(NSInteger index))actionMethod;

/**
 alert弹框(富文本)
 
 @param attrTitle 标题
 @param attrMessage 信息
 @param actionTitleArr 按钮
 @param actionMethod 按钮事件回调
 @return alert弹框
 */
-(nonnull UIAlertController*)presentAttrAlert:(nullable NSAttributedString*)attrTitle attrMessage:(nullable NSAttributedString*)attrMessage actionTitleArr:(nullable NSArray<NSString*>*)actionTitleArr actionMethod:(nullable void (^)(NSInteger index))actionMethod;

/**
 alert弹框(富文本)
 
 @param attrTitle 标题
 @param attrMessage 信息
 @param actionTitleArr 按钮
 @param actionTitleColorArr 按钮颜色数组
 @param actionMethod 按钮事件回调
 @return alert弹框
 */
-(nonnull UIAlertController*)presentAttrAlert:(nullable NSAttributedString*)attrTitle attrMessage:(nullable NSAttributedString*)attrMessage actionTitleArr:(nullable NSArray<NSString*>*)actionTitleArr actionTitleColorArr:(nullable NSArray<UIColor*>*)actionTitleColorArr actionMethod:(nullable void (^)(NSInteger index))actionMethod;

/// alert底部弹出弹框
/// @param title 标题
/// @param message 信息
/// @param actionTitleArr 按钮
/// @param actionMethod 按钮事件回调
-(nonnull UIAlertController*)presentActionSheet:(nullable NSString*)title message:(nullable NSString*)message actionTitleArr:(nullable NSArray<NSString*>*)actionTitleArr actionMethod:(nullable void (^)(NSInteger index))actionMethod;

#pragma mark - 打电话

-(void)callPhone:(nonnull NSString*)phoneStr;

#pragma mark - 文件共享

-(void)shareFilePath:(nonnull NSURL *)filePath;

#pragma mark - 检测是否为空

/**
 检测是否为空
 
 @param object 检测对象
 @return 是否为空
 */
-(BOOL)isEmptyObject:(nullable id)object;

#pragma mark - 检测私有属性

/**
 检测是否允许调用相机
 
 @param handler 检测回调
 @param alertHandler 弹框处理回调
 */
-(void)checkAllowVisitCameraHandler:(nullable void (^)(BOOL flag))handler alertHandler:(nullable void (^)(void))alertHandler;

/**
 检测是否允许调用相册

 @param handler 检测回调
 @param alertHandler 弹框处理回调
 */
-(void)checkAllowVisitPhotoAlbumHandler:(nullable void (^)(BOOL flag))handler alertHandler:(nullable void (^)(void))alertHandler;

#pragma mark - 保存图片

/**
 保存图片
 
 @param image 图片
 @param complete 保存完成方法
 */
-(void)saveImage:(nonnull UIImage*)image complete:(nullable void (^)(PHAsset * _Nonnull asset, BOOL success))complete;

#pragma mark - 跳转商家端App

/**
 是否安装了商家端app
 
 @return YES装了 NO没装
 */
-(BOOL)isInstallMerchantApp;

/**
 跳转商家端App
 */
-(void)skipMerchantApp;

@end

NS_ASSUME_NONNULL_END