飘屏优化

This commit is contained in:
liyuhua
2023-09-14 11:16:47 +08:00
parent 884482b8ae
commit cafd609cfc
50 changed files with 698 additions and 70 deletions

View File

@@ -132,6 +132,8 @@
18F404C927609A4300A6C548 /* MessagePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F404C827609A4300A6C548 /* MessagePresenter.m */; };
232C43E52AB074AD00D4B2ED /* SudMGP.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 232C43E42AB074AD00D4B2ED /* SudMGP.framework */; };
232C43E72AB0755200D4B2ED /* SudMGP.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 232C43E42AB074AD00D4B2ED /* SudMGP.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
232C43EA2AB15F4100D4B2ED /* XPRoomTarrowBannerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 232C43E92AB15F4100D4B2ED /* XPRoomTarrowBannerView.m */; };
232C43EC2AB169EC00D4B2ED /* pi_room_tarrow_banner.svga in Resources */ = {isa = PBXBuildFile; fileRef = 232C43EB2AB169EB00D4B2ED /* pi_room_tarrow_banner.svga */; };
2331C0DC2A5E9E9000E1D940 /* PIFullScreenBannerAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 2331C0DB2A5E9E9000E1D940 /* PIFullScreenBannerAnimation.m */; };
2331C1632A5EB71000E1D940 /* XPNobleCenterPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 2331C1322A5EB71000E1D940 /* XPNobleCenterPresenter.m */; };
2331C1642A5EB71000E1D940 /* NobleInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 2331C1362A5EB71000E1D940 /* NobleInfo.m */; };
@@ -1642,6 +1644,9 @@
18F404C727609A4300A6C548 /* MessagePresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessagePresenter.h; sourceTree = "<group>"; };
18F404C827609A4300A6C548 /* MessagePresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MessagePresenter.m; sourceTree = "<group>"; };
232C43E42AB074AD00D4B2ED /* SudMGP.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SudMGP.framework; sourceTree = "<group>"; };
232C43E82AB15F4100D4B2ED /* XPRoomTarrowBannerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomTarrowBannerView.h; sourceTree = "<group>"; };
232C43E92AB15F4100D4B2ED /* XPRoomTarrowBannerView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomTarrowBannerView.m; sourceTree = "<group>"; };
232C43EB2AB169EB00D4B2ED /* pi_room_tarrow_banner.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = pi_room_tarrow_banner.svga; sourceTree = "<group>"; };
2331C0DA2A5E9E9000E1D940 /* PIFullScreenBannerAnimation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIFullScreenBannerAnimation.h; sourceTree = "<group>"; };
2331C0DB2A5E9E9000E1D940 /* PIFullScreenBannerAnimation.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIFullScreenBannerAnimation.m; sourceTree = "<group>"; };
2331C1312A5EB71000E1D940 /* XPNobleCenterPresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPNobleCenterPresenter.h; sourceTree = "<group>"; };
@@ -6890,6 +6895,8 @@
9B8DE0E3289CF7AA00FB6EC2 /* XPRoomGiftCompoundView.m */,
E83DB47B2746372300D8CBD1 /* XPRoomGiftBannerView.h */,
E83DB47C2746372300D8CBD1 /* XPRoomGiftBannerView.m */,
232C43E82AB15F4100D4B2ED /* XPRoomTarrowBannerView.h */,
232C43E92AB15F4100D4B2ED /* XPRoomTarrowBannerView.m */,
E83DB4822746661800D8CBD1 /* XPRoomGiftBroadcastView.h */,
E83DB4832746661800D8CBD1 /* XPRoomGiftBroadcastView.m */,
E8A03DFD27635F960098D9EA /* XPRoomCandyGiftView.h */,
@@ -8771,6 +8778,7 @@
23FF42642AA5AC040055733C /* home_heat.gif */,
23FF42662AA5CFBB0055733C /* home_sound_wave.gif */,
23E9EB232A84E98300B792F2 /* pi_new_mine_info_online.svga */,
232C43EB2AB169EB00D4B2ED /* pi_room_tarrow_banner.svga */,
23E9EB222A84E98300B792F2 /* pi_new_mine_info_sound_play.svga */,
23E9EAA22A84C80300B792F2 /* pi_new_loading.svga */,
23E9EA6C2A83813000B792F2 /* fairy */,
@@ -10037,6 +10045,7 @@
E80EC83528ACD84000D133C5 /* emoji_124@2x.png in Resources */,
E80EC8A928ACD84100D133C5 /* emoji_68@2x.png in Resources */,
E80EC89D28ACD84000D133C5 /* emoji_78@2x.png in Resources */,
232C43EC2AB169EC00D4B2ED /* pi_room_tarrow_banner.svga in Resources */,
E80EC8AC28ACD84100D133C5 /* emoji_19@2x.png in Resources */,
E80EC84428ACD84000D133C5 /* emoji_51@2x.png in Resources */,
E80EC84D28ACD84000D133C5 /* emoji_143@2x.png in Resources */,
@@ -11033,6 +11042,7 @@
23E9EA342A837BE400B792F2 /* TreasureFairyLimitModel.m in Sources */,
E85E7B332A4EB0D300B6D00A /* XPGuildIncomeSectionView.m in Sources */,
E85E7B0F2A4EB0D200B6D00A /* GuildRoomInfoModel.m in Sources */,
232C43EA2AB15F4100D4B2ED /* XPRoomTarrowBannerView.m in Sources */,
E801275527E3326000BAC3F2 /* XPRoomPKUserView.m in Sources */,
E8FE3C2C2994D0E80006C6C7 /* XPSwitch.m in Sources */,
E8D4824D278D2CE4003C1D08 /* XPAcrossRoomPKInviteResultView.m in Sources */,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 759 B

After

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 845 B

After

Width:  |  Height:  |  Size: 1013 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 774 B

After

