From 10c0e5c182eb5f890206c71633e39d64570249de Mon Sep 17 00:00:00 2001 From: liyuhua <15626451870@163.com> Date: Fri, 22 Sep 2023 12:20:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YuMi.xcodeproj/project.pbxproj | 20 +- .../message_main_bg.imageset/Contents.json | 22 ++ .../message_main_bg@2x.png | Bin 0 -> 25443 bytes .../message_main_bg@3x.png | Bin 0 -> 52170 bytes YuMi/Global/YUMIConstant.m | 12 +- YuMi/Global/YUMINNNN.h | 14 +- .../Session/XPSessionMainViewController.h | 16 ++ .../Session/XPSessionMainViewController.m | 243 ++++++++++++++++++ ... (BOOL)isHiddenNavBar { \treturn YES; }.m" | 69 ++--- .../SessionList/SessionListViewController.h | 3 +- .../Friend/XPMineAttentionViewController.h | 5 +- .../Friend/XPMineAttentionViewController.m | 20 +- .../View/Friend/XPMineFansViewController.h | 5 +- .../View/Friend/XPMineFansViewController.m | 18 +- .../View/Friend/XPMineFriendViewController.h | 5 +- .../View/Friend/XPMineFriendViewController.m | 19 +- .../View/Cell/XPNewHomePartyAudioView.m | 40 ++- .../View/Cell/XPNewHomePartyTableViewCell.m | 3 + .../View/CandyTree/View/XPCandyTreeBuyView.m | 15 +- .../View/XPCandyTreeConfirmBuyNumView.m | 48 ++-- .../View/XPCandyTreeViewController.m | 8 +- .../YMTabbar/View/TabbarViewController.m | 19 +- YuMi/Resources/pi_home_new_play.svga | Bin 0 -> 12690 bytes YuMi/zh-Hans.lproj/Localizable.strings | 7 +- YuMi/zh-Hant.lproj/Localizable.strings | 7 +- 25 files changed, 513 insertions(+), 105 deletions(-) create mode 100644 YuMi/Assets.xcassets/chat/message_main_bg.imageset/Contents.json create mode 100644 YuMi/Assets.xcassets/chat/message_main_bg.imageset/message_main_bg@2x.png create mode 100644 YuMi/Assets.xcassets/chat/message_main_bg.imageset/message_main_bg@3x.png create mode 100644 YuMi/Modules/YMMessage/View/Session/XPSessionMainViewController.h create mode 100644 YuMi/Modules/YMMessage/View/Session/XPSessionMainViewController.m rename YuMi/Modules/YMMessage/View/SessionList/SessionListViewController.m => "YuMi/Modules/YMMessage/View/SessionList/- (BOOL)isHiddenNavBar { \treturn YES; }.m" (89%) create mode 100644 YuMi/Resources/pi_home_new_play.svga diff --git a/YuMi.xcodeproj/project.pbxproj b/YuMi.xcodeproj/project.pbxproj index f6aa8848..3600dffc 100644 --- a/YuMi.xcodeproj/project.pbxproj +++ b/YuMi.xcodeproj/project.pbxproj @@ -107,7 +107,7 @@ 189DD75926E6003C00AB55B1 /* Api.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD75826E6003C00AB55B1 /* Api.m */; }; 189DD76226E60DDC00AB55B1 /* Api+Login.m in Sources */ = {isa = PBXBuildFile; fileRef = 189DD76126E60DDC00AB55B1 /* Api+Login.m */; }; 18A61BD7274F7F6900A09A54 /* NetImageConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 18A61BD6274F7F6900A09A54 /* NetImageConfig.m */; }; - 18A61BE8274F9CF000A09A54 /* SessionListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 18A61BE7274F9CF000A09A54 /* SessionListViewController.m */; }; + 18A61BE8274F9CF000A09A54 /* - (BOOL)isHiddenNavBar { return YES; }.m in Sources */ = {isa = PBXBuildFile; fileRef = 18A61BE7274F9CF000A09A54 /* - (BOOL)isHiddenNavBar { return YES; }.m */; }; 18AAF3F0279EA59300CD7DAD /* MessageContentTextClickable.m in Sources */ = {isa = PBXBuildFile; fileRef = 18AAF3EF279EA59300CD7DAD /* MessageContentTextClickable.m */; }; 18E7B1B226E8AF980064BC9B /* MainPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 18E7B1B126E8AF980064BC9B /* MainPresenter.m */; }; 18E7B1B726E8B2D10064BC9B /* Api+Main.m in Sources */ = {isa = PBXBuildFile; fileRef = 18E7B1B626E8B2D10064BC9B /* Api+Main.m */; }; @@ -318,6 +318,8 @@ 23FF25622ABAE6310064E904 /* pi_room_game_fine_love.svga in Resources */ = {isa = PBXBuildFile; fileRef = 23FF25612ABAE6310064E904 /* pi_room_game_fine_love.svga */; }; 23FF25652ABC3B3C0064E904 /* XPHomeGameView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF25642ABC3B3B0064E904 /* XPHomeGameView.m */; }; 23FF25682ABC3BC00064E904 /* XPHomeGameCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF25672ABC3BC00064E904 /* XPHomeGameCell.m */; }; + 23FF256E2ABC48810064E904 /* XPSessionMainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF256C2ABC48810064E904 /* XPSessionMainViewController.m */; }; + 23FF25702ABD456C0064E904 /* pi_home_new_play.svga in Resources */ = {isa = PBXBuildFile; fileRef = 23FF256F2ABD456C0064E904 /* pi_home_new_play.svga */; }; 23FF42632AA5861E0055733C /* XPNewHomePartyCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42622AA5861E0055733C /* XPNewHomePartyCollectionViewCell.m */; }; 23FF42652AA5AC040055733C /* home_heat.gif in Resources */ = {isa = PBXBuildFile; fileRef = 23FF42642AA5AC040055733C /* home_heat.gif */; }; 23FF42672AA5CFBB0055733C /* home_sound_wave.gif in Resources */ = {isa = PBXBuildFile; fileRef = 23FF42662AA5CFBB0055733C /* home_sound_wave.gif */; }; @@ -1601,7 +1603,7 @@ 18A61BD5274F7F6900A09A54 /* NetImageConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NetImageConfig.h; sourceTree = ""; }; 18A61BD6274F7F6900A09A54 /* NetImageConfig.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NetImageConfig.m; sourceTree = ""; }; 18A61BE6274F9CF000A09A54 /* SessionListViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SessionListViewController.h; sourceTree = ""; }; - 18A61BE7274F9CF000A09A54 /* SessionListViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SessionListViewController.m; sourceTree = ""; }; + 18A61BE7274F9CF000A09A54 /* - (BOOL)isHiddenNavBar { return YES; }.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "- (BOOL)isHiddenNavBar { \treturn YES; }.m"; sourceTree = ""; }; 18AAF3EE279EA59300CD7DAD /* MessageContentTextClickable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessageContentTextClickable.h; sourceTree = ""; }; 18AAF3EF279EA59300CD7DAD /* MessageContentTextClickable.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MessageContentTextClickable.m; sourceTree = ""; }; 18E7B1AE26E8AD760064BC9B /* MainProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MainProtocol.h; sourceTree = ""; }; @@ -2017,6 +2019,9 @@ 23FF25642ABC3B3B0064E904 /* XPHomeGameView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPHomeGameView.m; sourceTree = ""; }; 23FF25662ABC3BC00064E904 /* XPHomeGameCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPHomeGameCell.h; sourceTree = ""; }; 23FF25672ABC3BC00064E904 /* XPHomeGameCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPHomeGameCell.m; sourceTree = ""; }; + 23FF256C2ABC48810064E904 /* XPSessionMainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPSessionMainViewController.m; sourceTree = ""; }; + 23FF256D2ABC48810064E904 /* XPSessionMainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPSessionMainViewController.h; sourceTree = ""; }; + 23FF256F2ABD456C0064E904 /* pi_home_new_play.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = pi_home_new_play.svga; sourceTree = ""; }; 23FF42612AA5861E0055733C /* XPNewHomePartyCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNewHomePartyCollectionViewCell.h; sourceTree = ""; }; 23FF42622AA5861E0055733C /* XPNewHomePartyCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNewHomePartyCollectionViewCell.m; sourceTree = ""; }; 23FF42642AA5AC040055733C /* home_heat.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = home_heat.gif; sourceTree = ""; }; @@ -4698,7 +4703,7 @@ isa = PBXGroup; children = ( 18A61BE6274F9CF000A09A54 /* SessionListViewController.h */, - 18A61BE7274F9CF000A09A54 /* SessionListViewController.m */, + 18A61BE7274F9CF000A09A54 /* - (BOOL)isHiddenNavBar { return YES; }.m */, 18EE3FDD2750C1F700A452BF /* SessionListCell.h */, 18EE3FDE2750C1F700A452BF /* SessionListCell.m */, ); @@ -5669,13 +5674,15 @@ 9B7D804727537819003DAC0C /* Session */ = { isa = PBXGroup; children = ( - E88E4A7D297673C600019A50 /* View */, + 23FF256D2ABC48810064E904 /* XPSessionMainViewController.h */, + 23FF256C2ABC48810064E904 /* XPSessionMainViewController.m */, 9B7D80482753783D003DAC0C /* SessionViewController.h */, 9B7D80492753783D003DAC0C /* SessionViewController.m */, E8E20BD9281645300033B688 /* SessionInfoViewController.h */, E8E20BDA281645300033B688 /* SessionInfoViewController.m */, E86E79D428A4EA0C006DAF48 /* SessionRiskCache.h */, E86E79D528A4EA0C006DAF48 /* SessionRiskCache.m */, + E88E4A7D297673C600019A50 /* View */, 18F403A72758B67900A6C548 /* Content */, E86B911B281034F10007DEE7 /* Cell */, ); @@ -8802,6 +8809,7 @@ E8A1E45C276220B100B294CA /* Resources */ = { isa = PBXGroup; children = ( + 23FF256F2ABD456C0064E904 /* pi_home_new_play.svga */, 23FF25612ABAE6310064E904 /* pi_room_game_fine_love.svga */, 232C444A2AB4363200D4B2ED /* pi_room_tarrow_h5_banner.svga */, 23FF42642AA5AC040055733C /* home_heat.gif */, @@ -10104,6 +10112,7 @@ E80EC85328ACD84000D133C5 /* emoji_84@2x.png in Resources */, E80EC86428ACD84000D133C5 /* emoji_60@2x.png in Resources */, E80EC89928ACD84000D133C5 /* emoji_21@2x.png in Resources */, + 23FF25702ABD456C0064E904 /* pi_home_new_play.svga in Resources */, E80EC8BA28ACD84100D133C5 /* emoji.plist in Resources */, E8729EEC2A3B34D30076D80A /* index.html in Resources */, E80EC82328ACD84000D133C5 /* emoji_57@2x.png in Resources */, @@ -10810,7 +10819,7 @@ E8A30BEE28534AB1003B4873 /* XPSessionFindNewPresenter.m in Sources */, 9BDA3E7727FD41C200517FE6 /* XPAnchorFansTeamViewController.m in Sources */, 23E9EAAD2A84C9B800B792F2 /* XPMineUserInfoTagItemView.m in Sources */, - 18A61BE8274F9CF000A09A54 /* SessionListViewController.m in Sources */, + 18A61BE8274F9CF000A09A54 /* - (BOOL)isHiddenNavBar { return YES; }.m in Sources */, E8C1CD6A27D8937800376F83 /* XPRoomFaceCollectionViewCell.m in Sources */, 9B2EA7C02804037700ED17BF /* AnchorPKStageView.m in Sources */, 23FF427C2AA71CFA0055733C /* XPTreasureFairyBottomView.m in Sources */, @@ -10968,6 +10977,7 @@ 9B92A33C2797E38100AD168F /* XPMineHeadItemTableViewCell.m in Sources */, E854103928646A00005CFD9F /* XPMonentsReplyMoreTableViewCell.m in Sources */, 9B8DE0E1289CF02900FB6EC2 /* XPGiftCompoundModel.m in Sources */, + 23FF256E2ABC48810064E904 /* XPSessionMainViewController.m in Sources */, E85E7B092A4EB0D200B6D00A /* XPGuildRemoveMemberPresenter.m in Sources */, E8950186282CAC80007E459A /* XPMonentsTooBarView.m in Sources */, E86507E5281A7D4D006951B0 /* MessageContentTweetView.m in Sources */, diff --git a/YuMi/Assets.xcassets/chat/message_main_bg.imageset/Contents.json b/YuMi/Assets.xcassets/chat/message_main_bg.imageset/Contents.json new file mode 100644 index 00000000..e65e30d2 --- /dev/null +++ b/YuMi/Assets.xcassets/chat/message_main_bg.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "message_main_bg@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "message_main_bg@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/YuMi/Assets.xcassets/chat/message_main_bg.imageset/message_main_bg@2x.png b/YuMi/Assets.xcassets/chat/message_main_bg.imageset/message_main_bg@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8b90bba9fd0a1b8c9d9b2f5a7719d3e14ccf7a9a GIT binary patch literal 25443 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 literal 0 HcmV?d00001 diff --git a/YuMi/Global/YUMIConstant.m b/YuMi/Global/YUMIConstant.m index 16424c5a..66277809 100644 --- a/YuMi/Global/YUMIConstant.m +++ b/YuMi/Global/YUMIConstant.m @@ -71,10 +71,20 @@ NSString * const KeyWithType(Pi_KeyType type) { NSString * value = [dic objectForKey:@(type)]; return value; } + + + NSDictionary *newDic = @{ + @(KeyType_Agora) : @"83a19e8b6aa94ec18efba13dc8fc354a",///声网 + }; + NSString * newValue = [newDic objectForKey:@(type)]; + if(newValue != nil){ + return newValue; + } + + NSDictionary * dic = @{ @(KeyType_PasswordEncode) : @"mjaN83evhuwnbE4yEiLQpvH7sALhxCuJ6aPjPlq5amVpHsQtSdbgri3JoHqf/I9+",///1ea53d260ecf11e7b56e00163e046a26 @(KeyType_NTESQuickLoginBusinessId) : @"sCsa0RnuPYtEeE+efSDuHRYEfCObccfLfAK/Sn1LC8X/YifkZfyHNlCts1syZE3R",///60cdaa83aa654e5ea184de7160b4073d - @(KeyType_Agora) : @"HwmdWg0On+bzIrQvJJA3d8rgc0NMYKwMFhYDcygni8lNnfrtqkAfH1+kGUlrWZ0W",///7ae1a8dabe7a44a9a67c829faa409e70 @(KeyType_TRTC) : @"Phn3JPi/ZvZ7zVM099Q3dg==",///1400600174 ///h+GaKZVuHTQz0wEHbg8HLaUTL9mCjNDRcRo1OJTESWhiE/lzcnvMEv00/dxu8cOq @(KeyType_NetEase) : @"d55LVCUFT72SVZskbk1L3ZCVjG+tRnUnOqAGuG04kb9uz+qIvbyudhJLDmbOFDtE",///14ef7a0d0a84cb49bae1c22d78cf1ddf diff --git a/YuMi/Global/YUMINNNN.h b/YuMi/Global/YUMINNNN.h index 77d74178..ad6cbe4a 100644 --- a/YuMi/Global/YUMINNNN.h +++ b/YuMi/Global/YUMINNNN.h @@ -78,12 +78,14 @@ typedef NS_ENUM(NSInteger, RoomPKResultType) { }; typedef NS_ENUM(NSInteger, ContactUseingType) { - ///默认 - ContactUseingType_Normal = 0, - ///在房间内 - ContactUseingType_In_Room = 1, - ///分享 - ContactUseingType_Share = 2, + ///默认 + ContactUseingType_Normal = 0, + ///在房间内 + ContactUseingType_In_Room = 1, + ///分享 + ContactUseingType_Share = 2, + ///消息 + ContactUseingType_In_Session = 3 }; #endif /* YUMINNNN_h */ diff --git a/YuMi/Modules/YMMessage/View/Session/XPSessionMainViewController.h b/YuMi/Modules/YMMessage/View/Session/XPSessionMainViewController.h new file mode 100644 index 00000000..91eb7850 --- /dev/null +++ b/YuMi/Modules/YMMessage/View/Session/XPSessionMainViewController.h @@ -0,0 +1,16 @@ +// +// XPSessionMainViewController.h +// xplan-ios +// +// Created by duoban on 2022/10/12. +// + +#import +#import "MvpViewController.h" +NS_ASSUME_NONNULL_BEGIN + +@interface XPSessionMainViewController : MvpViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMMessage/View/Session/XPSessionMainViewController.m b/YuMi/Modules/YMMessage/View/Session/XPSessionMainViewController.m new file mode 100644 index 00000000..e8416020 --- /dev/null +++ b/YuMi/Modules/YMMessage/View/Session/XPSessionMainViewController.m @@ -0,0 +1,243 @@ +// +// XPSessionMainViewController.m +// xplan-ios +// +// Created by duoban on 2022/10/12. +// + +#import "XPSessionMainViewController.h" +///Tool +#import +#import +#import +///vc +#import "XPMineAttentionViewController.h" +#import "SessionListViewController.h" +#import "XPMineFriendViewController.h" +#import "XPMineFansViewController.h" + +@interface XPSessionMainViewController () +@property (nonatomic, strong) JXCategoryTitleView *titleView; +@property (nonatomic, strong) JXCategoryIndicatorImageView *lineView; +@property (nonatomic, strong) JXPagerView *pagingView; +@property (nonatomic, strong) NSArray *titles; +@property (nonatomic,strong) UIView *headView; +@property (nonatomic,strong) UIImageView *headBgImageView; + +@property (nonatomic,strong) SessionListViewController *sessionListVC; +///好友 +@property (nonatomic,strong) XPMineFriendViewController *friendVC; +///关注 +@property (nonatomic,strong) XPMineAttentionViewController *attentionVC; +///粉丝 +@property (nonatomic,strong) XPMineFansViewController *fansVC; +///清除已读 +@property (nonatomic,strong) UIButton * allCleanBtn; + +@end + +@implementation XPSessionMainViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + + [self initSubViews]; + [self initSubViewConstraints]; +} +- (BOOL)isHiddenNavBar { + return YES; +} +-(void)dealloc{ + [[NSNotificationCenter defaultCenter]removeObserver:self]; +} +#pragma mark - Private Method +- (void)initSubViews { + [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(getTabBarItemBadge:) name:@"kGetTabBarItemBadge" object:nil]; + self.view.backgroundColor = [UIColor clearColor]; + self.headView = [UIView new]; + [self.view addSubview:self.headBgImageView]; + [self.view addSubview:self.pagingView]; + [self.view addSubview:self.allCleanBtn]; + +} +- (void)initSubViewConstraints { + [self.headBgImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.top.right.equalTo(self.view); + make.height.mas_equalTo(196); + }]; + [self.pagingView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.left.right.equalTo(self.view); + make.bottom.mas_equalTo(-10); + }]; + [self.allCleanBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.mas_equalTo(30); + make.top.mas_equalTo(67); + make.right.mas_equalTo(-15); + }]; + + +} +#pragma mark - SessionListViewController通知 +-(void)getTabBarItemBadge:(NSNotification *)not{ + NSInteger badgeValue = [not.userInfo[@"BadgeValue"] integerValue]; + if (badgeValue > 0) { + [self.tabBarItem setBadgeValue:[NSString stringWithFormat:@"%ld", badgeValue]]; + } else { + [self.tabBarItem setBadgeValue:nil]; + } +} + +#pragma mark - JXCategoryViewDelegate +- (NSUInteger)tableHeaderViewHeightInPagerView:(JXPagerView *)pagerView { + return 57; +} + +- (UIView *)tableHeaderViewInPagerView:(JXPagerView *)pagerView { + return self.headView; +} + +- (NSUInteger)heightForPinSectionHeaderInPagerView:(JXPagerView *)pagerView { + return 50; +} + +- (UIView *)viewForPinSectionHeaderInPagerView:(JXPagerView *)pagerView { + return self.titleView; +} + +- (NSInteger)numberOfListsInPagerView:(JXPagerView *)pagerView { + return self.titles.count; +} + + +- (id)pagerView:(JXPagerView *)pagerView initListAtIndex:(NSInteger)index { + UIViewController *viewController; + if (index == 0) { + return self.sessionListVC; + }else if (index == 1){ + return self.friendVC; + } + else if (index == 2){ + return self.attentionVC; + }else{ + return self.fansVC; + } + + + return (id )viewController; +} +- (NSArray *)titles { + if (!_titles) { + _titles = @[YMLocalizedString(@"XPSessionMainViewController0"), YMLocalizedString(@"XPSessionMainViewController1"),YMLocalizedString(@"XPSessionMainViewController2"),YMLocalizedString(@"XPSessionMainViewController3")]; + } + return _titles; +} +#pragma mark- 清除消息 +- (void)allReadButtonClick:(UIButton *)sender { + [[NSNotificationCenter defaultCenter]postNotificationName:@"kAllReadAction" object:nil]; +} +#pragma mark -懒加载 +- (JXCategoryTitleView *)titleView { + if (!_titleView) { + _titleView = [[JXCategoryTitleView alloc] init]; + _titleView.delegate = self; + _titleView.backgroundColor = [UIColor clearColor]; + _titleView.titleColor = UIColorFromRGB(0x6D6B89); + _titleView.titleSelectedColor = UIColorFromRGB(0x1F1A4E); + _titleView.titleFont = [UIFont fontWithName:@"PingFang-SC-Medium" size:16]; + _titleView.titleSelectedFont = [UIFont boldSystemFontOfSize:22]; + _titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter; + _titleView.contentScrollViewClickTransitionAnimationEnabled = NO; + _titleView.defaultSelectedIndex = 0; + _titleView.averageCellSpacingEnabled = NO; + _titleView.contentEdgeInsetLeft = 20; + _titleView.titles = self.titles; + _titleView.cellSpacing = 20; + _titleView.titles = self.titles; + _titleView.listContainer = (id)self.pagingView.listContainerView; + + JXCategoryIndicatorImageView *lineView = [[JXCategoryIndicatorImageView alloc] init]; + lineView.indicatorImageViewSize = CGSizeMake(45, 10); + lineView.verticalMargin = 10; + lineView.indicatorImageView.layer.masksToBounds = YES; + lineView.indicatorImageView.layer.cornerRadius = 3; + lineView.indicatorImageView.image = [UIImage imageNamed:@"mine_dynamic"]; + _titleView.indicators = @[lineView]; + } + return _titleView; +} + +- (JXPagerView *)pagingView { + if (!_pagingView) { + _pagingView = [[JXPagerView alloc] initWithDelegate:self listContainerType:0]; + _pagingView.backgroundColor = [UIColor clearColor]; + _pagingView.listContainerView.backgroundColor = [UIColor clearColor]; + _pagingView.mainTableView.backgroundColor = [UIColor clearColor]; + _pagingView.listContainerView.listCellBackgroundColor = UIColor.clearColor; + _pagingView.pinSectionHeaderVerticalOffset = kNavigationHeight; + _pagingView.isListHorizontalScrollEnabled = NO; + _pagingView.mainTableView.gestureDelegate = self; + + } + return _pagingView; +} +-(UIImageView *)headBgImageView{ + if (!_headBgImageView){ + _headBgImageView = [UIImageView new]; + _headBgImageView.image = [UIImage imageNamed:@"message_main_bg"]; + } + return _headBgImageView; +} +- (XPMineAttentionViewController *)attentionVC { + if (!_attentionVC) { + _attentionVC = [[XPMineAttentionViewController alloc] init]; + _attentionVC.type = ContactUseingType_In_Session; + _attentionVC.isClearColor = YES; + } + return _attentionVC; +} + +- (XPMineFriendViewController *)friendVC { + if (!_friendVC) { + _friendVC = [[XPMineFriendViewController alloc] init]; + _friendVC.isClearColor = YES; + _friendVC.type = ContactUseingType_In_Session; + + } + return _friendVC; +} + +- (XPMineFansViewController *)fansVC { + if (!_fansVC) { + _fansVC = [[XPMineFansViewController alloc] init]; + _fansVC.type = ContactUseingType_In_Session; + _fansVC.isClearColor = YES; + + } + return _fansVC; +} +- (SessionListViewController *)sessionListVC{ + if (!_sessionListVC){ + _sessionListVC = [[SessionListViewController alloc]init]; + } + return _sessionListVC; +} +- (UIButton *)allCleanBtn{ + if (!_allCleanBtn){ + _allCleanBtn = [UIButton new]; + [_allCleanBtn setCornerWithLeftTopCorner:10 rightTopCorner:10 bottomLeftCorner:10 bottomRightCorner:10 size:CGSizeMake(30, 30)]; + [_allCleanBtn setImage:[UIImage imageNamed:@"sessionList_clear"] forState:UIControlStateNormal]; + [_allCleanBtn addTarget:self action:@selector(allReadButtonClick:) forControlEvents:UIControlEventTouchUpInside]; + } + return _allCleanBtn; +} +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/YuMi/Modules/YMMessage/View/SessionList/SessionListViewController.m "b/YuMi/Modules/YMMessage/View/SessionList/- (BOOL)isHiddenNavBar { \treturn YES; }.m" similarity index 89% rename from YuMi/Modules/YMMessage/View/SessionList/SessionListViewController.m rename to "YuMi/Modules/YMMessage/View/SessionList/- (BOOL)isHiddenNavBar { \treturn YES; }.m" index c98e7f18..d4c70df6 100644 --- a/YuMi/Modules/YMMessage/View/SessionList/SessionListViewController.m +++ "b/YuMi/Modules/YMMessage/View/SessionList/- (BOOL)isHiddenNavBar { \treturn YES; }.m" @@ -27,11 +27,11 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey"; #import @interface SessionListViewController () -@property (nonatomic,strong) UIView *customNavigationBar; - -@property (nonatomic,strong) UILabel *titleLabel; - -@property (nonatomic, strong) UIButton *allReadButton; +//@property (nonatomic,strong) UIView *customNavigationBar; +// +//@property (nonatomic,strong) UILabel *titleLabel; +// +//@property (nonatomic, strong) UIButton *allReadButton; /** * 会话列表 */ @@ -57,7 +57,9 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey"; [[NIMSDK sharedSDK].loginManager removeDelegate:self]; [[NSNotificationCenter defaultCenter]removeObserver:self]; } - +- (BOOL)isHiddenNavBar { + return YES; +} - (instancetype)initWithType:(SessionListOpenType)type { self = [self init]; @@ -80,9 +82,7 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey"; return self; } -- (BOOL)isHiddenNavBar { - return YES;; -} + - (void)viewDidLoad { [super viewDidLoad]; @@ -103,40 +103,22 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey"; } uid:uid]; } - (void)initViews { + self.view.backgroundColor = [UIColor clearColor]; - if (self.openType == SessionListOpenTypeDefault) { - [self.customNavigationBar addSubview:self.titleLabel]; - [self.view addSubview:self.customNavigationBar]; - [self.customNavigationBar addSubview:self.allReadButton]; - } + [self.view addSubview:self.sessionListView]; } - (void)initLayout { - if (self.openType == SessionListOpenTypeDefault) { - [self.customNavigationBar mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.top.mas_equalTo(self.view); - make.height.mas_equalTo(kNavigationHeight); - }]; - [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.centerX.mas_equalTo(self.customNavigationBar); - make.bottom.mas_equalTo(self.customNavigationBar.mas_bottom).offset(-10); - }]; - [self.allReadButton mas_makeConstraints:^(MASConstraintMaker *make) { - make.right.mas_equalTo(-16); - make.width.height.mas_equalTo(30); - make.centerY.mas_equalTo(self.titleLabel); - }]; - } [self.sessionListView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.bottom.mas_equalTo(self.view); - if (self.openType == SessionListOpenTypeDefault) { - make.top.mas_equalTo(self.view).offset(kNavigationHeight); - } else { - make.top.mas_equalTo(self.view); - } + make.left.right.bottom.mas_equalTo(self.view); + if (self.openType == SessionListOpenTypeDefault) { + make.top.mas_equalTo(self.view); + } else { + make.top.mas_equalTo(self.view); + } }]; } @@ -474,24 +456,7 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey"; } -- (UIView *)customNavigationBar { - if (!_customNavigationBar) { - CGRect frame = CGRectMake(0, kStatusBarHeight, KScreenWidth, 44); - _customNavigationBar = [[UIView alloc]initWithFrame:frame]; - } - return _customNavigationBar; -} -- (UILabel *)titleLabel { - if (!_titleLabel) { - _titleLabel = [[UILabel alloc] initWithFrame:CGRectZero]; - _titleLabel.backgroundColor = [UIColor clearColor]; - _titleLabel.font = [UIFont systemFontOfSize:18.f weight:UIFontWeightMedium]; - _titleLabel.textColor = DJDKMIMOMColor.mainTextColor; - _titleLabel.text = YMLocalizedString(@"SessionListViewController5"); - } - return _titleLabel; -} - (UITableView *)sessionListView { if (!_sessionListView) { diff --git a/YuMi/Modules/YMMessage/View/SessionList/SessionListViewController.h b/YuMi/Modules/YMMessage/View/SessionList/SessionListViewController.h index 5d159591..abaa4b39 100644 --- a/YuMi/Modules/YMMessage/View/SessionList/SessionListViewController.h +++ b/YuMi/Modules/YMMessage/View/SessionList/SessionListViewController.h @@ -10,6 +10,7 @@ #import "BaseViewController.h" #import #import +#import NS_ASSUME_NONNULL_BEGIN @@ -18,7 +19,7 @@ typedef NS_ENUM(NSUInteger, SessionListOpenType) { SessionListOpenTypeRoom = 2, }; -@interface SessionListViewController : BaseViewController +@interface SessionListViewController : BaseViewController - (instancetype)initWithType:(SessionListOpenType)type; /** 控制器 因为房间内聊天没有控制器去push 或者做其他的操作*/ diff --git a/YuMi/Modules/YMMine/View/Friend/XPMineAttentionViewController.h b/YuMi/Modules/YMMine/View/Friend/XPMineAttentionViewController.h index 98dd53fa..11726b8b 100644 --- a/YuMi/Modules/YMMine/View/Friend/XPMineAttentionViewController.h +++ b/YuMi/Modules/YMMine/View/Friend/XPMineAttentionViewController.h @@ -8,6 +8,7 @@ #import "MvpViewController.h" #import #import "YUMINNNN.h" +#import NS_ASSUME_NONNULL_BEGIN @class XPMineAttentionViewController, FansInfoModel; @@ -16,9 +17,11 @@ NS_ASSUME_NONNULL_BEGIN - (void)xPMineAttentionViewController:(XPMineAttentionViewController *)viewController didSelectItem:(FansInfoModel *)userInfo; @end -@interface XPMineAttentionViewController : MvpViewController +@interface XPMineAttentionViewController : MvpViewController ///类型 @property (nonatomic,assign) ContactUseingType type; +///背景色是否为透明 +@property (nonatomic,assign) BOOL isClearColor; ///代理 @property (nonatomic,weak) id delegate; /** 控制器 因为房间内聊天没有控制器去push 或者做其他的操作*/ diff --git a/YuMi/Modules/YMMine/View/Friend/XPMineAttentionViewController.m b/YuMi/Modules/YMMine/View/Friend/XPMineAttentionViewController.m index 3c91dd25..5dbc754e 100644 --- a/YuMi/Modules/YMMine/View/Friend/XPMineAttentionViewController.m +++ b/YuMi/Modules/YMMine/View/Friend/XPMineAttentionViewController.m @@ -41,12 +41,13 @@ @property (nonatomic,assign) int page; ///更多数据 @property (nonatomic,assign) BOOL hasNoMoreData; +@property (nonatomic, copy) void(^scrollCallback)(UIScrollView *scrollView); @end @implementation XPMineAttentionViewController - (BOOL)isHiddenNavBar { - return self.type == ContactUseingType_In_Room ? YES : NO; + return self.type == ContactUseingType_In_Room || self.type == ContactUseingType_In_Session ? YES : NO; } - (XPMineAttentionPresenter *)createPresenter { @@ -94,6 +95,9 @@ #pragma mark - Private Method - (void)initSubViews { + if (self.isClearColor){ + self.view.backgroundColor = [UIColor clearColor]; + } self.title = YMLocalizedString(@"XPMineAttentionViewController1"); [self.view addSubview:self.tableView]; } @@ -211,7 +215,21 @@ - (UIView *)listView { return self.view; } +- (UIScrollView *)listScrollView { + return self.tableView; +} +- (void)listViewDidScrollCallback:(void (^)(UIScrollView *))callback { + if(self.scrollCallback){ + self.scrollCallback = callback; + } + +} +- (void)scrollViewDidScroll:(UIScrollView *)scrollView { + if(self.scrollCallback){ + self.scrollCallback(scrollView); + } +} #pragma mark - Getters And Setters - (UITableView *)tableView { diff --git a/YuMi/Modules/YMMine/View/Friend/XPMineFansViewController.h b/YuMi/Modules/YMMine/View/Friend/XPMineFansViewController.h index ce91e56e..8c617973 100644 --- a/YuMi/Modules/YMMine/View/Friend/XPMineFansViewController.h +++ b/YuMi/Modules/YMMine/View/Friend/XPMineFansViewController.h @@ -7,6 +7,7 @@ #import "MvpViewController.h" #import +#import #import "YUMINNNN.h" NS_ASSUME_NONNULL_BEGIN @class XPMineFansViewController, FansInfoModel; @@ -16,9 +17,11 @@ NS_ASSUME_NONNULL_BEGIN @end -@interface XPMineFansViewController : MvpViewController +@interface XPMineFansViewController : MvpViewController ///类型 @property (nonatomic,assign) ContactUseingType type; +///背景色是否为透明 +@property (nonatomic,assign) BOOL isClearColor; ///代理 @property (nonatomic,weak) id delegate; /** 控制器 因为房间内聊天没有控制器去push 或者做其他的操作*/ diff --git a/YuMi/Modules/YMMine/View/Friend/XPMineFansViewController.m b/YuMi/Modules/YMMine/View/Friend/XPMineFansViewController.m index f88d905b..686c1f21 100644 --- a/YuMi/Modules/YMMine/View/Friend/XPMineFansViewController.m +++ b/YuMi/Modules/YMMine/View/Friend/XPMineFansViewController.m @@ -36,12 +36,14 @@ @property (nonatomic,assign) int page; ///更多数据 @property (nonatomic,assign) BOOL hasNoMoreData; +@property (nonatomic, copy) void(^scrollCallback)(UIScrollView *scrollView); @end @implementation XPMineFansViewController - (BOOL)isHiddenNavBar { - return self.type == ContactUseingType_In_Room ? YES : NO; + return self.type == ContactUseingType_In_Room || self.type == ContactUseingType_In_Session ? YES : NO; + } - (XPMineFansPresenter *)createPresenter { @@ -94,6 +96,9 @@ #pragma mark - Private Method - (void)initSubViews { + if (self.isClearColor){ + self.view.backgroundColor = [UIColor clearColor]; + } self.title = YMLocalizedString(@"XPMineFansViewController1"); [self.view addSubview:self.tableView]; } @@ -207,7 +212,18 @@ - (UIView *)listView { return self.view; } +- (UIScrollView *)listScrollView { + return self.tableView; +} +- (void)listViewDidScrollCallback:(void (^)(UIScrollView *))callback { + self.scrollCallback = callback; +} +- (void)scrollViewDidScroll:(UIScrollView *)scrollView { + if(self.scrollCallback){ + self.scrollCallback(scrollView); + } +} #pragma mark - mark - (void)xPMineFansTableViewCell:(XPMineFansTableViewCell *)view didClickAttention:(NSString *)uid { if (uid.length > 0) { diff --git a/YuMi/Modules/YMMine/View/Friend/XPMineFriendViewController.h b/YuMi/Modules/YMMine/View/Friend/XPMineFriendViewController.h index e2a207aa..afe35551 100644 --- a/YuMi/Modules/YMMine/View/Friend/XPMineFriendViewController.h +++ b/YuMi/Modules/YMMine/View/Friend/XPMineFriendViewController.h @@ -8,6 +8,7 @@ #import "MvpViewController.h" #import #import "YUMINNNN.h" +#import NS_ASSUME_NONNULL_BEGIN @class XPMineFriendViewController, UserInfoModel; @protocol XPMineFriendViewControllerDelegate @@ -15,9 +16,11 @@ NS_ASSUME_NONNULL_BEGIN - (void)xPMineFriendViewController:(XPMineFriendViewController *)viewController didSelectItem:(UserInfoModel *)userInfo; @end -@interface XPMineFriendViewController : MvpViewController +@interface XPMineFriendViewController : MvpViewController ///类型 @property (nonatomic,assign) ContactUseingType type; +///背景色是否为透明 +@property (nonatomic,assign) BOOL isClearColor; ///代理 @property (nonatomic,weak) id delegate; /** 控制器 因为房间内聊天没有控制器去push 或者做其他的操作*/ diff --git a/YuMi/Modules/YMMine/View/Friend/XPMineFriendViewController.m b/YuMi/Modules/YMMine/View/Friend/XPMineFriendViewController.m index 9379ee7c..ec92acad 100644 --- a/YuMi/Modules/YMMine/View/Friend/XPMineFriendViewController.m +++ b/YuMi/Modules/YMMine/View/Friend/XPMineFriendViewController.m @@ -33,6 +33,7 @@ @property (nonatomic,assign) int page; ///更多数据 @property (nonatomic,assign) BOOL hasNoMoreData; +@property (nonatomic, copy) void(^scrollCallback)(UIScrollView *scrollView); @end @implementation XPMineFriendViewController @@ -42,11 +43,12 @@ } - (BOOL)isHiddenNavBar { - return self.type == ContactUseingType_In_Room ? YES : NO; + return self.type == ContactUseingType_In_Room || self.type == ContactUseingType_In_Session ? YES : NO; } - (void)viewDidLoad { [super viewDidLoad]; + NSArray * array = [[NIMSDK sharedSDK].userManager myFriends]; if (array.count > 0) { NSMutableArray * uids = [NSMutableArray array]; @@ -61,6 +63,9 @@ } #pragma mark - Private Method - (void)initSubViews { + if (self.isClearColor){ + self.view.backgroundColor = [UIColor clearColor]; + } [self.view addSubview:self.tableView]; } @@ -134,6 +139,18 @@ - (UIView *)listView { return self.view; } +- (UIScrollView *)listScrollView { + return self.tableView; +} +- (void)listViewDidScrollCallback:(void (^)(UIScrollView *))callback { + self.scrollCallback = callback; +} + +- (void)scrollViewDidScroll:(UIScrollView *)scrollView { + if(self.scrollCallback){ + self.scrollCallback(scrollView); + } +} #pragma mark - Getters And Setters diff --git a/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePartyAudioView.m b/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePartyAudioView.m index 556a84ab..0a9726ec 100644 --- a/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePartyAudioView.m +++ b/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePartyAudioView.m @@ -8,6 +8,7 @@ #import "XPNewHomePartyAudioView.h" #import "XPSkillCardPlayerManager.h" #import +#import @interface XPNewHomePartyAudioView () ///背景 @property(nonatomic,strong) UIView *bgView; @@ -19,7 +20,9 @@ @property(nonatomic,strong) UIImageView *audioBgView; ///时间 @property(nonatomic,strong) UILabel *timeView; - +///播放动效 +@property(nonatomic,strong) SVGAParser *parser; +@property(nonatomic,strong) SVGAImageView *playImageView; @end @implementation XPNewHomePartyAudioView @@ -41,8 +44,17 @@ [self.bgView addSubview:self.signatureView]; [self.bgView addSubview:self.playBnt]; [self.bgView addSubview:self.audioBgView]; + [self.bgView addSubview:self.playImageView]; [self.bgView addSubview:self.timeView]; - + @kWeakify(self); + [self.parser parseWithNamed:@"pi_home_new_play" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) { + @kStrongify(self); + self.playImageView.loops = INT_MAX; + self.playImageView.clearsAfterStop = NO; + self.playImageView.videoItem = videoItem; + [self.playImageView startAnimation]; + } failureBlock:^(NSError * _Nullable error) { + }]; } -(void)installConstraints{ [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) { @@ -60,6 +72,9 @@ make.width.mas_equalTo(kGetScaleWidth(22)); make.height.mas_equalTo(kGetScaleWidth(10)); }]; + [self.playImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.equalTo(self.audioBgView); + }]; [self.timeView mas_makeConstraints:^(MASConstraintMaker *make) { make.leading.mas_equalTo(kGetScaleWidth(54)); make.height.mas_equalTo(kGetScaleWidth(15));make.centerY.equalTo(self.bgView); @@ -71,6 +86,8 @@ } -(void)playAudioAction:(UIButton *)sender{ _playBnt.selected = !_playBnt.selected; + _audioBgView.hidden = _playBnt.selected; + _playImageView.hidden = !_playBnt.selected; if(self.delegate && [self.delegate respondsToSelector:@selector(xPNewHomePartyAudioView:didClickPlaySound:)]){ [self.delegate xPNewHomePartyAudioView:self didClickPlaySound:_playBnt.selected]; } @@ -79,6 +96,7 @@ _userVoice = userVoice; _playBnt.hidden = NO; _audioBgView.hidden = NO; + _playImageView.hidden = NO; _timeView.hidden = NO; _signatureView.hidden = YES; _signatureView.text = @""; @@ -92,6 +110,7 @@ _userDesc = userDesc; _playBnt.hidden = YES; _audioBgView.hidden = YES; + _playImageView.hidden = YES; _timeView.hidden = YES; _signatureView.hidden = NO; _signatureView.text = _userDesc; @@ -113,6 +132,8 @@ - (void)setIsPlay:(BOOL)isPlay{ _isPlay = isPlay; _playBnt.selected = _isPlay; + _playImageView.hidden = !_isPlay; + _audioBgView.hidden = _isPlay; } #pragma mark - 懒加载 - (UIView *)bgView{ @@ -153,4 +174,19 @@ } return _timeView; } +- (SVGAParser *)parser{ + if(!_parser){ + _parser = [SVGAParser new]; + } + return _parser; +} +- (SVGAImageView *)playImageView { + if (_playImageView == nil) { + _playImageView = [[SVGAImageView alloc]init]; + _playImageView.contentMode = UIViewContentModeScaleToFill; + _playImageView.backgroundColor = [UIColor clearColor]; + _playImageView.hidden = NO; + } + return _playImageView; +} @end diff --git a/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePartyTableViewCell.m b/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePartyTableViewCell.m index 4d5373bc..da608bba 100644 --- a/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePartyTableViewCell.m +++ b/YuMi/Modules/YMNewHome/View/Cell/XPNewHomePartyTableViewCell.m @@ -8,6 +8,7 @@ #import "XPNewHomePartyTableViewCell.h" ///Third #import +#import ///Tool #import "DJDKMIMOMColor.h" #import "NetImageView.h" @@ -49,6 +50,8 @@ ///魅力 @property(nonatomic,strong) NetImageView *charmView; @property(nonatomic,strong) NSDateFormatter *dateFormatter; + + @end @implementation XPNewHomePartyTableViewCell diff --git a/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeBuyView.m b/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeBuyView.m index 4ae54d12..26d16f82 100644 --- a/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeBuyView.m +++ b/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeBuyView.m @@ -110,10 +110,14 @@ } #pragma mark -UITextFieldDelegate - (void)textFieldDidChange:(UITextField *)textField { - if(textField.text.integerValue <= 1){ - textField.text = @"1"; + if(textField.text.integerValue <= 0){ + textField.text = @""; + }else if(textField.text.integerValue > 200){ + [XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPCandyTreeViewController5")]; + textField.text = @"200"; } self.chooseNum = textField.text; + NSArray *btnArr = @[self.oneTapBtn,self.tenTapBtn,self.hundredTapBtn]; for (UIButton *btn in btnArr) { btn.backgroundColor = [UIColor clearColor]; @@ -121,8 +125,11 @@ } } - (void)textFieldDidEndEditing:(UITextField *)textField{ - if(textField.text.length <= 1){ - textField.text = @"1"; + if(textField.text.length <= 0){ + textField.text = @""; + }else if(textField.text.integerValue > 200){ + [XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPCandyTreeViewController5")]; + textField.text = @"200"; } self.chooseNum = textField.text; NSArray *btnArr = @[self.oneTapBtn,self.tenTapBtn,self.hundredTapBtn]; diff --git a/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeConfirmBuyNumView.m b/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeConfirmBuyNumView.m index a5dc3b90..bd86f9d9 100644 --- a/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeConfirmBuyNumView.m +++ b/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeConfirmBuyNumView.m @@ -15,7 +15,7 @@ @property(nonatomic,strong) UIImageView *bgView; ///输入框 @property(nonatomic,strong) UITextField *textFiled; -@property(nonatomic,assign) NSInteger count; + @end @implementation XPCandyTreeConfirmBuyNumView @@ -62,29 +62,31 @@ -(void)setLoveNum:(NSString *)loveNum{ _loveNum = loveNum; _textFiled.text = _loveNum; - NSInteger count = self.textFiled.text.integerValue/10; - self.count = 10 * count; - + } #pragma mark -UITextFieldDelegate - (void)textFieldDidChanged:(UITextField *)textField { - if(textField.text.integerValue <= 1){ - textField.text = @"1"; + if(textField.text.integerValue <= 0){ + textField.text = @""; + }else if(textField.text.integerValue > 200){ + [XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPCandyTreeViewController5")]; + textField.text = @"200"; } - NSInteger count = textField.text.integerValue/10; - self.count = 10 * count; + if(self.delegate && [self.delegate respondsToSelector:@selector(inputLoveNum:)]){ [self.delegate inputLoveNum:textField.text]; } } - (void)textFieldDidEndEditing:(UITextField *)textField{ - if(textField.text.length <= 1){ - textField.text = @"1"; + if(textField.text.length <= 0){ + textField.text = @""; + }else if(textField.text.integerValue > 200){ + [XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPCandyTreeViewController5")]; + textField.text = @"200"; } - NSInteger count = textField.text.integerValue/10; - self.count = 10 * count; + if(self.delegate && [self.delegate respondsToSelector:@selector(inputLoveNum:)]){ [self.delegate inputLoveNum:textField.text]; } @@ -110,22 +112,26 @@ } -(void)addBtnAction{ - NSInteger num = self.count + 10; - - self.count = num; + NSInteger num = self.textFiled.text.integerValue + 10; + if(num > 200){ + num = 200; + [XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPCandyTreeViewController5")]; + } self.textFiled.text = @(num).stringValue; if(self.delegate && [self.delegate respondsToSelector:@selector(inputLoveNum:)]){ [self.delegate inputLoveNum:self.textFiled.text]; } } -(void)subtractAction{ - NSInteger num = self.count - 10; - - if(num <= 1){ - num = 1; + NSInteger num = self.textFiled.text.integerValue - 10; + if(num < 0){ + self.textFiled.text = @"0"; + if(self.delegate && [self.delegate respondsToSelector:@selector(inputLoveNum:)]){ + [self.delegate inputLoveNum:self.textFiled.text]; + } + return; } - NSInteger count = num/10; - self.count = 10 * count; + self.textFiled.text = @(num).stringValue; if(self.delegate && [self.delegate respondsToSelector:@selector(inputLoveNum:)]){ [self.delegate inputLoveNum:self.textFiled.text]; diff --git a/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeViewController.m b/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeViewController.m index 1d197dbc..77ddab5e 100644 --- a/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeViewController.m +++ b/YuMi/Modules/YMRoom/View/CandyTree/View/XPCandyTreeViewController.m @@ -482,6 +482,10 @@ UIKIT_EXTERN NSString * const kRoomReceivedCandyNotificationKey; [self pickCandyPay]; return; } + if(num.integerValue <= 0){ + [self showErrorToast:YMLocalizedString(@"XPCandyTreeViewController2")]; + return; + } [self.presenter buyLoveTicket:num]; return; }; @@ -499,8 +503,8 @@ UIKIT_EXTERN NSString * const kRoomReceivedCandyNotificationKey; [self pickCandyPay]; return; } - if(type == 0){ - [self.presenter buyLoveTicket:num]; + if(num.integerValue <= 0){ + [self showErrorToast:YMLocalizedString(@"XPCandyTreeViewController2")]; return; } [self.presenter buyLoveTicket:num]; diff --git a/YuMi/Modules/YMTabbar/View/TabbarViewController.m b/YuMi/Modules/YMTabbar/View/TabbarViewController.m index 65d2f071..d1080e37 100644 --- a/YuMi/Modules/YMTabbar/View/TabbarViewController.m +++ b/YuMi/Modules/YMTabbar/View/TabbarViewController.m @@ -56,7 +56,7 @@ #import "LoginBindPhoneViewController.h" #import "LoginFullInfoViewController.h" #import "XPMineViewController.h" -#import "SessionListViewController.h" +#import "XPSessionMainViewController.h" #import "XPNewHomeViewController.h" #import "XPMiniRoomView.h" #import "XPRoomViewController.h" @@ -262,6 +262,18 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; self.inviteCode = nil; } [self monentsUnReadCount]; + NSArray *recentList = [[NIMSDK sharedSDK].conversationManager.allRecentSessions mutableCopy]; + __block NSInteger unreadCount = 0; + NSMutableArray * uids = [[NSMutableArray alloc] init]; + [recentList enumerateObjectsUsingBlock:^(NIMRecentSession * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { + [uids addObject:obj.session.sessionId]; + unreadCount += obj.unreadCount; + }]; + if(unreadCount > 0){ + NSUInteger index = 2; + UITabBarItem *item = self.tabBar.items.count > index ? self.tabBar.items[index] : nil; + [item setBadgeValue:[NSString stringWithFormat:@"%ld",unreadCount]]; + } } self.parentMode = userInfo.parentMode; for (BaseViewController *vc in self.viewControllers) { @@ -287,6 +299,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; - (void)bindCodeSuccess{ [self completeUserInfo]; } + /// -(void)requestGiftList{ [self dealWithDefaultSvga]; @@ -665,7 +678,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; UIViewController * home; UIViewController * monents; if (logined) { - msg = [[SessionListViewController alloc] init]; + msg = [[XPSessionMainViewController alloc] init]; if ([ClientConfig shareConfig].canOpen) { home = [[XPNewHomeViewController alloc] init]; @@ -678,7 +691,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey; } } else { game = [[XPBlankViewController alloc]init]; - msg = [[SessionListViewController alloc]init]; + msg = [[XPSessionMainViewController alloc]init]; me = [[XPBlankViewController alloc]init]; home = [[XPBlankViewController alloc] init]; monents = [[XPBlankViewController alloc] init]; diff --git a/YuMi/Resources/pi_home_new_play.svga b/YuMi/Resources/pi_home_new_play.svga new file mode 100644 index 0000000000000000000000000000000000000000..342b4083dff75ee5d79cfa72a3c214dc23f99684 GIT binary patch literal 12690 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 MAVui^0D6)9zD@h#6aWAK literal 0 HcmV?d00001 diff --git a/YuMi/zh-Hans.lproj/Localizable.strings b/YuMi/zh-Hans.lproj/Localizable.strings index df209836..646d4d9b 100644 --- a/YuMi/zh-Hans.lproj/Localizable.strings +++ b/YuMi/zh-Hans.lproj/Localizable.strings @@ -24,7 +24,7 @@ ///XPCandyTreeViewController.m "XPCandyTreeViewController0" = "%@钻/次"; -"XPCandyTreeViewController2" = "开启数量不能为0!"; +"XPCandyTreeViewController2" = "购买爱心数量不能为0!"; "XPCandyTreeViewController4" = "去参与"; "XPCandyTreeViewController5" = "一次只能选择200次"; "XPCandyTreeViewController7" = "排行榜"; @@ -3049,6 +3049,11 @@ ///XPHomeGameView "XPHomeGameView0"="新建房间"; "XPHomeGameView1"="创建房间"; +///XPSessionMainViewController.m +"XPSessionMainViewController0" = "消息"; +"XPSessionMainViewController1" = "好友"; +"XPSessionMainViewController2" = "关注"; +"XPSessionMainViewController3" = "粉丝"; ///不能脚本生成的 "App_Common_And" = "和"; "App_Common_Male" = "男"; diff --git a/YuMi/zh-Hant.lproj/Localizable.strings b/YuMi/zh-Hant.lproj/Localizable.strings index 552ce31d..a594ecc5 100644 --- a/YuMi/zh-Hant.lproj/Localizable.strings +++ b/YuMi/zh-Hant.lproj/Localizable.strings @@ -24,7 +24,7 @@ ///XPCandyTreeViewController.m "XPCandyTreeViewController0" = "%@鉆/次"; -"XPCandyTreeViewController2" = "開啟數量不能為0!"; +"XPCandyTreeViewController2" = "購買愛心數量不能為0!"; "XPCandyTreeViewController4" = "去參與"; "XPCandyTreeViewController5" = "一次只能選擇200次"; "XPCandyTreeViewController7" = "排行榜"; @@ -3059,6 +3059,11 @@ "XPHomeGameView0"="新建房間"; "XPHomeGameView1"="創建房間"; +///XPSessionMainViewController.m +"XPSessionMainViewController0" = "消息"; +"XPSessionMainViewController1" = "好友"; +"XPSessionMainViewController2" = "關註"; +"XPSessionMainViewController3" = "粉絲"; ///不能腳本生成的 "App_Common_And" = "和"; "App_Common_Male" = "男";