123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- //
- // RQShareFunction.h
- // LN_School
- //
- // Created by 张嵘 on 2018/10/16.
- // Copyright © 2018 Danson. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import "RQRemoteTheoryManager.h"
- #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);
- @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
- // 理论计时不开启开启人脸比对模式 (不开启地市:台州-3310)
- @property (copy, readonly, nonatomic) NSArray *theoryOfTimingNoOpenFaceToFaceArr;
- // 个人中心功能模块类型一(预约相关,模拟相关,资讯相关)(开启地市:福州-3501,厦门-3502)
- @property (copy, readonly, nonatomic) NSArray *personalTypeOneCityCodeArr;
- // 个人中心功能模块类型一(预约相关,资讯相关)(开启地市:温州-3303)
- @property (copy, readonly, nonatomic) NSArray *personalTypeTwoCityCodeArr;
- // 学车计时功能模块类型一(理论计时,实操计时,模拟计时,我的学时)(开启地市:福州-3501,厦门-3502,温州-3303)
- @property (copy, readonly, nonatomic) NSArray *timingTypeOneCityCodeArr;
- // 学车计时功能模块类型二(理论计时,我的学时)(开启地市:莆田-3503)
- @property (copy, readonly, nonatomic) NSArray *timingTypeTwoCityCodeArr;
- // 理论计时类型一 (在科目二,科目三可以进行科目四的理论计时) (开启地市:福州-3501,莆田-3503)
- @property (copy, readonly, nonatomic) NSArray *theoryOfTimingTypeOneCityCodeArr;
- // 理论计时类型二地市编号:null (在科目二可以进行科目四的理论计时)(开启地市:)
- @property (copy, readonly, nonatomic) NSArray *theoryOfTimingTypeTwoCityCodeArr;
- // 理论计时类型三 (在科目三可以进行科目四的理论计时)(开启地市:厦门-3502)
- @property (copy, readonly, nonatomic) NSArray *theoryOfTimingTypeThreeCityCodeArr;
- @property (strong, readwrite, nonatomic) NSArray *shieldTopicIDArr;
- @property (strong, readwrite, nonatomic) NSArray *shieldPeopleIDArr;
- @property (strong, readwrite, nonatomic) NSArray *announcementIDArr;
- @property (assign, readwrite, nonatomic) BOOL APP_AD;
- @property (assign, readwrite, nonatomic) NSInteger APP_CLOSE;
- @property (assign, readwrite, nonatomic) NSInteger APP_AD_CYCLE;
- /// 开屏广告展示概率
- @property (assign, readwrite, nonatomic) NSInteger APP_KP;
- @property (assign, readwrite, nonatomic) NSInteger APP_OPEN_COMMUNITY;
- /// 审核开关
- @property (assign, readwrite, nonatomic) NSInteger APP_SWITCH;
- @property (assign, readwrite, nonatomic) CGFloat RQADViewHeight;
- @property (assign, readwrite, nonatomic) NSInteger myErorNum;
- @property (assign, readwrite, nonatomic) NSInteger myCollectNum;
- //开启投诉地址
- @property (assign, readwrite, nonatomic) NSInteger SP_COMPLAINT_DQBH;
- // 时间转换为时间戳
- - (NSInteger)getTimeStampWithDate:(NSDate *)date;
- // 时间戳转换为时间
- - (NSDate *)getDateWithTimeStamp:(NSInteger)timeStamp;
- // 一个时间戳与当前时间的间隔(s)
- - (NSInteger)getIntervalsWithTimeStamp:(NSInteger)timeStamp;
- // 根据时间和formatter获取时间字符串
- - (NSString *)getTimeStrWithDate:(NSDate *)date formatter:(NSString *)formatterStr;
- // 一个时间戳与另一个时间戳的间隔(s)
- - (NSInteger)getIntervalsWithTimeStamp:(NSInteger)timeStamp anotherTimeStamp:(NSInteger)anotherTimeStamp;
- // 根据时间字符串和formatter获取时间戳
- - (NSInteger)getTimeStampWithTimeStr:(NSString *)timeStr formatter:(NSString *)formatterStr;
- - (NSInteger)getTimeStampWithHour:(NSInteger)hour andMinute:(NSInteger)minute andDate:(NSDate *)date;
- /**
- * 获取图片
- *
- * @author ZhangRong
- * @date 2018-10-17 10:55:22
- *
- * @param getPhotosWay 获取图片方式
- * @param size 图片尺寸比例
- * @param maxLength 图片内存大小限制
- * @param maxImagesCount 最大图片选择
- * @param isCheckBody 是否是活体拍照
- * @param photosBlock 弹窗点击事件回调
- */
- - (void)getPhotosWithGetPhotosWay:(GetPhotosWay)getPhotosWay size:(CGSize)size maxLength:(NSUInteger)maxLength maxImagesCount:(NSUInteger)maxImagesCount isCheckBody:(BOOL)isCheckBody 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 showInWindow 是否展示在keywindow上
- * @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
- showInWindow:(BOOL)showInWindow
- 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 showInWindow 是否展示在keywindow上
- * @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
- showInWindow:(BOOL)showInWindow
- 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 showInWindow 是否展示在keywindow上
- * @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
- showInWindow:(BOOL)showInWindow
- completion:(nullable RQAlertViewCompletion)completion;
- /// 展示文本弹窗
- /// @param message 文本
- /// @param completion 回调
- - (void)showAlertWithMessage:(nullable NSString *)message
- 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;
- /// 保存到本地数据
- /// @param object 值
- /// @param key 键
- - (void)saveObjectWithObject:(id)object ForKey:(NSString* )key;
- /// 获取本地数据
- /// @param key 键
- - (id)getObjectWithKey:(NSString *)key;
- // 检测抓包
- - (BOOL)checkProxySetting;
- // 前往H5
- - (void)gotoWebViewWithUrlStr:(NSString *)url;
- // 前往小程序
- - (void)miniwithUserName:(NSString *)userName path:(NSString *)path;
- @end
- NS_ASSUME_NONNULL_END
|