Width:  |  Height:  |  Size: 647 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 792 B

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 810 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 971 B

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "room_tarrow_banner_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "room_tarrow_banner_bg@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "room_tarrow_banner_h5_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "room_tarrow_banner_h5_bg@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -102,8 +102,10 @@ typedef NS_ENUM(NSUInteger, CustomMessageType) {
CustomMessageType_Treasure_Fairy = 97,
///寻爱之旅
CustomMessageType_Look_Love = 98,
///寻爱之旅
///联系客服
CustomMessageType_Service_Reply = 99,
///通用h5
CustomMessageType_Common_H5 = 100,
};
@@ -374,7 +376,12 @@ typedef NS_ENUM(NSUInteger, CustomMessageSubLuckyBag) {
///CustomMessageType_Tarot
typedef NS_ENUM(NSUInteger, CustomMessageSubTarot) {
/// 塔罗中奖消息
Custom_Message_Sub_Tarot = 711,
///初级
Custom_Message_Sub_Tarot_Novice = 712,
///中初
Custom_Message_Sub_Tarot_Intermediate = 713,
///高级
Custom_Message_Sub_Tarot_Advanced = 714,
};
///CustomMessageType_RoomPlay_Dating
@@ -581,7 +588,16 @@ typedef NS_ENUM(NSUInteger, CustomMessageSubLookLove) {
Custom_Message_Sub_Look_Love_InRoom_NeedAllMicSend = 985,
//暴击的没用 不写了
};
///通用h5
//CustomMessageType_Common_H5 = 100
typedef NS_ENUM(NSUInteger, CustomMessageTypeCommonH5) {
///所有房间
Custom_Message_Sub_Common_H5_Novice = 1101,
///全服
Custom_Message_Sub_Common_H5_Advanced = 1102,
};
@interface AttachmentModel : NSObject<NIMCustomAttachment>
@property (nonatomic,assign) int first;
@property (nonatomic,assign) int second;

View File

@@ -7,10 +7,18 @@
#import "PIMessageContentServiceReplyView.h"
#import <YYText/YYText.h>
#import "PIMessageContentServiceReplyModel.h"
@interface PIMessageContentServiceReplyView()
@property(nonatomic,strong) UIImageView *bgImageView;
@property(nonatomic,strong) UILabel *titleView;
@property(nonatomic,strong) YYLabel *contentView;
@property(nonatomic,strong) YYLabel *contentView1;
@property(nonatomic,strong) YYLabel *contentView2;
@property(nonatomic,strong) YYLabel *contentView3;
@property(nonatomic,strong) YYLabel *contentView4;
@end
@implementation PIMessageContentServiceReplyView
@@ -21,6 +29,10 @@
[self.backView addSubview:self.bgImageView];
[self.bgImageView addSubview:self.titleView];
[self.bgImageView addSubview:self.contentView];
[self.bgImageView addSubview:self.contentView1];
[self.bgImageView addSubview:self.contentView2];
[self.bgImageView addSubview:self.contentView3];
[self.bgImageView addSubview:self.contentView4];
}
- (void)initSubViewConstraints {
@@ -40,10 +52,69 @@
[self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(16);
make.right.mas_equalTo(14);
make.top.equalTo(self.titleView.mas_bottom).mas_offset(8);
make.top.equalTo(self.titleView.mas_bottom).mas_offset(6);
}];
[self.contentView1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(16);
make.right.mas_equalTo(14);
make.top.equalTo(self.contentView.mas_bottom).mas_offset(6);
}];
[self.contentView2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(16);
make.right.mas_equalTo(14);
make.top.equalTo(self.contentView1.mas_bottom).mas_offset(4);
}];
[self.contentView3 mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(16);
make.right.mas_equalTo(14);
make.top.equalTo(self.contentView2.mas_bottom).mas_offset(4);
}];
[self.contentView4 mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(16);
make.right.mas_equalTo(14);
make.top.equalTo(self.contentView3.mas_bottom).mas_offset(6);
}];
}
- (void)render:(MessageBaseModel *)model {
NIMMessage *message = model.message;
NIMCustomObject *obj = (NIMCustomObject *)message.messageObject;
AttachmentModel * attach = (AttachmentModel *)obj.attachment;
NSString *official0 = attach.data[@"official0"];
NSString *official1 = attach.data[@"official1"];
NSString *chatText = [NSString stringWithFormat:YMLocalizedString(@"PIMessageContentServiceReplyView4"),official0];
NSString *lineText = [NSString stringWithFormat:YMLocalizedString(@"PIMessageContentServiceReplyView5"),official1];
NSMutableAttributedString *chatAtt = [[NSMutableAttributedString alloc] initWithString:chatText];
chatAtt.yy_color = UIColorFromRGB(0x767585);
NSMutableAttributedString *lineAtt = [[NSMutableAttributedString alloc] initWithString:lineText];
lineAtt.yy_color = UIColorFromRGB(0x767585);
_contentView.numberOfLines = 0;
NSString *userString = YMLocalizedString(@"PIMessageContentServiceReplyView1");
NSMutableAttributedString *userAttString = [[NSMutableAttributedString alloc] initWithString:userString attributes:@{NSForegroundColorAttributeName:UIColorFromRGB(0x9168FA)}];
[userAttString yy_setTextHighlightRange:NSMakeRange(0, userAttString.length) color:nil backgroundColor:nil userInfo:nil tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"XPMineHeadView8")];
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = official0;
} longPressAction:nil];
[chatAtt insertAttributedString:userAttString atIndex:chatText.length];
_contentView2.attributedText = chatAtt;
NSString *protocolString = YMLocalizedString(@"PIMessageContentServiceReplyView1");
NSMutableAttributedString *privateString = [[NSMutableAttributedString alloc] initWithString:protocolString attributes:@{NSForegroundColorAttributeName:UIColorFromRGB(0x9168FA)}];
[privateString yy_setTextHighlightRange:NSMakeRange(0, privateString.length) color:nil backgroundColor:nil userInfo:nil tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"XPMineHeadView8")];
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = official1;
} longPressAction:nil];
[lineAtt insertAttributedString:privateString atIndex:lineText.length];
_contentView3.attributedText = lineAtt;
self.superview.backgroundColor = [UIColor clearColor];
}
- (UIImageView *)bgImageView{
if(!_bgImageView){
_bgImageView = [UIImageView new];
@@ -62,31 +133,45 @@
if(!_contentView){
_contentView = [[YYLabel alloc] init];
_contentView.font = [UIFont systemFontOfSize:12 weight:UIFontWeightRegular];
NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:YMLocalizedString(@"PIMessageContentServiceReplyView1")];
attString.yy_color = UIColorFromRGB(0x767585);
NSString *userString = YMLocalizedString(@"PIMessageContentServiceReplyView2");
NSMutableAttributedString *userAttString = [[NSMutableAttributedString alloc] initWithString:userString attributes:@{NSForegroundColorAttributeName:UIColorFromRGB(0x9168FA)}];
[userAttString yy_setTextHighlightRange:NSMakeRange(0, userAttString.length) color:nil backgroundColor:nil userInfo:nil tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"XPMineHeadView8")];
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = @"sd245376";
} longPressAction:nil];
NSString *protocolString = YMLocalizedString(@"PIMessageContentServiceReplyView2");
NSMutableAttributedString *privateString = [[NSMutableAttributedString alloc] initWithString:protocolString attributes:@{NSForegroundColorAttributeName:UIColorFromRGB(0x9168FA)}];
[privateString yy_setTextHighlightRange:NSMakeRange(0, privateString.length) color:nil backgroundColor:nil userInfo:nil tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"XPMineHeadView8")];
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = @"pekoyuyin";
} longPressAction:nil];
[attString appendAttributedString:userAttString];
[attString appendAttributedString:privateString];
_contentView.attributedText = attString;
_contentView.textColor = UIColorFromRGB(0x767585);
_contentView.text = YMLocalizedString(@"PIMessageContentServiceReplyView2");
_contentView.numberOfLines = 2;
}
return _contentView;
}
- (YYLabel *)contentView1{
if(!_contentView1){
_contentView1 = [[YYLabel alloc] init];
_contentView1.font = [UIFont systemFontOfSize:12 weight:UIFontWeightRegular];
_contentView1.textColor = UIColorFromRGB(0x767585);
_contentView1.text = YMLocalizedString(@"PIMessageContentServiceReplyView3");
}
return _contentView1;
}
- (YYLabel *)contentView2{
if(!_contentView2){
_contentView2 = [[YYLabel alloc] init];
_contentView2.font = [UIFont systemFontOfSize:12 weight:UIFontWeightRegular];
_contentView2.textColor = UIColorFromRGB(0x767585);
}
return _contentView2;
}
- (YYLabel *)contentView3{
if(!_contentView3){
_contentView3 = [[YYLabel alloc] init];
_contentView3.font = [UIFont systemFontOfSize:12 weight:UIFontWeightRegular];
_contentView3.textColor = UIColorFromRGB(0x767585);
}
return _contentView3;
}
- (YYLabel *)contentView4{
if(!_contentView4){
_contentView4 = [[YYLabel alloc] init];
_contentView4.font = [UIFont systemFontOfSize:12 weight:UIFontWeightRegular];
_contentView4.textColor = UIColorFromRGB(0x767585);
_contentView4.text = YMLocalizedString(@"PIMessageContentServiceReplyView6");
_contentView4.numberOfLines = 2;
}
return _contentView4;
}
@end

