// // RQShareFunction.h // LN_School // // Created by 张嵘 on 2018/10/16. // Copyright © 2018 Danson. All rights reserved. // #import #define RQ_SHARE_FUNCTION [RQShareFunction shareManager] NS_ASSUME_NONNULL_BEGIN //弹窗点击事件回调 typedef void (^RQAlertViewCompletion) (NSUInteger selectedOtherButtonIndex); //获取图片方式 typedef NS_ENUM(NSInteger, GetPhotosWay) { GetPhotosWay_Camera = 0, GetPhotosWay_Album, }; typedef void(^PhotosBlock)(NSArray *imagesArr , NSArray * imagesDataStrArr); @interface RQShareFunction : NSObject + (instancetype)shareManager; #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_12_0 // 当前模式 @property (assign, readwrite, nonatomic) UIUserInterfaceStyle currentUserInterfaceStyle API_AVAILABLE(ios(13.0), tvos(13.0)); #endif @property (copy, readonly, nonatomic) NSArray *typeOneCityCodeArr;// 类型一的地市编号:3501,3502 @property (copy, readonly, nonatomic) NSArray *typeTwoCityCodeArr;// 类型二的地市编号:3503 // 时间转换为时间戳 - (NSInteger)getTimeStampWithDate:(NSDate *)date; // 时间戳转换为时间 - (NSDate *)getDateWithTimeStamp:(NSInteger)timeStamp; // 一个时间戳与当前时间的间隔(s) - (NSInteger)getIntervalsWithTimeStamp:(NSInteger)timeStamp; /** * 获取图片 * * @author ZhangRong * @date 2018-10-17 10:55:22 * * @param getPhotosWay 获取图片方式 * @param size 图片尺寸比例 * @param maxLength 图片内存大小限制 * @param maxImagesCount 最大图片选择 * @param photosBlock 弹窗点击事件回调 */ - (void)getPhotosWithGetPhotosWay:(GetPhotosWay)getPhotosWay size:(CGSize)size maxLength:(NSUInteger)maxLength maxImagesCount:(NSUInteger)maxImagesCount photosBlock:(PhotosBlock)photosBlock; /** * 获取当前页面 * * @author ZhangRong * @date 2018-10-17 10:59:22 */ - (UIViewController *)topViewController; - (UIViewController *)currentViewController; - (UIViewController *)topViewController:(UIViewController*)rootViewController; /** * 在某个页面展示弹窗 * * @author ZhangRong * @date 2018-10-12 11:27:55 * * @param viewController 在该页面弹出 * @param title 标题 * @param message 副标题(可为nil) * @param alertControllerStyle 弹窗类型 * @param cancelButtonTitle 取消按钮标题 * @param otherButtonTitles 按钮标题数组 * @param otherButtonStyles 按钮类型数组 * @param preferredActionTitle 按钮文字加粗数组(UIAlertControllerStyleAlert有效) * @param completion 按钮点击回调 */ - (void)showAlertAtViewController:(nonnull UIViewController *)viewController WithTitle:(nullable NSString *)title message:(nullable NSString *)message alertControllerStyle:(UIAlertControllerStyle)alertControllerStyle cancelButtonTitle:(nullable NSString *)cancelButtonTitle otherButtonTitles:(nullable NSArray *)otherButtonTitles otherButtonStyles:(nullable NSDictionary *)otherButtonStyles preferredActionTitle:(nullable NSString *)preferredActionTitle completion:(nullable RQAlertViewCompletion)completion; /** * 展示弹窗(设置按钮文字加粗) * * @author ZhangRong * @date 2018-10-12 11:27:55 * * @param title 标题 * @param message 副标题(可为nil) * @param alertControllerStyle 弹窗类型 * @param cancelButtonTitle 取消按钮标题 * @param otherButtonTitles 按钮标题数组 * @param otherButtonStyles 按钮类型数组 * @param preferredActionTitle 按钮文字加粗数组(UIAlertControllerStyleAlert有效) * @param completion 按钮点击回调 */ - (void)showAlertWithTitle:(nullable NSString *)title message:(nullable NSString *)message alertControllerStyle:(UIAlertControllerStyle)alertControllerStyle cancelButtonTitle:(nullable NSString *)cancelButtonTitle otherButtonTitles:(nullable NSArray *)otherButtonTitles otherButtonStyles:(nullable NSDictionary *)otherButtonStyles preferredActionTitle:(nullable NSString *)preferredActionTitle completion:(nullable RQAlertViewCompletion)completion; /** * 展示弹窗 * * @author ZhangRong * @date 2018-10-12 11:27:55 * * @param title 标题 * @param message 副标题(可为nil) * @param alertControllerStyle 弹窗类型 * @param cancelButtonTitle 取消按钮标题 * @param otherButtonTitles 按钮标题数组 * @param otherButtonStyles 按钮类型数组 * @param completion 按钮点击回调 */ - (void)showAlertWithTitle:(nullable NSString *)title message:(nullable NSString *)message alertControllerStyle:(UIAlertControllerStyle)alertControllerStyle cancelButtonTitle:(nullable NSString *)cancelButtonTitle otherButtonTitles:(nullable NSArray *)otherButtonTitles otherButtonStyles:(nullable NSDictionary *)otherButtonStyles completion:(nullable RQAlertViewCompletion)completion; /** 第一次进入APP提示指引页面 */ - (void)showGuidePicture; /** 检查版本 */ - (void)checkVersion; /** * 展示大图 * * @author ZhangRong * @date 2020-06-16 14:30:55 * * @param dataSource 图片数组(Url数组) * @param currentIndex 当前标签 * @param isCanSave 是否保存图片 */ - (void)showPhotoBrowserWithDataSource:(NSArray *)dataSource currentIndex:(NSInteger)currentIndex isCanSave:(BOOL)isCanSave; /** * Mob隐私判断 * * @author ZhangRong * @date 2020-06-16 14:30:55 */ - (void)checkMobPolicyOnResult:(void (^_Nullable)(BOOL success))handler; @end NS_ASSUME_NONNULL_END