飘屏优化
@@ -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 */,
|
||||
|
Before Width: | Height: | Size: 759 B After Width: | Height: | Size: 639 B |
Before Width: | Height: | Size: 845 B After Width: | Height: | Size: 1013 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 774 B After Width: | Height: | Size: 647 B |
Before Width: | Height: | Size: 792 B After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 810 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 971 B After Width: | Height: | Size: 557 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 945 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.6 KiB |
22
YuMi/Assets.xcassets/yna/Activity/room_tarrow_banner_bg.imageset/Contents.json
vendored
Normal 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
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/yna/Activity/room_tarrow_banner_bg.imageset/room_tarrow_banner_bg@2x.png
vendored
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
YuMi/Assets.xcassets/yna/Activity/room_tarrow_banner_bg.imageset/room_tarrow_banner_bg@3x.png
vendored
Normal file
After Width: | Height: | Size: 34 KiB |
22
YuMi/Assets.xcassets/yna/Activity/room_tarrow_banner_h5_bg.imageset/Contents.json
vendored
Normal 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
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/yna/Activity/room_tarrow_banner_h5_bg.imageset/room_tarrow_banner_h5_bg@2x.png
vendored
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
YuMi/Assets.xcassets/yna/Activity/room_tarrow_banner_h5_bg.imageset/room_tarrow_banner_h5_bg@3x.png
vendored
Normal file
After Width: | Height: | Size: 25 KiB |
@@ -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;
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -32,6 +32,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
- (void)checkTranscationIds:(NSArray *)transcations;
|
||||
//充值banner位
|
||||
-(void)getBannerList;
|
||||
//联系客服
|
||||
-(void)getContactCustomerService;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -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
|
||||
|
@@ -24,6 +24,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
- (void)checkTranscationIdsSuccess;
|
||||
//充值banner位
|
||||
-(void)getBannerListSuccessWithList:(NSArray *)list;
|
||||
//联系客服成功
|
||||
-(void)getContactCustomerServiceSuccessWithUid:(NSString *)uid;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -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];
|
||||
|
@@ -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])];
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -229,7 +229,7 @@
|
||||
_collectionView.dataSource = self;
|
||||
_collectionView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
|
||||
|
||||
_collectionView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);
|
||||
|
||||
|
||||
}
|
||||
return _collectionView;
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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, *)) {
|
||||
|
@@ -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
|
||||
|
@@ -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];
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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
|
142
YuMi/Modules/YMRoom/View/AnimationView/XPRoomTarrowBannerView.m
Normal 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
|
@@ -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) {
|
||||
|
||||
|
@@ -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:
|
||||
|
@@ -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
|
||||
|
@@ -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];
|
||||
|
@@ -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;
|
||||
}
|
||||
|
BIN
YuMi/Resources/pi_room_tarrow_banner.svga
Normal 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
|
||||
|
@@ -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
|
||||
|
@@ -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" = "男";
|
||||
|
@@ -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" = "男";
|
||||
|