View File

@@ -11,9 +11,10 @@
- (instancetype)initWithMessage:(NIMMessage *)message {
if (self = [super initWithMessage:message]) {
self.messageType = SessionMessageType_Custom;
self.contentSize = CGSizeMake(278, 236);
self.height = 236;
self.contentSize = CGSizeMake(278, 276);
self.height = 276;
}
return self;
}

View File

@@ -496,7 +496,6 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey";
- (UITableView *)sessionListView {
if (!_sessionListView) {
_sessionListView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_sessionListView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);
_sessionListView.separatorStyle = UITableViewCellSeparatorStyleNone;
_sessionListView.backgroundColor = UIColor.clearColor;
_sessionListView.delegate = self;

View File

@@ -32,6 +32,8 @@ NS_ASSUME_NONNULL_BEGIN
- (void)checkTranscationIds:(NSArray *)transcations;
//充值banner位
-(void)getBannerList;
//联系客服
-(void)getContactCustomerService;
@end
NS_ASSUME_NONNULL_END

View File

@@ -52,8 +52,11 @@
NSString *orderId = (NSString *)data.data[@"recordId"];
[[self getView] requestIAPRechargeOrderSuccess:orderId chargeProdId:chargeProdId];
} fail:^(NSInteger code, NSString * _Nullable msg) {
if(code != 50000){
[[self getView]showErrorToast:msg];
}
[[self getView] requestIAPRechargeOrderFailWithCode:code];
}] chargeProdId:chargeProdId uid:uid ticket:ticket deviceInfo:deviceInfo clientIp:clientIp];
}errorToast:NO] chargeProdId:chargeProdId uid:uid ticket:ticket deviceInfo:deviceInfo clientIp:clientIp];
}
@@ -90,4 +93,13 @@
} showLoading:NO errorToast:NO]];
}
//
-(void)getContactCustomerService{
[Api requestContactCustomerServiceCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSString *uid = [NSString stringWithFormat:@"%@",data.data];
[[self getView]getContactCustomerServiceSuccessWithUid:uid];
} fail:^(NSInteger code, NSString * _Nullable msg) {
} showLoading:YES errorToast:NO]];
}
@end

View File

@@ -24,6 +24,9 @@ NS_ASSUME_NONNULL_BEGIN
- (void)checkTranscationIdsSuccess;
//充值banner位
-(void)getBannerListSuccessWithList:(NSArray *)list;
//联系客服成功
-(void)getContactCustomerServiceSuccessWithUid:(NSString *)uid;
@end
NS_ASSUME_NONNULL_END

View File

@@ -187,7 +187,9 @@
- (void)initHttpData {
[self getRechargeList];
[self.presenter getBannerList];
if([ClientConfig shareConfig].canOpen){
[self.presenter getBannerList];
}
[self getUserWalletBalanceInfo];
[self checkTranscationIds];
}
@@ -335,14 +337,19 @@
confirmButtonConfig.cornerRadius = 38/2;
config.confirmButtonConfig = confirmButtonConfig;
[TTPopup alertWithConfig:config confirmHandler:^{
NIMSession * session = [NIMSession session:@"10001" type:NIMSessionTypeP2P];
SessionViewController * sessionVC = [[SessionViewController alloc] initWithSession:session];
[self.navigationController pushViewController:sessionVC animated:YES];
[self.presenter getContactCustomerService];
} cancelHandler:^{
}];
}
}
- (void)getContactCustomerServiceSuccessWithUid:(NSString *)uid{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NIMSession * session = [NIMSession session:uid type:NIMSessionTypeP2P];
SessionViewController * sessionVC = [[SessionViewController alloc] initWithSession:session];
[self.navigationController pushViewController:sessionVC animated:YES];
});
}
///
- (void)checkReceiptSuccess:(NSString *)transcationId {
[self deleteRechageReciptWithTransactionIdentifier:transcationId];

View File

@@ -741,7 +741,6 @@ UIKIT_EXTERN NSString *kRequestRicket;
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.showsVerticalScrollIndicator = NO;
_tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;;
[_tableView registerClass:[XPMineTheGuildCell class] forCellReuseIdentifier:NSStringFromClass([XPMineTheGuildCell class])];
[_tableView registerClass:[XPMinePersonalCenterCell class] forCellReuseIdentifier:NSStringFromClass([XPMinePersonalCenterCell class])];

View File

@@ -441,7 +441,7 @@
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
[_tableView registerClass:[XPMineItemTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMineItemTableViewCell class])];
[_tableView registerClass:[XPHomeBannerTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPHomeBannerTableViewCell class])];
_tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);
}
return _tableView;
}

View File

@@ -229,7 +229,7 @@
_collectionView.dataSource = self;
_collectionView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
_collectionView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);
}
return _collectionView;

View File

@@ -64,7 +64,6 @@ UIKIT_EXTERN NSString *kRequestRicket;
#pragma mark - Private Method
- (void)initSubViews {
[self.view addSubview:self.tableView];
self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);
self.tableView.tableHeaderView = self.headerView;
}

