123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517 |
- //
- // RQCommonManager.m
- // JSJP
- //
- // Created by 张嵘 on 2021/8/19.
- //
- #import "RQCommonManager.h"
- @interface RQCommonManager ()
- @property (nonatomic, readwrite, assign) BOOL isDispose;
- @end
- @implementation RQCommonManager
- @def_singleton(RQCommonManager);
- - (void)saveObjectWithObject:(id)object ForKey:(NSString* )key {
- NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
- if (!object) {
- [ud removeObjectForKey:key];
- }else{
- [ud setObject:object forKey:key];
- }
- [ud synchronize];
- }
- - (id)getObjectWithKey:(NSString *)key {
- NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
- return [ud objectForKey:key];
- }
- - (NSString *)getCarTypeStrWithCarType:(RQHomePageCarType)carType {
- switch (carType) {
- case RQHomePageCarType_Car:
- return @"小车";
- case RQHomePageCarType_Bus:
- return @"客车";
- case RQHomePageCarType_Truck:
- return @"货车";
- case RQHomePageCarType_Motorcycle:
- return @"摩托车";
-
- default:
- return @"";
- }
- }
- - (NSString *)getSubjectTypeStrWithSubjectType:(RQHomePageSubjectType)subjecType {
- if (subjecType == RQHomePageSubjectType_SubjectOne) {
- return @"科目一";
- } else if (subjecType == RQHomePageSubjectType_SubjectFour) {
- return @"科目四";
- } else {
- return @"";
- }
- }
- - (void)keepIdleTimerDisabledisOpen:(BOOL)isOpen {
- _isDispose = isOpen;
- [UIApplication sharedApplication].idleTimerDisabled = _isDispose;
- __block RACDisposable *handler = [[RACObserve([UIApplication sharedApplication], idleTimerDisabled) distinctUntilChanged] subscribeNext:^(id _Nullable x) {
- if (_isDispose) {
- if (![UIApplication sharedApplication].idleTimerDisabled) {
- [UIApplication sharedApplication].idleTimerDisabled = _isDispose;
- }
- } else {
- [handler dispose];
- }
- }];
- }
- - (NSArray *)adPaths {
- id object = [self getObjectWithKey:@"adPaths"];
- if (RQObjectIsNil(object)) {
- return @[];
- } else {
- NSArray *adPaths = (NSArray *)object;
- return adPaths;
- }
- }
- - (void)setAdPaths:(NSArray *)adPaths {
- [self saveObjectWithObject:adPaths ForKey:@"adPaths"];
- }
- - (NSString *)isWelcomed {
- id object = [self getObjectWithKey:@"isWelcomed"];
- if (RQObjectIsNil(object)) {
- return @"";
- } else {
- NSString *isWelcomed = (NSString *)object;
- return isWelcomed;
- }
- }
- - (void)setIsWelcomed:(NSString *)isWelcomed {
- [self saveObjectWithObject:isWelcomed ForKey:@"isWelcomed"];
- }
- - (BOOL)JSJP_APP_AD_OPEN {
- id object = [RQ_SHARE_FUNCTION getObjectWithKey:@"JSJP_APP_AD_OPEN"];
- if (RQObjectIsNil(object)) {
- return NO;
- } else {
- BOOL appadopen = [object boolValue];
- return appadopen;
- }
- }
- - (void)setJSJP_APP_AD_OPEN:(BOOL)JSJP_APP_AD_OPEN {
- [RQ_SHARE_FUNCTION saveObjectWithObject:[NSNumber numberWithBool:JSJP_APP_AD_OPEN] ForKey:@"JSJP_APP_AD_OPEN"];
- }
- - (NSInteger)JSJP_APP_AD_CYCLE {
- id object = [RQ_SHARE_FUNCTION getObjectWithKey:@"JSJP_APP_AD_CYCLE"];
- if (RQObjectIsNil(object)) {
- return 30;
- } else {
- NSInteger appadcycle = [object integerValue];
- return appadcycle;
- }
- }
- - (void)setJSJP_APP_AD_CYCLE:(NSInteger)JSJP_APP_AD_CYCLE {
- [RQ_SHARE_FUNCTION saveObjectWithObject:[NSNumber numberWithInteger:JSJP_APP_AD_CYCLE] ForKey:@"JSJP_APP_AD_CYCLE"];
- }
- - (BOOL)JSJP_Is_Online_Media_Image {
- id object = [RQ_SHARE_FUNCTION getObjectWithKey:@"JSJP_Is_Online_Media_Image"];
- if (RQObjectIsNil(object)) {
- return NO;
- } else {
- BOOL isOnlineMediaImage = [object boolValue];
- return isOnlineMediaImage;
- }
- }
- - (void)setJSJP_Is_Online_Media_Image:(BOOL)JSJP_Is_Online_Media_Image {
- [RQ_SHARE_FUNCTION saveObjectWithObject:[NSNumber numberWithInteger:JSJP_Is_Online_Media_Image] ForKey:@"JSJP_Is_Online_Media_Image"];
- }
- - (BOOL)JSJP_Is_Online_Media_Video {
- id object = [RQ_SHARE_FUNCTION getObjectWithKey:@"JSJP_Is_Online_Media_Video"];
- if (RQObjectIsNil(object)) {
- return NO;
- } else {
- BOOL isOnlineMediaVideo = [object boolValue];
- return isOnlineMediaVideo;
- }
- }
- - (void)setJSJP_Is_Online_Media_Video:(BOOL)JSJP_Is_Online_Media_Video {
- [RQ_SHARE_FUNCTION saveObjectWithObject:[NSNumber numberWithInteger:JSJP_Is_Online_Media_Video] ForKey:@"JSJP_Is_Online_Media_Video"];
- }
- - (BOOL)JSJP_APP_ICON_NEED_CHANGE {
- id object = [RQ_SHARE_FUNCTION getObjectWithKey:@"JSJP_APP_ICON_NEED_CHANGE"];
- if (RQObjectIsNil(object)) {
- return NO;
- } else {
- BOOL JSJP_APP_ICON_NEED_CHANGE = [object boolValue];
- return JSJP_APP_ICON_NEED_CHANGE;
- }
- }
- - (void)setJSJP_APP_ICON_NEED_CHANGE:(BOOL)JSJP_APP_ICON_NEED_CHANGE {
- [RQ_SHARE_FUNCTION saveObjectWithObject:[NSNumber numberWithInteger:JSJP_APP_ICON_NEED_CHANGE] ForKey:@"JSJP_APP_ICON_NEED_CHANGE"];
- }
- - (NSInteger)JSJP_APP_AD_RATE {
- id object = [RQ_SHARE_FUNCTION getObjectWithKey:@"JSJP_APP_AD_RATE"];
- if (RQObjectIsNil(object)) {
- return 70;
- } else {
- NSInteger JSJP_APP_AD_RATE = [object integerValue];
- return JSJP_APP_AD_RATE;
- }
- }
- - (void)setJSJP_APP_AD_RATE:(NSInteger)JSJP_APP_AD_RATE {
- [RQ_SHARE_FUNCTION saveObjectWithObject:[NSNumber numberWithInteger:JSJP_APP_AD_RATE] ForKey:@"JSJP_APP_AD_RATE"];
- }
- - (NSString *)JSJP_APP_PTSC_FBL {
- id object = [self getObjectWithKey:@"JSJP_APP_PTSC_FBL"];
- if (RQObjectIsNil(object)) {
- return @"320,240";
- } else {
- NSString *JSJP_APP_PTSC_FBL = (NSString *)object;
- return JSJP_APP_PTSC_FBL;
- }
- }
- - (void)setJSJP_APP_PTSC_FBL:(NSString *)JSJP_APP_PTSC_FBL {
- [self saveObjectWithObject:JSJP_APP_PTSC_FBL ForKey:@"JSJP_APP_PTSC_FBL"];
- }
- - (BOOL)JSJP_DOMIAN_NAME_IS_OLD {
- id object = [RQ_SHARE_FUNCTION getObjectWithKey:@"JSJP_DOMIAN_NAME_IS_OLD"];
- if (RQObjectIsNil(object)) {
- return NO;
- } else {
- BOOL isOld = [object boolValue];
- return isOld;
- }
- }
- - (void)setJSJP_DOMIAN_NAME_IS_OLD:(BOOL)JSJP_DOMIAN_NAME_IS_OLD {
- [RQ_SHARE_FUNCTION saveObjectWithObject:[NSNumber numberWithBool:JSJP_DOMIAN_NAME_IS_OLD] ForKey:@"JSJP_DOMIAN_NAME_IS_OLD"];
- }
- - (NSString *)updateTimeStr {
- id object = [self getObjectWithKey:@"updateTimeStr"];
- if (RQObjectIsNil(object)) {
- return @"暂未同步";
- } else {
- NSString *updateTimeStr = (NSString *)object;
- return updateTimeStr;
- }
- }
- - (void)setUpdateTimeStr:(NSString *)updateTimeStr {
- [self saveObjectWithObject:updateTimeStr ForKey:@"updateTimeStr"];
- }
- - (NSInteger)myErrorOneCount {
- id object = [self getObjectWithKey:@"myErrorOneCount"];
- if (RQObjectIsNil(object)) {
- return 0;
- } else {
- NSInteger myErrorOneCount = [object integerValue];
- return myErrorOneCount;
- }
- }
- - (void)setMyErrorOneCount:(NSInteger)myErrorOneCount {
- [self saveObjectWithObject:[NSNumber numberWithInteger:myErrorOneCount] ForKey:@"myErrorOneCount"];
- }
- - (NSInteger)myErrorFourCount {
- id object = [self getObjectWithKey:@"myErrorFourCount"];
- if (RQObjectIsNil(object)) {
- return 0;
- } else {
- NSInteger myErrorFourCount = [object integerValue];
- return myErrorFourCount;
- }
- }
- - (void)setMyErrorFourCount:(NSInteger)myErrorFourCount {
- [self saveObjectWithObject:[NSNumber numberWithInteger:myErrorFourCount] ForKey:@"myErrorFourCount"];
- }
- - (NSInteger)myCollectOneCount {
- id object = [self getObjectWithKey:@"myCollectOneCount"];
- if (RQObjectIsNil(object)) {
- return 0;
- } else {
- NSInteger myCollectOneCount = [object integerValue];
- return myCollectOneCount;
- }
- }
- - (void)setMyCollectOneCount:(NSInteger)myCollectOneCount {
- [self saveObjectWithObject:[NSNumber numberWithInteger:myCollectOneCount] ForKey:@"myCollectOneCount"];
- }
- - (NSInteger)myCollectFourCount {
- id object = [self getObjectWithKey:@"myCollectFourCount"];
- if (RQObjectIsNil(object)) {
- return 0;
- } else {
- NSInteger myCollectFourCount = [object integerValue];
- return myCollectFourCount;
- }
- }
- - (void)setMyCollectFourCount:(NSInteger)myCollectFourCount {
- [self saveObjectWithObject:[NSNumber numberWithInteger:myCollectFourCount] ForKey:@"myCollectFourCount"];
- }
- - (NSInteger)myExamOneCount {
- id object = [self getObjectWithKey:@"myExamOneCount"];
- if (RQObjectIsNil(object)) {
- return 0;
- } else {
- NSInteger myExamOneCount = [object integerValue];
- return myExamOneCount;
- }
- }
- - (void)setMyExamOneCount:(NSInteger)myExamOneCount {
- [self saveObjectWithObject:[NSNumber numberWithInteger:myExamOneCount] ForKey:@"myExamOneCount"];
- }
- - (NSInteger)myExamFourCount {
- id object = [self getObjectWithKey:@"myExamFourCount"];
- if (RQObjectIsNil(object)) {
- return 0;
- } else {
- NSInteger myExamFourCount = [object integerValue];
- return myExamFourCount;
- }
- }
- - (void)setMyExamFourCount:(NSInteger)myExamFourCount {
- [self saveObjectWithObject:[NSNumber numberWithInteger:myExamFourCount] ForKey:@"myExamFourCount"];
- }
- - (NSInteger)quanZhouLookVideoCount {
- id object = [self getObjectWithKey:@"quanZhouLookVideoCount"];
- if (RQObjectIsNil(object)) {
- return 1;
- } else {
- NSInteger quanZhouLookVideoCount = [object integerValue];
- return quanZhouLookVideoCount;
- }
- }
- - (void)setQuanZhouLookVideoCount:(NSInteger)quanZhouLookVideoCount {
- [self saveObjectWithObject:[NSNumber numberWithInteger:quanZhouLookVideoCount] ForKey:@"quanZhouLookVideoCount"];
- }
- - (BOOL)isQzLook {
- NSString *key = [NSString stringWithFormat:@"isQzLook%@",RQ_USER_MANAGER.currentUser? RQ_USER_MANAGER.currentUser._id : @""];
- id object = [self getObjectWithKey:key];
- if (RQObjectIsNil(object)) {
- return RQObjectIsNil(RQ_USER_MANAGER.currentUser);
- } else {
- BOOL isQzLook = [object boolValue];
- return isQzLook;
- }
- }
- - (void)setIsQzLook:(BOOL)isQzLook {
- NSString *key = [NSString stringWithFormat:@"isQzLook%@",RQ_USER_MANAGER.currentUser? RQ_USER_MANAGER.currentUser._id : @""];
- [self saveObjectWithObject:[NSNumber numberWithBool:isQzLook] ForKey:key];
- }
- - (NSArray *)JSJP_APP_KAOCHANG_OPEN_ARR {
- id object = [self getObjectWithKey:@"JSJP_APP_KAOCHANG_OPEN_ARR"];
- if (RQObjectIsNil(object)) {
- return @[];
- } else {
- NSArray *JSJP_APP_KAOCHANG_OPEN_ARR = (NSArray *)object;
- return JSJP_APP_KAOCHANG_OPEN_ARR;
- }
- }
- - (void)setJSJP_APP_KAOCHANG_OPEN_ARR:(NSArray *)JSJP_APP_KAOCHANG_OPEN_ARR {
- [self saveObjectWithObject:JSJP_APP_KAOCHANG_OPEN_ARR ForKey:@"JSJP_APP_KAOCHANG_OPEN_ARR"];
- }
- - (void)getCurrentStateWithCompleteBlock:(CompleteBlock)completeBlock {
- NSMutableArray *arr=[NSMutableArray array];
- [arr addPro:@"stuOutId" Value:RQ_USER_MANAGER.currentUser.outId];
- [arr addPro:@"dqbh" Value:RQ_USER_MANAGER.currentUser.city];
- [arr addPro:@"subject" Value:RQ_USER_MANAGER.currentUser.pxjd];
- NSString* method = @"getStuTrainStatus";
- [jiaPeiManager requestAnythingWithURL:method array:arr data:nil completion:^(NSDictionary * root) {
-
- //更新数据
- if ([root[@"code"] isEqualToString:@"0"]) {
- // [self upDateLocalMNClassIDWithDic:root[@"body"]];
- }
-
- //其它地方调用
- if (completeBlock) {
- completeBlock(root);
- return;
- }
-
- if (!root) {
- return;
- }
-
- if ([root[@"code"] isEqualToString:@"1"]) {
- return;
- }
-
-
-
- //跳转判断
-
- /*模拟训练状态判断
- 0 成功获取学员信息
- 1 学员还未在模拟器签到
- 2.已登录,未签到(未进行人脸验证)
- 3 无法获取到当前训练科目(人脸比对验证通过,但是没有上传任何学时)
- 4 隔日签到记录
- 5 分钟学时科目异常
- */
- NSString *status = [NSString stringWithFormat:@"%@",root[@"body"][@"mn"][@"TYPE"]];
- if ([status isEqualToString:@"0"]) {
-
- [self showSelectGoToTrainWithType:@"mn" title:nil message:@"系统检测到您正在进行模拟计时,是否前往" cancle:@"否" sure:@"是"];
-
- }else if ([status isEqualToString:@"1"]) {
-
- }else if ([status isEqualToString:@"2"]) {
-
- [self showSelectGoToTrainWithType:@"mn" title:nil message:@"您已在模拟设备登录,前往开始模拟计时" cancle:@"否" sure:@"是"];
-
- }else if ([status isEqualToString:@"3"]) {
-
- [self showSelectGoToTrainWithType:@"mn" title:nil message:@"您已在模拟设备登录,前往开始模拟计时" cancle:@"否" sure:@"是"];
-
- }else if ([status isEqualToString:@"4"]) {
-
- [self showSelectGoToTrainWithType:@"mn" title:nil message:@"您昨(往)日模拟计时训练尚未签退" cancle:@"我知道了" sure:@"立即签退"];
-
- }else if ([status isEqualToString:@"5"]) {
-
- }
- }];
- }
- //弹出一个提示框 提示框上展示一些东西 东西里面有一些计时信息 暂时用alertC代替
- - (void)showSelectGoToTrainWithType:(NSString *)type title:(NSString *)title message:(NSString *)message cancle:(NSString *)cancle sure:(NSString *)sure{
- UIViewController *currentVC = RQControllerHelper.currentViewController;
- while (currentVC.presentedViewController) {
- currentVC = currentVC.presentedViewController;
- }
-
-
- //判断已推入当前vc
- if ([currentVC isKindOfClass:[UITabBarController class]]) {
- UINavigationController *nav = [RQControllerHelper.currentViewController.childViewControllers lastObject];
- if ([type isEqualToString:@"mn"]) {
- if ([[nav.childViewControllers lastObject] isKindOfClass:[MNQtTrainVC class]]) {
- return;
- }
- }
- }
-
- UIAlertController *alertFind = [UIAlertController alertControllerWithTitle:nil message:message preferredStyle:UIAlertControllerStyleAlert];
-
- [alertFind addAction:[UIAlertAction actionWithTitle:cancle style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
- }]];
-
- [alertFind addAction:[UIAlertAction actionWithTitle:sure style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
-
- NSString *vcName = nil;
- if ([type isEqualToString:@"mn"]) {
- //去模拟计时界面
- vcName = @"MNQtTrainVC";
- }
-
- UINavigationController *vc = [self getPeriodVCWithName:vcName];
- if (vc) {
- vc.modalPresentationStyle = UIModalPresentationFullScreen;
- [currentVC presentViewController:vc animated:YES completion:nil];
- }
-
- }]];
-
- [currentVC presentViewController:alertFind animated:true completion:nil];
-
- }
- -(UINavigationController *)getPeriodVCWithName:(NSString *)name{
-
- NSInteger isNeed = 1;
- for (ParamsItem *item in RQ_USER_MANAGER.currentUser.params) {
- if ([item.KEY isEqualToString:@"SP_VERIFY_IMEI"]) {
- isNeed = [item.VALUE integerValue];
- }
- }
-
- // NSString *IMEI = RQ_USER_MANAGER.currentUser.imei;
- // if (IMEI.length > 0) {
- // if (isNeed == 1) {
- // if (![IMEI isEqualToString:[Tools getIDFV]]) {
- // ShowMsg(@"您当前手机与绑定手机不一致, 无法计时");
- // return nil;
- // }
- // }else{
- // NSString *logType = @"";
- // if ([name isEqualToString:@"MNQtTrainVC"]){
- // logType = @"3";
- // }else if ([name isEqualToString:@"BigTruckVC"]){
- // logType = @"4";
- // }
- // [Tools saveNotBindImeiLogWithType:logType];
- // }
- //
- // }else {
- // UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"温馨提示" message:@"您的账号暂未与该手机绑定,不能进行此操作,请通过“考试界面左上角点击头像-弹出左边侧栏-绑定账号”进行绑定" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
- // [alert show];
- // return nil;
- // }
-
- //已经在模拟计时中了 又去扫模拟计时二维码码
- if ([name isEqualToString:@"MNQtTrainVC"] && myDelegate.mnPeriodVC) {
- myDelegate.mnTrainType = @"0";//既然存在 表明在模拟计时中
- UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:myDelegate.mnPeriodVC];
- return nav;
- }else{
- UIViewController* vc = [NSClassFromString(name) new];
- UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:vc];
- return nav;
- }
- }
- - (void)updateVipList {
- [[RQ_HTTP_Service getPlaceVipList] subscribeNext:^(NSArray *placeVipList) {
- RQ_COMMON_MANAGER.vipListArr = [placeVipList.rac_sequence.signal map:^id _Nullable(RQPlaceVipListModel *placeVipListModel) {
- return placeVipListModel.examName;
- }].toArray;
- }];
- }
- @end
|