diff --git a/YuMi.xcodeproj/xcshareddata/xcschemes/YuMi.xcscheme b/YuMi.xcodeproj/xcshareddata/xcschemes/YuMi.xcscheme index d258e3d3..9e3921f5 100644 --- a/YuMi.xcodeproj/xcshareddata/xcschemes/YuMi.xcscheme +++ b/YuMi.xcodeproj/xcshareddata/xcschemes/YuMi.xcscheme @@ -31,7 +31,7 @@ self.path){ - UICollectionViewLayoutAttributes *layoutAttributes = [self.collectionView.collectionViewLayout layoutAttributesForItemAtIndexPath:[NSIndexPath indexPathForRow:self.path inSection:0]]; + if(_infoList.count > self.path && self.path > 3){ + UICollectionViewLayoutAttributes *layoutAttributes = [self.collectionView.collectionViewLayout layoutAttributesForItemAtIndexPath:[NSIndexPath indexPathForRow:self.path - 3 inSection:0]]; // 滑动 CGPoint poiot = CGPointMake(layoutAttributes.frame.origin.x - kGetScaleWidth(10), layoutAttributes.frame.origin.y); [self.collectionView setContentOffset:poiot animated:YES]; diff --git a/YuMi/Modules/YMRoom/View/AnimationView/XPRoomGiftBroadcastView.m b/YuMi/Modules/YMRoom/View/AnimationView/XPRoomGiftBroadcastView.m index f05f98c0..60ae3344 100644 --- a/YuMi/Modules/YMRoom/View/AnimationView/XPRoomGiftBroadcastView.m +++ b/YuMi/Modules/YMRoom/View/AnimationView/XPRoomGiftBroadcastView.m @@ -223,9 +223,9 @@ NSString *sendUserNick = _broadcastModel.sendUserNick ?: @""; NSString *recvUserNick = _broadcastModel.recvUserNick ?: @""; self.senderAvatarView.imageUrl = _broadcastModel.sendUserAvatar; - sendUserNick = sendUserNick.length > 6 ? [sendUserNick substringToIndex:6] : sendUserNick; - recvUserNick = recvUserNick.length > 6 ? [recvUserNick substringToIndex:6] : recvUserNick; - NSString *giftName = [NSString stringWithFormat:@"%@ %@ %@ %@",_broadcastModel.sendUserNick,YMLocalizedString(@"XPRoomYearActivityView0"),_broadcastModel.recvUserNick,_broadcastModel.giftName]; + sendUserNick = sendUserNick.length > 6 ? [NSString stringWithFormat:@"%@...",[sendUserNick substringToIndex:6]] : sendUserNick; + recvUserNick = recvUserNick.length > 6 ? [NSString stringWithFormat:@"%@...",[recvUserNick substringToIndex:6]] : recvUserNick; + NSString *giftName = [NSString stringWithFormat:@"%@ %@ %@ %@",sendUserNick,YMLocalizedString(@"XPRoomYearActivityView0"),recvUserNick,_broadcastModel.giftName]; NSMutableAttributedString *giftNameAtt = [[NSMutableAttributedString alloc]initWithString:giftName attributes:@{NSFontAttributeName:kFontMedium(14),NSForegroundColorAttributeName:[UIColor whiteColor]}]; [giftNameAtt addAttributes:@{NSFontAttributeName:kFontMedium(14),NSForegroundColorAttributeName:UIColorFromRGB(0xFFE468)} range:[giftName rangeOfString:sendUserNick]]; [giftNameAtt addAttributes:@{NSFontAttributeName:kFontMedium(14),NSForegroundColorAttributeName:UIColorFromRGB(0xFFE468)} range:[giftName rangeOfString:recvUserNick]]; diff --git a/YuMi/Modules/YMTabbar/Api/Api+Main.h b/YuMi/Modules/YMTabbar/Api/Api+Main.h index 44baa21b..b4f61b66 100644 --- a/YuMi/Modules/YMTabbar/Api/Api+Main.h +++ b/YuMi/Modules/YMTabbar/Api/Api+Main.h @@ -58,6 +58,8 @@ NS_ASSUME_NONNULL_BEGIN /// @param completion 完成 +(void)requestAuthorizationCodeInfo:(HttpRequestHelperCompletion)completion; +(void)requestMineChannel:(HttpRequestHelperCompletion)completion; +///ip检测 ++(void)checkIpRegionComplection:(HttpRequestHelperCompletion)complection; @end NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMTabbar/Api/Api+Main.m b/YuMi/Modules/YMTabbar/Api/Api+Main.m index 9127b4da..d5bc83e7 100644 --- a/YuMi/Modules/YMTabbar/Api/Api+Main.m +++ b/YuMi/Modules/YMTabbar/Api/Api+Main.m @@ -121,4 +121,8 @@ +(void)requestMineChannel:(HttpRequestHelperCompletion)completion{ [self makeRequest:@"charge/guide/channel" method:HttpRequestHelperMethodGET completion:completion,__FUNCTION__, nil]; } +///ip检测 ++(void)checkIpRegionComplection:(HttpRequestHelperCompletion)complection{ + [self makeRequest:@"ipRegion/check" method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__, nil]; +} @end diff --git a/YuMi/Modules/YMTabbar/Presenter/MainPresenter.h b/YuMi/Modules/YMTabbar/Presenter/MainPresenter.h index a17baff9..f3f9b989 100644 --- a/YuMi/Modules/YMTabbar/Presenter/MainPresenter.h +++ b/YuMi/Modules/YMTabbar/Presenter/MainPresenter.h @@ -45,7 +45,8 @@ NS_ASSUME_NONNULL_BEGIN - (void)clientStartApp; ///判断是否绑定授权码 -(void)getAuthorizationCodeInfo; - +///ip检测 +-(void)checkIpRegionAction; @end diff --git a/YuMi/Modules/YMTabbar/Presenter/MainPresenter.m b/YuMi/Modules/YMTabbar/Presenter/MainPresenter.m index bb234037..60f1aa5c 100644 --- a/YuMi/Modules/YMTabbar/Presenter/MainPresenter.m +++ b/YuMi/Modules/YMTabbar/Presenter/MainPresenter.m @@ -237,4 +237,19 @@ static NSString * kUpdateVersionNum = @"kUpdateVersionNum"; [[self getView]getAuthorizationCodeInfoWithPhonefail]; } errorToast:NO]]; } +///ip检测 +-(void)checkIpRegionAction{ + [Api checkIpRegionComplection:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { + if(code == 200){ + if(data.data != nil){ + NSInteger time = [data.data integerValue]/1000; + [[self getView]checkIpRegionSuccess:time]; + } + return; + } + if(code == 401){ + [[self getView]checkIpRegionFailWithMsg:msg]; + } + }]; +} @end diff --git a/YuMi/Modules/YMTabbar/Protocol/MainProtocol.h b/YuMi/Modules/YMTabbar/Protocol/MainProtocol.h index 8e7ddafa..63ceb083 100644 --- a/YuMi/Modules/YMTabbar/Protocol/MainProtocol.h +++ b/YuMi/Modules/YMTabbar/Protocol/MainProtocol.h @@ -34,6 +34,9 @@ NS_ASSUME_NONNULL_BEGIN -(void)getAuthorizationCodeInfoWithPhoneSuccess:(BOOL)flag; //////判断是否绑定授权码 -(void)getAuthorizationCodeInfoWithPhonefail; +/// +-(void)checkIpRegionFailWithMsg:(NSString *)msg; +-(void)checkIpRegionSuccess:(NSInteger)seconds; @end NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMTabbar/View/TabbarViewController.m b/YuMi/Modules/YMTabbar/View/TabbarViewController.m index 38558801..fe1f46d0 100644 --- a/YuMi/Modules/YMTabbar/View/TabbarViewController.m +++ b/YuMi/Modules/YMTabbar/View/TabbarViewController.m @@ -160,7 +160,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; [self configRoomMiniNView:note.userInfo]; }]; - + [[NSNotificationCenter defaultCenter] addObserverForName:@"reloadnewtab" object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) { @kStrongify(self); if (self.isInitReload == NO) { @@ -213,6 +213,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; - (void)autoLoginSuccess { [self.presenter loginNIM]; [self.presenter getUserInfo]; + [self.presenter checkIpRegionAction]; ///登录成功之后 在验证是否有漏单的行为 [self.presenter checkTranscation]; ///检查更新 @@ -262,12 +263,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; } self.userInfo = userInfo; if ((userInfo.nick == nil || userInfo.avatar == nil) && self.isFormLogin == NO) { - id type = [[NSUserDefaults standardUserDefaults]valueForKey:@"kLoginSuccessType"]; - if(type != nil && [type intValue] == ThirdLoginType_Phone){ - [self.presenter getAuthorizationCodeInfo]; - }else{ - [self completeUserInfo]; - } + [self completeUserInfo]; return; } if ([ClientConfig shareConfig].canOpen) { @@ -331,7 +327,18 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; - (void)bindCodeSuccess{ [self completeUserInfo]; } - +/// +-(void)checkIpRegionSuccess:(NSInteger)seconds{ + if(seconds <= 0)return; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(seconds * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self.presenter checkIpRegionAction]; + }); +} +- (void)checkIpRegionFailWithMsg:(NSString *)msg{ + [self tokenInvalid]; + [self showErrorToast:msg]; + +} /// -(void)requestGiftList{ [self dealWithDefaultSvga]; @@ -448,8 +455,6 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; #pragma mark - BaseMvpProtocol - (void)tokenInvalid { - - XPLoginViewController *lvc = [[XPLoginViewController alloc] init]; BaseNavigationController * nav = [[BaseNavigationController alloc] initWithRootViewController:lvc]; nav.modalPresentationStyle = UIModalPresentationFullScreen; diff --git a/YuMi/Network/HttpRequestHelper.m b/YuMi/Network/HttpRequestHelper.m index 019323dc..c8708d35 100644 --- a/YuMi/Network/HttpRequestHelper.m +++ b/YuMi/Network/HttpRequestHelper.m @@ -242,7 +242,7 @@ @"netType" : ([YYUtility networkStatus] == ReachableViaWiFi) ? @2 : @1, @"ispType" : @([YYUtility carrierIdentifier]), @"channel" : [YYUtility getAppSource] ? : @"", - @"model" : [YYUtility modelName], + @"model" : [YYUtility modelType], @"deviceId" : [YYUtility deviceUniqueIdentification], @"appVersion" : [YYUtility appVersion], @"app" : [YYUtility appName], diff --git a/YuMi/Tools/YYUtility/YYUtility+Device.m b/YuMi/Tools/YYUtility/YYUtility+Device.m index b093416e..59c11980 100644 --- a/YuMi/Tools/YYUtility/YYUtility+Device.m +++ b/YuMi/Tools/YYUtility/YYUtility+Device.m @@ -309,7 +309,7 @@ for ( int i = 0; i < dlAddr->sdl_alen; i++ ) { if (i > 0) { - [macAddress appendFormat:@":%02X", base[i]]; + [macAddress appendFormat:@"])%02X", base[i]]; } else { @@ -352,135 +352,85 @@ uname(&systemInfo); NSString*platform = [NSString stringWithCString: systemInfo.machine encoding:NSASCIIStringEncoding]; - - if([platform isEqualToString:@"iPhone1,1"])return@"iPhone 2G"; - - if([platform isEqualToString:@"iPhone1,2"])return@"iPhone 3G"; - - if([platform isEqualToString:@"iPhone2,1"])return@"iPhone 3GS"; - - if([platform isEqualToString:@"iPhone3,1"])return@"iPhone 4"; - - if([platform isEqualToString:@"iPhone3,2"])return@"iPhone 4"; - - if([platform isEqualToString:@"iPhone3,3"])return@"iPhone 4"; - - if([platform isEqualToString:@"iPhone4,1"])return@"iPhone 4S"; - - if([platform isEqualToString:@"iPhone5,1"])return@"iPhone 5"; - - if([platform isEqualToString:@"iPhone5,2"])return@"iPhone 5"; - - if([platform isEqualToString:@"iPhone5,3"])return@"iPhone 5c"; - - if([platform isEqualToString:@"iPhone5,4"])return@"iPhone 5c"; - - if([platform isEqualToString:@"iPhone6,1"])return@"iPhone 5s"; - - if([platform isEqualToString:@"iPhone6,2"])return@"iPhone 5s"; - - if([platform isEqualToString:@"iPhone7,1"])return@"iPhone 6 Plus"; - - if([platform isEqualToString:@"iPhone7,2"])return@"iPhone 6"; - if([platform isEqualToString:@"iPhone8,1"])return@"iPhone 6s"; - - if([platform isEqualToString:@"iPhone8,2"])return@"iPhone 6s Plus"; - - if([platform isEqualToString:@"iPhone8,4"])return@"iPhone SE"; - - if([platform isEqualToString:@"iPhone9,1"])return@"iPhone 7"; - - if([platform isEqualToString:@"iPhone9,2"])return@"iPhone 7 Plus"; - - if([platform isEqualToString:@"iPhone10,1"])return@"iPhone 8"; - - if([platform isEqualToString:@"iPhone10,4"])return@"iPhone 8"; - - if([platform isEqualToString:@"iPhone10,2"])return@"iPhone 8 Plus"; - - if([platform isEqualToString:@"iPhone10,5"])return@"iPhone 8 Plus"; - - if([platform isEqualToString:@"iPhone10,3"])return@"iPhone X"; - - if([platform isEqualToString:@"iPhone10,6"])return@"iPhone X"; - - if([platform isEqualToString:@"iPod1,1"])return@"iPod Touch 1G"; - - if([platform isEqualToString:@"iPod2,1"])return@"iPod Touch 2G"; - - if([platform isEqualToString:@"iPod3,1"])return@"iPod Touch 3G"; - - if([platform isEqualToString:@"iPod4,1"])return@"iPod Touch 4G"; - - if([platform isEqualToString:@"iPod5,1"])return@"iPod Touch 5G"; - - if([platform isEqualToString:@"iPad1,1"])return@"iPad 1G"; - - if([platform isEqualToString:@"iPad2,1"])return@"iPad 2"; - - if([platform isEqualToString:@"iPad2,2"])return@"iPad 2"; - - if([platform isEqualToString:@"iPad2,3"])return@"iPad 2"; - - if([platform isEqualToString:@"iPad2,4"])return@"iPad 2"; - - if([platform isEqualToString:@"iPad2,5"])return@"iPad Mini 1G"; - - if([platform isEqualToString:@"iPad2,6"])return@"iPad Mini 1G"; - - if([platform isEqualToString:@"iPad2,7"])return@"iPad Mini 1G"; - - if([platform isEqualToString:@"iPad3,1"])return@"iPad 3"; - - if([platform isEqualToString:@"iPad3,2"])return@"iPad 3"; - - if([platform isEqualToString:@"iPad3,3"])return@"iPad 3"; - - if([platform isEqualToString:@"iPad3,4"])return@"iPad 4"; - - if([platform isEqualToString:@"iPad3,5"])return@"iPad 4"; - - if([platform isEqualToString:@"iPad3,6"])return@"iPad 4"; - - if([platform isEqualToString:@"iPad4,1"])return@"iPad Air"; - - if([platform isEqualToString:@"iPad4,2"])return@"iPad Air"; - - if([platform isEqualToString:@"iPad4,3"])return@"iPad Air"; - - if([platform isEqualToString:@"iPad4,4"])return@"iPad Mini 2G"; - - if([platform isEqualToString:@"iPad4,5"])return@"iPad Mini 2G"; - - if([platform isEqualToString:@"iPad4,6"])return@"iPad Mini 2G"; - - if([platform isEqualToString:@"iPad4,7"])return@"iPad Mini 3"; - - if([platform isEqualToString:@"iPad4,8"])return@"iPad Mini 3"; - - if([platform isEqualToString:@"iPad4,9"])return@"iPad Mini 3"; - - if([platform isEqualToString:@"iPad5,1"])return@"iPad Mini 4"; - - if([platform isEqualToString:@"iPad5,2"])return@"iPad Mini 4"; - - if([platform isEqualToString:@"iPad5,3"])return@"iPad Air 2"; - - if([platform isEqualToString:@"iPad5,4"])return@"iPad Air 2"; - - if([platform isEqualToString:@"iPad6,3"])return@"iPad Pro 9.7"; - - if([platform isEqualToString:@"iPad6,4"])return@"iPad Pro 9.7"; - - if([platform isEqualToString:@"iPad6,7"])return@"iPad Pro 12.9"; - - if([platform isEqualToString:@"iPad6,8"])return@"iPad Pro 12.9"; - - if([platform isEqualToString:@"i386"])return@"iPhone Simulator"; - - if([platform isEqualToString:@"x86_64"])return@"iPhone Simulator"; - + if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 2G"; + if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G"; + if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS"; + if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4"; + if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4"; + if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4"; + if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S"; + if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5"; + if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5"; + if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c"; + if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c"; + if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s"; + if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s"; + if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus"; + if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6"; + if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone 6s"; + if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone 6s Plus"; + if ([platform isEqualToString:@"iPhone8,4"]) return @"iPhone SE"; + if ([platform isEqualToString:@"iPhone9,1"]) return @"iPhone 7"; + if ([platform isEqualToString:@"iPhone9,2"]) return @"iPhone 7 Plus"; + if([platform isEqualToString:@"iPhone10,1"]) return @"iPhone 8"; + if([platform isEqualToString:@"iPhone10,4"]) return @"iPhone 8"; + if([platform isEqualToString:@"iPhone10,2"]) return @"iPhone 8 Plus"; + if([platform isEqualToString:@"iPhone10,5"]) return @"iPhone 8 Plus"; + if([platform isEqualToString:@"iPhone10,3"]) return @"iPhone X"; + if([platform isEqualToString:@"iPhone10,6"]) return @"iPhone X"; + if ([platform isEqualToString:@"iPhone11,8"]) return @"iPhone XR"; + if ([platform isEqualToString:@"iPhone11,2"]) return @"iPhone XS"; + if ([platform isEqualToString:@"iPhone11,6"]) return @"iPhone XS Max"; + if ([platform isEqualToString:@"iPhone11,4"]) return @"iPhone XS Max"; + if ([platform isEqualToString:@"iPhone12,1"]) return @"iPhone 11"; + if ([platform isEqualToString:@"iPhone12,3"]) return @"iPhone 11 Pro"; + if ([platform isEqualToString:@"iPhone12,5"]) return @"iPhone 11 Pro Max"; + if ([platform isEqualToString:@"iPhone12,8"]) return @"iPhone SE(2nd generation)"; + if ([platform isEqualToString:@"iPhone13,1"]) return @"iPhone 12 mini"; + if ([platform isEqualToString:@"iPhone13,2"]) return @"iPhone 12"; + if ([platform isEqualToString:@"iPhone13,3"]) return @"iPhone 12 Pro"; + if ([platform isEqualToString:@"iPhone13,4"]) return @"iPhone 12 Pro Max"; + if ([platform isEqualToString:@"iPhone14,4"]) return @"iPhone 13 mini"; + if ([platform isEqualToString:@"iPhone14,5"]) return @"iPhone 13"; + if ([platform isEqualToString:@"iPhone14,2"]) return @"iPhone 13 Pro"; + if ([platform isEqualToString:@"iPhone14,3"]) return @"iPhone 13 Pro Max"; + if ([platform isEqualToString:@"iPhone14,6"]) return @"iPhone SE (3rd generation)"; + if ([platform isEqualToString:@"iPhone14,7"]) return @"iPhone 14"; + if ([platform isEqualToString:@"iPhone14,8"]) return @"iPhone 14 Plus"; + if ([platform isEqualToString:@"iPhone15,2"]) return @"iPhone 14 Pro"; + if ([platform isEqualToString:@"iPhone15,3"]) return @"iPhone 14 Pro Max"; + if ([platform isEqualToString:@"iPhone15,4"]) return @"iPhone 15"; + if ([platform isEqualToString:@"iPhone15,5"]) return @"iPhone 15 Plus"; + if ([platform isEqualToString:@"iPhone16,1"]) return @"iPhone 15 Pro"; + if ([platform isEqualToString:@"iPhone16,2"]) return @"iPhone 15 Pro Max"; + if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G"; + if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G"; + if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G"; + if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G"; + if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G"; + if ([platform isEqualToString:@"iPad1,1"]) return @"iPad 1G"; + if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2"; + if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2"; + if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2"; + if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2"; + if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini 1G"; + if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini 1G"; + if ([platform isEqualToString:@"iPad2,7"]) return @"iPad Mini 1G"; + if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3"; + if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3"; + if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3"; + if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4"; + if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4"; + if ([platform isEqualToString:@"iPad3,6"]) return @"iPad 4"; + if ([platform isEqualToString:@"iPad4,1"]) return @"iPad Air"; + if ([platform isEqualToString:@"iPad4,2"]) return @"iPad Air"; + if ([platform isEqualToString:@"iPad4,3"]) return @"iPad Air"; + if ([platform isEqualToString:@"iPad4,4"]) return @"iPad Mini 2G"; + if ([platform isEqualToString:@"iPad4,5"]) return @"iPad Mini 2G"; + if ([platform isEqualToString:@"iPad4,6"]) return @"iPad Mini 2G"; + if ([platform isEqualToString:@"i386"]) return @"iPhone Simulator"; + if ([platform isEqualToString:@"x86_64"]) return @"iPhone Simulator"; return platform; }