View File

@@ -478,7 +478,6 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
_tableView.backgroundColor = [UIColor clearColor];
if (@available(iOS 11.0, *)) {

View File

@@ -14,6 +14,8 @@ typedef enum : NSUInteger {
GiftBannerType_AnchorHour,///个播小时榜
GiftBannerType_LicneseHour,///牌照房小时榜
GiftBannerType_Fairy,///夺宝精灵
GiftBannerType_Tarrow,//塔罗
GiftBannerType_Common_H5,//通用h5
} GiftBannerType;
NS_ASSUME_NONNULL_BEGIN
@@ -37,6 +39,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,copy) NSString *itemMultiple;
@property (nonatomic,copy) NSString *diamonds;
@property (nonatomic,copy) NSString * bannerId;
@property(nonatomic,copy) NSString *drawGoldNum;
@end
NS_ASSUME_NONNULL_END

View File

@@ -61,6 +61,7 @@
#import "PIBaseAnimationViewModel.h"
#import "PIFullScreenBannerAnimation.h"
#import "XPTreasureFairyGiftView.h"
#import "XPRoomTarrowBannerView.h"
@interface XPRoomAnimationView ()<SVGAPlayerDelegate,NIMBroadcastManagerDelegate, XPRoomGiftBroadcastViewDelegate, HWDMP4PlayDelegate, XPRoomLuckyBigPrizeViewDelegate,XPRoomLicneseHourRankViewDelegate, XPRoomGraffitiGiftAnimationViewDelegate, XPRoomStarKitchenBannerViewDelegate>
///
///
@@ -235,6 +236,10 @@
[self receiveCandyTreeGiftHighLevle:attachment];
}else if (attachment.first == CustomMessageType_Treasure_Fairy && (attachment.second == Custom_Message_Sub_Treasure_Fairy_Draw_Gift_L4 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Draw_Gift_L5 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Convert_L1 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Convert_L2 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Convert_L3)) { //
[self receiveTreasureFairyGiftHighLevel:attachment];
}else if (attachment.first == CustomMessageType_Tarot && (attachment.second == Custom_Message_Sub_Tarot_Advanced || attachment.second == Custom_Message_Sub_Tarot_Intermediate)){
[self receiveTarotBanner:attachment];
}else if (attachment.first == Custom_Message_Sub_Common_H5_Novice &&(attachment.second == Custom_Message_Sub_Common_H5_Novice || attachment.second == Custom_Message_Sub_Common_H5_Advanced)){
[self receiveCommonH5Banner:attachment];
}
}
}
@@ -402,12 +407,12 @@
if(self.animationListB.count > 0){
[self.animationListB removeObjectAtIndex:0];
}
// if(self. isAnimationListAFinish == YES){
//
// [self playAnimationWithModel];
// self.isAnimationListAFinish = NO;
// return;
// }
// if(self. isAnimationListAFinish == YES){
//
// [self playAnimationWithModel];
// self.isAnimationListAFinish = NO;
// return;
// }
[self playAnimationWithModel];
}
}];
@@ -426,6 +431,127 @@
webVC.url = starModel.skipUrl;
[self.delegate.getCurrentNav pushViewController:webVC animated:YES];
}
#pragma mark - h5
-(void)receiveCommonH5Banner:(AttachmentModel *)attachment{
if ([self isInSudGame]) {return;}
PIBaseAnimationViewModel *giftNotifyInfo = [PIBaseAnimationViewModel modelWithJSON:attachment.data];
giftNotifyInfo.type = GiftBannerType_Common_H5;
giftNotifyInfo.second = attachment.second;
if (self.animationListB.count == 0 && self.isPlayOfB == NO) {
[self createCommonH5BannerAnimation:giftNotifyInfo];
}
[self.animationListB addObject:giftNotifyInfo];
}
- (void)createCommonH5BannerAnimation:(PIBaseAnimationViewModel *)attatchment {
CGFloat kscale = (CGFloat)55 / (CGFloat)375;
self.isPlayOfB = YES;
CGFloat top = self.isPlayOfA == YES ? (190 + statusbarHeight) : (kNavigationHeight + 15);
XPRoomTarrowBannerView *tarrowVeiw = [[XPRoomTarrowBannerView alloc]initWithFrame:CGRectMake(KScreenWidth, top, KScreenWidth , KScreenWidth * kscale)isH5:YES];
tarrowVeiw.isBig = attatchment.second == Custom_Message_Sub_Common_H5_Advanced;
tarrowVeiw.giftInfo = attatchment;
[self.middleLevelView addSubview:tarrowVeiw];
POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewCenter];
springAnimation.springSpeed = 12;
springAnimation.springBounciness = 10.f;
springAnimation.fromValue = [NSValue valueWithCGPoint:tarrowVeiw.center];
springAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(tarrowVeiw.frame.size.width / 2, tarrowVeiw.center.y)];
[springAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
if (finished) {
POPBasicAnimation *moveAnimation = [POPBasicAnimation animationWithPropertyNamed:kPOPViewCenter];
moveAnimation.fromValue = [NSValue valueWithCGPoint:CGPointMake(0, tarrowVeiw.center.y)];
moveAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(-KScreenWidth/2,tarrowVeiw.center.y)];
moveAnimation.beginTime = CACurrentMediaTime() + 3;
moveAnimation.duration = 0.5;
moveAnimation.repeatCount = 1;
moveAnimation.removedOnCompletion = YES;
@kWeakify(self);
[moveAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
@kStrongify(self);
if (finished) {
[tarrowVeiw removeFromSuperview];
self.isPlayOfB = NO;
if (self.animationListB.count > 0) {
[self.animationListB removeObjectAtIndex:0];
}
// if(self. isAnimationListAFinish == YES){
//
// [self playAnimationWithModel];
// self.isAnimationListAFinish = NO;
// return;
// }
[self playAnimationWithModel];
}
}];
[tarrowVeiw pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"];
}
}];
[tarrowVeiw pop_addAnimation:springAnimation forKey:@"candyTreespingOutAnimation"];
}
#pragma mark -
-(void)receiveTarotBanner:(AttachmentModel *)attachment{
if ([self isInSudGame]) {return;}
PIBaseAnimationViewModel *giftNotifyInfo = [PIBaseAnimationViewModel modelWithJSON:attachment.data];
giftNotifyInfo.type = GiftBannerType_Tarrow;
giftNotifyInfo.second = attachment.second;
if (self.animationListB.count == 0 && self.isPlayOfB == NO) {
[self createTarotBannerAnimation:giftNotifyInfo];
}
[self.animationListB addObject:giftNotifyInfo];
}
- (void)createTarotBannerAnimation:(PIBaseAnimationViewModel *)attatchment {
CGFloat kscale = (CGFloat)55 / (CGFloat)375;
self.isPlayOfB = YES;
CGFloat top = self.isPlayOfA == YES ? (190 + statusbarHeight) : (kNavigationHeight + 15);
XPRoomTarrowBannerView *tarrowVeiw = [[XPRoomTarrowBannerView alloc]initWithFrame:CGRectMake(KScreenWidth, top, KScreenWidth , KScreenWidth * kscale)isH5:NO];
tarrowVeiw.isBig = attatchment.second == Custom_Message_Sub_Tarot_Advanced;
tarrowVeiw.giftInfo = attatchment;
[self.middleLevelView addSubview:tarrowVeiw];
POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewCenter];
springAnimation.springSpeed = 12;
springAnimation.springBounciness = 10.f;
springAnimation.fromValue = [NSValue valueWithCGPoint:tarrowVeiw.center];
springAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(tarrowVeiw.frame.size.width / 2, tarrowVeiw.center.y)];
[springAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
if (finished) {
POPBasicAnimation *moveAnimation = [POPBasicAnimation animationWithPropertyNamed:kPOPViewCenter];
moveAnimation.fromValue = [NSValue valueWithCGPoint:CGPointMake(0, tarrowVeiw.center.y)];
moveAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(-KScreenWidth/2,tarrowVeiw.center.y)];
moveAnimation.beginTime = CACurrentMediaTime() + 3;
moveAnimation.duration = 0.5;
moveAnimation.repeatCount = 1;
moveAnimation.removedOnCompletion = YES;
@kWeakify(self);
[moveAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
@kStrongify(self);
if (finished) {
[tarrowVeiw removeFromSuperview];
self.isPlayOfB = NO;
if (self.animationListB.count > 0) {
[self.animationListB removeObjectAtIndex:0];
}
// if(self. isAnimationListAFinish == YES){
//
// [self playAnimationWithModel];
// self.isAnimationListAFinish = NO;
// return;
// }
[self playAnimationWithModel];
}
}];
[tarrowVeiw pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"];
}
}];
[tarrowVeiw pop_addAnimation:springAnimation forKey:@"candyTreespingOutAnimation"];
}
#pragma mark -
- (void)receiveTreasureFairyGiftHighLevel:(AttachmentModel *)attatchment {
@@ -1515,6 +1641,10 @@
[self createLicneseHourRankAnimation:model];
}else if(model.type == GiftBannerType_Fairy){
[self createTreasureFairyBannerAnimation:model];
}else if(model.type == GiftBannerType_Tarrow){
[self createTarotBannerAnimation:model];
}else if(model.type == GiftBannerType_Common_H5){
[self createCommonH5BannerAnimation:model];
}
}
@@ -1545,6 +1675,10 @@
[self createLicneseHourRankAnimation:model];
}else if(model.type == GiftBannerType_Fairy){
[self createTreasureFairyBannerAnimation:model];
}else if(model.type == GiftBannerType_Tarrow){
[self createTarotBannerAnimation:model];
}else if(model.type == GiftBannerType_Common_H5){
[self createCommonH5BannerAnimation:model];
}
}

View File

@@ -0,0 +1,20 @@
//
// XPRoomTarrowBannerView.h
// YuMi
//
// Created by duoban on 2023/9/13.
//
#import <UIKit/UIKit.h>
#import "PIBaseAnimationViewModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPRoomTarrowBannerView : UIView
///礼物信息
@property (nonatomic,strong) PIBaseAnimationViewModel *giftInfo;
@property(nonatomic,assign) BOOL isBig;
-(instancetype)initWithFrame:(CGRect)frame isH5:(BOOL)isH5;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,142 @@
//
// XPRoomTarrowBannerView.m
// YuMi
//
// Created by duoban on 2023/9/13.
//
#import "SVGAParser.h"
#import "SVGA.h"
#import "XPRoomTarrowBannerView.h"
#import "XPSVGAPlayer.h"
#import "MarqueeLabel.h"
@interface XPRoomTarrowBannerView()<SVGAPlayerDelegate>
///
@property (strong, nonatomic) SVGAParser *parser;
@property (nonatomic, strong) XPSVGAPlayer *giftImageView;
@property(nonatomic,strong) MarqueeLabel *titleView;
@property(nonatomic,strong) UIImageView *bgImageView;
@property(nonatomic,assign) BOOL isH5;
@end
@implementation XPRoomTarrowBannerView
-(instancetype)initWithFrame:(CGRect)frame isH5:(BOOL)isH5{
self = [super initWithFrame:frame];
if(self){
self.isH5 = isH5;
if(isH5 == YES){
[self installUIWithH5];
[self installConstraintsWithH5];
}else{
[self installUI];
[self installConstraints];
}
}
return self;
}
-(void)installUIWithH5{
[self addSubview:self.bgImageView];
[self addSubview:self.giftImageView];
[self addSubview:self.titleView];
self.titleView.font = [UIFont systemFontOfSize:12 weight:UIFontWeightRegular];
self.titleView.textColor = [UIColor whiteColor];
self.bgImageView.image = kImage(@"room_tarrow_banner_h5_bg");
}
-(void)installConstraintsWithH5{
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.giftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(kGetScaleWidth(28.5));
make.trailing.mas_equalTo(-kGetScaleWidth(28.5));
make.centerY.equalTo(self);
}];
}
-(void)installUI{
[self addSubview:self.bgImageView];
[self addSubview:self.giftImageView];
[self addSubview:self.titleView];
}
-(void)installConstraints{
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.giftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(kGetScaleWidth(54.5));
make.trailing.mas_equalTo(-kGetScaleWidth(29.5));
make.centerY.equalTo(self);
}];
}
-(void)setGiftInfo:(PIBaseAnimationViewModel *)giftInfo{
_giftInfo = giftInfo;
if(_giftInfo.nick.length > 5){
_giftInfo.nick = [NSString stringWithFormat:@"%@...",[_giftInfo.nick substringToIndex:5]];
}
NSString *title = [NSString stringWithFormat:YMLocalizedString(@"XPRoomTarrowBannerView0"),_giftInfo.nick,_giftInfo.drawGoldNum];
NSMutableAttributedString *titleAtt = [[NSMutableAttributedString alloc]initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12 weight:UIFontWeightRegular],NSForegroundColorAttributeName:[UIColor whiteColor]}];
[titleAtt addAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12 weight:UIFontWeightRegular],NSForegroundColorAttributeName:UIColorFromRGB(0xFFEE8F)} range:[title rangeOfString:_giftInfo.nick]];
[titleAtt addAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12 weight:UIFontWeightRegular],NSForegroundColorAttributeName:UIColorFromRGB(0xFFEE8F)} range:[title rangeOfString:_giftInfo.drawGoldNum]];
_titleView.attributedText = titleAtt;
if(_isBig == YES){
self.bgImageView.hidden = YES;
[self.parser parseWithNamed:@"pi_room_tarrow_banner" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
self.giftImageView.hidden = NO;
self.giftImageView.videoItem = videoItem;
self.giftImageView.loops = 1;
self.giftImageView.clearsAfterStop = NO;
[self.giftImageView startAnimation];
} failureBlock:^(NSError * _Nonnull error) {
}];
return;
}
self.giftImageView.hidden = YES;
self.bgImageView.hidden = NO;
}
#pragma mark -
- (void)svgaPlayerDidFinishedAnimation:(SVGAPlayer *)player{
NSLog(@"11111");
}
- (XPSVGAPlayer *)giftImageView {
if (!_giftImageView) {
_giftImageView = [[XPSVGAPlayer alloc]init];
_giftImageView.backgroundColor = [UIColor clearColor];
_giftImageView.userInteractionEnabled = NO;
_giftImageView.delegate = self;
}
return _giftImageView;
}
- (SVGAParser *)parser {
if (!_parser) {
_parser = [[SVGAParser alloc]init];
}
return _parser;
}
- (MarqueeLabel *)titleView{
if(!_titleView){
_titleView = [MarqueeLabel new];
_titleView = [[MarqueeLabel alloc] init];
_titleView.scrollDuration = 5.0;
_titleView.fadeLength = 6.0f;
}
return _titleView;
}
- (UIImageView *)bgImageView{
if(!_bgImageView){
_bgImageView = [UIImageView new];
_bgImageView.image = kImage(@"room_tarrow_banner_bg");
}
return _bgImageView;
}
@end

View File

@@ -839,10 +839,10 @@
#pragma mark -
- (XPMessageInfoModel *)createTarotAttribute:(AttachmentModel *)attachment messageInfo:(XPMessageInfoModel *)messageInfo{
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] init];
if (attachment.second == Custom_Message_Sub_Tarot) {
if (attachment.second == Custom_Message_Sub_Tarot_Novice || attachment.second == Custom_Message_Sub_Tarot_Advanced || attachment.second == Custom_Message_Sub_Tarot_Intermediate) {
[attribute appendAttributedString:[self createTextAttribute:YMLocalizedString(@"XPRoomMessageParser85") color:[DJDKMIMOMColor messageDefaultTextColor] font:kRoomMessageDefalutFont]];
[attribute appendAttributedString:[self createTextAttribute:attachment.data[@"nick"] color:[DJDKMIMOMColor messageNickColor] font:kRoomMessageDefalutFont]];
NSString *text = [NSString stringWithFormat:@" %@", attachment.data[@"drawMsgText"]];
NSString *text = [NSString stringWithFormat:@" %@", YMLocalizedString(@"XPRoomMessageParser125")];
[attribute appendAttributedString:[self createTextAttribute:text color:[DJDKMIMOMColor messageDefaultTextColor] font:kRoomMessageDefalutFont]];
if ([attachment.data[@"drawGoldNum"] intValue] > 1) {

View File

@@ -479,7 +479,9 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
nil],
@(CustomMessageType_Tarot):
[NSSet setWithObjects:
@(Custom_Message_Sub_Tarot),
@(Custom_Message_Sub_Tarot_Novice),
@(Custom_Message_Sub_Tarot_Advanced),
@(Custom_Message_Sub_Tarot_Intermediate),
nil],
@(CustomMessageType_Room_Sailing):
[NSSet setWithObjects:

View File

@@ -15,6 +15,8 @@ NS_ASSUME_NONNULL_BEGIN
- (void)receiveLuckyGiftBigPrize:(AttachmentModel *)attachment;
-(void)receiveRoomGraffitiStarKitchen:(AttachmentModel *)attacment;
- (void)receiveTreasureFairyGiftHighLevel:(AttachmentModel *)attatchment ;
-(void)receiveTarotBanner:(AttachmentModel *)attachment;
-(void)receiveCommonH5Banner:(AttachmentModel *)attachment;
@end
NS_ASSUME_NONNULL_END

View File

@@ -61,6 +61,7 @@
#import "PIFullScreenBannerAnimation.h"
#import "XPSkillCardPlayerManager.h"
#import "XPTreasureFairyGiftView.h"
#import "XPRoomTarrowBannerView.h"
@interface PIFullScreenBannerAnimation()<XPRoomGiftBroadcastViewDelegate,XPRoomLuckyBigPrizeViewDelegate,XPRoomLicneseHourRankViewDelegate, XPRoomStarKitchenBannerViewDelegate>
/// PresentAchieveAbstractMatrix
@property(nonatomic,strong) NSMutableArray<GiftReceiveInfoModel *> *animationListA;
@@ -179,6 +180,10 @@
[self createLicneseHourRankAnimation:model];
}else if(model.type == GiftBannerType_Fairy){
[self createTreasureFairyBannerAnimation:model];
}else if(model.type == GiftBannerType_Tarrow){
[self createBigPrizeAnimation:model];
}else if(model.type == GiftBannerType_Common_H5){
[self createCommonH5BannerAnimation:model];
}
}
@@ -206,10 +211,131 @@
[self createLicneseHourRankAnimation:model];
}else if(model.type == GiftBannerType_Fairy){
[self createTreasureFairyBannerAnimation:model];
}else if(model.type == GiftBannerType_Tarrow){
[self createBigPrizeAnimation:model];
}else if(model.type == GiftBannerType_Common_H5){
[self createCommonH5BannerAnimation:model];
}
}
#pragma mark - h5
-(void)receiveCommonH5Banner:(AttachmentModel *)attachment{
PIBaseAnimationViewModel *giftNotifyInfo = [PIBaseAnimationViewModel modelWithJSON:attachment.data];
giftNotifyInfo.type = GiftBannerType_Common_H5;
giftNotifyInfo.second = attachment.second;
if (self.animationListB.count == 0 && self.isPlayOfB == NO) {
[self createCommonH5BannerAnimation:giftNotifyInfo];
}
[self.animationListB addObject:giftNotifyInfo];
}
- (void)createCommonH5BannerAnimation:(PIBaseAnimationViewModel *)attatchment {
CGFloat kscale = (CGFloat)55 / (CGFloat)375;
self.isPlayOfB = YES;
CGFloat top = self.isPlayOfA == YES ? (190 + statusbarHeight) : (kNavigationHeight + 15);
XPRoomTarrowBannerView *tarrowVeiw = [[XPRoomTarrowBannerView alloc]initWithFrame:CGRectMake(KScreenWidth, top, KScreenWidth , KScreenWidth * kscale)isH5:YES];
tarrowVeiw.isBig = attatchment.second == Custom_Message_Sub_Common_H5_Advanced;
tarrowVeiw.giftInfo = attatchment;
[kWindow addSubview:tarrowVeiw];
POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewCenter];
springAnimation.springSpeed = 12;
springAnimation.springBounciness = 10.f;
springAnimation.fromValue = [NSValue valueWithCGPoint:tarrowVeiw.center];
springAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(tarrowVeiw.frame.size.width / 2, tarrowVeiw.center.y)];
[springAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
if (finished) {
POPBasicAnimation *moveAnimation = [POPBasicAnimation animationWithPropertyNamed:kPOPViewCenter];
moveAnimation.fromValue = [NSValue valueWithCGPoint:CGPointMake(0, tarrowVeiw.center.y)];
moveAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(-KScreenWidth/2,tarrowVeiw.center.y)];
moveAnimation.beginTime = CACurrentMediaTime() + 3;
moveAnimation.duration = 0.5;
moveAnimation.repeatCount = 1;
moveAnimation.removedOnCompletion = YES;
@kWeakify(self);
[moveAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
@kStrongify(self);
if (finished) {
[tarrowVeiw removeFromSuperview];
self.isPlayOfB = NO;
if (self.animationListB.count > 0) {
[self.animationListB removeObjectAtIndex:0];
}
// if(self. isAnimationListAFinish == YES){
//
// [self playAnimationWithModel];
// self.isAnimationListAFinish = NO;
// return;
// }
[self playAnimationWithModel];
}
}];
[tarrowVeiw pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"];
}
}];
[tarrowVeiw pop_addAnimation:springAnimation forKey:@"candyTreespingOutAnimation"];
}
#pragma mark -
-(void)receiveTarotBanner:(AttachmentModel *)attachment{
PIBaseAnimationViewModel *giftNotifyInfo = [PIBaseAnimationViewModel modelWithJSON:attachment.data];
giftNotifyInfo.type = GiftBannerType_Tarrow;
giftNotifyInfo.second = attachment.second;
if (self.animationListB.count == 0 && self.isPlayOfB == NO) {
[self createTarotBannerAnimation:giftNotifyInfo];
}
[self.animationListB addObject:giftNotifyInfo];
}
- (void)createTarotBannerAnimation:(PIBaseAnimationViewModel *)attatchment {
CGFloat kscale = (CGFloat)55 / (CGFloat)375;
self.isPlayOfB = YES;
CGFloat top = self.isPlayOfA == YES ? (190 + statusbarHeight) : (kNavigationHeight + 15);
XPRoomTarrowBannerView *tarrowVeiw = [[XPRoomTarrowBannerView alloc]initWithFrame:CGRectMake(KScreenWidth, top, KScreenWidth , KScreenWidth * kscale) isH5:NO];
tarrowVeiw.isBig = attatchment.second == Custom_Message_Sub_Tarot_Advanced;
tarrowVeiw.giftInfo = attatchment;
[kWindow addSubview:tarrowVeiw];
POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPViewCenter];
springAnimation.springSpeed = 12;
springAnimation.springBounciness = 10.f;
springAnimation.fromValue = [NSValue valueWithCGPoint:tarrowVeiw.center];
springAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(tarrowVeiw.frame.size.width / 2, tarrowVeiw.center.y)];
[springAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
if (finished) {
POPBasicAnimation *moveAnimation = [POPBasicAnimation animationWithPropertyNamed:kPOPViewCenter];
moveAnimation.fromValue = [NSValue valueWithCGPoint:CGPointMake(0, tarrowVeiw.center.y)];
moveAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(-KScreenWidth/2,tarrowVeiw.center.y)];
moveAnimation.beginTime = CACurrentMediaTime() + 3;
moveAnimation.duration = 0.5;
moveAnimation.repeatCount = 1;
moveAnimation.removedOnCompletion = YES;
@kWeakify(self);
[moveAnimation setCompletionBlock:^(POPAnimation *anim, BOOL finished) {
@kStrongify(self);
if (finished) {
[tarrowVeiw removeFromSuperview];
self.isPlayOfB = NO;
if (self.animationListB.count > 0) {
[self.animationListB removeObjectAtIndex:0];
}
// if(self. isAnimationListAFinish == YES){
//
// [self playAnimationWithModel];
// self.isAnimationListAFinish = NO;
// return;
// }
[self playAnimationWithModel];
}
}];
[tarrowVeiw pop_addAnimation:moveAnimation forKey:@"moveOutAnimation"];
}
}];
[tarrowVeiw pop_addAnimation:springAnimation forKey:@"candyTreespingOutAnimation"];
}
#pragma mark -
- (void)receiveTreasureFairyGiftHighLevel:(AttachmentModel *)attatchment {
PIBaseAnimationViewModel *giftModel = [PIBaseAnimationViewModel new];

View File

@@ -71,7 +71,6 @@
#import "XPReceiveRedPacketView.h"
#import "XPRoomYearActivityView.h"
#import "XPUpgradeView.h"
#import "XPTabBar.h"
#import "XPMomentListViewController.h"
#import "XPHomeSloganViewController.h"
#import "XPSimpleMineViewController.h"
@@ -131,8 +130,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
- (void)viewDidLoad {
[super viewDidLoad];
XPTabBar *tabBar = [[XPTabBar alloc] init];
[self setValue:tabBar forKey:@"tabBar"];
[self configTheme];
[self initTabs:NO];
@@ -604,6 +602,12 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
}else if (attachment.first == CustomMessageType_Treasure_Fairy && (attachment.second == Custom_Message_Sub_Treasure_Fairy_Draw_Gift_L4 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Draw_Gift_L5 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Convert_L1 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Convert_L2 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Convert_L3)) { //
if([XPSkillCardPlayerManager shareInstance].isInRoomVC == YES)return;
[self.roomAnimation receiveTreasureFairyGiftHighLevel:attachment];
}else if (attachment.first == CustomMessageType_Tarot && (attachment.second == Custom_Message_Sub_Tarot_Advanced || attachment.second == Custom_Message_Sub_Tarot_Intermediate)){
if([XPSkillCardPlayerManager shareInstance].isInRoomVC == YES)return;
[self.roomAnimation receiveTarotBanner:attachment];
}else if(attachment.first == CustomMessageType_Common_H5 && (attachment.second == Custom_Message_Sub_Common_H5_Novice || attachment.second == Custom_Message_Sub_Common_H5_Advanced)){
if([XPSkillCardPlayerManager shareInstance].isInRoomVC == YES)return;
[self.roomAnimation receiveCommonH5Banner:attachment];
}
}
}
@@ -639,9 +643,9 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
}
- (void)configTheme {
self.view.backgroundColor = [DJDKMIMOMColor tabbarViewColor];
// [[UITabBar appearance] setBackgroundImage:[UIImage imageWithColor:[DJDKMIMOMColor tabbarViewColor] size:CGSizeMake(KScreenWidth, kTabBarHeight)]];
// [[UITabBar appearance] setShadowImage:[[UIImage alloc]init]];
self.view.backgroundColor = [DJDKMIMOMColor tabbarViewColor];
[[UITabBar appearance] setBackgroundImage:[UIImage imageWithColor:[DJDKMIMOMColor tabbarViewColor] size:CGSizeMake(KScreenWidth, kTabBarHeight)]];
[[UITabBar appearance] setShadowImage:[[UIImage alloc]init]];
if (@available(iOS 10.0, *)) {
[[UITabBar appearance] setUnselectedItemTintColor:[DJDKMIMOMColor tabbarNormalColor]];
}
@@ -689,6 +693,8 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
itemVc.title = title;
itemVc.tabBarItem.image = [[UIImage imageNamed:image] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
itemVc.tabBarItem.selectedImage = [[UIImage imageNamed:selectedImage] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[itemVc.tabBarItem setTitleTextAttributes:@{NSForegroundColorAttributeName:UIColorFromRGB(0x1F1B4F)} forState:UIControlStateSelected];
[itemVc.tabBarItem setTitleTextAttributes:@{NSForegroundColorAttributeName:UIColorFromRGB(0xB8B7C7)} forState:UIControlStateNormal];
BaseNavigationController *nav = [[BaseNavigationController alloc] initWithRootViewController:itemVc];
return nav;
}

Binary file not shown.

View File

@@ -89,6 +89,8 @@ NS_ASSUME_NONNULL_BEGIN
uid:(NSString *)uid;
//充值banner位
+(void)requestBannerListCompletion:(HttpRequestHelperCompletion)complection;
//联系客服
+(void)requestContactCustomerServiceCompletion:(HttpRequestHelperCompletion)complection;
@end
NS_ASSUME_NONNULL_END

View File

@@ -132,4 +132,8 @@
+(void)requestBannerListCompletion:(HttpRequestHelperCompletion)complection{
[self makeRequest:@"charge/guide/banner" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, nil];
}
//
+(void)requestContactCustomerServiceCompletion:(HttpRequestHelperCompletion)complection{
[self makeRequest:@"charge/guide/contact" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, nil];
}
@end

View File

@@ -1431,7 +1431,7 @@
"XPRoomMessageParser122"="召唤";
"XPRoomMessageParser123"="钻";
"XPRoomMessageParser124"="【去参加】";
"XPRoomMessageParser125"="在幸运塔罗中运气爆发 获得";
"XPGiftBarView0" = "余额:%@";
"XPGiftBarView1" = "充值";
@@ -2733,7 +2733,7 @@
///XPTreasureFairyDrawSubView
"XPTreasureFairyDrawSubView0"="天空之城";
///XPTreasureFairyDrawView
"XPTreasureFairyDrawView0"="达到 %@ 后下次夺宝,额外获赠传说精灵";
"XPTreasureFairyDrawView0"="还差 %@ 幸运值,额外获赠传说精灵";
"XPTreasureFairyDrawView1"="当前幸运值: %@";
///XPTreasureFairyExchangeView
"XPTreasureFairyExchangeView0"="钻";
@@ -3023,10 +3023,15 @@
///PIMessageContentServiceReplyView
"PIMessageContentServiceReplyView0"="如何储值:";
"PIMessageContentServiceReplyView1"="1.在Piko语音App内前往【我的】-- 【储值钻\n石】进行储值\n2.联繁客服获取储值链接 客服wechat: sd245376 复制\n客服Line:pekoyuyin 复制\n3.如遇提示\"储值失败,请联系客服处理~\"";
"PIMessageContentServiceReplyView2"="复制";
"PIMessageContentServiceReplyView1"="复制";
"PIMessageContentServiceReplyView2"="1.在Piko语音App内前往【我的】-- 【储值钻\n石】进行储值";
"PIMessageContentServiceReplyView3"="2.联系客服获取储值链接";
"PIMessageContentServiceReplyView4"="客服WeChat: %@ ";
"PIMessageContentServiceReplyView5"="客服Line%@ ";
"PIMessageContentServiceReplyView6"="3.如遇提示\"储值失败,请联系客服处理~\",请\n添加客服进行处理";
///XPRoomTarrowBannerView
"XPRoomTarrowBannerView0"="恭喜%@在幸运塔罗中运气爆发 获得%@钻石";
///不能脚本生成的
"App_Common_And" = "和";
"App_Common_Male" = "男";

View File

@@ -1431,7 +1431,7 @@
"XPRoomMessageParser122"="召喚";
"XPRoomMessageParser123"="鉆";
"XPRoomMessageParser124"="【去參加】";
"XPRoomMessageParser125"="在幸運塔羅中運氣爆發 獲得";
"XPGiftBarView0" = "余額:%@";
"XPGiftBarView1" = "充值";
@@ -2733,7 +2733,7 @@
///XPTreasureFairyDrawSubView
"XPTreasureFairyDrawSubView0"="天空之城";
///XPTreasureFairyDrawView
"XPTreasureFairyDrawView0"="達到 %@ 後下次奪寶,額外獲贈傳說精靈";
"XPTreasureFairyDrawView0"="還差 %@ 幸運值,額外獲贈傳說精靈";
"XPTreasureFairyDrawView1"="當前幸運值: %@";
///XPTreasureFairyExchangeView
"XPTreasureFairyExchangeView0"="鉆";
@@ -3023,10 +3023,16 @@
///PIMessageContentServiceReplyView
"PIMessageContentServiceReplyView0"="如何儲值:";
"PIMessageContentServiceReplyView1"="1.在Piko語音App內前往【我的】-- 【儲值鉆\n石】進行儲值\n2.聯繁客服獲取儲值鏈接 客服wechat: sd245376 復製\n客服Line:pekoyuyin 復製\n3.如遇提示\"儲值失敗,請聯系客服處理~\"";
"PIMessageContentServiceReplyView1"="復製";
"PIMessageContentServiceReplyView2"="復製";
"PIMessageContentServiceReplyView2"="1.在Piko語音App內前往【我的】-- 【儲值鉆\n石】進行儲值";
"PIMessageContentServiceReplyView3"="2.聯系客服獲取儲值鏈接";
"PIMessageContentServiceReplyView4"="客服WeChat: %@ ";
"PIMessageContentServiceReplyView5"="客服Line%@ ";
"PIMessageContentServiceReplyView6"="3.如遇提示\"儲值失敗,請聯系客服處理~\",請\n添加客服進行處理";
///XPRoomTarrowBannerView
"XPRoomTarrowBannerView0"="恭喜%@在幸運塔羅中運氣爆發 獲得%@鉆石";
///不能腳本生成的
"App_Common_And" = "和";
"App_Common_Male" = "男";