Commit 61c3ccd4 by ludi

修复一些bug,增加新人好礼

parent 3a7cd110
Showing with 543 additions and 247 deletions
......@@ -31,6 +31,19 @@ NS_ASSUME_NONNULL_BEGIN
@end
@interface FUSLiveSyncRightResultComerNewDataModel : FUSBaseModel
/// 新人好礼状态:-1已过期 0未拥有 1待领取 2已领取
@property (nonatomic, assign) NSInteger status;
/// 新人好礼 奖励任务pid
@property (nonatomic, copy) NSString *pid;
/// 新人好礼 奖励任务tid
@property (nonatomic, copy) NSString *tid;
/// 新人好礼 奖励任务sid
@property (nonatomic, copy) NSString *sid;
@end
@interface FUSLiveSyncRightResultRecallShowModel : FUSBaseModel
......@@ -42,6 +55,10 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, assign) NSInteger recallSendSpeak;
/// 展示类型 -1:无 1:首充储值 2:用户回归
@property (nonatomic, assign) NSInteger showChargeType;
/// 在直播間觀看超過指定时长(秒) —有资格时弹出首充弹窗
@property (nonatomic, assign) NSInteger fcOnlineTime;
/// 新人好礼数据 status 新人好礼状态:-1已过期 0未拥有 1待领取 2已领取---pid 新人好礼 奖励任务pid---tid 新人好礼 奖励任务tid---sid 新人好礼 奖励任务sid
@property (nonatomic, copy) NSArray<FUSLiveSyncRightResultComerNewDataModel *> *comerNewData;
-(void)fus_updateShowTime;
......
......@@ -18,8 +18,17 @@
@end
@implementation FUSLiveSyncRightResultComerNewDataModel
@end
@implementation FUSLiveSyncRightResultRecallShowModel
+ (NSDictionary<NSString *,id> *)modelContainerPropertyGenericClass {
return @{@"comerNewData": [FUSLiveSyncRightResultComerNewDataModel class]};
}
- (void)fus_updateShowTime{
[[NSUserDefaults standardUserDefaults] setDouble:[[NSDate date] timeIntervalSince1970] forKey:FUSSwiftCacheDataStoreKey.liveSyncRightResultRecallShowTimeInterval];
}
......
......@@ -93,6 +93,9 @@ NS_ASSUME_NONNULL_BEGIN
userInteractionEnabled:(BOOL)userInteractionEnabled
dismissHandle:(void(^)(void))dismissHandle;
/// 显示发宝箱
-(void)fus_showLiveBoxSettingView;
- (void)fus_logSuccess;
- (void)fus_logOut;
......
......@@ -673,7 +673,7 @@
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
CODE_SIGN_ENTITLEMENTS = FuSiLive/FuSiLive.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 202506260031;
CURRENT_PROJECT_VERSION = 202506260032;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 6GG26BHUMC;
ENABLE_ON_DEMAND_RESOURCES = NO;
......@@ -938,7 +938,7 @@
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
CODE_SIGN_ENTITLEMENTS = FuSiLive/FuSiLive.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 202506260031;
CURRENT_PROJECT_VERSION = 202506260032;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 6GG26BHUMC;
ENABLE_ON_DEMAND_RESOURCES = NO;
......
......@@ -204,107 +204,107 @@ typedef NS_ENUM(NSInteger, FFOutsideJumpAPPType) {
return YES;
}
- (void)fus_handlerUrlOpenAppActionWithURL:(NSURL *)url {
NSString *absoluteString = [url absoluteString];
if ([absoluteString containsString:openAppEventSchedule]) {
NSURLComponents *components = [NSURLComponents componentsWithURL:url resolvingAgainstBaseURL:NO];
if (components.queryItems.count > 0) {
for (NSURLQueryItem *item in components.queryItems) {
if ([item.name isEqualToString:openAppEventSchedule] && item.value) {
NSData *jsonData = [[NSData alloc] initWithBase64EncodedString:item.value options:0];
NSError *error = nil;
id dataJson = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&error];
if (error) continue;
id data = [dataJson objectForKey:@"openData"];
if (!data || [data isKindOfClass:[NSNull class]] || ([data respondsToSelector:@selector(length)] && [(NSData *)data length] == 0)) {
data = dataJson;
}
// id behaviorLog = [dataJson objectForKey:@"behaviorLog"];
// NSInteger reqType = [[behaviorLog objectForKey:@"reqType"] integerValue];
// if (reqType != 0) {
// [[NSNotificationCenter defaultCenter] postNotificationName:@"FUSBehaviorExternalCallLog" object:nil userInfo:@{
// @"reqType": @(reqType),
// @"reqJson": [NSString stringWithFormat:@"%@", behaviorLog]
// }];
//- (void)fus_handlerUrlOpenAppActionWithURL:(NSURL *)url {
//
// NSString *absoluteString = [url absoluteString];
//
// if ([absoluteString containsString:openAppEventSchedule]) {
// NSURLComponents *components = [NSURLComponents componentsWithURL:url resolvingAgainstBaseURL:NO];
// if (components.queryItems.count > 0) {
// for (NSURLQueryItem *item in components.queryItems) {
// if ([item.name isEqualToString:openAppEventSchedule] && item.value) {
// NSData *jsonData = [[NSData alloc] initWithBase64EncodedString:item.value options:0];
// NSError *error = nil;
// id dataJson = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&error];
//
// if (error) continue;
//
// id data = [dataJson objectForKey:@"openData"];
// if (!data || [data isKindOfClass:[NSNull class]] || ([data respondsToSelector:@selector(length)] && [(NSData *)data length] == 0)) {
// data = dataJson;
// }
[FUSRouter.userRouter fus_loginSucceedListener:^{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSInteger rawType = [[dataJson objectForKey:@"type"] integerValue];
FFOutsideJumpAPPType type = rawType;
switch (type) {
case FFOutsideJumpAPPTypePushLive:
[FUSRouter.liveRouter fus_pushLive];
break;
case FFOutsideJumpAPPTypeEnterRoom: {
NSString *roomId = [[data objectForKey:@"paramInfo"] description];
// NSLog(@"enterLiveRoom: %@", roomId);
// id behaviorLog = [dataJson objectForKey:@"behaviorLog"];
// NSInteger liveType = [[behaviorLog objectForKey:@"liveType"] integerValue];
// if (liveType != 0) {
// [[NSNotificationCenter defaultCenter] postNotificationName:@"FUSBehaviorJoinRoomLog" object:nil userInfo:@{
// @"reqType": @5,
// @"reqEventType": @(liveType),
// @"roomId": roomId
//
//// id behaviorLog = [dataJson objectForKey:@"behaviorLog"];
//// NSInteger reqType = [[behaviorLog objectForKey:@"reqType"] integerValue];
//// if (reqType != 0) {
//// [[NSNotificationCenter defaultCenter] postNotificationName:@"FUSBehaviorExternalCallLog" object:nil userInfo:@{
//// @"reqType": @(reqType),
//// @"reqJson": [NSString stringWithFormat:@"%@", behaviorLog]
//// }];
//// }
//
// [FUSRouter.userRouter fus_loginSucceedListener:^{
//
// dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
//
// NSInteger rawType = [[dataJson objectForKey:@"type"] integerValue];
// FFOutsideJumpAPPType type = rawType;
//
// switch (type) {
// case FFOutsideJumpAPPTypePushLive:
// [FUSRouter.liveRouter fus_pushLive];
// break;
// case FFOutsideJumpAPPTypeEnterRoom: {
// NSString *roomId = [[data objectForKey:@"paramInfo"] description];
//// NSLog(@"enterLiveRoom: %@", roomId);
//// id behaviorLog = [dataJson objectForKey:@"behaviorLog"];
//// NSInteger liveType = [[behaviorLog objectForKey:@"liveType"] integerValue];
//// if (liveType != 0) {
//// [[NSNotificationCenter defaultCenter] postNotificationName:@"FUSBehaviorJoinRoomLog" object:nil userInfo:@{
//// @"reqType": @5,
//// @"reqEventType": @(liveType),
//// @"roomId": roomId
//// }];
//// }
//
// [FUSRouter.liveRouter fus_enterLiveRoom:roomId];
//
// break;
// }
// case FFOutsideJumpAPPTypeEnterZone: {
// NSString *uid = [[data objectForKey:@"paramInfo"] description];
// [FUSRouter.userRouter fus_enterUserZone:uid];
// break;
// }
// case FFOutsideJumpAPPTypeWeb: {
// NSString *webParams = [[data objectForKey:@"paramInfo"] stringValue];
//
// DebugEnv env = [[[NSUserDefaults standardUserDefaults] objectForKey:CURRENT_DEBUG_ENV] integerValue];
// NSString *urlStr = FUSCommonWebURLs.fus_scheduleOpenUrlMiddlewareUrl;
//
// if (env == DebugEnvTest) {
// urlStr = FUSCommonWebURLs.fus_scheduleOpenUrlMiddlewareTestUrl;
// }
//
// urlStr = [NSString stringWithFormat:@"%@%@",urlStr, webParams];
//
// FUSWKWebViewController *webVC = [[FUSWKWebViewController alloc] init];
// webVC.webUrlString = urlStr;
// webVC.needShowReload = YES;
// webVC.shouldIncludeIdentifyInfo = YES;
// [[UIViewController fus_topViewController].navigationController pushViewController:webVC animated:YES];
// break;
// }
// case FFOutsideJumpAPPTypeFansClub: {
//// NSString *groupId = [[dataJson objectForKey:@"data"] stringValue];
//// NSLog(@"进入粉丝群组: %@", groupId);
// break;
// }
// case FFOutsideJumpAPPTypeDynamic: {
// NSString *topicId = [[dataJson objectForKey:@"topicId"] description];
// [FUSRouter.userRouter fus_enterTopicDetailPage:topicId];
// break;
// }
// default:
// break;
// }
// });
// }];
// }
[FUSRouter.liveRouter fus_enterLiveRoom:roomId];
break;
}
case FFOutsideJumpAPPTypeEnterZone: {
NSString *uid = [[data objectForKey:@"paramInfo"] description];
[FUSRouter.userRouter fus_enterUserZone:uid];
break;
}
case FFOutsideJumpAPPTypeWeb: {
NSString *webParams = [[data objectForKey:@"paramInfo"] stringValue];
DebugEnv env = [[[NSUserDefaults standardUserDefaults] objectForKey:CURRENT_DEBUG_ENV] integerValue];
NSString *urlStr = FUSCommonWebURLs.fus_scheduleOpenUrlMiddlewareUrl;
if (env == DebugEnvTest) {
urlStr = FUSCommonWebURLs.fus_scheduleOpenUrlMiddlewareTestUrl;
}
urlStr = [NSString stringWithFormat:@"%@%@",urlStr, webParams];
FUSWKWebViewController *webVC = [[FUSWKWebViewController alloc] init];
webVC.webUrlString = urlStr;
webVC.needShowReload = YES;
webVC.shouldIncludeIdentifyInfo = YES;
[[UIViewController fus_topViewController].navigationController pushViewController:webVC animated:YES];
break;
}
case FFOutsideJumpAPPTypeFansClub: {
// NSString *groupId = [[dataJson objectForKey:@"data"] stringValue];
// NSLog(@"进入粉丝群组: %@", groupId);
break;
}
case FFOutsideJumpAPPTypeDynamic: {
NSString *topicId = [[dataJson objectForKey:@"topicId"] description];
[FUSRouter.userRouter fus_enterTopicDetailPage:topicId];
break;
}
default:
break;
}
});
}];
}
}
}
}
}
// }
// }
// }
//}
//#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
......
......@@ -47,6 +47,9 @@
004772FC2F5AE86A00E46A79 /* PK_Cover_Animation_34.png in Resources */ = {isa = PBXBuildFile; fileRef = 004772D02F5AE86A00E46A79 /* PK_Cover_Animation_34.png */; };
004772FD2F5AE86A00E46A79 /* PK_Cover_Animation_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 004772AF2F5AE86A00E46A79 /* PK_Cover_Animation_1.png */; };
004772FE2F5AE86A00E46A79 /* PK_Cover_Animation_7.png in Resources */ = {isa = PBXBuildFile; fileRef = 004772B52F5AE86A00E46A79 /* PK_Cover_Animation_7.png */; };
004773222F5C0C2000E46A79 /* fus_home_navi_startLive_animate.webp in Resources */ = {isa = PBXBuildFile; fileRef = 004773212F5C0C2000E46A79 /* fus_home_navi_startLive_animate.webp */; };
004773242F5C262300E46A79 /* home_list_pk_show_type1_anim.webp in Resources */ = {isa = PBXBuildFile; fileRef = 004773232F5C262300E46A79 /* home_list_pk_show_type1_anim.webp */; };
004773262F5C281300E46A79 /* liveRoom_newComer_gift_animate.webp in Resources */ = {isa = PBXBuildFile; fileRef = 004773252F5C281300E46A79 /* liveRoom_newComer_gift_animate.webp */; };
0089F9552D1979A900714CE3 /* FUSRegalValueUpgradeView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0089FD702D13F3460030DAA7 /* FUSRegalValueUpgradeView.xib */; };
0089FD732D13F3460030DAA7 /* FUSLiveParcelGiftAndPropsCollectionViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 0089FD612D13F3460030DAA7 /* FUSLiveParcelGiftAndPropsCollectionViewCell.h */; };
0089FD742D13F3460030DAA7 /* FUSLiveParcelPropsView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0089FD672D13F3460030DAA7 /* FUSLiveParcelPropsView.h */; };
......@@ -2389,6 +2392,9 @@
004772D32F5AE86A00E46A79 /* PK_Cover_Animation_37.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = PK_Cover_Animation_37.png; sourceTree = "<group>"; };
004772D42F5AE86A00E46A79 /* PK_Cover_Animation_38.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = PK_Cover_Animation_38.png; sourceTree = "<group>"; };
004772D52F5AE86A00E46A79 /* PK_Cover_Animation_39.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = PK_Cover_Animation_39.png; sourceTree = "<group>"; };
004773212F5C0C2000E46A79 /* fus_home_navi_startLive_animate.webp */ = {isa = PBXFileReference; lastKnownFileType = file; path = fus_home_navi_startLive_animate.webp; sourceTree = "<group>"; };
004773232F5C262300E46A79 /* home_list_pk_show_type1_anim.webp */ = {isa = PBXFileReference; lastKnownFileType = file; path = home_list_pk_show_type1_anim.webp; sourceTree = "<group>"; };
004773252F5C281300E46A79 /* liveRoom_newComer_gift_animate.webp */ = {isa = PBXFileReference; lastKnownFileType = file; path = liveRoom_newComer_gift_animate.webp; sourceTree = "<group>"; };
0089FD4A2D13F3460030DAA7 /* FUSGiftNumSelectView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FUSGiftNumSelectView.h; sourceTree = "<group>"; };
0089FD4B2D13F3460030DAA7 /* FUSGiftNumSelectView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FUSGiftNumSelectView.m; sourceTree = "<group>"; };
0089FD4C2D13F3460030DAA7 /* FUSGiftSegmentControl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FUSGiftSegmentControl.swift; sourceTree = "<group>"; };
......@@ -5283,6 +5289,7 @@
00CD24E22F5934EF00A07432 /* PKNew */ = {
isa = PBXGroup;
children = (
004773232F5C262300E46A79 /* home_list_pk_show_type1_anim.webp */,
00CD26992F5956D100A07432 /* pkMultiRoundResultStateAnimation */,
00CD25C12F593D9C00A07432 /* userContributeBurstDewTypeTwoLeft */,
00CD26082F593D9C00A07432 /* userContributeBurstDewTypeTwoRight */,
......@@ -8457,6 +8464,7 @@
BEF675A72C6B156500A670FB /* Check */,
BEF675AC2C6B156500A670FB /* FirstTop */,
BEF675EB2C6B156500A670FB /* img_novaList_cell_new_animation.webp */,
004773212F5C0C2000E46A79 /* fus_home_navi_startLive_animate.webp */,
00E6CE192F56E36500B63797 /* live_pk_control_contribute_bottom_inpk_animate.webp */,
00E6CE262F56F89F00B63797 /* img_liveroom_input_linkmic_apply_animation.webp */,
00E6CE272F56F89F00B63797 /* img_liveroom_input_linkmic_waiting_animation.webp */,
......@@ -8470,6 +8478,7 @@
BEF675ED2C6B156500A670FB /* live_pk_background_image.png */,
00A1DCF62CA6B2C50000541F /* liveRoom_patAudience_pat_animate.webp */,
00CD26BC2F5A877E00A07432 /* live_bottom_tool_gift_guide_animate.webp */,
004773252F5C281300E46A79 /* liveRoom_newComer_gift_animate.webp */,
BEF675EE2C6B156500A670FB /* live_treasure_box_bg_img.png */,
00E2A7C82F20B8C9003B779E /* pk_start_sound_go.mp3 */,
00E2A7C92F20B8C9003B779E /* pk_start_sound_ready.mp3 */,
......@@ -10029,6 +10038,7 @@
BEF676F32C6B156600A670FB /* PK_Lose_Animation_28@2x.png in Resources */,
BEF6771F2C6B156600A670FB /* PK_Lose_Animation_72@2x.png in Resources */,
BEF676752C6B156600A670FB /* live_gift_item_selected_anim_5@2x.png in Resources */,
004773222F5C0C2000E46A79 /* fus_home_navi_startLive_animate.webp in Resources */,
BEF676782C6B156600A670FB /* live_gift_item_selected_anim_8@2x.png in Resources */,
BEF6764A2C6B156500A670FB /* common_broadcast_purple_type_bg_2@2x.png in Resources */,
BEF677E42C6B156600A670FB /* live_link_micro_request_5.png in Resources */,
......@@ -10042,6 +10052,7 @@
BEF6773E2C6B156600A670FB /* PK_Start_Animation_11@2x.png in Resources */,
BEF676FE2C6B156600A670FB /* PK_Lose_Animation_39@2x.png in Resources */,
BEF676EB2C6B156600A670FB /* PK_Lose_Animation_20@2x.png in Resources */,
004773262F5C281300E46A79 /* liveRoom_newComer_gift_animate.webp in Resources */,
BEB504682D2E53F900EA6E6F /* FUSVideoStartSetThemeView.xib in Resources */,
BEF676062C6B156500A670FB /* 1_First_Kill_Animation_22@3x.png in Resources */,
BEF6769E2C6B156600A670FB /* live_guide_first_top_up_tips_anim_26@2x.png in Resources */,
......@@ -10124,6 +10135,7 @@
00CD23102F58245D00A07432 /* live_pk_win_anim_100@2x.png in Resources */,
00CD23112F58245D00A07432 /* live_pk_win_anim_16@2x.png in Resources */,
00CD23122F58245D00A07432 /* live_pk_win_anim_26@2x.png in Resources */,
004773242F5C262300E46A79 /* home_list_pk_show_type1_anim.webp in Resources */,
00CD23132F58245D00A07432 /* live_pk_win_anim_86@2x.png in Resources */,
00CD23142F58245D00A07432 /* live_pk_win_anim_125@2x.png in Resources */,
00CD23152F58245D00A07432 /* live_pk_win_anim_75@2x.png in Resources */,
......@@ -10,7 +10,7 @@
"scale" : "2x"
},
{
"filename" : "live_pk_control_pkGamePlay_gift_tag.png",
"filename" : "live_pk_control_pkGamePlay_gift_tag@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
......
......@@ -63,6 +63,11 @@
[tempBtn fus_setImages:animationIamgesList forState:UIControlStateSelected];
}
if (i == 2) {
[tempBtn fus_setImage:[FUSShowRoomCenterBunble webpImageName:@"fus_home_navi_startLive_animate" scale:2] forState:UIControlStateNormal];
[tempBtn fus_setImage:[FUSShowRoomCenterBunble webpImageName:@"fus_home_navi_startLive_animate" scale:2] forState:UIControlStateSelected];
}
tempBtn.tag = i;
[tempBtn addTarget:self action:@selector(naviBtnDidClicked:) forControlEvents:UIControlEventTouchUpInside];
......@@ -111,9 +116,9 @@
/// 用于兼容帧动画的按钮
@interface FUSHomeNaviButton()
@property (nonatomic, strong) UIImageView *selectImageView;
@property (nonatomic, strong) YYAnimatedImageView *selectImageView;
@property (nonatomic, strong) UIImageView *normalImageView;
@property (nonatomic, strong) YYAnimatedImageView *normalImageView;
@end
......@@ -135,8 +140,8 @@
}
-(void)makeUI{
self.selectImageView = [[UIImageView alloc] init];
self.normalImageView = [[UIImageView alloc] init];
self.selectImageView = [[YYAnimatedImageView alloc] init];
self.normalImageView = [[YYAnimatedImageView alloc] init];
[self addSubview:self.selectImageView];
[self addSubview:self.normalImageView];
......@@ -174,14 +179,14 @@
}
- (void)fus_setImage:(UIImage *)image forState:(UIControlState)state{
UIImageView *imageView = [self fus_getImageViewWithState:state];
YYAnimatedImageView *imageView = [self fus_getImageViewWithState:state];
imageView.tag = 0;
imageView.animationImages = nil;
imageView.image = image;
}
- (void)fus_setImages:(NSArray<UIImage *> *)images forState:(UIControlState)state{
UIImageView *imageView = [self fus_getImageViewWithState:state];
YYAnimatedImageView *imageView = [self fus_getImageViewWithState:state];
imageView.tag = 1;
imageView.image = nil;
imageView.animationImages = images;
......@@ -191,7 +196,7 @@
}
}
-(UIImageView *)fus_getImageViewWithState:(UIControlState)state{
-(YYAnimatedImageView *)fus_getImageViewWithState:(UIControlState)state{
switch (state) {
case UIControlStateNormal:
return self.normalImageView;
......
......@@ -113,6 +113,7 @@
}];
self.pkShowAnimationImageView = [[YYAnimatedImageView alloc] init];
self.pkShowAnimationImageView.image = [FUSShowRoomCenterBunble webpImageName:@"home_list_pk_show_type1_anim"];
[self.contentView addSubview:self.pkShowAnimationImageView];
[self.pkShowAnimationImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.equalTo(self.PKAnimationImageView.mas_height).multipliedBy(0.9 / 90.0 * 150.0);
......
......@@ -1033,6 +1033,14 @@ NS_ASSUME_NONNULL_BEGIN
succeed:(void (^)(NSDictionary *dataDict))succeed
failure:(void (^)(NSString *, NSInteger))failure;
/// 奖励中心批量领取
/// @param sidList sid的集合
/// @param succeed 1
/// @param failure 0
+(void)fus_requestGetTaskRewardMultiReceiveWithSidList:(NSArray<NSString *> *)sidList
succeed:(void (^)(void))succeed
failure:(void (^)(NSString *msg, NSInteger code))failure;
@end
NS_ASSUME_NONNULL_END
......@@ -2888,5 +2888,39 @@
}];
}
+ (void)fus_requestGetTaskRewardMultiReceiveWithSidList:(NSArray<NSString *> *)sidList succeed:(void (^)(void))succeed failure:(void (^)(NSString * _Nonnull, NSInteger))failure {
NSError *jsonError;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:sidList
options:NSJSONWritingPrettyPrinted
error:&jsonError];
NSString *sidListJsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSDictionary *parm = @{@"sidList": sidListJsonString};
[FUSHttpHelper postRequestBinaryWithUrl:FUSShowRoomURLs.fus_URL_getTaskRewardMultiReceive params:parm success:^(NSDictionary * _Nullable dataDict, int code) {
NSArray *resultList = dataDict[@"resultList"];
NSMutableArray *rltList = [[NSMutableArray alloc] init];
if (resultList != nil && resultList.count > 0) {
for (NSDictionary *tempDict in resultList) {
FUSDrawRewardAnimationItemModel *tempModel = [[FUSDrawRewardAnimationItemModel alloc] init];
tempModel.classify = [tempDict[@"classify"] integerValue];
tempModel.num = [tempDict[@"itemNum"] integerValue];
tempModel.iconUrl = [tempDict[@"itemUrl"] description];
tempModel.name = [tempDict[@"itemName"] description];
tempModel.tid = [tempDict[@"sid"] description];
[rltList addObject:tempModel];
}
}
if (rltList.count > 0) {
[[FUSRouter userRouter] fus_showMultiAwardAnimate:rltList];
}
if (succeed) {
succeed();
}
} failure:^(NSDictionary * _Nullable dataDict, int code) {
if (failure) failure(dataDict[@"msg"],code);
}];
}
@end
......@@ -1015,33 +1015,34 @@
_livePKBtnState = pkBtnState;
[self.bottomSubView changePKBtnStateImageWithPKBtnState:pkBtnState];
if (pkBtnState == FUSLiveChatToolPKBtnStateCancel) {
[self.toolBtn2 setImage:[FUSShowRoomCenterBunble imageNamed:@"Live_bottom_audience_PK_Normal"] forState:UIControlStateNormal];
[self.toolBtn2 setImage:[FUSShowRoomCenterBunble imageNamed:@"Live_bottom_audience_PK_highlight"] forState:UIControlStateHighlighted];
} else {
[self.toolBtn2 setImage:[FUSShowRoomCenterBunble imageNamed:@"Live_icon_toolview_highlighted_2"] forState:UIControlStateHighlighted];
[self.toolBtn2 setImage:[FUSShowRoomCenterBunble imageNamed:@"Live_icon_toolview_normal_2"] forState:UIControlStateNormal];
}
switch (pkBtnState) {
case FUSLiveChatToolPKBtnStateStart:
{
[self.toolBtn2 setBackgroundImage:nil forState:UIControlStateNormal];
}
break;
case FUSLiveChatToolPKBtnStateCancel:
{
[self.toolBtn2 setBackgroundImage:[FUSShowRoomCenterBunble animatedImageNamed:@"PKBottomBtnBgRotationAnimation_" duration:2] forState:UIControlStateNormal];
}
break;
case FUSLiveChatToolPKBtnStateStop:
{
[self.toolBtn2 setBackgroundImage:nil forState:UIControlStateNormal];
}
break;
default:
break;
}
// ludy: 现在pk在里面了
// if (pkBtnState == FUSLiveChatToolPKBtnStateCancel) {
// [self.toolBtn2 setImage:[FUSShowRoomCenterBunble imageNamed:@"Live_bottom_audience_PK_Normal"] forState:UIControlStateNormal];
// [self.toolBtn2 setImage:[FUSShowRoomCenterBunble imageNamed:@"Live_bottom_audience_PK_highlight"] forState:UIControlStateHighlighted];
// } else {
// [self.toolBtn2 setImage:[FUSShowRoomCenterBunble imageNamed:@"Live_icon_toolview_highlighted_2"] forState:UIControlStateHighlighted];
// [self.toolBtn2 setImage:[FUSShowRoomCenterBunble imageNamed:@"Live_icon_toolview_normal_2"] forState:UIControlStateNormal];
// }
//
// switch (pkBtnState) {
// case FUSLiveChatToolPKBtnStateStart:
// {
// [self.toolBtn2 setBackgroundImage:nil forState:UIControlStateNormal];
// }
// break;
// case FUSLiveChatToolPKBtnStateCancel:
// {
// [self.toolBtn2 setBackgroundImage:[FUSShowRoomCenterBunble animatedImageNamed:@"PKBottomBtnBgRotationAnimation_" duration:2] forState:UIControlStateNormal];
// }
// break;
// case FUSLiveChatToolPKBtnStateStop:
// {
// [self.toolBtn2 setBackgroundImage:nil forState:UIControlStateNormal];
// }
// break;
// default:
// break;
// }
[self fus_updateLinkMicBtnState];
}
......
......@@ -128,6 +128,9 @@ if (@available(iOS 11.0, *)) {height = height + UIView.fus_SafeBottom;}\
/// 结束口令宝箱的编辑状态
- (void)fus_endBoxSettingEdittingState;
/// 显示宝箱
-(void)fus_showBoxSettingView;
/**
清除数据
*/
......
......@@ -1395,6 +1395,21 @@ static FUSLiveGiftView *giftView = nil;
[self.boxSettingView fus_stopOrderListEditState];
}
/// 显示宝箱
-(void)fus_showBoxSettingView {
[self fus_dismissWithAnimate:YES needUpload:NO];
if (!_boxSettingView) {
_boxSettingView = [[FUSLiveBoxSettingView alloc] initWithFrame:CGRectMake(0, UIView.fus_screenH, UIView.fus_screenW, UIView.fus_screenH)];
}else{
[_boxSettingView fus_requestBoxData];
}
[[[FUSLiveHelper shareInstance].currentFunctionView fus_viewWithLayer:FUSLiveFunctionLayerManualPopView] addSubview:_boxSettingView];
[UIView animateWithDuration:0.2 animations:^{
self.boxSettingView.y = 0;
}];
}
/**
清除数据
*/
......
......@@ -277,6 +277,9 @@ typedef NS_ENUM(NSInteger, FUSFunctionMode) {
/// - gid: 礼物id
-(void)fus_jumpToBackpackWithPageType:(NSInteger)pageType gid:(NSString *)gid;
/// 弹出发宝箱的view
-(void)fus_showLiveBoxSettingView;
/// 弹出资料卡
-(void)fus_showUserInfoAlertViewWithModel:(FUSRoomUserInfoModel *)model;
......
......@@ -290,6 +290,11 @@ BDAlphaPlayerMetalViewDelegate
// 抢红包页面
@property (nonatomic, weak) FUSLiveTreasureBoxGrabView *treasureBoxGrabView;
/// 新人好礼按钮图标
@property (nonatomic, strong) UIButton *comerNewGiftBtn;
/// 控制防抖
@property (nonatomic, assign) BOOL comerNewGiftBtnDidClicked;
// 撩一撩引导充值弹窗的计时器
@property (nonatomic, strong) NSTimer *topUpGuideTimer;
......@@ -424,6 +429,8 @@ BDAlphaPlayerMetalViewDelegate
[self fus_initTreasureBoxListIcon];
[self fus_setupPopularView];
[self fus_initComerNewGiftButton];
}
/**
......@@ -804,7 +811,62 @@ BDAlphaPlayerMetalViewDelegate
}
/// 刷新一些按钮的位置
- (void)fus_reloadUIWithKeyboardSetPart {
//- (void)p_fus_reloadUIWithKeyboardSetPart {
//
// //ludy:一般来说,所有下面那些ui按钮的变动都能够通过这个地方更新,唯独需要注意一下连送按钮生成,以前连送按钮生成没有统一到这里来,7570版本后我统一了,看看有没有bug
// //ludy:上面说的连送按钮,是在ffsetDewGiftCountdownBtn这个方法里的
// //ludy:为什么不统一写在这里,因为东西太多了,n个人改过打补丁的,没什么意外不要动
//
// CGFloat safeAreaBottom = 0;
// if (@available(iOS 11.0, *)) {
// safeAreaBottom = UIView.fus_SafeBottom;
// }
//
// CGFloat fastChatInputViewHeight = 0;
// if (self.chatFastInputView && self.chatFastInputView.isHidden == NO) {
// fastChatInputViewHeight = self.chatFastInputView.height;
// }
//
// [self fus_updateActivityChangeFrame];
// CGFloat bulletsHeight = (self.bottomToolView.chatTextView.isBulletsHeight && self.isKeyboard) ? BULLETS_LIST_HEIGHT : 0;
// CGFloat activityViewY = self.activityChangeFrame.origin.y - bulletsHeight;
// if (self.sendGiftCountdownBtn && self.sendGiftCountdownBtn.alpha == 1) {
// activityViewY -= 65;
// }
//
// CGFloat releasePunishmentViewY = activityViewY;
// if (self.releasePunishmentView != nil && self.releasePunishmentView.isHidden == NO) {
// releasePunishmentViewY -= (10 + 48);
// }
//
// // ludy: fusi不需要做tickroom的东西,直接去掉了
// [UIView animateWithDuration:0.3 animations:^{
//
// self.activityView.y = activityViewY;
// self.releasePunishmentView.y = releasePunishmentViewY;
// if (FUSSwiftLiveHelper.shared.pkHelper.ocViewModel.currentPKState != FUSPKStateNone) {
// self.pushLinkMicroView.hidden = YES;
// self.linkMicroView.hidden = YES;
// }else{
// self.pushLinkMicroView.hidden = NO;
// self.linkMicroView.hidden = NO;
// }
// if (self.isKeyboard) {
// self.chatTableView.superview.y = self.height - self.fus_chatTextViewHeight - self.chatTableView.superview.height - 6 - safeAreaBottom - fastChatInputViewHeight;
// } else {
// self.chatTableView.superview.y = self.bottomToolView.y - self.chatTableView.height - fastChatInputViewHeight;
// }
// self.treasureBoxListIcon.y = releasePunishmentViewY - 75 - 10;
// self.sendGiftCountdownBtn.y = self.bottomToolView.y - 55 - 10 - bulletsHeight - fastChatInputViewHeight;
//
// //连麦的适配
// self.pushLinkMicroView.y = self.pusherChatTableView.superview.y - 60;
// self.linkMicroView.y = self.chatViewBgView.y - 60;
// }];
//}
/// 刷新一些按钮的位置
-(void)fus_reloadUIWithKeyboardSetPart {
//ludy:一般来说,所有下面那些ui按钮的变动都能够通过这个地方更新,唯独需要注意一下连送按钮生成,以前连送按钮生成没有统一到这里来,7570版本后我统一了,看看有没有bug
//ludy:上面说的连送按钮,是在ffsetDewGiftCountdownBtn这个方法里的
......@@ -820,23 +882,12 @@ BDAlphaPlayerMetalViewDelegate
fastChatInputViewHeight = self.chatFastInputView.height;
}
[self fus_updateActivityChangeFrame];
CGFloat bulletsHeight = (self.bottomToolView.chatTextView.isBulletsHeight && self.isKeyboard) ? BULLETS_LIST_HEIGHT : 0;
CGFloat activityViewY = self.activityChangeFrame.origin.y - bulletsHeight;
if (self.sendGiftCountdownBtn && self.sendGiftCountdownBtn.alpha == 1) {
activityViewY -= 65;
}
CGFloat releasePunishmentViewY = activityViewY;
if (self.releasePunishmentView != nil && self.releasePunishmentView.isHidden == NO) {
releasePunishmentViewY -= (10 + 48);
}
// ludy: fusi不需要做tickroom的东西,直接去掉了
__block CGFloat lastViewY = self.bottomToolView.y - bulletsHeight - fastChatInputViewHeight;
[UIView animateWithDuration:0.3 animations:^{
self.activityView.y = activityViewY;
self.releasePunishmentView.y = releasePunishmentViewY;
// 左边聊天框适配
if (FUSSwiftLiveHelper.shared.pkHelper.ocViewModel.currentPKState != FUSPKStateNone) {
self.pushLinkMicroView.hidden = YES;
self.linkMicroView.hidden = YES;
......@@ -849,12 +900,44 @@ BDAlphaPlayerMetalViewDelegate
} else {
self.chatTableView.superview.y = self.bottomToolView.y - self.chatTableView.height - fastChatInputViewHeight;
}
self.treasureBoxListIcon.y = releasePunishmentViewY - 75 - 10;
self.sendGiftCountdownBtn.y = self.bottomToolView.y - 55 - 10 - bulletsHeight - fastChatInputViewHeight;
// self.treasureBoxListIcon.y = releasePunishmentViewY - 75 - 10;
// self.sendGiftCountdownBtn.y = self.bottomToolView.y - 55 - 10 - bulletsHeight - fastChatInputViewHeight;
// 右边功能按钮适配,开始从下到上计算每个控件的位置
// 连送按钮
if (self.sendGiftCountdownBtn && self.sendGiftCountdownBtn.alpha == 1) {
lastViewY = lastViewY - 55 - 10;
self.sendGiftCountdownBtn.y = lastViewY;
}
// 活动按钮,一定有
lastViewY = lastViewY - 55 - 25;
self.activityView.y = lastViewY;
// 解除惩罚
if (self.releasePunishmentView.isHidden == NO) {
lastViewY = lastViewY - 48 - 10;
self.releasePunishmentView.y = lastViewY;
}
// 宝箱
if (self.treasureBoxListIcon.isHidden == NO) {
lastViewY = lastViewY - 75 - 10;
self.treasureBoxListIcon.y = lastViewY;
}
// 新人好礼
if (self.comerNewGiftBtn.hidden == NO) {
lastViewY = lastViewY - self.comerNewGiftBtn.height - 10;
self.comerNewGiftBtn.y = lastViewY;
}
// 其他适配
//连麦的适配
self.pushLinkMicroView.y = self.pusherChatTableView.superview.y - 60;
self.linkMicroView.y = self.chatViewBgView.y - 60;
self.pushLinkMicroView.y = self.pusherChatTableView.y - (self.pushLinkMicroView.height + 10);
// 为了不让快捷发言出来的时候直接把上麦按钮顶到头部栏上,设定至少的y值为头部栏之下
self.linkMicroView.y = self.chatViewBgView.y - (self.linkMicroView.height + 10) < CGRectGetMaxY(self.headView.frame) ? CGRectGetMaxY(self.headView.frame) : self.chatViewBgView.y - (self.linkMicroView.height + 10);
}];
}
......@@ -2317,6 +2400,42 @@ BDAlphaPlayerMetalViewDelegate
[[self fus_viewWithLayer:FUSLiveFunctionLayerKeywordEffect] addSubview:self.fallDownImageView];
}
/// 新人好礼按钮
-(void)fus_initComerNewGiftButton {
self.comerNewGiftBtn = [UIButton buttonWithType:UIButtonTypeCustom];
// 这里确实是要在 treasureBoxListIcon 上面的,但是因为treasureBoxListIcon肯定是一开始没有,这个勾8按钮如果有的话,会直接在一开始有,所以直接放在活动图标上面
self.comerNewGiftBtn.frame = CGRectMake(self.width - 70, self.activityView.y - 70 - 10, 70, 70);
self.comerNewGiftBtn.hidden = YES;
[[self fus_viewWithLayer:FUSLiveFunctionLayerFloatButtons] addSubview:self.comerNewGiftBtn];
[self.comerNewGiftBtn addTarget:self action:@selector(comerNewGiftBtnDidClicked:) forControlEvents:UIControlEventTouchUpInside];
// 动图
YYAnimatedImageView *comerImageView = [[YYAnimatedImageView alloc] initWithFrame:CGRectMake(0, 0, self.comerNewGiftBtn.width, self.comerNewGiftBtn.height)];
comerImageView.userInteractionEnabled = NO;
comerImageView.image = [FUSShowRoomCenterBunble webpImageName:@"liveRoom_newComer_gift_animate"];
[self.comerNewGiftBtn addSubview:comerImageView];
}
/// 刷新新人好礼按钮状态
-(void)fus_reloadComerNewGiftButtonStatus {
// 主播不显示
if ([FUSSwiftLiveHelper shared].liveType == FUSLiveTypeAnchor) {
self.comerNewGiftBtn.hidden = YES;
return;
}
BOOL comerNewGiftBtnShouldShow = NO;
for (FUSLiveSyncRightResultComerNewDataModel *tempModel in [FUSSwiftCacheDataShare share].oc_liveSyncRightResultRecallShowModel.comerNewData) {
if (tempModel.status == 1) {
comerNewGiftBtnShouldShow = YES;
break;
}
}
self.comerNewGiftBtn.hidden = !comerNewGiftBtnShouldShow;
}
- (void)fus_initTreasureBoxListIcon {
// CGFloat gameEntranceY = (self.bottomToolView.y - 55 - 10) - 55 - 10;
......@@ -3831,6 +3950,42 @@ BDAlphaPlayerMetalViewDelegate
[self.halfWebManager fus_removeAllWebView];
}
/// 点击新人好礼按钮
-(void)comerNewGiftBtnDidClicked:(UIButton *)btn {
if (self.comerNewGiftBtnDidClicked == YES) {
return;
}
self.comerNewGiftBtnDidClicked = YES;
NSMutableArray *sidList = [[NSMutableArray alloc] init];
for (FUSLiveSyncRightResultComerNewDataModel *tempModel in [FUSSwiftCacheDataShare share].oc_liveSyncRightResultRecallShowModel.comerNewData) {
if (tempModel.status == 1) {
[sidList addObject:tempModel.sid];
}
}
if (sidList.count <= 0) {
self.comerNewGiftBtnDidClicked = NO;
[self fus_reloadComerNewGiftButtonStatus];
return;
}
MJWeakSelf
[FUSLiveHttpHelper fus_requestGetTaskRewardMultiReceiveWithSidList:sidList succeed:^{
for (FUSLiveSyncRightResultComerNewDataModel *tempModel in [FUSSwiftCacheDataShare share].oc_liveSyncRightResultRecallShowModel.comerNewData) {
if (tempModel.status == 1) {
tempModel.status = 2;
}
}
weakSelf.comerNewGiftBtnDidClicked = NO;
[weakSelf fus_reloadComerNewGiftButtonStatus];
} failure:^(NSString * _Nonnull msg, NSInteger code) {
[FUSDialogView fus_showDialog:msg];
weakSelf.comerNewGiftBtnDidClicked = NO;
}];
}
/**
点击关闭按钮
*/
......@@ -4014,6 +4169,13 @@ BDAlphaPlayerMetalViewDelegate
_scrollView.scrollEnabled = YES;
_bgImgView.image = nil;
// [[self fus_viewWithLayer:FUSLiveFunctionLayerEffects] addSubview:_bulletsOriginalView];
// [[self fus_viewWithLayer:FUSLiveFunctionLayerEffects] addSubview:_bulletsView];
[FUSGiftCenter fus_shareGiftCenter].normalGiftBgView = [self fus_viewWithLayer:FUSLiveFunctionLayerEffects];
[self fus_reloadComerNewGiftButtonStatus];
[self fus_reloadUIWithKeyboardSetPart];
}
- (void)fus_closeLiveRoomWithTips:(BOOL)show{
......@@ -6054,6 +6216,13 @@ BDAlphaPlayerMetalViewDelegate
[[FUSLiveGiftView shareGiftView] fus_jumpToBackpackWithPageType:pageType gid:gid];
}
- (void)fus_showLiveBoxSettingView{
if ([FUSSwiftLiveHelper shared].liveType == FUSLiveTypeNone) {
return;
}
[[FUSLiveGiftView shareGiftView] fus_showBoxSettingView];
}
- (void)fus_showUserInfoAlertViewWithModel:(FUSRoomUserInfoModel *)model{
[self.userInfoView fus_showUserInfoViewWithUserInfoViewType:FUSUserInfoViewTypeLive userInfoModel:model shouldRequestData:YES];
}
......
......@@ -57,14 +57,15 @@ class FUSPKPunishSelectPunishCell: UICollectionViewCell {
activateLabel.font = .fus_themeBoldFont(7)
activateLabel.textColor = .init(hex: "#111111")
activateLabel.text = " " + .fus_versionLocalString("生效中1") + " "
activateLabel.backgroundColor = .init(hex: "#FFF000")
activateLabel.text = " " + .fus_versionLocalString("生效中") + " "
activateLabel.backgroundColor = .fus_theme()
activateLabel.layer.cornerRadius = 6
activateLabel.layer.masksToBounds = true
bgImage.addSubview(activateLabel)
activateLabel.snp.makeConstraints { make in
make.left.equalTo(7)
make.top.equalTo(7)
make.height.equalTo(12)
}
activateLabel.isHidden = true
......
......@@ -335,7 +335,7 @@
return self.dataSourceList.count;
}
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 90;
return 185;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewAutomaticDimension;
......
......@@ -107,99 +107,96 @@
make.left.equalTo(self.titleLabel.mas_left);
make.right.offset(-13);
make.top.equalTo(self.punishTypeImageView.mas_bottom).offset(6);
make.bottom.offset(-10);
}];
// 暂时不要
UIView *lineView = [[UIView alloc] init];
lineView.backgroundColor = [UIColor fus_lineColor];
[bgView addSubview:lineView];
[lineView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.inset(14);
make.top.equalTo(self.punishDescLabel.mas_bottom).offset(13);
make.height.offset(1);
}];
// UIView *lineView = [[UIView alloc] init];
// lineView.backgroundColor = [UIColor fus_lineColor];
// [bgView addSubview:lineView];
// [lineView mas_makeConstraints:^(MASConstraintMaker *make) {
// make.left.right.inset(14);
// make.top.equalTo(self.punishDescLabel.mas_bottom).offset(13);
// make.height.offset(1);
// }];
//
// self.releaseConditionLabel = [[UILabel alloc] init];
// self.releaseConditionLabel.textColor = [UIColor whiteColor];
// self.releaseConditionLabel.font = [UIFont fus_themeFont:13];
// self.releaseConditionLabel.text = [NSString fus_versionLocalString:@"解救条件"];
// [bgView addSubview:self.releaseConditionLabel];
// [self.releaseConditionLabel mas_makeConstraints:^(MASConstraintMaker *make) {
// make.left.equalTo(self.titleLabel.mas_left);
// make.top.equalTo(lineView.mas_bottom).offset(10);
// }];
//
// UIView *releaseBgView = [[UIView alloc] init];
// releaseBgView.backgroundColor = [[UIColor whiteColor] colorWithAlphaComponent:0.24];
// releaseBgView.layer.cornerRadius = 6;
// [bgView addSubview:releaseBgView];
// [releaseBgView mas_makeConstraints:^(MASConstraintMaker *make) {
// make.left.equalTo(self.titleLabel.mas_left);
// make.top.equalTo(self.releaseConditionLabel.mas_bottom).offset(8);
// make.size.mas_offset(CGSizeMake(54, 54));
// }];
//
// self.releaseGiftImageView = [[UIImageView alloc] init];
// self.releaseGiftImageView.contentMode = UIViewContentModeScaleAspectFit;
// [releaseBgView addSubview:self.releaseGiftImageView];
// [self.releaseGiftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
// make.top.offset(3);
// make.height.offset(34);
// make.centerX.equalTo(releaseBgView.mas_centerX);
// }];
//
// self.releaseGiftTotalCountLabel = [[UILabel alloc] init];
// self.releaseGiftTotalCountLabel.font = [UIFont fus_themeFont:11];
// self.releaseGiftTotalCountLabel.textColor = [UIColor whiteColor];
// self.releaseGiftTotalCountLabel.textAlignment = NSTextAlignmentCenter;
// [releaseBgView addSubview:self.releaseGiftTotalCountLabel];
// [self.releaseGiftTotalCountLabel mas_makeConstraints:^(MASConstraintMaker *make) {
// make.top.equalTo(self.releaseGiftImageView.mas_bottom);
// make.bottom.offset(0);
// make.left.right.offset(0);
// }];
//
// //进度条不限制长度,让去解救的按钮宽度来决定它的长度
// self.releaseProgressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault];
// self.releaseProgressView.trackTintColor = [[UIColor blackColor] colorWithAlphaComponent:0.2];
// self.releaseProgressView.progressTintColor = [UIColor fus_themeColor];
// self.releaseProgressView.frame = CGRectMake(0, 0, UIView.fus_screenW - 15*2 - 14 - 68, 4);
// [bgView addSubview:self.releaseProgressView];
// [self.releaseProgressView mas_makeConstraints:^(MASConstraintMaker *make) {
// make.left.equalTo(self.titleLabel.mas_left);
// make.top.equalTo(releaseBgView.mas_bottom).offset(14);
// make.height.offset(4);
// make.bottom.offset(-17);
// }];
//
// self.releaseGiftCompletedNumLabel = [[UILabel alloc] init];
// self.releaseGiftCompletedNumLabel.font = [UIFont fus_themeFont:12];
// [bgView addSubview:self.releaseGiftCompletedNumLabel];
// [self.releaseGiftCompletedNumLabel mas_makeConstraints:^(MASConstraintMaker *make) {
// make.right.equalTo(self.releaseProgressView.mas_right);
// make.bottom.equalTo(self.releaseProgressView.mas_top).offset(-5);
// }];
//
// self.gotoReleaseBtn = [UIButton buttonWithType:UIButtonTypeCustom];
// self.gotoReleaseBtn.layer.cornerRadius = 24/2.0;
// self.gotoReleaseBtn.layer.masksToBounds = YES;
// self.gotoReleaseBtn.backgroundColor = [UIColor fus_themeColor];
// [self.gotoReleaseBtn setTitle:[NSString fus_versionLocalString:@"去解救"] forState:UIControlStateNormal];
// [self.gotoReleaseBtn setTitleColor:[UIColor colorWithHex:@"#22222B"] forState:UIControlStateNormal];
// self.gotoReleaseBtn.titleLabel.font = [UIFont fus_themeFont:11];
// [self.gotoReleaseBtn.titleLabel sizeToFit];
// [bgView addSubview:self.gotoReleaseBtn];
// [self.gotoReleaseBtn mas_makeConstraints:^(MASConstraintMaker *make) {
// make.right.offset(-11);
// make.left.equalTo(self.releaseProgressView.mas_right).offset(10);
// make.width.offset(self.gotoReleaseBtn.titleLabel.width + 14);
// make.height.offset(24);
// make.bottom.equalTo(self.releaseProgressView.mas_bottom);
// }];
//
// [self.gotoReleaseBtn addTarget:self action:@selector(gotoReleaseBtnDidClicked:) forControlEvents:UIControlEventTouchUpInside];
self.releaseConditionLabel = [[UILabel alloc] init];
self.releaseConditionLabel.textColor = [UIColor fus_textColorRich];
self.releaseConditionLabel.font = [UIFont fus_themeFont:13];
self.releaseConditionLabel.text = [NSString fus_versionLocalString:@"解救条件"];
[bgView addSubview:self.releaseConditionLabel];
[self.releaseConditionLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.titleLabel.mas_left);
make.top.equalTo(lineView.mas_bottom).offset(10);
}];
UIView *releaseBgView = [[UIView alloc] init];
releaseBgView.backgroundColor = [[UIColor whiteColor] colorWithAlphaComponent:0.24];
releaseBgView.layer.cornerRadius = 6;
[bgView addSubview:releaseBgView];
[releaseBgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.titleLabel.mas_left);
make.top.equalTo(self.releaseConditionLabel.mas_bottom).offset(8);
make.size.mas_offset(CGSizeMake(54, 54));
}];
self.releaseGiftImageView = [[UIImageView alloc] init];
self.releaseGiftImageView.contentMode = UIViewContentModeScaleAspectFit;
[releaseBgView addSubview:self.releaseGiftImageView];
[self.releaseGiftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.offset(3);
make.height.offset(34);
make.centerX.equalTo(releaseBgView.mas_centerX);
}];
self.releaseGiftTotalCountLabel = [[UILabel alloc] init];
self.releaseGiftTotalCountLabel.font = [UIFont fus_themeFont:11];
self.releaseGiftTotalCountLabel.textColor = [UIColor fus_textColorRich];
self.releaseGiftTotalCountLabel.textAlignment = NSTextAlignmentCenter;
[releaseBgView addSubview:self.releaseGiftTotalCountLabel];
[self.releaseGiftTotalCountLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.releaseGiftImageView.mas_bottom);
make.bottom.offset(0);
make.left.right.offset(0);
}];
//进度条不限制长度,让去解救的按钮宽度来决定它的长度
self.releaseProgressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault];
self.releaseProgressView.trackTintColor = [[UIColor blackColor] colorWithAlphaComponent:0.2];
self.releaseProgressView.progressTintColor = [UIColor fus_themeColor];
self.releaseProgressView.frame = CGRectMake(0, 0, UIView.fus_screenW - 15*2 - 14 - 68, 4);
[bgView addSubview:self.releaseProgressView];
[self.releaseProgressView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.titleLabel.mas_left);
make.top.equalTo(releaseBgView.mas_bottom).offset(14);
make.height.offset(4);
make.bottom.offset(-17);
}];
self.releaseGiftCompletedNumLabel = [[UILabel alloc] init];
self.releaseGiftCompletedNumLabel.font = [UIFont fus_themeFont:12];
[bgView addSubview:self.releaseGiftCompletedNumLabel];
[self.releaseGiftCompletedNumLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(self.releaseProgressView.mas_right);
make.bottom.equalTo(self.releaseProgressView.mas_top).offset(-5);
}];
self.gotoReleaseBtn = [UIButton buttonWithType:UIButtonTypeCustom];
self.gotoReleaseBtn.layer.cornerRadius = 24/2.0;
self.gotoReleaseBtn.layer.masksToBounds = YES;
self.gotoReleaseBtn.backgroundColor = [UIColor fus_themeColor];
[self.gotoReleaseBtn setTitle:[NSString fus_versionLocalString:@"去解救"] forState:UIControlStateNormal];
[self.gotoReleaseBtn setTitleColor:[UIColor colorWithHex:@"#22222B"] forState:UIControlStateNormal];
self.gotoReleaseBtn.titleLabel.font = [UIFont fus_themeFont:11];
[self.gotoReleaseBtn.titleLabel sizeToFit];
[bgView addSubview:self.gotoReleaseBtn];
[self.gotoReleaseBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.offset(-11);
make.left.equalTo(self.releaseProgressView.mas_right).offset(10);
make.width.offset(self.gotoReleaseBtn.titleLabel.width + 14);
make.height.offset(24);
make.bottom.equalTo(self.releaseProgressView.mas_bottom);
}];
[self.gotoReleaseBtn addTarget:self action:@selector(gotoReleaseBtnDidClicked:) forControlEvents:UIControlEventTouchUpInside];
}
......@@ -266,6 +263,9 @@
[self fus_updateProgressLabelWithModel:model];
// 不用去解救
self.gotoReleaseBtn.hidden = YES;
}
/// 更新进度描述
-(void)fus_updateProgressLabelWithModel:(FUSLiveRoomPunishListModel *)model{
......@@ -273,7 +273,7 @@
NSString *totalCountStr = [NSString stringWithFormat:@"/%ld",(long)model.progress.total];
NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@%@",completedCountStr,totalCountStr]];
[attributedText addAttribute:NSForegroundColorAttributeName value:[UIColor fus_themeColor] range:NSMakeRange(0, completedCountStr.length)];
[attributedText addAttribute:NSForegroundColorAttributeName value:[UIColor whiteColor] range:NSMakeRange(completedCountStr.length, totalCountStr.length)];
[attributedText addAttribute:NSForegroundColorAttributeName value:[UIColor fus_textColorRich] range:NSMakeRange(completedCountStr.length, totalCountStr.length)];
self.releaseGiftCompletedNumLabel.attributedText = attributedText;
}
......
......@@ -482,6 +482,9 @@ NS_ASSUME_NONNULL_BEGIN
/// 获取PK惩罚资源配置列表
+ (NSString *)fus_URL_settingDataVsPunishGetList;
/// 奖励中心批量领取 sidList: sid集合json,例如:[11122,3333,4444,555]
+ (NSString *)fus_URL_getTaskRewardMultiReceive;
/// 获取模式列表
+ (NSString *)fus_URL_vsTypeGetList;
......
......@@ -783,6 +783,10 @@
+ (NSString *)fus_URL_settingDataVsPunishGetList{
return [FUSConfig.sharedInstanced.pathConfigs apiUrl:@"/setting/data/vs/punish/getList"];
}
/// 奖励中心批量领取 sidList: sid集合json,例如:[11122,3333,4444,555]
+ (NSString *)fus_URL_getTaskRewardMultiReceive {
return [FUSConfig.sharedInstanced.pathConfigs apiUrl:@"/task/reward/receive/getBatch"];
}
/// 获取模式列表
+ (NSString *)fus_URL_vsTypeGetList{
......
......@@ -496,6 +496,10 @@
}];
}
- (void)fus_showLiveBoxSettingView {
[[FUSLiveHelper shareInstance].currentFunctionView fus_showLiveBoxSettingView];
}
- (void)fus_showShareViewWithShowOn:(UIView *)showOnView shareHandler:(void (^)(SocialSharePlatform))shareHandler{
[FUSShareToolSheetView fus_showShareViewWithShowOn:showOnView shareHandler:shareHandler];
}
......
......@@ -899,6 +899,10 @@
[FUSRouter.liveRouter fus_showVideoScoreQualityAlertView:sid];
}
}
else if ([jumpType isEqualToString:@"yazhai://_room_red_packet"]) {
// 发宝箱
[[FUSRouter liveRouter] fus_showLiveBoxSettingView];
}
}
// 获取执行任务相关数据
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment