Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
604b2a3275 | ||
|
|
284ef1025a | ||
|
|
2b477e8912 | ||
|
|
3ba569dfa3 | ||
|
|
d1be1ab3a7 | ||
|
|
de1d090b93 | ||
|
|
0879779fb3 |
@@ -787,7 +787,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"$(SDKROOT)/usr/lib/swift",
|
"$(SDKROOT)/usr/lib/swift",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.8;
|
MARKETING_VERSION = 1.0.10;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.xscm.midi;
|
PRODUCT_BUNDLE_IDENTIFIER = com.xscm.midi;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
@@ -853,7 +853,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"$(SDKROOT)/usr/lib/swift",
|
"$(SDKROOT)/usr/lib/swift",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.8;
|
MARKETING_VERSION = 1.0.10;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.xscm.midi;
|
PRODUCT_BUNDLE_IDENTIFIER = com.xscm.midi;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
|||||||
@@ -74,6 +74,13 @@
|
|||||||
ReferencedContainer = "container:QXLive.xcodeproj">
|
ReferencedContainer = "container:QXLive.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildableProductRunnable>
|
</BuildableProductRunnable>
|
||||||
|
<EnvironmentVariables>
|
||||||
|
<EnvironmentVariable
|
||||||
|
key = "DYLD_PRINT_LIBRARIES"
|
||||||
|
value = "YES"
|
||||||
|
isEnabled = "YES">
|
||||||
|
</EnvironmentVariable>
|
||||||
|
</EnvironmentVariables>
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
|||||||
@@ -50,6 +50,13 @@
|
|||||||
ReferencedContainer = "container:QXLive.xcodeproj">
|
ReferencedContainer = "container:QXLive.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildableProductRunnable>
|
</BuildableProductRunnable>
|
||||||
|
<EnvironmentVariables>
|
||||||
|
<EnvironmentVariable
|
||||||
|
key = "DYLD_PRINT_LIBRARIES"
|
||||||
|
value = "YES"
|
||||||
|
isEnabled = "YES">
|
||||||
|
</EnvironmentVariable>
|
||||||
|
</EnvironmentVariables>
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
|||||||
@@ -208,54 +208,6 @@
|
|||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
</BreakpointProxy>
|
</BreakpointProxy>
|
||||||
<BreakpointProxy
|
|
||||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
||||||
<BreakpointContent
|
|
||||||
uuid = "95816189-2F62-46D5-8996-37DB842006D9"
|
|
||||||
shouldBeEnabled = "Yes"
|
|
||||||
ignoreCount = "0"
|
|
||||||
continueAfterRunningActions = "No"
|
|
||||||
filePath = "QXLive/Base/QXGlobal.m"
|
|
||||||
startingColumnNumber = "9223372036854775807"
|
|
||||||
endingColumnNumber = "9223372036854775807"
|
|
||||||
startingLineNumber = "237"
|
|
||||||
endingLineNumber = "237"
|
|
||||||
landmarkName = "-joinRoomWithRoomId:isRejoin:navagationController:"
|
|
||||||
landmarkType = "7">
|
|
||||||
</BreakpointContent>
|
|
||||||
</BreakpointProxy>
|
|
||||||
<BreakpointProxy
|
|
||||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
||||||
<BreakpointContent
|
|
||||||
uuid = "77861036-E0D7-430E-A184-C587BCE81B20"
|
|
||||||
shouldBeEnabled = "Yes"
|
|
||||||
ignoreCount = "0"
|
|
||||||
continueAfterRunningActions = "No"
|
|
||||||
filePath = "QXLive/Base/QXGlobal.m"
|
|
||||||
startingColumnNumber = "9223372036854775807"
|
|
||||||
endingColumnNumber = "9223372036854775807"
|
|
||||||
startingLineNumber = "348"
|
|
||||||
endingLineNumber = "348"
|
|
||||||
landmarkName = "-vibrationFeedback"
|
|
||||||
landmarkType = "7">
|
|
||||||
</BreakpointContent>
|
|
||||||
</BreakpointProxy>
|
|
||||||
<BreakpointProxy
|
|
||||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
||||||
<BreakpointContent
|
|
||||||
uuid = "5BF5F01C-DE88-4830-9FC7-B13A8F8D8F06"
|
|
||||||
shouldBeEnabled = "Yes"
|
|
||||||
ignoreCount = "0"
|
|
||||||
continueAfterRunningActions = "No"
|
|
||||||
filePath = "QXLive/HomePage(声播)/Controlller/QXHomeViewController.m"
|
|
||||||
startingColumnNumber = "9223372036854775807"
|
|
||||||
endingColumnNumber = "9223372036854775807"
|
|
||||||
startingLineNumber = "298"
|
|
||||||
endingLineNumber = "298"
|
|
||||||
landmarkName = "-popFirstRechargeView"
|
|
||||||
landmarkType = "7">
|
|
||||||
</BreakpointContent>
|
|
||||||
</BreakpointProxy>
|
|
||||||
<BreakpointProxy
|
<BreakpointProxy
|
||||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||||
<BreakpointContent
|
<BreakpointContent
|
||||||
@@ -266,28 +218,12 @@
|
|||||||
filePath = "QXLive/HomePage(声播)/Controlller/QXHomeViewController.m"
|
filePath = "QXLive/HomePage(声播)/Controlller/QXHomeViewController.m"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "265"
|
startingLineNumber = "272"
|
||||||
endingLineNumber = "265"
|
endingLineNumber = "272"
|
||||||
landmarkName = "-popNiceGiftView"
|
landmarkName = "-popNiceGiftView"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
</BreakpointProxy>
|
</BreakpointProxy>
|
||||||
<BreakpointProxy
|
|
||||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
||||||
<BreakpointContent
|
|
||||||
uuid = "17ADC5CF-3CFE-4059-B7EA-0CE3B4FA037A"
|
|
||||||
shouldBeEnabled = "Yes"
|
|
||||||
ignoreCount = "0"
|
|
||||||
continueAfterRunningActions = "No"
|
|
||||||
filePath = "QXLive/HomePage(声播)/View/房间/QXRoomBottomView.m"
|
|
||||||
startingColumnNumber = "9223372036854775807"
|
|
||||||
endingColumnNumber = "9223372036854775807"
|
|
||||||
startingLineNumber = "359"
|
|
||||||
endingLineNumber = "359"
|
|
||||||
landmarkName = "-didClickSendWithText:model:"
|
|
||||||
landmarkType = "7">
|
|
||||||
</BreakpointContent>
|
|
||||||
</BreakpointProxy>
|
|
||||||
<BreakpointProxy
|
<BreakpointProxy
|
||||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||||
<BreakpointContent
|
<BreakpointContent
|
||||||
@@ -320,5 +256,37 @@
|
|||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
</BreakpointProxy>
|
</BreakpointProxy>
|
||||||
|
<BreakpointProxy
|
||||||
|
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||||
|
<BreakpointContent
|
||||||
|
uuid = "EE5372A8-67EE-4ED3-ACC6-96AF55FD878F"
|
||||||
|
shouldBeEnabled = "Yes"
|
||||||
|
ignoreCount = "0"
|
||||||
|
continueAfterRunningActions = "No"
|
||||||
|
filePath = "QXLive/HomePage(声播)/View/房间/QXRoomTitleView.m"
|
||||||
|
startingColumnNumber = "9223372036854775807"
|
||||||
|
endingColumnNumber = "9223372036854775807"
|
||||||
|
startingLineNumber = "349"
|
||||||
|
endingLineNumber = "349"
|
||||||
|
landmarkName = "-setRoomCollect:"
|
||||||
|
landmarkType = "7">
|
||||||
|
</BreakpointContent>
|
||||||
|
</BreakpointProxy>
|
||||||
|
<BreakpointProxy
|
||||||
|
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||||
|
<BreakpointContent
|
||||||
|
uuid = "9043E93D-2910-4D2C-B503-E82326BA842B"
|
||||||
|
shouldBeEnabled = "Yes"
|
||||||
|
ignoreCount = "0"
|
||||||
|
continueAfterRunningActions = "No"
|
||||||
|
filePath = "QXLive/活动/巡乐会/QXMeetActivityView.m"
|
||||||
|
startingColumnNumber = "9223372036854775807"
|
||||||
|
endingColumnNumber = "9223372036854775807"
|
||||||
|
startingLineNumber = "852"
|
||||||
|
endingLineNumber = "852"
|
||||||
|
landmarkName = "-setModel:"
|
||||||
|
landmarkType = "7">
|
||||||
|
</BreakpointContent>
|
||||||
|
</BreakpointProxy>
|
||||||
</Breakpoints>
|
</Breakpoints>
|
||||||
</Bucket>
|
</Bucket>
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
#import "QXTimer.h"
|
#import "QXTimer.h"
|
||||||
#import <TIMPush/TIMPushManager.h>
|
#import <TIMPush/TIMPushManager.h>
|
||||||
#import "QXManagerMqtt.h"
|
#import "QXManagerMqtt.h"
|
||||||
|
#import "QXRedPacketManager.h"
|
||||||
|
|
||||||
@interface QXGlobal()
|
@interface QXGlobal()
|
||||||
@property (nonatomic,assign)BOOL isLogin;
|
@property (nonatomic,assign)BOOL isLogin;
|
||||||
@@ -299,6 +300,8 @@
|
|||||||
|
|
||||||
-(void)quitRoomWithRoomId:(NSString *)roomId{
|
-(void)quitRoomWithRoomId:(NSString *)roomId{
|
||||||
[UIApplication sharedApplication].idleTimerDisabled = NO;
|
[UIApplication sharedApplication].idleTimerDisabled = NO;
|
||||||
|
/// 移除所有红包
|
||||||
|
[[QXRedPacketManager sharedManager] destoryRedpacketInfo];
|
||||||
/// 移除特效
|
/// 移除特效
|
||||||
[[QXGiftPlayerManager shareManager] destroyEffectSvga];
|
[[QXGiftPlayerManager shareManager] destroyEffectSvga];
|
||||||
/// 退出声网
|
/// 退出声网
|
||||||
@@ -310,6 +313,7 @@
|
|||||||
/// 退出直播群
|
/// 退出直播群
|
||||||
[[QXRoomMessageManager shared] quitGroupWithRoomId:roomId];
|
[[QXRoomMessageManager shared] quitGroupWithRoomId:roomId];
|
||||||
[[QXGlobal shareGlobal].offLineDict removeAllObjects];
|
[[QXGlobal shareGlobal].offLineDict removeAllObjects];
|
||||||
|
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||||
if (_roomVC) {
|
if (_roomVC) {
|
||||||
/// 回收麦位视图内存
|
/// 回收麦位视图内存
|
||||||
[_roomVC.seatContentView destroyViews];
|
[_roomVC.seatContentView destroyViews];
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
@implementation QXDynamicTopicCell
|
@implementation QXDynamicTopicCell
|
||||||
-(void)setModel:(QXTopicModel *)model{
|
-(void)setModel:(QXTopicModel *)model{
|
||||||
|
_model = model;
|
||||||
[self.topicImageView sd_setImageWithURL:[NSURL URLWithString:model.pic] placeholderImage:nil];
|
[self.topicImageView sd_setImageWithURL:[NSURL URLWithString:model.pic] placeholderImage:nil];
|
||||||
self.titleLabel.text = model.title;
|
self.titleLabel.text = model.title;
|
||||||
self.countLabel.text = [NSString localizedStringWithFormat:QXText(@"%@条动态"),[NSString qx_showHotCountNum:model.count.longLongValue]];
|
self.countLabel.text = [NSString localizedStringWithFormat:QXText(@"%@条动态"),[NSString qx_showHotCountNum:model.count.longLongValue]];
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
-(void)didClickSendWithText:(NSString*)text model:(QXDynamicCommentListModel*)model;
|
-(void)didClickSendWithText:(NSString*)text model:(QXDynamicCommentListModel*)model;
|
||||||
|
|
||||||
|
-(void)didResignFirstResponder;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface QXDynamicCommentInputView : UIView
|
@interface QXDynamicCommentInputView : UIView
|
||||||
|
|||||||
@@ -98,6 +98,11 @@
|
|||||||
[textField resignFirstResponder];
|
[textField resignFirstResponder];
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
-(void)textFieldDidEndEditing:(UITextField *)textField{
|
||||||
|
if (self.delegate && [self.delegate respondsToSelector:@selector(didResignFirstResponder)]) {
|
||||||
|
[self.delegate didResignFirstResponder];
|
||||||
|
}
|
||||||
|
}
|
||||||
-(void)setModel:(QXDynamicCommentListModel *)model{
|
-(void)setModel:(QXDynamicCommentListModel *)model{
|
||||||
_model = model;
|
_model = model;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@interface QXHomeViewController : QXBaseViewController
|
@interface QXHomeViewController : QXBaseViewController
|
||||||
|
-(void)popFirstRechargeView;
|
||||||
-(void)giftScrollViewShowWithModel:(QXGiftScrollModel*)model;
|
-(void)giftScrollViewShowWithModel:(QXGiftScrollModel*)model;
|
||||||
-(void)giftScrollViewShowWithModelList:(NSArray<QXGiftScrollModel*>*)list;
|
-(void)giftScrollViewShowWithModelList:(NSArray<QXGiftScrollModel*>*)list;
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -52,6 +52,8 @@
|
|||||||
@property (nonatomic,strong)QXAppstoreHomeView *appStoreView;
|
@property (nonatomic,strong)QXAppstoreHomeView *appStoreView;
|
||||||
@property (nonatomic,strong)SDCycleScrollView *rechargePermissionView;
|
@property (nonatomic,strong)SDCycleScrollView *rechargePermissionView;
|
||||||
@property (nonatomic,strong)NSMutableArray *rechargePermissionArray;
|
@property (nonatomic,strong)NSMutableArray *rechargePermissionArray;
|
||||||
|
|
||||||
|
@property (nonatomic,strong)QXRechargePermissionModel *permissionModel;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation QXHomeViewController
|
@implementation QXHomeViewController
|
||||||
@@ -60,6 +62,7 @@
|
|||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
// Do any additional setup after loading the view.
|
// Do any additional setup after loading the view.
|
||||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(loginSuccess) name:noticeUserLogin object:nil];
|
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(loginSuccess) name:noticeUserLogin object:nil];
|
||||||
|
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(rechargeSuccess) name:noticeAlipayResult object:nil];
|
||||||
}
|
}
|
||||||
-(void)viewWillAppear:(BOOL)animated{
|
-(void)viewWillAppear:(BOOL)animated{
|
||||||
[super viewWillAppear:animated];
|
[super viewWillAppear:animated];
|
||||||
@@ -133,7 +136,7 @@
|
|||||||
// make.width.height.mas_equalTo(ScaleWidth(57));
|
// make.width.height.mas_equalTo(ScaleWidth(57));
|
||||||
// }];
|
// }];
|
||||||
[self getBanner];
|
[self getBanner];
|
||||||
// [self getRechargePermission];
|
[self getRechargePermission];
|
||||||
self.appStoreView.hidden = YES;
|
self.appStoreView.hidden = YES;
|
||||||
[self.view addSubview:self.appStoreView];
|
[self.view addSubview:self.appStoreView];
|
||||||
|
|
||||||
@@ -153,6 +156,9 @@
|
|||||||
[self getTopRoomList];
|
[self getTopRoomList];
|
||||||
[self getBanner];
|
[self getBanner];
|
||||||
}
|
}
|
||||||
|
-(void)rechargeSuccess{
|
||||||
|
[self getRechargePermission];
|
||||||
|
}
|
||||||
- (void)requestSlideToolData {
|
- (void)requestSlideToolData {
|
||||||
@weakify(self)
|
@weakify(self)
|
||||||
[QXHomePageNetwork homeRoomLabelListsuccessBlock:^(NSArray<QXMyRoomType *> * _Nonnull list) {
|
[QXHomePageNetwork homeRoomLabelListsuccessBlock:^(NSArray<QXMyRoomType *> * _Nonnull list) {
|
||||||
@@ -185,6 +191,7 @@
|
|||||||
@weakify(self)
|
@weakify(self)
|
||||||
[QXHomePageNetwork getRechargePermissionSuccessBlock:^(QXRechargePermissionModel * _Nonnull model) {
|
[QXHomePageNetwork getRechargePermissionSuccessBlock:^(QXRechargePermissionModel * _Nonnull model) {
|
||||||
@strongify(self)
|
@strongify(self)
|
||||||
|
self.permissionModel = model;
|
||||||
[self.rechargePermissionArray removeAllObjects];
|
[self.rechargePermissionArray removeAllObjects];
|
||||||
NSMutableArray *imgs = [NSMutableArray array];
|
NSMutableArray *imgs = [NSMutableArray array];
|
||||||
if (model.day_drop_permission.intValue == 1) {
|
if (model.day_drop_permission.intValue == 1) {
|
||||||
@@ -233,7 +240,7 @@
|
|||||||
|
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
self.nPeopleRechargeView.rechargeActionBlock = ^(NSString * _Nonnull money) {
|
self.nPeopleRechargeView.rechargeActionBlock = ^(NSString * _Nonnull money, NSString * _Nonnull gift_bag_id) {
|
||||||
[[QXGlobal shareGlobal].alertViewController hideViewFinishBlock:^{
|
[[QXGlobal shareGlobal].alertViewController hideViewFinishBlock:^{
|
||||||
QXLOG(@"页面关闭");
|
QXLOG(@"页面关闭");
|
||||||
QXRechargeView *recharge = [[QXRechargeView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
|
QXRechargeView *recharge = [[QXRechargeView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
|
||||||
@@ -241,6 +248,7 @@
|
|||||||
model.money = money;
|
model.money = money;
|
||||||
recharge.selectedModel = model;
|
recharge.selectedModel = model;
|
||||||
recharge.isPop = YES;
|
recharge.isPop = YES;
|
||||||
|
recharge.gift_bag_id = gift_bag_id;
|
||||||
recharge.isOnlyDisplayPayType = YES;
|
recharge.isOnlyDisplayPayType = YES;
|
||||||
[recharge showInView:KEYWINDOW];
|
[recharge showInView:KEYWINDOW];
|
||||||
}];
|
}];
|
||||||
@@ -260,9 +268,17 @@
|
|||||||
|
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
view.getActionBlock = ^{
|
view.rechargeActionBlock = ^(NSString * _Nonnull money, NSString * _Nonnull gift_bag_id) {
|
||||||
[[QXGlobal shareGlobal].alertViewController hideViewFinishBlock:^{
|
[[QXGlobal shareGlobal].alertViewController hideViewFinishBlock:^{
|
||||||
QXLOG(@"页面关闭");
|
QXLOG(@"页面关闭");
|
||||||
|
QXRechargeView *recharge = [[QXRechargeView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
|
||||||
|
QXRechargeListModel *model = [[QXRechargeListModel alloc] init];
|
||||||
|
model.money = money;
|
||||||
|
recharge.selectedModel = model;
|
||||||
|
recharge.isPop = YES;
|
||||||
|
recharge.gift_bag_id = gift_bag_id;
|
||||||
|
recharge.isOnlyDisplayPayType = YES;
|
||||||
|
[recharge showInView:KEYWINDOW];
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -277,6 +293,9 @@
|
|||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
-(void)popFirstRechargeView{
|
-(void)popFirstRechargeView{
|
||||||
|
if (self.permissionModel.first_charge_permission.intValue != 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
QXFirstRechargeView *view = [[QXFirstRechargeView alloc] init];
|
QXFirstRechargeView *view = [[QXFirstRechargeView alloc] init];
|
||||||
view.closeActionBlock = ^{
|
view.closeActionBlock = ^{
|
||||||
@@ -285,9 +304,17 @@
|
|||||||
|
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
view.getActionBlock = ^{
|
view.rechargeActionBlock = ^(NSString * _Nonnull money, NSString * _Nonnull gift_bag_id) {
|
||||||
[[QXGlobal shareGlobal].alertViewController hideViewFinishBlock:^{
|
[[QXGlobal shareGlobal].alertViewController hideViewFinishBlock:^{
|
||||||
QXLOG(@"页面关闭");
|
QXLOG(@"页面关闭");
|
||||||
|
QXRechargeView *recharge = [[QXRechargeView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
|
||||||
|
QXRechargeListModel *model = [[QXRechargeListModel alloc] init];
|
||||||
|
model.money = money;
|
||||||
|
recharge.selectedModel = model;
|
||||||
|
recharge.isPop = YES;
|
||||||
|
recharge.gift_bag_id = gift_bag_id;
|
||||||
|
recharge.isOnlyDisplayPayType = YES;
|
||||||
|
[recharge showInView:KEYWINDOW];
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@end
|
@end
|
||||||
|
|
||||||
@interface QXRedBagRecordCell : UITableViewCell
|
@interface QXRedBagRecordCell : UITableViewCell
|
||||||
|
@property (nonatomic,strong)QXDrawRedpacketRecordModel *recordModel;
|
||||||
+(instancetype)cellWithTabelView:(UITableView*)tableView;
|
+(instancetype)cellWithTabelView:(UITableView*)tableView;
|
||||||
@end
|
@end
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import "QXRedBagRecordViewController.h"
|
#import "QXRedBagRecordViewController.h"
|
||||||
|
#import "QXMineNetwork.h"
|
||||||
@class QXRedBagRecordCell;
|
@class QXRedBagRecordCell;
|
||||||
@interface QXRedBagRecordViewController ()<UITableViewDataSource,UITableViewDelegate>
|
@interface QXRedBagRecordViewController ()<UITableViewDataSource,UITableViewDelegate>
|
||||||
@property (nonatomic,strong)UIView *topView;
|
@property (nonatomic,strong)UIView *topView;
|
||||||
@@ -18,6 +19,7 @@
|
|||||||
@property (nonatomic,strong)UILabel *countLabel;
|
@property (nonatomic,strong)UILabel *countLabel;
|
||||||
|
|
||||||
@property (nonatomic,strong)UITableView *tableView;
|
@property (nonatomic,strong)UITableView *tableView;
|
||||||
|
@property (nonatomic,strong)QXDrawRedPacketModel *model;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation QXRedBagRecordViewController
|
@implementation QXRedBagRecordViewController
|
||||||
@@ -40,10 +42,10 @@
|
|||||||
self.senderNameLabel = [[UILabel alloc] init];
|
self.senderNameLabel = [[UILabel alloc] init];
|
||||||
self.senderNameLabel.textColor = RGB16(0xffffff);
|
self.senderNameLabel.textColor = RGB16(0xffffff);
|
||||||
self.senderNameLabel.font = [UIFont systemFontOfSize:18];
|
self.senderNameLabel.font = [UIFont systemFontOfSize:18];
|
||||||
self.senderNameLabel.text = @"傻狗涛的红包";
|
self.senderNameLabel.text = @"-";
|
||||||
[self.topView addSubview:self.senderNameLabel];
|
[self.topView addSubview:self.senderNameLabel];
|
||||||
[self.senderNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.senderNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.centerX.equalTo(self.topView).offset(41);;
|
make.centerX.equalTo(self.topView).offset(41-13);;
|
||||||
make.top.equalTo(self.topView).offset(92);
|
make.top.equalTo(self.topView).offset(92);
|
||||||
}];
|
}];
|
||||||
|
|
||||||
@@ -58,7 +60,7 @@
|
|||||||
}];
|
}];
|
||||||
|
|
||||||
self.remarkLabel = [[UILabel alloc] init];
|
self.remarkLabel = [[UILabel alloc] init];
|
||||||
self.remarkLabel.text = @"恭喜发财大吉大利";
|
self.remarkLabel.text = @"-";
|
||||||
self.remarkLabel.textColor = RGB16(0xffffff);
|
self.remarkLabel.textColor = RGB16(0xffffff);
|
||||||
self.remarkLabel.font = [UIFont systemFontOfSize:13];
|
self.remarkLabel.font = [UIFont systemFontOfSize:13];
|
||||||
[self.topView addSubview:self.remarkLabel];
|
[self.topView addSubview:self.remarkLabel];
|
||||||
@@ -71,7 +73,7 @@
|
|||||||
self.moneyLabel = [[UILabel alloc] init];
|
self.moneyLabel = [[UILabel alloc] init];
|
||||||
self.moneyLabel.font = [UIFont boldSystemFontOfSize:19];
|
self.moneyLabel.font = [UIFont boldSystemFontOfSize:19];
|
||||||
self.moneyLabel.textColor = RGB16(0xffffff);
|
self.moneyLabel.textColor = RGB16(0xffffff);
|
||||||
self.moneyLabel.text = @"5000金币";
|
self.moneyLabel.text = @"0金币";
|
||||||
[self.topView addSubview:self.moneyLabel];
|
[self.topView addSubview:self.moneyLabel];
|
||||||
[self.moneyLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.moneyLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.centerX.equalTo(self.topView);
|
make.centerX.equalTo(self.topView);
|
||||||
@@ -80,7 +82,7 @@
|
|||||||
|
|
||||||
self.bottomLabel = [[UILabel alloc] init];
|
self.bottomLabel = [[UILabel alloc] init];
|
||||||
self.bottomLabel.textColor = RGB16(0xffffff);
|
self.bottomLabel.textColor = RGB16(0xffffff);
|
||||||
self.bottomLabel.text = @"已存入金币";
|
self.bottomLabel.text = @"已存入钱包";
|
||||||
self.bottomLabel.font = [UIFont systemFontOfSize:13];
|
self.bottomLabel.font = [UIFont systemFontOfSize:13];
|
||||||
[self.topView addSubview:self.bottomLabel];
|
[self.topView addSubview:self.bottomLabel];
|
||||||
[self.bottomLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.bottomLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
@@ -126,14 +128,41 @@
|
|||||||
[backBtn addTarget:self action:@selector(backAction) forControlEvents:(UIControlEventTouchUpInside)];
|
[backBtn addTarget:self action:@selector(backAction) forControlEvents:(UIControlEventTouchUpInside)];
|
||||||
[self.view addSubview:backBtn];
|
[self.view addSubview:backBtn];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-(void)setRedbagId:(NSString *)redbagId{
|
||||||
|
_redbagId = redbagId;
|
||||||
|
MJWeakSelf
|
||||||
|
[QXMineNetwork getRedpacketRecordWithRedpacketId:redbagId successBlock:^(QXDrawRedPacketModel* model) {
|
||||||
|
weakSelf.model = model;
|
||||||
|
weakSelf.remarkLabel.text = model.redpacket_info.remark;
|
||||||
|
[weakSelf.senderHeaderImageView sd_setImageWithURL:[NSURL URLWithString:model.redpacket_info.avatar]];
|
||||||
|
weakSelf.senderNameLabel.text = [NSString stringWithFormat:@"%@的红包",model.redpacket_info.nickname];
|
||||||
|
NSString *coinStr = @"";
|
||||||
|
if (weakSelf.model.redpacket_info.coin_type.intValue == 1) {
|
||||||
|
weakSelf.bottomLabel.text = @"已存入金币";
|
||||||
|
coinStr = [NSString stringWithFormat:@"%@%@",model.my_record.amount?model.my_record.amount:@"0",@"金币"];
|
||||||
|
}else{
|
||||||
|
weakSelf.bottomLabel.text = @"已存入钻石";
|
||||||
|
coinStr = [NSString stringWithFormat:@"%@%@",model.my_record.amount?model.my_record.amount:@"0",@"钻石"];
|
||||||
|
}
|
||||||
|
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:coinStr];
|
||||||
|
[attr yy_setFont:[UIFont boldSystemFontOfSize:46] range:[coinStr rangeOfString:[NSString stringWithFormat:@"%@",model.my_record.amount?model.my_record.amount:@"0"]]];
|
||||||
|
weakSelf.moneyLabel.attributedText = attr;
|
||||||
|
weakSelf.countLabel.text = [NSString stringWithFormat:@"已领取%ld/%@",model.redpacket_info.total_count.integerValue-model.redpacket_info.left_count.integerValue,model.redpacket_info.total_count];
|
||||||
|
[weakSelf.tableView reloadData];
|
||||||
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
|
|
||||||
|
}];
|
||||||
|
}
|
||||||
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
|
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
|
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
|
||||||
return self.dataArray.count;
|
return self.model.records.count;
|
||||||
}
|
}
|
||||||
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
|
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||||
QXRedBagRecordCell *cell = [QXRedBagRecordCell cellWithTabelView:tableView];
|
QXRedBagRecordCell *cell = [QXRedBagRecordCell cellWithTabelView:tableView];
|
||||||
|
cell.recordModel = self.model.records[indexPath.row];
|
||||||
return cell;
|
return cell;
|
||||||
}
|
}
|
||||||
-(void)backAction{
|
-(void)backAction{
|
||||||
@@ -172,6 +201,13 @@
|
|||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
-(void)setRecordModel:(QXDrawRedpacketRecordModel *)recordModel{
|
||||||
|
_recordModel = recordModel;
|
||||||
|
self.nameLabel.text = recordModel.nickname;
|
||||||
|
[self.userHeaderImageView sd_setImageWithURL:[NSURL URLWithString:recordModel.avatar]];
|
||||||
|
self.timeLabel.text = recordModel.createtime;
|
||||||
|
self.moneyLabel.text = recordModel.amount;
|
||||||
|
}
|
||||||
-(void)initSubviews{
|
-(void)initSubviews{
|
||||||
self.bgView = [[UIView alloc] init];
|
self.bgView = [[UIView alloc] init];
|
||||||
[self.contentView addSubview:self.bgView];
|
[self.contentView addSubview:self.bgView];
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
//
|
||||||
|
// QXRoomViewController+Activity.h
|
||||||
|
// QXLive
|
||||||
|
//
|
||||||
|
// Created by 启星 on 2025/10/15.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "QXRoomViewController.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface QXRoomViewController (Activity)
|
||||||
|
-(void)initActivityObeserver;
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
//
|
||||||
|
// QXRoomViewController+Activity.m
|
||||||
|
// QXLive
|
||||||
|
//
|
||||||
|
// Created by 启星 on 2025/10/15.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "QXRoomViewController+Activity.h"
|
||||||
|
#import "QXMeetActivityDriftView.h"
|
||||||
|
@implementation QXRoomViewController (Activity)
|
||||||
|
|
||||||
|
-(void)initActivityObeserver{
|
||||||
|
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateProgress:) name:noticeXLHNotice object:nil];
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)updateProgress:(NSNotification *)notice{
|
||||||
|
QXMeetActivityDriftModel *model = notice.object;
|
||||||
|
if (model.from_type == QXMeetActivityTypeAcLock) {
|
||||||
|
[self.meetView updateUserAndGiftInfoWithModel:model];
|
||||||
|
self.acTagView.end_time = model.end_time.longLongValue;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (model.from_type == QXMeetActivityTypeAcProgress) {
|
||||||
|
[self.skyView updateProgress:model.xlh_data];
|
||||||
|
[self.ageView updateProgress:model.xlh_data];
|
||||||
|
[self.timeView updateProgress:model.xlh_data];
|
||||||
|
}
|
||||||
|
if (model.xlh_data.status.intValue == 1) {
|
||||||
|
self.acTagView.end_time = model.xlh_data.end_time;
|
||||||
|
[self.view addSubview:self.acTagView];
|
||||||
|
}else{
|
||||||
|
[self.acTagView stopTimer];
|
||||||
|
[self.acTagView removeFromSuperview];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@end
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
-(void)meetActivityGiftInfoIsUpdate:(QXRoomChatListModel *)giftInfo{
|
-(void)meetActivityGiftInfoIsUpdate:(QXRoomChatListModel *)giftInfo{
|
||||||
[self.meetView updateUserAndGiftInfoWithModel:giftInfo];
|
// [self.meetView updateUserAndGiftInfoWithModel:giftInfo];
|
||||||
self.acTagView.end_time = giftInfo.end_time.longLongValue;
|
// self.acTagView.end_time = giftInfo.end_time.longLongValue;
|
||||||
}
|
}
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
//
|
||||||
|
// QXRoomViewController+RedPacket.h
|
||||||
|
// QXLive
|
||||||
|
//
|
||||||
|
// Created by 启星 on 2025/10/13.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "QXRoomViewController.h"
|
||||||
|
#import "QXRedPacketManager.h"
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface QXRoomViewController (RedPacket)<QXRedPacketManagerDelegate>
|
||||||
|
-(void)initRedpacketManager;
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,119 @@
|
|||||||
|
//
|
||||||
|
// QXRoomViewController+RedPacket.m
|
||||||
|
// QXLive
|
||||||
|
//
|
||||||
|
// Created by 启星 on 2025/10/13.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "QXRoomViewController+RedPacket.h"
|
||||||
|
#import "QXMineNetwork.h"
|
||||||
|
@implementation QXRoomViewController (RedPacket)
|
||||||
|
-(void)recievedRedPacket:(QXRedPacketModel *)model{
|
||||||
|
self.redBagTagView.hidden = NO;
|
||||||
|
[[QXRedPacketManager sharedManager] addRedPacket:model];
|
||||||
|
}
|
||||||
|
-(void)redPacketDidFinished:(NSString *)redpacket_id{
|
||||||
|
[[QXRedPacketManager sharedManager] removeRedPacket:redpacket_id];
|
||||||
|
NSArray *arr = [QXRedPacketManager sharedManager].allRedPackets;
|
||||||
|
if (self.redbagListView) {
|
||||||
|
self.redbagListView.dataArray = arr;
|
||||||
|
}
|
||||||
|
self.redBagTagView.count = [NSString stringWithFormat:@"%ld",arr.count];
|
||||||
|
}
|
||||||
|
-(void)initRedpacketManager{
|
||||||
|
[QXRedPacketManager sharedManager].delegate = self;
|
||||||
|
[[QXRedPacketManager sharedManager] startCheckTimer];
|
||||||
|
// 获取红包列表
|
||||||
|
[self getRedBagList];
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)getRedBagList{
|
||||||
|
MJWeakSelf
|
||||||
|
[QXMineNetwork getRedpacketListWithRoomId:self.roomId successBlock:^(NSArray<QXRedPacketModel *> * _Nonnull list) {
|
||||||
|
if (list.count > 0) {
|
||||||
|
weakSelf.redBagTagView.count = [NSString stringWithFormat:@"%ld",list.count];
|
||||||
|
weakSelf.redBagTagView.hidden = NO;
|
||||||
|
[[QXRedPacketManager sharedManager] addRedPackets:list];
|
||||||
|
}else{
|
||||||
|
[[QXRedPacketManager sharedManager] removeAllRedpackets];
|
||||||
|
}
|
||||||
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
|
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
#pragma mark - QXRedPacketManagerDelegate
|
||||||
|
/// 添加红包成功
|
||||||
|
-(void)QXRedPacketManager:(QXRedPacketManager *)manager didAddRedPacket:(QXRedPacketModel *)redPacket remainingCount:(NSInteger)remainingCount{
|
||||||
|
self.redBagTagView.count = [NSString stringWithFormat:@"%ld",remainingCount];
|
||||||
|
}
|
||||||
|
/// 移除红包回调
|
||||||
|
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didRemoveRedPacket:(NSString *)packetId remainingCount:(NSInteger)remainingCount{
|
||||||
|
self.redBagTagView.count = [NSString stringWithFormat:@"%ld",remainingCount];
|
||||||
|
}
|
||||||
|
|
||||||
|
/// 更新红包回调
|
||||||
|
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didUpdateRedPacket:(QXRedPacketModel *)redPacket remainingCount:(NSInteger)remainingCount{
|
||||||
|
if (self.redbagDrawView.redpacketModel != nil && self.redbagDrawView.redpacketModel.countdown > 0) {
|
||||||
|
if (self.redbagDrawView.redpacketModel.type.intValue == 1) {
|
||||||
|
[self.redbagDrawView changeViewType:(QXRedBagDrawTypeOpen)];
|
||||||
|
}else{
|
||||||
|
if (self.redbagDrawView.isFromToComment) {
|
||||||
|
[self.redbagDrawView changeViewType:(QXRedBagDrawTypeOpen)];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didAddRedPackets:(NSArray<QXRedPacketModel *> *)redPackets remainingCount:(NSInteger)remainingCount{
|
||||||
|
self.redBagTagView.count = [NSString stringWithFormat:@"%ld",remainingCount];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didUpdateRedPacketTime:(long)time redPacket:(QXRedPacketModel *)redPacket {
|
||||||
|
/// 开红包的倒计时
|
||||||
|
if (self.redbagDrawView.redpacketModel != nil && self.redbagDrawView.redpacketModel.countdown > 0 && time>=0) {
|
||||||
|
if (self.redbagDrawView.redpacketModel.type.intValue == 1) {
|
||||||
|
// 普通红包
|
||||||
|
if ([self.redbagDrawView.redpacketModel.conditions containsString:@"1"]) {
|
||||||
|
// 有收藏房间条件
|
||||||
|
if (self.roomModel.user_info.is_collect.intValue == 1) {
|
||||||
|
/// 需要满足收藏再倒计时
|
||||||
|
if (redPacket == self.redbagDrawView.redpacketModel) {
|
||||||
|
self.redbagDrawView.needTime = time;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if (redPacket == self.redbagDrawView.redpacketModel) {
|
||||||
|
self.redbagDrawView.needTime = time;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if (self.redbagDrawView.isFromToComment) {
|
||||||
|
// 普通红包
|
||||||
|
if ([self.redbagDrawView.redpacketModel.conditions containsString:@"1"]) {
|
||||||
|
// 有收藏房间条件
|
||||||
|
if (self.roomModel.user_info.is_collect.intValue == 1) {
|
||||||
|
/// 需要满足收藏再倒计时
|
||||||
|
if (redPacket == self.redbagDrawView.redpacketModel) {
|
||||||
|
self.redbagDrawView.needTime = time;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if (redPacket == self.redbagDrawView.redpacketModel) {
|
||||||
|
self.redbagDrawView.needTime = time;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// 红包列表的倒计时
|
||||||
|
if (self.redbagListView.dataArray.count > 0) {
|
||||||
|
NSInteger index = [self.redbagListView.dataArray indexOfObject:redPacket];
|
||||||
|
[self.redbagListView updateRedpacketTimeWithIndex:index time:time];
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
||||||
@@ -20,6 +20,11 @@
|
|||||||
#import "QXTimePraizeView.h"/// 时空之巅
|
#import "QXTimePraizeView.h"/// 时空之巅
|
||||||
#import "QXMeetActivityView.h"
|
#import "QXMeetActivityView.h"
|
||||||
#import "QXActivityTagView.h"
|
#import "QXActivityTagView.h"
|
||||||
|
|
||||||
|
/// 红包
|
||||||
|
#import "QXRedBagTagView.h"
|
||||||
|
#import "QXRedBagDrawView.h"
|
||||||
|
#import "QXRedBagListView.h"
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@interface QXRoomViewController : QXBaseViewController<QXRoomMessageManagerDelegate,QXRoomSeatDelegate>
|
@interface QXRoomViewController : QXBaseViewController<QXRoomMessageManagerDelegate,QXRoomSeatDelegate>
|
||||||
@@ -39,6 +44,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
/// 发送礼物
|
/// 发送礼物
|
||||||
@property (nonatomic,strong)QXSendGiftView *sendGiftView;
|
@property (nonatomic,strong)QXSendGiftView *sendGiftView;
|
||||||
|
|
||||||
|
/// 红包入口
|
||||||
|
@property (nonatomic,strong)QXRedBagTagView *redBagTagView;
|
||||||
|
@property (nonatomic,strong)QXRedBagDrawView *redbagDrawView;
|
||||||
|
@property (nonatomic,strong)QXRedBagListView *redbagListView;
|
||||||
|
|
||||||
|
|
||||||
@property (nonatomic,strong)QXActivityTagView *acTagView;
|
@property (nonatomic,strong)QXActivityTagView *acTagView;
|
||||||
@property (nonatomic,strong)QXSkyPraizeView *skyView;
|
@property (nonatomic,strong)QXSkyPraizeView *skyView;
|
||||||
|
|||||||
@@ -31,9 +31,9 @@
|
|||||||
#import "QXRoomViewController+Friend.h"
|
#import "QXRoomViewController+Friend.h"
|
||||||
#import "QXAllRoomHourRankView.h"
|
#import "QXAllRoomHourRankView.h"
|
||||||
#import "QXRedBagSendView.h"
|
#import "QXRedBagSendView.h"
|
||||||
#import "QXRedBagTagView.h"
|
#import "QXRoomViewController+RedPacket.h"
|
||||||
#import "QXRedBagDrawView.h"
|
#import "QXRoomViewController+Activity.h"
|
||||||
#import "QXRedBagListView.h"
|
#import "QXRedBagRecordViewController.h"
|
||||||
|
|
||||||
@interface QXRoomViewController ()<
|
@interface QXRoomViewController ()<
|
||||||
QXRoomBottomViewDelegate,
|
QXRoomBottomViewDelegate,
|
||||||
@@ -81,10 +81,7 @@ QXRoomUserInfoViewDelegate
|
|||||||
@property (nonatomic,strong)QXAllRoomHourRankView *hourRankView;
|
@property (nonatomic,strong)QXAllRoomHourRankView *hourRankView;
|
||||||
@property (nonatomic,strong)QXAllRoomHourRankTagView *hourRankIconView;
|
@property (nonatomic,strong)QXAllRoomHourRankTagView *hourRankIconView;
|
||||||
|
|
||||||
/// 红包入口
|
|
||||||
@property (nonatomic,strong)QXRedBagTagView *redBagTagView;
|
|
||||||
@property (nonatomic,strong)QXRedBagDrawView *redbagDrawView;
|
|
||||||
@property (nonatomic,strong)QXRedBagListView *redbagListView;
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation QXRoomViewController
|
@implementation QXRoomViewController
|
||||||
@@ -92,7 +89,7 @@ QXRoomUserInfoViewDelegate
|
|||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
// Do any additional setup after loading the view.
|
// Do any additional setup after loading the view.
|
||||||
|
[self initRedpacketManager];
|
||||||
}
|
}
|
||||||
-(void)viewWillAppear:(BOOL)animated{
|
-(void)viewWillAppear:(BOOL)animated{
|
||||||
[super viewWillAppear:animated];
|
[super viewWillAppear:animated];
|
||||||
@@ -136,6 +133,7 @@ QXRoomUserInfoViewDelegate
|
|||||||
-(void)initSubViews{
|
-(void)initSubViews{
|
||||||
|
|
||||||
// [self updateBgImage:@"room_background"];
|
// [self updateBgImage:@"room_background"];
|
||||||
|
[self initActivityObeserver];
|
||||||
self.bgImageHidden = YES;
|
self.bgImageHidden = YES;
|
||||||
self.roomBgImageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
|
self.roomBgImageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
|
||||||
// self.roomBgImageView.image = [UIImage imageNamed:@"room_background"];
|
// self.roomBgImageView.image = [UIImage imageNamed:@"room_background"];
|
||||||
@@ -211,7 +209,7 @@ QXRoomUserInfoViewDelegate
|
|||||||
}
|
}
|
||||||
|
|
||||||
[self.view addSubview:self.hourRankIconView];
|
[self.view addSubview:self.hourRankIconView];
|
||||||
// [self.view addSubview:self.redBagTagView];
|
[self.view addSubview:self.redBagTagView];
|
||||||
[self setupEffectView];
|
[self setupEffectView];
|
||||||
|
|
||||||
// [self.view addSubview:self.headlineView];
|
// [self.view addSubview:self.headlineView];
|
||||||
@@ -1375,7 +1373,9 @@ QXRoomUserInfoViewDelegate
|
|||||||
}
|
}
|
||||||
-(void)didSendMessage:(NSString *)message redpacketModel:(nonnull QXRedPacketModel *)redpacketModel{
|
-(void)didSendMessage:(NSString *)message redpacketModel:(nonnull QXRedPacketModel *)redpacketModel{
|
||||||
if (redpacketModel) {
|
if (redpacketModel) {
|
||||||
self.redbagDrawView.type = QXRedBagDrawTypeOpen;
|
// self.redbagDrawView.type = QXRedBagDrawTypeOpen;
|
||||||
|
self.redbagDrawView.isFromToComment = YES;
|
||||||
|
self.redbagDrawView.redpacketModel = redpacketModel;
|
||||||
[self.redbagDrawView showInView:self.view];
|
[self.redbagDrawView showInView:self.view];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1495,6 +1495,7 @@ QXRoomUserInfoViewDelegate
|
|||||||
break;
|
break;
|
||||||
case QXRoomSettingTypeSendRedBag:{
|
case QXRoomSettingTypeSendRedBag:{
|
||||||
QXRedBagSendView *redbagView = [[QXRedBagSendView alloc] init];
|
QXRedBagSendView *redbagView = [[QXRedBagSendView alloc] init];
|
||||||
|
redbagView.room_id = self.roomId;
|
||||||
[redbagView showInView:self.view];
|
[redbagView showInView:self.view];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -1928,15 +1929,24 @@ QXRoomUserInfoViewDelegate
|
|||||||
-(QXRedBagTagView *)redBagTagView{
|
-(QXRedBagTagView *)redBagTagView{
|
||||||
if (!_redBagTagView) {
|
if (!_redBagTagView) {
|
||||||
_redBagTagView = [[QXRedBagTagView alloc] init];
|
_redBagTagView = [[QXRedBagTagView alloc] init];
|
||||||
|
_redBagTagView.hidden = YES;
|
||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
_redBagTagView.startBlock = ^(BOOL isList) {
|
_redBagTagView.startBlock = ^(BOOL isList) {
|
||||||
weakSelf.redbagListView.dataArray = @[@"",@"",@"",@"",@""];
|
|
||||||
[weakSelf.redbagListView showInView:weakSelf.view];
|
|
||||||
return;
|
|
||||||
if (isList) {
|
if (isList) {
|
||||||
|
weakSelf.redbagListView.dataArray = [QXRedPacketManager sharedManager].allRedPackets;
|
||||||
[weakSelf.redbagListView showInView:weakSelf.view];
|
[weakSelf.redbagListView showInView:weakSelf.view];
|
||||||
}else{
|
}else{
|
||||||
[weakSelf.redbagDrawView showInView:weakSelf.view];
|
QXRedPacketModel *model = [QXRedPacketManager sharedManager].allRedPackets.firstObject;
|
||||||
|
if (model.is_qiang.intValue == 1) {
|
||||||
|
QXRedBagRecordViewController *vc = [[QXRedBagRecordViewController alloc] init];
|
||||||
|
vc.redbagId = model.redpacket_id;
|
||||||
|
[weakSelf.navigationController pushViewController:vc animated:YES];
|
||||||
|
}else{
|
||||||
|
weakSelf.redbagDrawView.isFromToComment = NO;
|
||||||
|
weakSelf.redbagDrawView.isCollectedRoom = weakSelf.roomModel.user_info.is_collect.intValue==1;
|
||||||
|
weakSelf.redbagDrawView.redpacketModel = model;
|
||||||
|
[weakSelf.redbagDrawView showInView:weakSelf.view];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -1945,10 +1955,14 @@ QXRoomUserInfoViewDelegate
|
|||||||
-(QXRedBagDrawView *)redbagDrawView{
|
-(QXRedBagDrawView *)redbagDrawView{
|
||||||
if (!_redbagDrawView) {
|
if (!_redbagDrawView) {
|
||||||
_redbagDrawView = [[QXRedBagDrawView alloc] init];
|
_redbagDrawView = [[QXRedBagDrawView alloc] init];
|
||||||
|
_redbagDrawView.room_id = self.roomId;
|
||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
_redbagDrawView.toInputPwdBlock = ^(NSString * _Nonnull password, QXRedPacketModel * _Nonnull redpacketModel) {
|
_redbagDrawView.toInputPwdBlock = ^(NSString * _Nonnull password, QXRedPacketModel * _Nonnull redpacketModel) {
|
||||||
[weakSelf.bottomView inputMessageWithName:password redpacketModel:redpacketModel];
|
[weakSelf.bottomView inputMessageWithName:password redpacketModel:redpacketModel];
|
||||||
};
|
};
|
||||||
|
_redbagDrawView.collectRoomBlock = ^{
|
||||||
|
[weakSelf.titleView setRoomCollect:YES];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
return _redbagDrawView;
|
return _redbagDrawView;
|
||||||
}
|
}
|
||||||
@@ -1956,10 +1970,17 @@ QXRoomUserInfoViewDelegate
|
|||||||
if (!_redbagListView) {
|
if (!_redbagListView) {
|
||||||
_redbagListView = [[QXRedBagListView alloc] init];
|
_redbagListView = [[QXRedBagListView alloc] init];
|
||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
_redbagListView.didSelectedRedBlock = ^{
|
_redbagListView.didSelectedRedBlock = ^(QXRedPacketModel * _Nonnull model) {
|
||||||
weakSelf.redbagDrawView.redpacketModel = [QXRedPacketModel new];
|
if (model.is_qiang.intValue == 1) {
|
||||||
weakSelf.redbagDrawView.type = QXRedBagDrawTypePwdSend;
|
QXRedBagRecordViewController *vc = [[QXRedBagRecordViewController alloc] init];
|
||||||
[weakSelf.redbagDrawView showInView:weakSelf.view];
|
vc.redbagId = model.redpacket_id;
|
||||||
|
[weakSelf.navigationController pushViewController:vc animated:YES];
|
||||||
|
}else{
|
||||||
|
weakSelf.redbagDrawView.isFromToComment = NO;
|
||||||
|
weakSelf.redbagDrawView.isCollectedRoom = weakSelf.roomModel.user_info.is_collect.intValue==1;
|
||||||
|
weakSelf.redbagDrawView.redpacketModel = model;
|
||||||
|
[weakSelf.redbagDrawView showInView:weakSelf.view];
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nonatomic,strong)NSString *name;
|
@property (nonatomic,strong)NSString *name;
|
||||||
/// 礼包名称
|
/// 礼包名称
|
||||||
@property (nonatomic,strong)NSString *bag_name;
|
@property (nonatomic,strong)NSString *bag_name;
|
||||||
|
/// 礼包名称
|
||||||
|
@property (nonatomic,strong)NSString *gift_bag_id;
|
||||||
|
|
||||||
|
/// 1 可以充值 0 不可充值
|
||||||
|
@property (nonatomic,strong)NSString *status;
|
||||||
|
|
||||||
@property (nonatomic,strong)NSString *title1;
|
@property (nonatomic,strong)NSString *title1;
|
||||||
|
|
||||||
@@ -47,5 +52,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nonatomic,strong)NSString *time;
|
@property (nonatomic,strong)NSString *time;
|
||||||
/// 礼物列表
|
/// 礼物列表
|
||||||
@property (nonatomic,strong)NSArray <QXGiftModel*>*gift_list;
|
@property (nonatomic,strong)NSArray <QXGiftModel*>*gift_list;
|
||||||
|
/// 礼包id
|
||||||
|
@property (nonatomic,strong)NSString *gift_bag_id;
|
||||||
@end
|
@end
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
|||||||
@@ -8,20 +8,77 @@
|
|||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
@class QXDrawRedpacketRecordModel,QXRedpacketStatisticsModel;
|
||||||
@interface QXRedPacketModel : NSObject
|
@interface QXRedPacketModel : NSObject
|
||||||
@property (nonatomic, copy) NSString *packetId; // 红包唯一ID
|
/// 红包唯一ID
|
||||||
@property (nonatomic, assign) NSInteger type; // 红包类型
|
@property (nonatomic, strong) NSString *redpacket_id;
|
||||||
@property (nonatomic, assign) long long end_time; // 倒计时时间(秒)
|
/// 口令
|
||||||
@property (nonatomic, assign) CGFloat amount; // 红包金额
|
@property (nonatomic, strong) NSString *password;
|
||||||
@property (nonatomic, strong) NSDate *createTime; // 创建时间
|
/// 倒计时 截止时间 为0时是立刻
|
||||||
@property (nonatomic, assign) BOOL isAvailable; // 是否可领取
|
@property (nonatomic, strong) NSString *countdown;
|
||||||
@property (nonatomic, assign) NSInteger position; // 在房间中的位置标识
|
/// 红包总金额
|
||||||
|
@property (nonatomic, strong) NSString* total_amount;
|
||||||
|
/// 房间id
|
||||||
|
@property (nonatomic, strong) NSString* room_id;
|
||||||
|
/// 红包类型 1 普通红包 2 口令红包
|
||||||
|
@property (nonatomic, strong) NSString* type;
|
||||||
|
/// 红包总数
|
||||||
|
@property (nonatomic, strong) NSString *total_count;
|
||||||
|
/// 1 金币红包 2 钻石红包
|
||||||
|
@property (nonatomic, strong) NSString *coin_type;
|
||||||
|
/// 用户id
|
||||||
|
@property (nonatomic, strong) NSString *user_id;
|
||||||
|
/// 用户昵称
|
||||||
|
@property (nonatomic, strong) NSString *nickname;
|
||||||
|
/// 用户头像
|
||||||
|
@property (nonatomic, strong) NSString *avatar;
|
||||||
|
/// 红包多久后消失
|
||||||
|
@property (nonatomic, strong) NSString *redpacket_time;
|
||||||
|
/// 条件
|
||||||
|
@property (nonatomic, strong) NSString *conditions;
|
||||||
|
/// 红包备注
|
||||||
|
@property (nonatomic, strong) NSString *remark;
|
||||||
|
/// 红包可以开抢的时间 为时间戳
|
||||||
|
@property (nonatomic, assign) long start_time; // 倒计时时间(秒)
|
||||||
|
/// 剩余金额
|
||||||
|
@property (nonatomic, strong) NSString *left_amount;
|
||||||
|
/// 剩余数量
|
||||||
|
@property (nonatomic, strong) NSString *left_count;
|
||||||
|
/// 是否已经抢过该红包 1- 是 0-没有抢过
|
||||||
|
@property (nonatomic, strong) NSString *is_qiang;
|
||||||
|
|
||||||
// 计算剩余时间
|
/// 是否可领取
|
||||||
|
@property (nonatomic, assign) BOOL isAvailable;
|
||||||
|
|
||||||
|
/// 计算剩余时间
|
||||||
- (long)remainingTime;
|
- (long)remainingTime;
|
||||||
// 检查是否可领取
|
/// 检查是否可领取
|
||||||
- (BOOL)canOpenNow;
|
- (BOOL)canOpenNow;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
@interface QXDrawRedPacketModel : NSObject
|
||||||
|
@property (nonatomic,strong)QXRedPacketModel* redpacket_info;
|
||||||
|
@property (nonatomic,strong)QXDrawRedpacketRecordModel* my_record;
|
||||||
|
@property (nonatomic,strong)NSArray<QXDrawRedpacketRecordModel*>* records;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface QXDrawRedpacketRecordModel : NSObject
|
||||||
|
/// 房间id
|
||||||
|
@property (nonatomic, strong) NSString* record_id;
|
||||||
|
/// 红包id
|
||||||
|
@property (nonatomic, strong) NSString* redpacket_id;
|
||||||
|
/// 用户id
|
||||||
|
@property (nonatomic, strong) NSString* user_id;
|
||||||
|
/// 头像
|
||||||
|
@property (nonatomic, strong) NSString* avatar;
|
||||||
|
/// 昵称
|
||||||
|
@property (nonatomic, strong) NSString* nickname;
|
||||||
|
/// 抢红包时间
|
||||||
|
@property (nonatomic, strong) NSString* createtime;
|
||||||
|
/// 金额
|
||||||
|
@property (nonatomic, strong) NSString* amount;
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970];
|
NSTimeInterval timeInterval = [[NSDate date] timeIntervalSince1970];
|
||||||
// 将秒转换为毫秒
|
// 将秒转换为毫秒
|
||||||
long long milliseconds = (long long)(timeInterval);
|
long long milliseconds = (long long)(timeInterval);
|
||||||
needTime = self.end_time - milliseconds;
|
needTime = self.start_time - milliseconds;
|
||||||
return needTime;
|
return needTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -21,3 +21,20 @@
|
|||||||
return [self remainingTime] <= 0;
|
return [self remainingTime] <= 0;
|
||||||
}
|
}
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
@implementation QXDrawRedPacketModel
|
||||||
|
+(NSDictionary<NSString *,id> *)modelContainerPropertyGenericClass{
|
||||||
|
return @{
|
||||||
|
@"redpacket_info": @"QXRedPacketModel",
|
||||||
|
@"my_record": @"QXDrawRedpacketRecordModel",
|
||||||
|
@"records": @"QXDrawRedpacketRecordModel",
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation QXDrawRedpacketRecordModel
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -23,5 +23,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nonatomic,strong)NSString *total_price;
|
@property (nonatomic,strong)NSString *total_price;
|
||||||
@property (nonatomic,strong)NSString *label_icon;
|
@property (nonatomic,strong)NSString *label_icon;
|
||||||
@property (nonatomic,assign)NSInteger xlh_status;
|
@property (nonatomic,assign)NSInteger xlh_status;
|
||||||
|
/// 1有红包,=0 没有红包
|
||||||
|
@property (nonatomic,assign)NSInteger redpacket_status;
|
||||||
@end
|
@end
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
|||||||
@@ -32,6 +32,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nonatomic,strong)UILabel *statusLabel;
|
@property (nonatomic,strong)UILabel *statusLabel;
|
||||||
|
|
||||||
|
|
||||||
|
@property (nonatomic,strong)UIImageView *redpacketImageView;
|
||||||
|
|
||||||
|
|
||||||
@property (nonatomic,assign)NSInteger rankNumber;
|
@property (nonatomic,assign)NSInteger rankNumber;
|
||||||
@property (nonatomic,strong)QXRoomHourRankSubModel *model;
|
@property (nonatomic,strong)QXRoomHourRankSubModel *model;
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -246,7 +246,18 @@
|
|||||||
make.width.height.mas_equalTo(12);
|
make.width.height.mas_equalTo(12);
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
self.redpacketImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"redbag_tag_icon"]];
|
||||||
|
[self.contentView addSubview:self.redpacketImageView];
|
||||||
|
[self.redpacketImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.right.right.mas_equalTo(-5);
|
||||||
|
make.centerY.equalTo(self.contentView);
|
||||||
|
make.width.mas_equalTo(60);
|
||||||
|
make.height.mas_equalTo(60);
|
||||||
|
}];
|
||||||
|
|
||||||
|
|
||||||
self.activityBgView = [[UIView alloc] init];
|
self.activityBgView = [[UIView alloc] init];
|
||||||
|
self.activityBgView.hidden = YES;
|
||||||
[self.contentView addSubview:self.activityBgView];
|
[self.contentView addSubview:self.activityBgView];
|
||||||
[self.activityBgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.activityBgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.right.right.mas_equalTo(-5);
|
make.right.right.mas_equalTo(-5);
|
||||||
@@ -353,17 +364,22 @@
|
|||||||
self.nameLabel.text = model.room_name;
|
self.nameLabel.text = model.room_name;
|
||||||
[self.labelImageView sd_setImageWithURL:[NSURL URLWithString:model.label_icon]];
|
[self.labelImageView sd_setImageWithURL:[NSURL URLWithString:model.label_icon]];
|
||||||
self.hotLabel.text = [NSString qx_showHotCountNum:model.total_price.longLongValue];
|
self.hotLabel.text = [NSString qx_showHotCountNum:model.total_price.longLongValue];
|
||||||
if (model.xlh_status == 0) {
|
if (model.redpacket_status > 0) {
|
||||||
self.activityBgView.hidden = YES;
|
self.redpacketImageView.hidden = NO;
|
||||||
}else if (model.xlh_status == 2){
|
|
||||||
self.activityBgView.hidden = NO;
|
|
||||||
self.activityStatusBgImageView.image = [UIImage imageNamed:@"activity_status_will"];
|
|
||||||
self.statusLabel.text = @"即将开始";
|
|
||||||
}else{
|
}else{
|
||||||
self.activityBgView.hidden = NO;
|
self.redpacketImageView.hidden = YES;
|
||||||
self.activityStatusBgImageView.image = [UIImage imageNamed:@"activity_status_ing"];
|
|
||||||
self.statusLabel.text = @"进行中";
|
|
||||||
}
|
}
|
||||||
|
// if (model.xlh_status == 0) {
|
||||||
|
// self.activityBgView.hidden = YES;
|
||||||
|
// }else if (model.xlh_status == 2){
|
||||||
|
// self.activityBgView.hidden = NO;
|
||||||
|
// self.activityStatusBgImageView.image = [UIImage imageNamed:@"activity_status_will"];
|
||||||
|
// self.statusLabel.text = @"即将开始";
|
||||||
|
// }else{
|
||||||
|
// self.activityBgView.hidden = NO;
|
||||||
|
// self.activityStatusBgImageView.image = [UIImage imageNamed:@"activity_status_ing"];
|
||||||
|
// self.statusLabel.text = @"进行中";
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
@@ -350,7 +350,7 @@
|
|||||||
}
|
}
|
||||||
-(void)inputMessageWithName:(NSString *)message redpacketModel:(QXRedPacketModel*)redpacketModel{
|
-(void)inputMessageWithName:(NSString *)message redpacketModel:(QXRedPacketModel*)redpacketModel{
|
||||||
self.redpacketModel = redpacketModel;
|
self.redpacketModel = redpacketModel;
|
||||||
self.commentView.textField.text = [NSString stringWithFormat:@"%@",message];
|
self.commentView.textField.text = [NSString stringWithFormat:@"#口令红包 %@",message];
|
||||||
[self.vc.view addSubview:self.commentView];
|
[self.vc.view addSubview:self.commentView];
|
||||||
[self.commentView.textField becomeFirstResponder];
|
[self.commentView.textField becomeFirstResponder];
|
||||||
}
|
}
|
||||||
@@ -364,14 +364,18 @@
|
|||||||
[[QXGlobal shareGlobal] finishTask];
|
[[QXGlobal shareGlobal] finishTask];
|
||||||
[[QXRoomMessageManager shared] sendChatMessage:text messageType:(QXRoomMessageTypeText) needInsertMessage:YES];
|
[[QXRoomMessageManager shared] sendChatMessage:text messageType:(QXRoomMessageTypeText) needInsertMessage:YES];
|
||||||
self.commentView.textField.text = @"";
|
self.commentView.textField.text = @"";
|
||||||
[self.vc.view endEditing:YES];
|
|
||||||
if (self.redpacketModel == nil) {
|
if (self.redpacketModel == nil) {
|
||||||
|
[self.vc.view endEditing:YES];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (self.delegate && [self.delegate respondsToSelector:@selector(didSendMessage:redpacketModel:)]) {
|
NSString*password = [NSString stringWithFormat:@"#口令红包 %@",self.redpacketModel.password];
|
||||||
[self.delegate didSendMessage:text redpacketModel:self.redpacketModel];
|
if ([text isEqualToString:password]) {
|
||||||
|
if (self.delegate && [self.delegate respondsToSelector:@selector(didSendMessage:redpacketModel:)]) {
|
||||||
|
[self.delegate didSendMessage:text redpacketModel:self.redpacketModel];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
self.redpacketModel = nil;
|
[self.vc.view endEditing:YES];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)keyboardWillHide:(NSNotification *)notification {
|
- (void)keyboardWillHide:(NSNotification *)notification {
|
||||||
@@ -395,7 +399,9 @@
|
|||||||
self.commentView.y = keyboardFrame.origin.y-TabbarContentHeight;
|
self.commentView.y = keyboardFrame.origin.y-TabbarContentHeight;
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
-(void)didResignFirstResponder{
|
||||||
|
self.redpacketModel = nil;
|
||||||
|
}
|
||||||
-(QXDynamicCommentInputView *)commentView{
|
-(QXDynamicCommentInputView *)commentView{
|
||||||
if (!_commentView) {
|
if (!_commentView) {
|
||||||
_commentView = [[QXDynamicCommentInputView alloc] initWithFrame:CGRectMake(0, SCREEN_HEIGHT, SCREEN_WIDTH, TabbarContentHeight)];
|
_commentView = [[QXDynamicCommentInputView alloc] initWithFrame:CGRectMake(0, SCREEN_HEIGHT, SCREEN_WIDTH, TabbarContentHeight)];
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nonatomic,assign)BOOL isCompere;
|
@property (nonatomic,assign)BOOL isCompere;
|
||||||
@property (nonatomic,weak)id<QXRoomSeatDelegate>delegate;
|
@property (nonatomic,weak)id<QXRoomSeatDelegate>delegate;
|
||||||
|
|
||||||
|
-(void)setRoomCollect:(BOOL)isCollect;
|
||||||
-(void)onlineNumberIsAdd:(BOOL)isAdd;
|
-(void)onlineNumberIsAdd:(BOOL)isAdd;
|
||||||
-(void)setOnlineNumber:(NSString*)onlineNumber;
|
-(void)setOnlineNumber:(NSString*)onlineNumber;
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -344,10 +344,19 @@
|
|||||||
self.rankView.roomId = self.roomId;
|
self.rankView.roomId = self.roomId;
|
||||||
[self.rankView showInView:self.viewController.view];
|
[self.rankView showInView:self.viewController.view];
|
||||||
}
|
}
|
||||||
|
-(void)setRoomCollect:(BOOL)isCollect{
|
||||||
|
self.roomModel.user_info.is_collect = isCollect?@"1":@"0";
|
||||||
|
self.followBtn.selected = isCollect?YES:NO;
|
||||||
|
}
|
||||||
-(void)followAction:(UIButton*)sender{
|
-(void)followAction:(UIButton*)sender{
|
||||||
|
MJWeakSelf
|
||||||
[QXDynamicNetwork followWithUserId:self.roomId type:@"2" successBlock:^(NSDictionary * _Nonnull dict) {
|
[QXDynamicNetwork followWithUserId:self.roomId type:@"2" successBlock:^(NSDictionary * _Nonnull dict) {
|
||||||
sender.selected = !sender.selected;
|
weakSelf.followBtn.selected = !weakSelf.followBtn.selected;
|
||||||
|
if (weakSelf.followBtn.selected) {
|
||||||
|
weakSelf.roomModel.user_info.is_collect = @"1";
|
||||||
|
}else{
|
||||||
|
weakSelf.roomModel.user_info.is_collect = @"0";
|
||||||
|
}
|
||||||
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
|
|
||||||
}];
|
}];
|
||||||
|
|||||||
@@ -10,27 +10,31 @@
|
|||||||
typedef NS_ENUM(NSInteger) {
|
typedef NS_ENUM(NSInteger) {
|
||||||
/// 打开红包
|
/// 打开红包
|
||||||
QXRedBagDrawTypeOpen = 0,
|
QXRedBagDrawTypeOpen = 0,
|
||||||
/// 倒计时
|
/// 仅倒计时
|
||||||
QXRedBagDrawTypeTimeDown,
|
QXRedBagDrawTypeTimeDown,
|
||||||
/// 收藏房间
|
/// 仅收藏房间
|
||||||
QXRedBagDrawTypeCollect,
|
QXRedBagDrawTypeCollect,
|
||||||
/// 手慢了被领完了
|
/// 手慢了被领完了
|
||||||
QXRedBagDrawTypeFinished,
|
QXRedBagDrawTypeFinished,
|
||||||
/// 口令红包发送评论
|
/// 发送评论领红包
|
||||||
QXRedBagDrawTypePwdSend,
|
QXRedBagDrawTypePwdSend,
|
||||||
/// 口令红包倒计时
|
/// 需要完成两个收藏房间和倒计时
|
||||||
QXRedBagDrawTypePwdTimeDown,
|
|
||||||
/// 口令红包收藏房间
|
|
||||||
QXRedBagDrawTypePwdCollect,
|
|
||||||
/// 需要完成两个任务
|
|
||||||
QXRedBagDrawTypePwdAllTask,
|
QXRedBagDrawTypePwdAllTask,
|
||||||
}QXRedBagDrawType;
|
}QXRedBagDrawType;
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@interface QXRedBagDrawView : UIView
|
@interface QXRedBagDrawView : UIView
|
||||||
@property (nonatomic,strong)QXRedPacketModel *redpacketModel;
|
@property (nonatomic,strong)QXRedPacketModel *redpacketModel;
|
||||||
@property (nonatomic,assign)QXRedBagDrawType type;
|
@property (nonatomic,strong)NSString *room_id;
|
||||||
|
/// 是否已经收藏过房间
|
||||||
|
@property (nonatomic,assign)BOOL isCollectedRoom;
|
||||||
|
/// 倒计时
|
||||||
|
@property (nonatomic,assign)long needTime;
|
||||||
|
/// 是否是发送评论地方过来
|
||||||
|
@property (nonatomic,assign)BOOL isFromToComment;
|
||||||
@property (nonatomic,copy)void(^toInputPwdBlock)(NSString *password,QXRedPacketModel*redpacketModel);
|
@property (nonatomic,copy)void(^toInputPwdBlock)(NSString *password,QXRedPacketModel*redpacketModel);
|
||||||
|
@property (nonatomic,copy)void(^collectRoomBlock)(void);
|
||||||
|
-(void)changeViewType:(QXRedBagDrawType)type;
|
||||||
-(void)showInView:(UIView*)view;
|
-(void)showInView:(UIView*)view;
|
||||||
-(void)hide;
|
-(void)hide;
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -7,10 +7,13 @@
|
|||||||
|
|
||||||
#import "QXRedBagDrawView.h"
|
#import "QXRedBagDrawView.h"
|
||||||
#import "QXRedBagRecordViewController.h"
|
#import "QXRedBagRecordViewController.h"
|
||||||
|
#import "QXMineNetwork.h"
|
||||||
|
|
||||||
@class QXRedBagTimeDownView;
|
@class QXRedBagTimeDownView;
|
||||||
@interface QXRedBagDrawView()
|
@interface QXRedBagDrawView()
|
||||||
@property (nonatomic,strong)UIView *bgView;
|
@property (nonatomic,strong)UIView *bgView;
|
||||||
@property (nonatomic,strong)UIImageView *bgImageView;
|
@property (nonatomic,strong)UIImageView *bgImageView;
|
||||||
|
@property (nonatomic,strong)UIImageView *pwdImageView;
|
||||||
@property (nonatomic,strong)UIImageView *userHeaderImageView;
|
@property (nonatomic,strong)UIImageView *userHeaderImageView;
|
||||||
@property (nonatomic,strong)UILabel *userNameLabel;
|
@property (nonatomic,strong)UILabel *userNameLabel;
|
||||||
@property (nonatomic,strong)UILabel *remarkLabel;
|
@property (nonatomic,strong)UILabel *remarkLabel;
|
||||||
@@ -29,6 +32,9 @@
|
|||||||
@property (nonatomic,strong)UILabel *pwdTitleLable;
|
@property (nonatomic,strong)UILabel *pwdTitleLable;
|
||||||
/// 抢红包必须在本房间内
|
/// 抢红包必须在本房间内
|
||||||
@property (nonatomic,strong)UILabel *bottomLabel;
|
@property (nonatomic,strong)UILabel *bottomLabel;
|
||||||
|
@property (nonatomic,assign)QXRedBagDrawType drawType;
|
||||||
|
@property (nonatomic,assign)BOOL isDrawNet;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
@implementation QXRedBagDrawView
|
@implementation QXRedBagDrawView
|
||||||
- (instancetype)init
|
- (instancetype)init
|
||||||
@@ -42,6 +48,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
-(void)initSubviews{
|
-(void)initSubviews{
|
||||||
|
self.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.3];
|
||||||
self.bgView = [[UIView alloc] initWithFrame:CGRectMake((SCREEN_WIDTH-345)/2, (SCREEN_HEIGHT-454)/2, 345, 454)];
|
self.bgView = [[UIView alloc] initWithFrame:CGRectMake((SCREEN_WIDTH-345)/2, (SCREEN_HEIGHT-454)/2, 345, 454)];
|
||||||
[self addSubview:self.bgView];
|
[self addSubview:self.bgView];
|
||||||
|
|
||||||
@@ -49,6 +56,12 @@
|
|||||||
self.bgImageView.image = [UIImage imageNamed:@"room_draw_redbag_bg"];
|
self.bgImageView.image = [UIImage imageNamed:@"room_draw_redbag_bg"];
|
||||||
[self.bgView addSubview:self.bgImageView];
|
[self.bgView addSubview:self.bgImageView];
|
||||||
|
|
||||||
|
self.pwdImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"red_packet_pwd_icon"]];
|
||||||
|
self.pwdImageView.frame = CGRectMake(0, 0, 119, 41);
|
||||||
|
self.pwdImageView.hidden = YES;
|
||||||
|
[self.bgView addSubview:self.pwdImageView];
|
||||||
|
|
||||||
|
|
||||||
self.closeBtn = [[UIButton alloc] init];
|
self.closeBtn = [[UIButton alloc] init];
|
||||||
[self.closeBtn setImage:[UIImage imageNamed:@"room_redbag_close"] forState:(UIControlStateNormal)];
|
[self.closeBtn setImage:[UIImage imageNamed:@"room_redbag_close"] forState:(UIControlStateNormal)];
|
||||||
[self.closeBtn addTarget:self action:@selector(closeAction) forControlEvents:(UIControlEventTouchUpInside)];
|
[self.closeBtn addTarget:self action:@selector(closeAction) forControlEvents:(UIControlEventTouchUpInside)];
|
||||||
@@ -122,13 +135,13 @@
|
|||||||
@weakify(self)
|
@weakify(self)
|
||||||
self.timeDownView.btnBlcok = ^(QXRedBagDrawType type) {
|
self.timeDownView.btnBlcok = ^(QXRedBagDrawType type) {
|
||||||
@strongify(self);
|
@strongify(self);
|
||||||
if (type == QXRedBagDrawTypePwdCollect) {
|
if (type == QXRedBagDrawTypeCollect) {
|
||||||
/// 这里去收藏房间
|
/// 这里去收藏房间
|
||||||
[self setType:(QXRedBagDrawTypeOpen)];
|
[self collectRoom];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (self.toInputPwdBlock) {
|
if (self.toInputPwdBlock) {
|
||||||
self.toInputPwdBlock(@"傻狗涛来了,大家都让一让",self.redpacketModel);
|
self.toInputPwdBlock(self.redpacketModel.password,self.redpacketModel);
|
||||||
}
|
}
|
||||||
[self hide];
|
[self hide];
|
||||||
};
|
};
|
||||||
@@ -162,7 +175,7 @@
|
|||||||
}];
|
}];
|
||||||
|
|
||||||
self.drawTitleLabel = [[UILabel alloc] init];
|
self.drawTitleLabel = [[UILabel alloc] init];
|
||||||
self.drawTitleLabel.text = @"口令红包参与条件";
|
self.drawTitleLabel.text = @"红包参与条件";
|
||||||
self.drawTitleLabel.textColor = RGB16(0xffffff);
|
self.drawTitleLabel.textColor = RGB16(0xffffff);
|
||||||
self.drawTitleLabel.textAlignment = NSTextAlignmentCenter;
|
self.drawTitleLabel.textAlignment = NSTextAlignmentCenter;
|
||||||
self.drawTitleLabel.font = [UIFont systemFontOfSize:12];
|
self.drawTitleLabel.font = [UIFont systemFontOfSize:12];
|
||||||
@@ -197,6 +210,22 @@
|
|||||||
make.centerX.equalTo(self.bgView);;
|
make.centerX.equalTo(self.bgView);;
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
-(void)collectRoom{
|
||||||
|
MJWeakSelf
|
||||||
|
[QXMineNetwork roomCollectWithType:@"1" room_id:self.room_id successBlock:^(NSDictionary * _Nonnull dict) {
|
||||||
|
if (weakSelf.collectRoomBlock) {
|
||||||
|
weakSelf.collectRoomBlock();
|
||||||
|
}
|
||||||
|
weakSelf.isCollectedRoom = YES;
|
||||||
|
if ([weakSelf.redpacketModel canOpenNow]) {
|
||||||
|
[weakSelf setType:(QXRedBagDrawTypeOpen)];
|
||||||
|
}else{
|
||||||
|
[weakSelf setType:QXRedBagDrawTypeTimeDown];
|
||||||
|
}
|
||||||
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
|
|
||||||
|
}];
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
/// 打开红包
|
/// 打开红包
|
||||||
QXRedBagDrawTypeOpen = 0,
|
QXRedBagDrawTypeOpen = 0,
|
||||||
@@ -213,13 +242,68 @@
|
|||||||
/// 口令红包收藏房间
|
/// 口令红包收藏房间
|
||||||
QXRedBagDrawTypePwdCollect,
|
QXRedBagDrawTypePwdCollect,
|
||||||
*/
|
*/
|
||||||
|
-(void)setIsCollectedRoom:(BOOL)isCollectedRoom{
|
||||||
|
_isCollectedRoom = isCollectedRoom;
|
||||||
|
}
|
||||||
|
-(void)setRedpacketModel:(QXRedPacketModel *)redpacketModel{
|
||||||
|
_redpacketModel = redpacketModel;
|
||||||
|
[self setType:[self getDrawTypeWithRedpacktModel:redpacketModel]];
|
||||||
|
self.remarkLabel.text = redpacketModel.remark;
|
||||||
|
[self.userHeaderImageView sd_setImageWithURL:[NSURL URLWithString:redpacketModel.avatar]];
|
||||||
|
self.userNameLabel.text = [NSString stringWithFormat:@"%@的红包",redpacketModel.nickname];
|
||||||
|
self.commentTitleLabel.text = [NSString stringWithFormat:@"发送评论:%@",redpacketModel.password];
|
||||||
|
if (redpacketModel.type.intValue == 2) {
|
||||||
|
self.pwdImageView.hidden = NO;
|
||||||
|
}else{
|
||||||
|
self.pwdImageView.hidden = YES;
|
||||||
|
}
|
||||||
|
if (self.drawType == QXRedBagDrawTypeOpen) {
|
||||||
|
self.pwdBgView.hidden = YES;
|
||||||
|
self.bottomLabel.hidden = YES;
|
||||||
|
}else{
|
||||||
|
self.pwdBgView.hidden = NO;
|
||||||
|
self.bottomLabel.hidden = NO;
|
||||||
|
if (redpacketModel.type.intValue == 2) {
|
||||||
|
self.commentTitleLabel.hidden = NO;
|
||||||
|
}else{
|
||||||
|
self.commentTitleLabel.hidden = YES;
|
||||||
|
}
|
||||||
|
if (redpacketModel.conditions.intValue == 0) {
|
||||||
|
self.pwdTitleLable.hidden = YES;
|
||||||
|
self.drawTitleLabel.hidden = YES;
|
||||||
|
}else{
|
||||||
|
self.pwdTitleLable.hidden = NO;
|
||||||
|
self.drawTitleLabel.hidden = NO;
|
||||||
|
if ([redpacketModel.conditions isEqualToString:@"1,2"]) {
|
||||||
|
self.pwdTitleLable.text = @"收藏房间,仅麦上用户";
|
||||||
|
}else if ([redpacketModel.conditions isEqualToString:@"1"]) {
|
||||||
|
self.pwdTitleLable.text = @"收藏房间";
|
||||||
|
}else if ([redpacketModel.conditions isEqualToString:@"1"]) {
|
||||||
|
self.pwdTitleLable.text = @"仅麦上用户";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-(void)setIsFromToComment:(BOOL)isFromToComment{
|
||||||
|
_isFromToComment = isFromToComment;
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)setNeedTime:(long)needTime{
|
||||||
|
_needTime = needTime;
|
||||||
|
NSInteger min = (needTime % 3600) / 60;
|
||||||
|
NSInteger second = needTime % 60;
|
||||||
|
self.timeDownView.timeLabel.text = [NSString stringWithFormat:@"%02ld:%02ld后开启红包",min,(long)second];
|
||||||
|
}
|
||||||
|
-(void)changeViewType:(QXRedBagDrawType)type{
|
||||||
|
[self setType:type];
|
||||||
|
}
|
||||||
|
|
||||||
-(void)setType:(QXRedBagDrawType)type{
|
-(void)setType:(QXRedBagDrawType)type{
|
||||||
_type = type;
|
_drawType = type;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case QXRedBagDrawTypeOpen:{
|
case QXRedBagDrawTypeOpen:{
|
||||||
self.openBtn.hidden = NO;
|
self.openBtn.hidden = NO;
|
||||||
self.remarkLabel.text = @"恭喜发财,大吉大利";
|
self.remarkLabel.text = self.redpacketModel.remark;
|
||||||
self.recordBtn.hidden = YES;
|
self.recordBtn.hidden = YES;
|
||||||
self.timeDownView.hidden = YES;
|
self.timeDownView.hidden = YES;
|
||||||
self.bottomLabel.hidden = YES;
|
self.bottomLabel.hidden = YES;
|
||||||
@@ -237,53 +321,34 @@
|
|||||||
break;
|
break;
|
||||||
case QXRedBagDrawTypeCollect:{
|
case QXRedBagDrawTypeCollect:{
|
||||||
self.openBtn.hidden = YES;
|
self.openBtn.hidden = YES;
|
||||||
self.remarkLabel.text = @"恭喜发财,大吉大利";
|
self.remarkLabel.text = self.redpacketModel.remark;
|
||||||
self.recordBtn.hidden = YES;
|
self.recordBtn.hidden = YES;
|
||||||
self.timeDownView.type = QXRedBagDrawTypeCollect;
|
self.timeDownView.type = QXRedBagDrawTypeCollect;
|
||||||
self.timeDownView.hidden = NO;
|
self.timeDownView.hidden = NO;
|
||||||
self.bottomLabel.hidden = NO;
|
self.bottomLabel.hidden = NO;
|
||||||
self.pwdBgView.hidden = YES;
|
self.pwdBgView.hidden = NO;
|
||||||
[self performSelector:@selector(changeType) afterDelay:2];
|
self.commentTitleLabel.hidden = YES;
|
||||||
|
self.pwdTitleLable.text= @"收藏房间";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case QXRedBagDrawTypeTimeDown:{
|
case QXRedBagDrawTypeTimeDown:{
|
||||||
self.openBtn.hidden = YES;
|
self.openBtn.hidden = YES;
|
||||||
self.remarkLabel.text = @"恭喜发财,大吉大利";
|
self.remarkLabel.text = self.redpacketModel.remark;
|
||||||
self.recordBtn.hidden = YES;
|
self.recordBtn.hidden = YES;
|
||||||
self.timeDownView.type = QXRedBagDrawTypeTimeDown;
|
self.timeDownView.type = QXRedBagDrawTypeTimeDown;
|
||||||
self.timeDownView.hidden = NO;
|
self.timeDownView.hidden = NO;
|
||||||
self.bottomLabel.hidden = NO;
|
self.bottomLabel.hidden = NO;
|
||||||
self.pwdBgView.hidden = YES;
|
|
||||||
[self performSelector:@selector(changeType) afterDelay:2];
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case QXRedBagDrawTypePwdSend:{
|
case QXRedBagDrawTypePwdSend:{
|
||||||
self.openBtn.hidden = YES;
|
self.openBtn.hidden = YES;
|
||||||
self.remarkLabel.text = @"恭喜发财,大吉大利";
|
self.remarkLabel.text = self.redpacketModel.remark;
|
||||||
self.recordBtn.hidden = YES;
|
self.recordBtn.hidden = YES;
|
||||||
self.timeDownView.type = QXRedBagDrawTypePwdSend;
|
self.timeDownView.type = QXRedBagDrawTypePwdSend;
|
||||||
self.timeDownView.hidden = NO;
|
self.timeDownView.hidden = NO;
|
||||||
self.pwdBgView.hidden = NO;
|
|
||||||
self.pwdTitleLable.hidden = YES;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case QXRedBagDrawTypePwdTimeDown:{
|
|
||||||
self.openBtn.hidden = YES;
|
|
||||||
self.remarkLabel.text = @"恭喜发财,大吉大利";
|
|
||||||
self.recordBtn.hidden = YES;
|
|
||||||
self.timeDownView.type = QXRedBagDrawTypePwdTimeDown;
|
|
||||||
self.timeDownView.hidden = NO;
|
|
||||||
self.bottomLabel.hidden = NO;
|
|
||||||
self.pwdBgView.hidden = YES;
|
|
||||||
[self performSelector:@selector(changeType) afterDelay:2];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case QXRedBagDrawTypePwdCollect:{
|
|
||||||
self.openBtn.hidden = YES;
|
|
||||||
self.remarkLabel.text = @"手慢了,红包被领完了";
|
|
||||||
self.recordBtn.hidden = NO;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case QXRedBagDrawTypePwdAllTask:{
|
case QXRedBagDrawTypePwdAllTask:{
|
||||||
self.openBtn.hidden = YES;
|
self.openBtn.hidden = YES;
|
||||||
self.remarkLabel.text = @"手慢了,红包被领完了";
|
self.remarkLabel.text = @"手慢了,红包被领完了";
|
||||||
@@ -294,49 +359,104 @@
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
-(void)changeType{
|
|
||||||
[self setType:QXRedBagDrawTypeOpen];
|
|
||||||
}
|
|
||||||
#pragma mark - action
|
#pragma mark - action
|
||||||
-(void)closeAction{
|
-(void)closeAction{
|
||||||
[self hide];
|
[self hide];
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)openAction{
|
-(void)openAction{
|
||||||
|
MJWeakSelf
|
||||||
CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
|
if (self.isDrawNet) {
|
||||||
//旋转角度
|
return;
|
||||||
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI];
|
}
|
||||||
//每次旋转的时间(单位秒)
|
self.isDrawNet = YES;
|
||||||
rotationAnimation.duration = 0.5;
|
[QXMineNetwork drawRedpacketWithRedpacketId:self.redpacketModel.redpacket_id successBlock:^(NSString * _Nonnull code) {
|
||||||
rotationAnimation.cumulative = YES;
|
weakSelf.isDrawNet = NO;
|
||||||
rotationAnimation.removedOnCompletion = NO;
|
weakSelf.redpacketModel.is_qiang = @"1";
|
||||||
//重复旋转的次数,如果你想要无数次,那么设置成MAXFLOAT
|
if (code.intValue == 1) {
|
||||||
rotationAnimation.repeatCount = MAXFLOAT;
|
|
||||||
[self.openBtn.layer addAnimation:rotationAnimation forKey:@"openRedBagAnimate"];
|
|
||||||
|
|
||||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
|
||||||
[self.openBtn.layer removeAnimationForKey:@"openRedBagAnimate"];
|
|
||||||
|
|
||||||
BOOL isDrawed = NO;
|
|
||||||
if (isDrawed) {
|
|
||||||
QXRedBagRecordViewController *vc = [[QXRedBagRecordViewController alloc] init];
|
QXRedBagRecordViewController *vc = [[QXRedBagRecordViewController alloc] init];
|
||||||
vc.redbagId = @"";
|
vc.redbagId = weakSelf.redpacketModel.redpacket_id;
|
||||||
[self.viewController.navigationController pushViewController:vc animated:YES];
|
[weakSelf.viewController.navigationController pushViewController:vc animated:YES];
|
||||||
[self hide];
|
[weakSelf hide];
|
||||||
|
}else if (code.intValue == 2){
|
||||||
|
showToast(@"您已抢过该红包");
|
||||||
|
QXRedBagRecordViewController *vc = [[QXRedBagRecordViewController alloc] init];
|
||||||
|
vc.redbagId = weakSelf.redpacketModel.redpacket_id;
|
||||||
|
[weakSelf.viewController.navigationController pushViewController:vc animated:YES];
|
||||||
|
[weakSelf hide];
|
||||||
}else{
|
}else{
|
||||||
[self setType:QXRedBagDrawTypeFinished];
|
[weakSelf setType:QXRedBagDrawTypeFinished];
|
||||||
}
|
}
|
||||||
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
});
|
weakSelf.isDrawNet = NO;
|
||||||
|
showToast(msg);
|
||||||
|
}];
|
||||||
|
// CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
|
||||||
|
// //旋转角度
|
||||||
|
// rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI];
|
||||||
|
// //每次旋转的时间(单位秒)
|
||||||
|
// rotationAnimation.duration = 0.5;
|
||||||
|
// rotationAnimation.cumulative = YES;
|
||||||
|
// rotationAnimation.removedOnCompletion = NO;
|
||||||
|
// //重复旋转的次数,如果你想要无数次,那么设置成MAXFLOAT
|
||||||
|
// rotationAnimation.repeatCount = MAXFLOAT;
|
||||||
|
// [self.openBtn.layer addAnimation:rotationAnimation forKey:@"openRedBagAnimate"];
|
||||||
|
//
|
||||||
|
// dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||||
|
// [self.openBtn.layer removeAnimationForKey:@"openRedBagAnimate"];
|
||||||
|
//
|
||||||
|
// BOOL isDrawed = NO;
|
||||||
|
// if (isDrawed) {
|
||||||
|
// QXRedBagRecordViewController *vc = [[QXRedBagRecordViewController alloc] init];
|
||||||
|
// vc.redbagId = @"";
|
||||||
|
// [self.viewController.navigationController pushViewController:vc animated:YES];
|
||||||
|
// [self hide];
|
||||||
|
// }else{
|
||||||
|
// [self setType:QXRedBagDrawTypeFinished];
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// });
|
||||||
|
|
||||||
}
|
}
|
||||||
-(void)recordAction{
|
-(void)recordAction{
|
||||||
QXRedBagRecordViewController *vc = [[QXRedBagRecordViewController alloc] init];
|
QXRedBagRecordViewController *vc = [[QXRedBagRecordViewController alloc] init];
|
||||||
vc.redbagId = @"";
|
vc.redbagId = self.redpacketModel.redpacket_id;
|
||||||
[self.viewController.navigationController pushViewController:vc animated:YES];
|
[self.viewController.navigationController pushViewController:vc animated:YES];
|
||||||
[self hide];
|
[self hide];
|
||||||
}
|
}
|
||||||
|
-(QXRedBagDrawType)getDrawTypeWithRedpacktModel:(QXRedPacketModel*)model{
|
||||||
|
self.drawType = QXRedBagDrawTypeOpen;
|
||||||
|
if (model.type.intValue == 1) {
|
||||||
|
// 普通红包
|
||||||
|
self.drawType = QXRedBagDrawTypeOpen;
|
||||||
|
/// 倒计时处理
|
||||||
|
if (model.countdown.intValue > 0) {
|
||||||
|
if ([model remainingTime]>0) {
|
||||||
|
self.drawType = QXRedBagDrawTypeTimeDown;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// 收藏房间在先
|
||||||
|
if ([model.conditions containsString:@"1"] && !self.isCollectedRoom){
|
||||||
|
self.drawType = QXRedBagDrawTypeCollect;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
// 口令红包
|
||||||
|
self.drawType = QXRedBagDrawTypePwdSend;
|
||||||
|
if (self.isFromToComment) {
|
||||||
|
if ([model.conditions containsString:@"1"] && !self.isCollectedRoom){
|
||||||
|
self.drawType = QXRedBagDrawTypeCollect;
|
||||||
|
}else{
|
||||||
|
if ([self.redpacketModel canOpenNow]) {
|
||||||
|
[self setType:(QXRedBagDrawTypeOpen)];
|
||||||
|
}else{
|
||||||
|
[self setType:QXRedBagDrawTypeTimeDown];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return self.drawType;
|
||||||
|
}
|
||||||
-(void)showInView:(UIView *)view{
|
-(void)showInView:(UIView *)view{
|
||||||
self.bgView.y = -SCREEN_HEIGHT;
|
self.bgView.y = -SCREEN_HEIGHT;
|
||||||
[view addSubview:self];
|
[view addSubview:self];
|
||||||
@@ -348,6 +468,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
-(void)hide{
|
-(void)hide{
|
||||||
|
self.redpacketModel = nil;
|
||||||
[UIView animateWithDuration:0.3 delay:0 usingSpringWithDamping:0.5 initialSpringVelocity:1.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
|
[UIView animateWithDuration:0.3 delay:0 usingSpringWithDamping:0.5 initialSpringVelocity:1.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
|
||||||
self.bgView.y = SCREEN_HEIGHT;
|
self.bgView.y = SCREEN_HEIGHT;
|
||||||
} completion:^(BOOL finished) {
|
} completion:^(BOOL finished) {
|
||||||
@@ -374,8 +495,7 @@
|
|||||||
self.timeLabel.text = @"收藏房间抢红包";
|
self.timeLabel.text = @"收藏房间抢红包";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case QXRedBagDrawTypeTimeDown:
|
case QXRedBagDrawTypeTimeDown:{
|
||||||
case QXRedBagDrawTypePwdTimeDown:{
|
|
||||||
self.timeLabel.text = @"00:00后开启红包";
|
self.timeLabel.text = @"00:00后开启红包";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -383,11 +503,6 @@
|
|||||||
self.timeLabel.text = @"发送评论抢红包";
|
self.timeLabel.text = @"发送评论抢红包";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case QXRedBagDrawTypePwdCollect:{
|
|
||||||
self.timeLabel.text = @"收藏房间抢红包";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case QXRedBagDrawTypePwdAllTask:{
|
case QXRedBagDrawTypePwdAllTask:{
|
||||||
self.timeLabel.text = @"完成任务抢红包";
|
self.timeLabel.text = @"完成任务抢红包";
|
||||||
}
|
}
|
||||||
@@ -398,7 +513,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
-(void)btnClick{
|
-(void)btnClick{
|
||||||
if (self.type == QXRedBagDrawTypePwdSend || self.type == QXRedBagDrawTypePwdCollect) {
|
if (self.type == QXRedBagDrawTypePwdSend || self.type == QXRedBagDrawTypeCollect) {
|
||||||
if (self.btnBlcok) {
|
if (self.btnBlcok) {
|
||||||
self.btnBlcok(self.type);
|
self.btnBlcok(self.type);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,14 +10,20 @@
|
|||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@interface QXRedBagListView : UIView
|
@interface QXRedBagListView : UIView
|
||||||
@property (nonatomic,strong)NSMutableArray *dataArray;
|
@property (nonatomic,strong)NSArray <QXRedPacketModel*>*dataArray;
|
||||||
|
@property (nonatomic,copy)void(^didSelectedRedBlock)(QXRedPacketModel*model);
|
||||||
-(void)showInView:(UIView *)view;
|
-(void)showInView:(UIView *)view;
|
||||||
-(void)hide;
|
-(void)hide;
|
||||||
@property (nonatomic,copy)void(^didSelectedRedBlock)(void);
|
-(void)updateRedpacketTimeWithIndex:(NSInteger)index time:(long)time;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface QXRedBagListCell : UICollectionViewCell
|
@interface QXRedBagListCell : UICollectionViewCell
|
||||||
|
@property (nonatomic,strong)QXRedPacketModel* redpacketModel;
|
||||||
@property (nonatomic,strong)UIImageView *redBagImageView;
|
@property (nonatomic,strong)UIImageView *redBagImageView;
|
||||||
|
@property (nonatomic,strong)UIImageView *pwdImageView;
|
||||||
|
@property (nonatomic,strong)UILabel *timeLabel;
|
||||||
|
@property (nonatomic,strong)UILabel *nameLabel;
|
||||||
|
@property (nonatomic,assign)long endTime;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
-(void)initSubviews{
|
-(void)initSubviews{
|
||||||
|
self.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.3];
|
||||||
self.bigBgView = [[UIView alloc] initWithFrame:CGRectMake((SCREEN_WIDTH-375)/2, (SCREEN_HEIGHT-480)/2, 375, 480)];
|
self.bigBgView = [[UIView alloc] initWithFrame:CGRectMake((SCREEN_WIDTH-375)/2, (SCREEN_HEIGHT-480)/2, 375, 480)];
|
||||||
[self addSubview:self.bigBgView];
|
[self addSubview:self.bigBgView];
|
||||||
|
|
||||||
@@ -40,7 +41,7 @@
|
|||||||
[self.bigBgView addSubview:self.bgView];
|
[self.bigBgView addSubview:self.bgView];
|
||||||
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.width.mas_equalTo(280);
|
make.width.mas_equalTo(280);
|
||||||
make.height.mas_equalTo(252);
|
make.height.mas_equalTo(272);
|
||||||
make.centerX.equalTo(self.bigBgView);
|
make.centerX.equalTo(self.bigBgView);
|
||||||
make.top.mas_equalTo(60);
|
make.top.mas_equalTo(60);
|
||||||
}];
|
}];
|
||||||
@@ -72,7 +73,7 @@
|
|||||||
|
|
||||||
|
|
||||||
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
|
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
|
||||||
layout.itemSize = CGSizeMake(66,66);
|
layout.itemSize = CGSizeMake(66,86);
|
||||||
layout.minimumLineSpacing =20;
|
layout.minimumLineSpacing =20;
|
||||||
layout.minimumInteritemSpacing =16;
|
layout.minimumInteritemSpacing =16;
|
||||||
layout.scrollDirection = UICollectionViewScrollDirectionVertical;
|
layout.scrollDirection = UICollectionViewScrollDirectionVertical;
|
||||||
@@ -92,15 +93,19 @@
|
|||||||
make.top.mas_equalTo(156);
|
make.top.mas_equalTo(156);
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
-(void)setDataArray:(NSMutableArray *)dataArray{
|
-(void)updateRedpacketTimeWithIndex:(NSInteger)index time:(long)time{
|
||||||
|
QXRedBagListCell *cell = [self.collectionView cellForItemAtIndexPath:[NSIndexPath indexPathForRow:index inSection:0]];
|
||||||
|
cell.endTime = time;
|
||||||
|
}
|
||||||
|
-(void)setDataArray:(NSArray<QXRedPacketModel *> *)dataArray{
|
||||||
_dataArray = dataArray;
|
_dataArray = dataArray;
|
||||||
if (dataArray.count >3) {
|
if (dataArray.count >3) {
|
||||||
[self.bgView mas_updateConstraints:^(MASConstraintMaker *make) {
|
[self.bgView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||||
make.height.mas_equalTo(338);
|
make.height.mas_equalTo(358);
|
||||||
}];
|
}];
|
||||||
}else{
|
}else{
|
||||||
[self.bgView mas_updateConstraints:^(MASConstraintMaker *make) {
|
[self.bgView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||||
make.height.mas_equalTo(252);
|
make.height.mas_equalTo(272);
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
[self.collectionView reloadData];
|
[self.collectionView reloadData];
|
||||||
@@ -110,11 +115,13 @@
|
|||||||
}
|
}
|
||||||
-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
|
-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
|
||||||
QXRedBagListCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXRedBagListCell" forIndexPath:indexPath];
|
QXRedBagListCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXRedBagListCell" forIndexPath:indexPath];
|
||||||
|
cell.redpacketModel = self.dataArray[indexPath.row];
|
||||||
return cell;
|
return cell;
|
||||||
}
|
}
|
||||||
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
|
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
|
||||||
|
QXRedPacketModel *model = self.dataArray[indexPath.row];
|
||||||
if (self.didSelectedRedBlock) {
|
if (self.didSelectedRedBlock) {
|
||||||
self.didSelectedRedBlock();
|
self.didSelectedRedBlock(model);
|
||||||
}
|
}
|
||||||
[self hide];
|
[self hide];
|
||||||
}
|
}
|
||||||
@@ -152,12 +159,69 @@
|
|||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
-(void)setRedpacketModel:(QXRedPacketModel *)redpacketModel{
|
||||||
|
_redpacketModel = redpacketModel;
|
||||||
|
self.redBagImageView.image = [UIImage imageNamed:redpacketModel.is_qiang.intValue==1?@"red_bag_list_is_get_icon":@"red_bag_list_icon"];
|
||||||
|
self.pwdImageView.hidden = redpacketModel.type.intValue!=2;
|
||||||
|
self.nameLabel.text = redpacketModel.nickname;
|
||||||
|
if (self.redpacketModel.countdown.intValue==0) {
|
||||||
|
self.timeLabel.hidden = YES;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-(void)setEndTime:(long)endTime{
|
||||||
|
if (self.redpacketModel.countdown.intValue==0) {
|
||||||
|
self.timeLabel.hidden = YES;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (endTime<=0) {
|
||||||
|
self.timeLabel.hidden = YES;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
self.timeLabel.hidden = NO;
|
||||||
|
NSInteger min = (endTime % 3600) / 60;
|
||||||
|
NSInteger second = endTime % 60;
|
||||||
|
self.timeLabel.text = [NSString stringWithFormat:@" %02ld:%02ld ",min,second];
|
||||||
|
|
||||||
|
}
|
||||||
-(void)initSubviews{
|
-(void)initSubviews{
|
||||||
self.redBagImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"red_bag_list_icon"]];
|
self.redBagImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"red_bag_list_icon"]];
|
||||||
[self.contentView addSubview:self.redBagImageView];
|
[self.contentView addSubview:self.redBagImageView];
|
||||||
[self.redBagImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.redBagImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.edges.equalTo(self.contentView);
|
make.top.mas_equalTo(4);
|
||||||
|
make.height.mas_equalTo(66);
|
||||||
|
make.width.mas_equalTo(66);
|
||||||
|
make.centerX.equalTo(self.contentView);
|
||||||
|
}];
|
||||||
|
|
||||||
|
self.pwdImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"red_bag_list_pwd_icon"]];
|
||||||
|
[self.contentView addSubview:self.pwdImageView];
|
||||||
|
[self.pwdImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.right.top.equalTo(self.contentView);
|
||||||
|
make.width.mas_equalTo(34);
|
||||||
|
make.height.mas_equalTo(18);
|
||||||
|
}];
|
||||||
|
|
||||||
|
self.timeLabel = [[UILabel alloc] init];
|
||||||
|
self.timeLabel.textColor = RGB16(0xffffff);
|
||||||
|
[self.timeLabel addRoundedCornersWithRadius:6];
|
||||||
|
self.timeLabel.hidden = YES;
|
||||||
|
self.timeLabel.backgroundColor = RGB16A(0x000000, 0.25);
|
||||||
|
self.timeLabel.font = [UIFont systemFontOfSize:12];
|
||||||
|
[self.contentView addSubview:self.timeLabel];
|
||||||
|
[self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.bottom.equalTo(self.redBagImageView);
|
||||||
|
make.centerX.equalTo(self.contentView);
|
||||||
|
make.height.mas_equalTo(12);
|
||||||
|
}];
|
||||||
|
|
||||||
|
self.nameLabel = [[UILabel alloc] init];
|
||||||
|
self.nameLabel.textColor = RGB16(0xD04248);
|
||||||
|
self.nameLabel.font = [UIFont systemFontOfSize:12];
|
||||||
|
[self.contentView addSubview:self.nameLabel];
|
||||||
|
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.bottom.equalTo(self.contentView);
|
||||||
|
make.centerX.equalTo(self.contentView);
|
||||||
|
make.height.mas_equalTo(12);
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@interface QXRedBagSendView : UIView
|
@interface QXRedBagSendView : UIView
|
||||||
|
@property (nonatomic,strong)NSString *room_id;
|
||||||
-(void)showInView:(UIView*)view;
|
-(void)showInView:(UIView*)view;
|
||||||
-(void)hide;
|
-(void)hide;
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#import "QXRedBagSendView.h"
|
#import "QXRedBagSendView.h"
|
||||||
#import <WebKit/WebKit.h>
|
#import <WebKit/WebKit.h>
|
||||||
|
#import "QXMineNetwork.h"
|
||||||
@interface QXRedBagSendView()<UITextFieldDelegate>
|
@interface QXRedBagSendView()<UITextFieldDelegate>
|
||||||
@property (nonatomic,strong)UIView *bgView;
|
@property (nonatomic,strong)UIView *bgView;
|
||||||
@property (nonatomic,strong)UIImageView *bgImageView;
|
@property (nonatomic,strong)UIImageView *bgImageView;
|
||||||
@@ -36,7 +37,10 @@
|
|||||||
@property (nonatomic,strong)NSString *redBagContentType;
|
@property (nonatomic,strong)NSString *redBagContentType;
|
||||||
/// 红包倒计时
|
/// 红包倒计时
|
||||||
@property (nonatomic,strong)NSString *redBagTime;
|
@property (nonatomic,strong)NSString *redBagTime;
|
||||||
|
/// 条件 0 无 1 收藏房间 2 仅麦上用户 多条件时用,隔开
|
||||||
|
@property (nonatomic,strong)NSString *conditions;
|
||||||
|
@property (nonatomic,strong)NSString *coin;
|
||||||
|
@property (nonatomic,strong)NSString *earnings;
|
||||||
|
|
||||||
|
|
||||||
@property (nonatomic,strong)UIView* nextContentView;
|
@property (nonatomic,strong)UIView* nextContentView;
|
||||||
@@ -67,6 +71,7 @@
|
|||||||
|
|
||||||
/// 是否为规则页面返回
|
/// 是否为规则页面返回
|
||||||
@property (nonatomic,assign)BOOL isFromRule;
|
@property (nonatomic,assign)BOOL isFromRule;
|
||||||
|
@property (nonatomic,assign)BOOL isSendNet;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation QXRedBagSendView
|
@implementation QXRedBagSendView
|
||||||
@@ -82,11 +87,16 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
-(void)initSubviews{
|
-(void)initSubviews{
|
||||||
|
/// 默认普通红包
|
||||||
self.redBagType = @"1";
|
self.redBagType = @"1";
|
||||||
|
/// 默认金币红包
|
||||||
self.redBagContentType = @"1";
|
self.redBagContentType = @"1";
|
||||||
|
/// 默认立刻
|
||||||
self.redBagTime = @"0";
|
self.redBagTime = @"0";
|
||||||
|
/// 无限制条件
|
||||||
|
self.conditions = @"0";
|
||||||
self.timeArray = @[@0,@1,@2,@5,@10];
|
self.timeArray = @[@0,@1,@2,@5,@10];
|
||||||
|
self.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.3];
|
||||||
self.bgView = [[UIView alloc] initWithFrame:CGRectMake((SCREEN_WIDTH-345)/2, (SCREEN_HEIGHT-454)/2, 345, 454)];
|
self.bgView = [[UIView alloc] initWithFrame:CGRectMake((SCREEN_WIDTH-345)/2, (SCREEN_HEIGHT-454)/2, 345, 454)];
|
||||||
[self addSubview:self.bgView];
|
[self addSubview:self.bgView];
|
||||||
|
|
||||||
@@ -165,8 +175,20 @@
|
|||||||
[self initNextContentView];
|
[self initNextContentView];
|
||||||
|
|
||||||
[self initRuleView];
|
[self initRuleView];
|
||||||
|
|
||||||
|
[self getMyWallet];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-(void)getMyWallet{
|
||||||
|
MJWeakSelf
|
||||||
|
[QXMineNetwork getWalletInfoSuccessBlock:^(NSString * _Nonnull coin, NSString * _Nonnull earnings, NSString * _Nonnull title, NSString * _Nonnull url) {
|
||||||
|
weakSelf.coin = coin;
|
||||||
|
weakSelf.earnings = coin;
|
||||||
|
weakSelf.moneyLabel.text = [NSString stringWithFormat:@"%@金币可用",self.coin];
|
||||||
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
|
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
-(void)initFirstContentView{
|
-(void)initFirstContentView{
|
||||||
self.firstContentView = [[UIView alloc] init];
|
self.firstContentView = [[UIView alloc] init];
|
||||||
@@ -477,6 +499,7 @@
|
|||||||
pwdTextField.textColor = RGB16(0x666666);
|
pwdTextField.textColor = RGB16(0x666666);
|
||||||
pwdTextField.textAlignment = NSTextAlignmentRight;
|
pwdTextField.textAlignment = NSTextAlignmentRight;
|
||||||
pwdTextField.returnKeyType = UIReturnKeyDone;
|
pwdTextField.returnKeyType = UIReturnKeyDone;
|
||||||
|
pwdTextField.keyboardType = UIKeyboardTypeNumberPad;
|
||||||
pwdTextField.placeholder = @"请输入红包金额";
|
pwdTextField.placeholder = @"请输入红包金额";
|
||||||
self.moneyTextField = pwdTextField;
|
self.moneyTextField = pwdTextField;
|
||||||
[topBgView addSubview:pwdTextField];
|
[topBgView addSubview:pwdTextField];
|
||||||
@@ -531,6 +554,7 @@
|
|||||||
countTextField.textAlignment = NSTextAlignmentRight;
|
countTextField.textAlignment = NSTextAlignmentRight;
|
||||||
countTextField.returnKeyType = UIReturnKeyDone;
|
countTextField.returnKeyType = UIReturnKeyDone;
|
||||||
countTextField.placeholder = @"请输入红包数量";
|
countTextField.placeholder = @"请输入红包数量";
|
||||||
|
countTextField.keyboardType = UIKeyboardTypeNumberPad;
|
||||||
self.countTextField = countTextField;
|
self.countTextField = countTextField;
|
||||||
[countBgView addSubview:countTextField];
|
[countBgView addSubview:countTextField];
|
||||||
[countTextField mas_makeConstraints:^(MASConstraintMaker *make) {
|
[countTextField mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
@@ -680,6 +704,12 @@
|
|||||||
|
|
||||||
#pragma mark - action
|
#pragma mark - action
|
||||||
-(void)nextAction{
|
-(void)nextAction{
|
||||||
|
if (self.redBagType.intValue == 2) {
|
||||||
|
if (![self.pwdTextField.text isExist]) {
|
||||||
|
showToast(@"请输入口令");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
self.currentPage = 1;
|
self.currentPage = 1;
|
||||||
if (self.redBagContentType.intValue == 1) {
|
if (self.redBagContentType.intValue == 1) {
|
||||||
self.moneyUnitLabel.text = @"金币";
|
self.moneyUnitLabel.text = @"金币";
|
||||||
@@ -703,7 +733,39 @@
|
|||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
-(void)commitAction{
|
-(void)commitAction{
|
||||||
|
if (![self.moneyTextField.text isExist]) {
|
||||||
|
showToast(@"请输入红包金额");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (![self.countTextField.text isExist]) {
|
||||||
|
showToast(@"请输入红包数量");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (self.countTextField.text.longLongValue > self.moneyTextField.text.longLongValue) {
|
||||||
|
showToast(@"红包数量不能大于红包金额");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (self.isSendNet) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
self.isSendNet = YES;
|
||||||
|
[QXMineNetwork createRedpacketWithType:self.redBagType
|
||||||
|
password:self.pwdTextField.text
|
||||||
|
coin_type:self.redBagContentType
|
||||||
|
total_amount:self.moneyTextField.text
|
||||||
|
total_count:self.countTextField.text
|
||||||
|
conditions:self.conditions
|
||||||
|
countdown:self.redBagTime
|
||||||
|
room_id:self.room_id
|
||||||
|
remark:self.remarkTextField.text
|
||||||
|
successBlock:^(NSDictionary * _Nonnull dict) {
|
||||||
|
self.isSendNet = NO;
|
||||||
|
showToast(@"发送成功");
|
||||||
|
[self hide];
|
||||||
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
|
self.isSendNet = NO;
|
||||||
|
showToast(msg);
|
||||||
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)helpAction{
|
-(void)helpAction{
|
||||||
@@ -761,6 +823,7 @@
|
|||||||
make.top.equalTo(self.firstTopView.mas_bottom).offset(12);
|
make.top.equalTo(self.firstTopView.mas_bottom).offset(12);
|
||||||
}];
|
}];
|
||||||
self.redBagType = @"1";
|
self.redBagType = @"1";
|
||||||
|
self.pwdTextField.text = @"";
|
||||||
}else{
|
}else{
|
||||||
self.pwdRedBagBtn.selected = YES;
|
self.pwdRedBagBtn.selected = YES;
|
||||||
self.normalRedBagBtn.selected = NO;
|
self.normalRedBagBtn.selected = NO;
|
||||||
@@ -784,6 +847,7 @@
|
|||||||
}];
|
}];
|
||||||
self.coinRedBagBtn.selected = YES;
|
self.coinRedBagBtn.selected = YES;
|
||||||
self.redBagContentType = @"1";
|
self.redBagContentType = @"1";
|
||||||
|
self.moneyLabel.text = [NSString stringWithFormat:@"%@金币可用",self.coin];
|
||||||
}else{
|
}else{
|
||||||
self.coinRedBagBtn.selected = NO;
|
self.coinRedBagBtn.selected = NO;
|
||||||
[self.scrollBgView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
[self.scrollBgView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||||
@@ -792,6 +856,7 @@
|
|||||||
}];
|
}];
|
||||||
self.diamondRedBagBtn.selected = YES;
|
self.diamondRedBagBtn.selected = YES;
|
||||||
self.redBagContentType = @"2";
|
self.redBagContentType = @"2";
|
||||||
|
self.moneyLabel.text = [NSString stringWithFormat:@"%@钻石可用",self.earnings];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
-(void)drawAuthAction:(UIButton*)sender{
|
-(void)drawAuthAction:(UIButton*)sender{
|
||||||
@@ -815,6 +880,18 @@
|
|||||||
self.noDrawAuthBtn.selected = YES;
|
self.noDrawAuthBtn.selected = YES;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (self.collectDrawAuthBtn.selected && self.upSeatDrawAuthBtn.selected) {
|
||||||
|
self.conditions = @"1,2";
|
||||||
|
}else{
|
||||||
|
if (self.collectDrawAuthBtn.selected) {
|
||||||
|
self.conditions = @"1";
|
||||||
|
}else if (self.upSeatDrawAuthBtn.selected) {
|
||||||
|
self.conditions = @"2";
|
||||||
|
}else{
|
||||||
|
self.conditions = @"0";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
-(void)redBagTimeAction:(UIButton*)sender{
|
-(void)redBagTimeAction:(UIButton*)sender{
|
||||||
if (sender.selected == YES) {
|
if (sender.selected == YES) {
|
||||||
|
|||||||
@@ -29,15 +29,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
-(void)initSubviews{
|
-(void)initSubviews{
|
||||||
|
|
||||||
|
|
||||||
self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"redbag_tag_icon"]];
|
self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"redbag_tag_icon"]];
|
||||||
self.imageView.frame = CGRectMake(0, 0, self.redTagHeight, self.redTagWidth);
|
self.imageView.frame = CGRectMake(0, 0, self.redTagHeight, self.redTagWidth);
|
||||||
[self addSubview:self.imageView];
|
[self addSubview:self.imageView];
|
||||||
|
|
||||||
self.countLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.width, 20)];
|
self.countLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 10, self.width-10, 20)];
|
||||||
self.countLabel.textAlignment = NSTextAlignmentRight;
|
self.countLabel.textAlignment = NSTextAlignmentRight;
|
||||||
self.countLabel.font = [UIFont boldSystemFontOfSize:14];
|
self.countLabel.font = [UIFont boldSystemFontOfSize:18];
|
||||||
self.countLabel.textColor = RGB16(0xFFFEB2);
|
self.countLabel.textColor = RGB16(0xFFFEB2);
|
||||||
[self addSubview:self.countLabel];
|
[self addSubview:self.countLabel];
|
||||||
|
|
||||||
@@ -49,7 +47,7 @@
|
|||||||
[self addGestureRecognizer:panRecognizer];
|
[self addGestureRecognizer:panRecognizer];
|
||||||
}
|
}
|
||||||
-(void)btnClick{
|
-(void)btnClick{
|
||||||
BOOL isList = self.count.intValue>0?YES:NO;
|
BOOL isList = self.count.intValue>1?YES:NO;
|
||||||
if (self.startBlock) {
|
if (self.startBlock) {
|
||||||
self.startBlock(isList);
|
self.startBlock(isList);
|
||||||
}
|
}
|
||||||
@@ -57,6 +55,11 @@
|
|||||||
-(void)setCount:(NSString *)count{
|
-(void)setCount:(NSString *)count{
|
||||||
_count = count;
|
_count = count;
|
||||||
self.countLabel.text = [NSString stringWithFormat:@"x%@",count];
|
self.countLabel.text = [NSString stringWithFormat:@"x%@",count];
|
||||||
|
if (count.intValue == 0) {
|
||||||
|
self.hidden = YES;
|
||||||
|
}else{
|
||||||
|
self.hidden = NO;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)handlePan:(UIPanGestureRecognizer*)recognizer{
|
-(void)handlePan:(UIPanGestureRecognizer*)recognizer{
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
#import "QXGiftDriftView.h"
|
#import "QXGiftDriftView.h"
|
||||||
#import "QXMeetActivityDriftView.h"
|
#import "QXMeetActivityDriftView.h"
|
||||||
#import "QXDrifRoomHourRankView.h"
|
#import "QXDrifRoomHourRankView.h"
|
||||||
|
#import "QXRedPacketDriftView.h"
|
||||||
|
|
||||||
@interface QXRoomSettingView()<UIGestureRecognizerDelegate,UITableViewDelegate,UITableViewDataSource,QXRoomSettingViewDelegate>
|
@interface QXRoomSettingView()<UIGestureRecognizerDelegate,UITableViewDelegate,UITableViewDataSource,QXRoomSettingViewDelegate>
|
||||||
@property (nonatomic,strong)UIView *bgView;
|
@property (nonatomic,strong)UIView *bgView;
|
||||||
@@ -178,19 +179,13 @@
|
|||||||
/// 暂时不需要房间补贴
|
/// 暂时不需要房间补贴
|
||||||
toolsArr = @[self.roomMessage,self.roomOrderMic,self.roomBgImage];
|
toolsArr = @[self.roomMessage,self.roomOrderMic,self.roomBgImage];
|
||||||
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
|
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
|
||||||
// moreArr = @[self.redBag,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
moreArr = @[self.redBag,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
||||||
moreArr = @[self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
|
||||||
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
|
|
||||||
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport];
|
|
||||||
}else{
|
}else{
|
||||||
// toolsArr = @[self.roomSubsidy,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage];
|
// toolsArr = @[self.roomSubsidy,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage];
|
||||||
/// 暂时不需要房间补贴
|
/// 暂时不需要房间补贴
|
||||||
toolsArr = @[self.roomMessage,self.roomOrderMic,self.roomBgImage];
|
toolsArr = @[self.roomMessage,self.roomOrderMic,self.roomBgImage];
|
||||||
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
|
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
|
||||||
// moreArr = @[self.redBag,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
moreArr = @[self.redBag,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
||||||
moreArr = @[self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
|
||||||
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
|
|
||||||
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self.titles = @[QXText(@"房间类型"),QXText(@"常用工具"),QXText(@"更多操作")];
|
self.titles = @[QXText(@"房间类型"),QXText(@"常用工具"),QXText(@"更多操作")];
|
||||||
@@ -200,8 +195,7 @@
|
|||||||
// 观众 更多操作 不区分麦上麦下
|
// 观众 更多操作 不区分麦上麦下
|
||||||
roomTypeArr = @[];
|
roomTypeArr = @[];
|
||||||
toolsArr = @[];
|
toolsArr = @[];
|
||||||
// moreArr = @[self.redBag,self.roomVoiceSet,self.roomEffects,self.drifPop,self.roomReport];
|
moreArr = @[self.redBag,self.roomVoiceSet,self.roomEffects,self.drifPop,self.roomReport];
|
||||||
moreArr = @[self.roomVoiceSet,self.roomEffects,self.drifPop,self.roomReport];
|
|
||||||
self.titles = @[QXText(@"更多操作")];
|
self.titles = @[QXText(@"更多操作")];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -223,9 +217,7 @@
|
|||||||
toolsArr = @[self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgImage];
|
toolsArr = @[self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgImage];
|
||||||
}
|
}
|
||||||
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
|
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
|
||||||
// moreArr = @[self.redBag,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
moreArr = @[self.redBag,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
||||||
moreArr = @[self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
|
||||||
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport];
|
|
||||||
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
|
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
|
||||||
self.titles = @[QXText(@"房间类型"),QXText(@"常用工具"),QXText(@"更多操作")];
|
self.titles = @[QXText(@"房间类型"),QXText(@"常用工具"),QXText(@"更多操作")];
|
||||||
}
|
}
|
||||||
@@ -249,9 +241,7 @@
|
|||||||
}
|
}
|
||||||
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
|
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
|
||||||
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
|
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
|
||||||
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport];
|
moreArr = @[self.redBag,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
||||||
// moreArr = @[self.redBag,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
|
||||||
moreArr = @[self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
|
|
||||||
self.titles = @[QXText(@"房间类型"),QXText(@"常用工具"),QXText(@"更多操作")];
|
self.titles = @[QXText(@"房间类型"),QXText(@"常用工具"),QXText(@"更多操作")];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -691,6 +681,7 @@
|
|||||||
[[QXGiftDriftView shareView] drifPopIsClose:model.isSelected];
|
[[QXGiftDriftView shareView] drifPopIsClose:model.isSelected];
|
||||||
[[QXMeetActivityDriftView shareView] drifPopIsClose:model.isSelected];
|
[[QXMeetActivityDriftView shareView] drifPopIsClose:model.isSelected];
|
||||||
[[QXDrifRoomHourRankView shareView] drifPopIsClose:model.isSelected];
|
[[QXDrifRoomHourRankView shareView] drifPopIsClose:model.isSelected];
|
||||||
|
[[QXRedPacketDriftView shareView] drifPopIsClose:model.isSelected];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (model.type == QXRoomSettingTypeRoomOrderMic) {
|
if (model.type == QXRoomSettingTypeRoomOrderMic) {
|
||||||
|
|||||||
@@ -56,7 +56,6 @@
|
|||||||
[self.agoraKit getCurrentMonotonicTimeInMs];
|
[self.agoraKit getCurrentMonotonicTimeInMs];
|
||||||
[self.agoraKit setAudioProfile:AgoraAudioProfileMusicHighQualityStereo];
|
[self.agoraKit setAudioProfile:AgoraAudioProfileMusicHighQualityStereo];
|
||||||
[self.agoraKit setAudioScenario:AgoraAudioScenarioChorus];
|
[self.agoraKit setAudioScenario:AgoraAudioScenarioChorus];
|
||||||
|
|
||||||
[self setChannelProfile];
|
[self setChannelProfile];
|
||||||
self.agoraKit.delegate = self;
|
self.agoraKit.delegate = self;
|
||||||
[self.agoraKit setParameters:@"{\"che.audio.custom_payload_type\":73}"];
|
[self.agoraKit setParameters:@"{\"che.audio.custom_payload_type\":73}"];
|
||||||
@@ -368,6 +367,9 @@
|
|||||||
if (self.delegate && [self.delegate respondsToSelector:@selector(rtcEngineVideoFirstLoadWithUid:size:)]) {
|
if (self.delegate && [self.delegate respondsToSelector:@selector(rtcEngineVideoFirstLoadWithUid:size:)]) {
|
||||||
[self.delegate rtcEngineVideoFirstLoadWithUid:uid size:size];
|
[self.delegate rtcEngineVideoFirstLoadWithUid:uid size:size];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
-(void)rtcEngine:(AgoraRtcEngineKit *)engine videoSizeChangedOfSourceType:(AgoraVideoSourceType)sourceType uid:(NSUInteger)uid size:(CGSize)size rotation:(NSInteger)rotation{
|
||||||
|
|
||||||
}
|
}
|
||||||
-(void)rtcEngine:(AgoraRtcEngineKit *)engine remoteVideoStateChangedOfUid:(NSUInteger)uid state:(AgoraVideoRemoteState)state reason:(AgoraVideoRemoteReason)reason elapsed:(NSInteger)elapsed{
|
-(void)rtcEngine:(AgoraRtcEngineKit *)engine remoteVideoStateChangedOfUid:(NSUInteger)uid state:(AgoraVideoRemoteState)state reason:(AgoraVideoRemoteReason)reason elapsed:(NSInteger)elapsed{
|
||||||
NSLog(@"uid=%ld---直播远端视频状态发生变化status=%ld",uid,state);
|
NSLog(@"uid=%ld---直播远端视频状态发生变化status=%ld",uid,state);
|
||||||
@@ -742,6 +744,7 @@
|
|||||||
videoParams.dimensions = [self screenShareVideoDimension];
|
videoParams.dimensions = [self screenShareVideoDimension];
|
||||||
videoParams.frameRate = AgoraVideoFrameRateFps15;
|
videoParams.frameRate = AgoraVideoFrameRateFps15;
|
||||||
videoParams.bitrate = AgoraVideoBitrateStandard;
|
videoParams.bitrate = AgoraVideoBitrateStandard;
|
||||||
|
// _screenParams.videoParams = videoParams;
|
||||||
}
|
}
|
||||||
return _screenParams;
|
return _screenParams;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,9 +9,27 @@
|
|||||||
#import "MQTTClient.h"
|
#import "MQTTClient.h"
|
||||||
#import "MQTTSessionManager.h"
|
#import "MQTTSessionManager.h"
|
||||||
#import <CommonCrypto/CommonHMAC.h>
|
#import <CommonCrypto/CommonHMAC.h>
|
||||||
|
//typedef NS_ENUM(NSInteger) {
|
||||||
|
// /// 巡乐会进度更新
|
||||||
|
// QXManagerMqttTypeAcProgress = 100,
|
||||||
|
// /// 巡乐会即将开始
|
||||||
|
// QXManagerMqttTypeAcWill = 101,
|
||||||
|
// /// 巡乐会已经开始
|
||||||
|
// QXManagerMqttTypeAcStart = 102,
|
||||||
|
// /// 巡乐会结束落包
|
||||||
|
// QXManagerMqttTypeAcEnd = 103,
|
||||||
|
// /// 有人锁定了礼物
|
||||||
|
// QXManagerMqttTypeAcLock = 103,
|
||||||
|
//}QXManagerMqttType;
|
||||||
|
|
||||||
|
/// 礼物话题
|
||||||
static NSString * _Nonnull qx_room_topic = @"qx_room_topic";
|
static NSString * _Nonnull qx_room_topic = @"qx_room_topic";
|
||||||
|
/// 巡乐会话题
|
||||||
static NSString * _Nonnull qx_ac_topic = @"qx_xunlehui";
|
static NSString * _Nonnull qx_ac_topic = @"qx_xunlehui";
|
||||||
|
/// 小时榜话题
|
||||||
static NSString * _Nonnull qx_hour_ranking = @"qx_hour_ranking";
|
static NSString * _Nonnull qx_hour_ranking = @"qx_hour_ranking";
|
||||||
|
/// 红包话题
|
||||||
|
static NSString * _Nonnull qx_red_redpacket = @"qx_redpacket_arrive";
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
@protocol MQTTClientModelDelegate <NSObject>
|
@protocol MQTTClientModelDelegate <NSObject>
|
||||||
|
|||||||
@@ -81,6 +81,7 @@
|
|||||||
[self subscribeTopic:qx_room_topic];
|
[self subscribeTopic:qx_room_topic];
|
||||||
[self subscribeTopic:qx_ac_topic];
|
[self subscribeTopic:qx_ac_topic];
|
||||||
[self subscribeTopic:qx_hour_ranking];
|
[self subscribeTopic:qx_hour_ranking];
|
||||||
|
[self subscribeTopic:qx_red_redpacket];
|
||||||
[self reConnectForStateError];
|
[self reConnectForStateError];
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -10,26 +10,41 @@
|
|||||||
|
|
||||||
@class QXRedPacketManager;
|
@class QXRedPacketManager;
|
||||||
@protocol QXRedPacketManagerDelegate <NSObject>
|
@protocol QXRedPacketManagerDelegate <NSObject>
|
||||||
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didAddRedPacket:(QXRedPacketModel *)redPacket;
|
/// 推送添加单个红包回调
|
||||||
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didRemoveRedPacket:(NSString *)packetId;
|
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didAddRedPacket:(QXRedPacketModel *)redPacket remainingCount:(NSInteger)remainingCount;
|
||||||
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didUpdateRedPacket:(QXRedPacketModel *)redPacket;
|
/// 首次获取房间内红包列表进行添加后回调
|
||||||
|
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didAddRedPackets:(NSArray<QXRedPacketModel *>*)redPackets remainingCount:(NSInteger)remainingCount;
|
||||||
|
/// 红包从列表移除后的回调
|
||||||
|
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didRemoveRedPacket:(NSString *)packetId remainingCount:(NSInteger)remainingCount;
|
||||||
|
/// 红包状态发生变化时回调(由不可抢到可抢)
|
||||||
|
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didUpdateRedPacket:(QXRedPacketModel *)redPacket remainingCount:(NSInteger)remainingCount;
|
||||||
|
/// 红包状态发生变化时回调(由不可抢到可抢)
|
||||||
|
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didUpdateRedPacketTime:(long)time redPacket:(QXRedPacketModel *)redPacket;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface QXRedPacketManager : NSObject
|
@interface QXRedPacketManager : NSObject
|
||||||
|
@property (nonatomic, strong, readonly) NSMutableDictionary<NSString *, QXRedPacketModel *> *redPackets;
|
||||||
@property (nonatomic, weak) id<QXRedPacketManagerDelegate> delegate;
|
@property (nonatomic, weak) id<QXRedPacketManagerDelegate> delegate;
|
||||||
|
|
||||||
+ (instancetype)sharedManager;
|
+ (instancetype)sharedManager;
|
||||||
|
/// 批量添加红包
|
||||||
// 添加红包
|
- (void)addRedPackets:(NSArray<QXRedPacketModel *>*)redPackets;
|
||||||
|
/// 添加红包
|
||||||
- (void)addRedPacket:(QXRedPacketModel *)redPacket;
|
- (void)addRedPacket:(QXRedPacketModel *)redPacket;
|
||||||
// 移除红包
|
/// 移除红包
|
||||||
- (void)removeRedPacket:(NSString *)packetId;
|
- (void)removeRedPacket:(NSString *)packetId;
|
||||||
// 获取所有红包
|
/// 获取所有红包
|
||||||
- (NSArray<QXRedPacketModel *> *)allRedPackets;
|
- (NSArray<QXRedPacketModel *> *)allRedPackets;
|
||||||
// 根据位置获取红包
|
/// 根据红包id获取红包
|
||||||
- (QXRedPacketModel *)redPacketAtPosition:(NSInteger)position;
|
- (QXRedPacketModel *)getRedPacket:(NSString *)packetId;
|
||||||
// 检查并更新红包状态
|
/// 检查并更新红包状态
|
||||||
- (void)checkAndUpdateRedPackets;
|
- (void)checkAndUpdateRedPackets;
|
||||||
|
/// 移除所有红包
|
||||||
|
-(void)removeAllRedpackets;
|
||||||
|
/// 开启定时器
|
||||||
|
-(void)startCheckTimer;
|
||||||
|
/// 销毁定时器
|
||||||
|
-(void)endCheckTimer;
|
||||||
|
/// 回收内存
|
||||||
|
-(void)destoryRedpacketInfo;
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -27,40 +27,48 @@
|
|||||||
self = [super init];
|
self = [super init];
|
||||||
if (self) {
|
if (self) {
|
||||||
_redPackets = [NSMutableDictionary dictionary];
|
_redPackets = [NSMutableDictionary dictionary];
|
||||||
[self startCheckTimer];
|
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
-(void)addRedPackets:(NSArray<QXRedPacketModel *> *)redPackets{
|
||||||
|
if (redPackets.count == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (QXRedPacketModel*md in redPackets) {
|
||||||
|
self.redPackets[md.redpacket_id] = md;
|
||||||
|
}
|
||||||
|
if ([self.delegate respondsToSelector:@selector(QXRedPacketManager:didAddRedPackets:remainingCount:)]) {
|
||||||
|
[self.delegate QXRedPacketManager:[QXRedPacketManager sharedManager] didAddRedPackets:redPackets remainingCount:self.redPackets.count];
|
||||||
|
}
|
||||||
|
}
|
||||||
- (void)addRedPacket:(QXRedPacketModel *)redPacket {
|
- (void)addRedPacket:(QXRedPacketModel *)redPacket {
|
||||||
if (!redPacket.packetId) return;
|
if (!redPacket.redpacket_id) return;
|
||||||
|
|
||||||
self.redPackets[redPacket.packetId] = redPacket;
|
self.redPackets[redPacket.redpacket_id] = redPacket;
|
||||||
|
|
||||||
if ([self.delegate respondsToSelector:@selector(QXRedPacketManager:didAddRedPacket:)]) {
|
if ([self.delegate respondsToSelector:@selector(QXRedPacketManager:didAddRedPacket:remainingCount:)]) {
|
||||||
[self.delegate respondsToSelector:@selector(QXRedPacketManager:didAddRedPacket:)];
|
[self.delegate QXRedPacketManager:[QXRedPacketManager sharedManager] didAddRedPacket:redPacket remainingCount:self.redPackets.count];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)removeRedPacket:(NSString *)packetId {
|
- (void)removeRedPacket:(NSString *)packetId {
|
||||||
[self.redPackets removeObjectForKey:packetId];
|
[self.redPackets removeObjectForKey:packetId];
|
||||||
|
|
||||||
if ([self.delegate respondsToSelector:@selector(QXRedPacketManager:didRemoveRedPacket:)]) {
|
if ([self.delegate respondsToSelector:@selector(QXRedPacketManager:didRemoveRedPacket:remainingCount:)]) {
|
||||||
[self.delegate QXRedPacketManager:self didRemoveRedPacket:packetId];
|
[self.delegate QXRedPacketManager:[QXRedPacketManager sharedManager] didRemoveRedPacket:packetId remainingCount:self.redPackets.count];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSArray<QXRedPacketModel *> *)allRedPackets {
|
- (NSArray<QXRedPacketModel *> *)allRedPackets {
|
||||||
return [self.redPackets allValues];
|
return [self sortRedPacketsByOpenTime:[self.redPackets allValues]];
|
||||||
}
|
}
|
||||||
|
- (NSArray *)sortRedPacketsByOpenTime:(NSArray *)redPackets {
|
||||||
- (QXRedPacketModel *)redPacketAtPosition:(NSInteger)position {
|
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"start_time" ascending:YES];
|
||||||
for (QXRedPacketModel *packet in self.redPackets.allValues) {
|
NSArray *sortedArray = [redPackets sortedArrayUsingDescriptors:@[sortDescriptor]];
|
||||||
if (packet.position == position) {
|
return sortedArray;
|
||||||
return packet;
|
}
|
||||||
}
|
-(QXRedPacketModel *)getRedPacket:(NSString *)packetId{
|
||||||
}
|
return [self.redPackets objectForKey:packetId];
|
||||||
return nil;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)startCheckTimer {
|
- (void)startCheckTimer {
|
||||||
@@ -75,27 +83,52 @@
|
|||||||
NSArray *packets = [self.allRedPackets copy];
|
NSArray *packets = [self.allRedPackets copy];
|
||||||
|
|
||||||
for (QXRedPacketModel *packet in packets) {
|
for (QXRedPacketModel *packet in packets) {
|
||||||
|
// 倒计时结束的红包可以设置自动移除
|
||||||
|
long packetTime = [packet remainingTime];
|
||||||
|
if ((packetTime <= -packet.redpacket_time.intValue)) {
|
||||||
|
// 倒计时结束10秒后自动移除
|
||||||
|
[self removeRedPacket:packet.redpacket_id];
|
||||||
|
}
|
||||||
|
if (packet.countdown.intValue == 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if ([self.delegate respondsToSelector:@selector(QXRedPacketManager:didUpdateRedPacketTime:redPacket:)]) {
|
||||||
|
[self.delegate QXRedPacketManager:[QXRedPacketManager sharedManager] didUpdateRedPacketTime:packetTime redPacket:packet];
|
||||||
|
}
|
||||||
|
|
||||||
BOOL wasAvailable = packet.isAvailable;
|
BOOL wasAvailable = packet.isAvailable;
|
||||||
packet.isAvailable = [packet canOpenNow];
|
packet.isAvailable = [packet canOpenNow];
|
||||||
|
|
||||||
// 状态发生变化时通知
|
// 状态发生变化时通知
|
||||||
if (wasAvailable != packet.isAvailable) {
|
if (wasAvailable != packet.isAvailable) {
|
||||||
if ([self.delegate respondsToSelector:@selector(QXRedPacketManager:didUpdateRedPacket:)]) {
|
if ([self.delegate respondsToSelector:@selector(QXRedPacketManager:didUpdateRedPacket:remainingCount:)]) {
|
||||||
[self.delegate QXRedPacketManager:self didUpdateRedPacket:packet];
|
[self.delegate QXRedPacketManager:[QXRedPacketManager sharedManager] didUpdateRedPacket:packet remainingCount:self.redPackets.count];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 倒计时结束的红包可以设置自动移除
|
|
||||||
// if (packet.type == RedPacketTypeCountdown && [packet remainingTime] <= -10) {
|
|
||||||
// // 倒计时结束10秒后自动移除
|
}
|
||||||
// [self removeRedPacket:packet.packetId];
|
}
|
||||||
// }
|
-(void)removeAllRedpackets{
|
||||||
|
[self.redPackets removeAllObjects];
|
||||||
|
}
|
||||||
|
-(void)endCheckTimer{
|
||||||
|
if (self.checkTimer) {
|
||||||
|
[self.checkTimer invalidate];
|
||||||
|
self.checkTimer = nil;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-(void)destoryRedpacketInfo{
|
||||||
|
[self removeAllRedpackets];
|
||||||
|
[self endCheckTimer];
|
||||||
|
self.delegate = nil;
|
||||||
|
}
|
||||||
|
- (void)dealloc {
|
||||||
|
if (self.checkTimer) {
|
||||||
|
[self.checkTimer invalidate];
|
||||||
|
self.checkTimer = nil;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)dealloc {
|
|
||||||
[self.checkTimer invalidate];
|
|
||||||
self.checkTimer = nil;
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
#import "QXRoomChatListView.h"
|
#import "QXRoomChatListView.h"
|
||||||
#import "QXRoomModel.h"
|
#import "QXRoomModel.h"
|
||||||
#import "QXRoomFriendRelationModel.h"
|
#import "QXRoomFriendRelationModel.h"
|
||||||
|
#import "QXRedPacketModel.h"
|
||||||
|
|
||||||
typedef NS_ENUM(NSInteger) {
|
typedef NS_ENUM(NSInteger) {
|
||||||
/// 清空消息
|
/// 清空消息
|
||||||
@@ -124,6 +125,11 @@ typedef NS_ENUM(NSInteger) {
|
|||||||
QXRoomMessageTypeRoomUserOnlineStatus = 1058,
|
QXRoomMessageTypeRoomUserOnlineStatus = 1058,
|
||||||
/// 清除个人魅力
|
/// 清除个人魅力
|
||||||
QXRoomMessageTypeRoomClearUserCharm = 1059,
|
QXRoomMessageTypeRoomClearUserCharm = 1059,
|
||||||
|
|
||||||
|
/// 发红包
|
||||||
|
QXRoomMessageTypeSendRedpacket = 1060,
|
||||||
|
/// 红包已被抢完
|
||||||
|
QXRoomMessageTypeRedpacketFinished = 1061,
|
||||||
}QXRoomMessageType;
|
}QXRoomMessageType;
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
@protocol QXRoomMessageManagerDelegate <NSObject>
|
@protocol QXRoomMessageManagerDelegate <NSObject>
|
||||||
@@ -253,6 +259,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
-(void)meetActivityGiftInfoIsUpdate:(QXRoomChatListModel*)giftInfo;
|
-(void)meetActivityGiftInfoIsUpdate:(QXRoomChatListModel*)giftInfo;
|
||||||
/// 清除个人魅力
|
/// 清除个人魅力
|
||||||
-(void)roomClearUserCharmWithUserId:(NSString*)userId;
|
-(void)roomClearUserCharmWithUserId:(NSString*)userId;
|
||||||
|
/// 发红包
|
||||||
|
-(void)recievedRedPacket:(QXRedPacketModel*)model;
|
||||||
|
/// 红包
|
||||||
|
-(void)redPacketDidFinished:(NSString*)redpacket_id;
|
||||||
|
|
||||||
/// 房间用户在线状态发生变化
|
/// 房间用户在线状态发生变化
|
||||||
//-(void)roomUserOnlineStatusDidChanged:(BOOL)isOnline userId:(NSString*)userId;
|
//-(void)roomUserOnlineStatusDidChanged:(BOOL)isOnline userId:(NSString*)userId;
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -616,6 +616,20 @@
|
|||||||
[[NSNotificationCenter defaultCenter] postNotificationName:noticeRoomUserOnlineStatusDidChanged object:parm];
|
[[NSNotificationCenter defaultCenter] postNotificationName:noticeRoomUserOnlineStatusDidChanged object:parm];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case QXRoomMessageTypeSendRedpacket:{
|
||||||
|
QXRedPacketModel *model = [QXRedPacketModel yy_modelWithJSON:msg.Text[@"redpacketInfo"]];
|
||||||
|
if (self.delegate && [self.delegate respondsToSelector:@selector(recievedRedPacket:)]) {
|
||||||
|
[self.delegate recievedRedPacket:model];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case QXRoomMessageTypeRedpacketFinished:{
|
||||||
|
NSString *redpacket_id = [NSString stringWithFormat:@"%@",msg.Text[@"redpacket_id"]];
|
||||||
|
if (self.delegate && [self.delegate respondsToSelector:@selector(redPacketDidFinished:)]) {
|
||||||
|
[self.delegate redPacketDidFinished:redpacket_id];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
#import "QXDayTaskModel.h"
|
#import "QXDayTaskModel.h"
|
||||||
#import "QXRoomUserCharmModel.h"
|
#import "QXRoomUserCharmModel.h"
|
||||||
#import "QXRoomHourRankModel.h"
|
#import "QXRoomHourRankModel.h"
|
||||||
|
#import "QXRedPacketModel.h"
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@@ -843,6 +844,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
coin:(NSString*)coin
|
coin:(NSString*)coin
|
||||||
type:(NSString*)type
|
type:(NSString*)type
|
||||||
userId:(NSString*)userId
|
userId:(NSString*)userId
|
||||||
|
typeId:(NSString*)typeId
|
||||||
successBlock:(void (^)(NSDictionary* dict))successBlock
|
successBlock:(void (^)(NSDictionary* dict))successBlock
|
||||||
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
|
|
||||||
@@ -1075,6 +1077,64 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
+(void)roomHourRankWithPage:(NSInteger)page
|
+(void)roomHourRankWithPage:(NSInteger)page
|
||||||
successBlock:(void (^)(QXRoomHourRankModel* model))successBlock
|
successBlock:(void (^)(QXRoomHourRankModel* model))successBlock
|
||||||
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
发红包
|
||||||
|
type 红包类型:1-普通红包,2-口令红包
|
||||||
|
password 口令
|
||||||
|
coin_type 币种:1- 金币,2- 钻石
|
||||||
|
total_amount 总金额
|
||||||
|
total_count 红包个数
|
||||||
|
conditions 条件值(逗号分隔)
|
||||||
|
countdown 倒计时(单位S)
|
||||||
|
room_id 房间ID
|
||||||
|
*/
|
||||||
|
+(void)createRedpacketWithType:(NSString*)type
|
||||||
|
password:(NSString*)password
|
||||||
|
coin_type:(NSString*)coin_type
|
||||||
|
total_amount:(NSString*)total_amount
|
||||||
|
total_count:(NSString*)total_count
|
||||||
|
conditions:(NSString*)conditions
|
||||||
|
countdown:(NSString*)countdown
|
||||||
|
room_id:(NSString*)room_id
|
||||||
|
remark:(NSString *)remark
|
||||||
|
successBlock:(void (^)(NSDictionary* dict))successBlock
|
||||||
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
|
|
||||||
|
/**
|
||||||
|
获取房间红包列表
|
||||||
|
*/
|
||||||
|
+(void)getRedpacketListWithRoomId:(NSString*)roomId
|
||||||
|
successBlock:(void (^)(NSArray<QXRedPacketModel*>* list))successBlock
|
||||||
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
抢红包
|
||||||
|
返回code 1 正常抢 2已经抢过了 3 手慢了
|
||||||
|
*/
|
||||||
|
+(void)drawRedpacketWithRedpacketId:(NSString*)redpacketId
|
||||||
|
successBlock:(void (^)(NSString* code))successBlock
|
||||||
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
获取红包记录列表
|
||||||
|
*/
|
||||||
|
+(void)getRedpacketRecordWithRedpacketId:(NSString*)redpacketId
|
||||||
|
successBlock:(void (^)(QXDrawRedPacketModel* list))successBlock
|
||||||
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
收藏房间
|
||||||
|
1 收藏 0 取消收藏
|
||||||
|
*/
|
||||||
|
+(void)roomCollectWithType:(NSString*)type
|
||||||
|
room_id:(NSString*)room_id
|
||||||
|
successBlock:(void (^)(NSDictionary* dict))successBlock
|
||||||
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1627,12 +1627,13 @@
|
|||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
+(void)rechargePayWithMoney:(NSString *)money coin:(NSString *)coin type:(NSString *)type userId:(NSString*)userId successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
+(void)rechargePayWithMoney:(NSString *)money coin:(NSString *)coin type:(NSString *)type userId:(NSString*)userId typeId:(NSString*)typeId successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
||||||
NSDictionary *parameters =@{
|
NSDictionary *parameters =@{
|
||||||
@"coin":coin?coin:@"",
|
@"coin":coin?coin:@"",
|
||||||
@"money":money?money:@"",
|
@"money":money?money:@"",
|
||||||
@"type":type?type:@"",
|
@"type":type?type:@"",
|
||||||
@"user_id":userId?userId:@""
|
@"user_id":userId?userId:@"",
|
||||||
|
@"type_id":typeId?typeId:@""
|
||||||
};
|
};
|
||||||
[[QXRequset shareInstance] postWithUrl:QXRechargePay parameters:parameters needCache:NO success:^(id responseObject) {
|
[[QXRequset shareInstance] postWithUrl:QXRechargePay parameters:parameters needCache:NO success:^(id responseObject) {
|
||||||
if (successBlock) {
|
if (successBlock) {
|
||||||
@@ -2108,5 +2109,104 @@
|
|||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+(void)createRedpacketWithType:(NSString *)type
|
||||||
|
password:(NSString *)password
|
||||||
|
coin_type:(NSString *)coin_type
|
||||||
|
total_amount:(NSString *)total_amount
|
||||||
|
total_count:(NSString *)total_count
|
||||||
|
conditions:(NSString *)conditions
|
||||||
|
countdown:(NSString *)countdown
|
||||||
|
room_id:(NSString *)room_id
|
||||||
|
remark:(NSString *)remark
|
||||||
|
successBlock:(void (^)(NSDictionary * _Nonnull))successBlock
|
||||||
|
failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
||||||
|
NSDictionary *parameters =@{
|
||||||
|
@"type":type?type:@"",
|
||||||
|
@"password":password?password:@"",
|
||||||
|
@"coin_type":coin_type?coin_type:@"",
|
||||||
|
@"total_amount":total_amount?total_amount:@"",
|
||||||
|
@"total_count":total_count?total_count:@"",
|
||||||
|
@"conditions":conditions?conditions:@"",
|
||||||
|
@"countdown":countdown?countdown:@"",
|
||||||
|
@"room_id":room_id?room_id:@"",
|
||||||
|
@"remark":remark?remark:@""
|
||||||
|
};
|
||||||
|
[[QXRequset shareInstance] postWithUrl:QXRoomCreateRedpacket parameters:parameters needCache:NO success:^(id responseObject) {
|
||||||
|
if (successBlock) {
|
||||||
|
successBlock(responseObject[@"data"]);
|
||||||
|
}
|
||||||
|
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
|
||||||
|
failBlock(error,msg);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
+(void)getRedpacketListWithRoomId:(NSString *)roomId
|
||||||
|
successBlock:(void (^)(NSArray<QXRedPacketModel *> * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
||||||
|
NSDictionary *parameters =@{
|
||||||
|
@"room_id":roomId?roomId:@"",
|
||||||
|
};
|
||||||
|
[[QXRequset shareInstance] getWithUrl:QXRoomRedpacketList parameters:parameters needCache:NO success:^(id responseObject) {
|
||||||
|
if (successBlock) {
|
||||||
|
NSArray*list = [NSArray yy_modelArrayWithClass:[QXRedPacketModel class] json:responseObject[@"data"]];
|
||||||
|
successBlock(list);
|
||||||
|
}
|
||||||
|
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
|
||||||
|
failBlock(error,msg);
|
||||||
|
}];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
抢红包
|
||||||
|
*/
|
||||||
|
+(void)drawRedpacketWithRedpacketId:(NSString*)redpacketId
|
||||||
|
successBlock:(void (^)(NSString* code))successBlock
|
||||||
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock{
|
||||||
|
NSDictionary *parameters =@{
|
||||||
|
@"redpacket_id":redpacketId?redpacketId:@"",
|
||||||
|
};
|
||||||
|
[[QXRequset shareInstance] postWithUrl:QXRoomDrawRedpacket parameters:parameters needCache:NO success:^(id responseObject) {
|
||||||
|
if (successBlock) {
|
||||||
|
NSString *code = [NSString stringWithFormat:@"%@",responseObject[@"data"][@"code"]];
|
||||||
|
successBlock(code);
|
||||||
|
}
|
||||||
|
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
|
||||||
|
failBlock(error,msg);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
获取红包记录列表
|
||||||
|
*/
|
||||||
|
+(void)getRedpacketRecordWithRedpacketId:(NSString*)redpacketId
|
||||||
|
successBlock:(nonnull void (^)(QXDrawRedPacketModel * _Nonnull))successBlock
|
||||||
|
failBlock:(nonnull void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
||||||
|
NSDictionary *parameters =@{
|
||||||
|
@"redpacket_id":redpacketId?redpacketId:@"",
|
||||||
|
};
|
||||||
|
[[QXRequset shareInstance] postWithUrl:QXRoomRedpacketDetail parameters:parameters needCache:NO success:^(id responseObject) {
|
||||||
|
if (successBlock) {
|
||||||
|
QXDrawRedPacketModel*model = [QXDrawRedPacketModel yy_modelWithJSON:responseObject[@"data"]];
|
||||||
|
successBlock(model);
|
||||||
|
}
|
||||||
|
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
|
||||||
|
failBlock(error,msg);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
+(void)roomCollectWithType:(NSString *)type room_id:(NSString *)room_id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
||||||
|
NSDictionary *parameters =@{
|
||||||
|
@"room_id":room_id?room_id:@"",
|
||||||
|
@"type":type?type:@""
|
||||||
|
};
|
||||||
|
[[QXRequset shareInstance] getWithUrl:QXUserFollowRoom parameters:parameters needCache:NO success:^(id responseObject) {
|
||||||
|
if (successBlock) {
|
||||||
|
successBlock(responseObject[@"data"]);
|
||||||
|
}
|
||||||
|
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
|
||||||
|
failBlock(error,msg);
|
||||||
|
}];
|
||||||
|
}
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nonatomic,assign)BOOL isPop;
|
@property (nonatomic,assign)BOOL isPop;
|
||||||
@property (nonatomic,assign)BOOL isOnlyDisplayPayType;
|
@property (nonatomic,assign)BOOL isOnlyDisplayPayType;
|
||||||
@property (nonatomic,strong)QXRechargeListModel *selectedModel;
|
@property (nonatomic,strong)QXRechargeListModel *selectedModel;
|
||||||
|
@property (nonatomic,strong)NSString *gift_bag_id;
|
||||||
-(void)showInView:(UIView *)view;
|
-(void)showInView:(UIView *)view;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
@@ -266,7 +266,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@weakify(self)
|
@weakify(self)
|
||||||
[QXMineNetwork rechargePayWithMoney:self.selectedModel.money coin:self.selectedModel.coins type:self.selectedPayTypeModel.type userId:QXGlobal.shareGlobal.loginModel.user_id successBlock:^(NSDictionary * _Nonnull dict) {
|
[QXMineNetwork rechargePayWithMoney:self.selectedModel.money coin:self.selectedModel.coins type:self.selectedPayTypeModel.type userId:QXGlobal.shareGlobal.loginModel.user_id typeId:self.gift_bag_id successBlock:^(NSDictionary * _Nonnull dict) {
|
||||||
@strongify(self)
|
@strongify(self)
|
||||||
if (self.selectedPayTypeModel.type.intValue == 2) {
|
if (self.selectedPayTypeModel.type.intValue == 2) {
|
||||||
NSDictionary *resultDict = dict[@"data"];
|
NSDictionary *resultDict = dict[@"data"];
|
||||||
|
|||||||
22
QXLive/Other/Assets.xcassets/home/room/a_redbag/red_bag_list_is_get_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "红包2@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "红包2@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/home/room/a_redbag/red_bag_list_is_get_icon.imageset/红包2@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
QXLive/Other/Assets.xcassets/home/room/a_redbag/red_bag_list_is_get_icon.imageset/红包2@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 49 KiB |
22
QXLive/Other/Assets.xcassets/home/room/a_redbag/red_bag_list_pwd_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "red_bag_list_pwd_icon@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "red_bag_list_pwd_icon@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
21
QXLive/Other/Assets.xcassets/home/room/a_redbag/red_packet_pop_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "red_packet_pop_bg@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/home/room/a_redbag/red_packet_pop_bg.imageset/red_packet_pop_bg@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 220 KiB |
22
QXLive/Other/Assets.xcassets/home/room/a_redbag/red_packet_pwd_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "red_packet_pwd_icon@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "red_packet_pwd_icon@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
@@ -5,12 +5,12 @@
|
|||||||
"scale" : "1x"
|
"scale" : "1x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename" : "room_set_room_send_redbag@2x.png",
|
"filename" : "发红包@2x.png",
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename" : "room_set_room_send_redbag@3x.png",
|
"filename" : "发红包@3x.png",
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"scale" : "3x"
|
"scale" : "3x"
|
||||||
}
|
}
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 5.6 KiB |
BIN
QXLive/Other/Assets.xcassets/home/room/room_set_room_send_redbag.imageset/发红包@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
BIN
QXLive/Other/Assets.xcassets/home/room/room_set_room_send_redbag.imageset/发红包@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 14 KiB |
@@ -5,7 +5,7 @@
|
|||||||
"scale" : "1x"
|
"scale" : "1x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename" : "天降好礼@2x.png",
|
"filename" : "首充礼包@2x.png",
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
},
|
},
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 158 KiB |
BIN
QXLive/Other/Assets.xcassets/弹窗/a_first_recharge_bg.imageset/首充礼包@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 165 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 50 KiB |
22
QXLive/Other/Assets.xcassets/弹窗/one_mouth_money.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "one_mouth_money@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "one_mouth_money@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/弹窗/one_mouth_money.imageset/one_mouth_money@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
QXLive/Other/Assets.xcassets/弹窗/one_mouth_money.imageset/one_mouth_money@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 21 KiB |
22
QXLive/Other/Assets.xcassets/弹窗/one_mouth_money_sel.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "image 750@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "image 750@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/弹窗/one_mouth_money_sel.imageset/image 750@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
QXLive/Other/Assets.xcassets/弹窗/one_mouth_money_sel.imageset/image 750@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 21 KiB |
@@ -118,6 +118,8 @@ static NSString *const noticeAlipayResult = @"noticeAlipayResult";
|
|||||||
static NSString *const noticeChangePassword = @"noticeChangePassword";
|
static NSString *const noticeChangePassword = @"noticeChangePassword";
|
||||||
/// 相册删除成功
|
/// 相册删除成功
|
||||||
static NSString *const noticePhotosStatusChange = @"noticePhotosStatusChange";
|
static NSString *const noticePhotosStatusChange = @"noticePhotosStatusChange";
|
||||||
|
/// 巡乐会进度更新
|
||||||
|
static NSString *const noticeXLHNotice = @"noticeXLHNotice";
|
||||||
|
|
||||||
/// 声网说话
|
/// 声网说话
|
||||||
static NSString *const noticeUserSpeak = @"noticeUserSpeak";
|
static NSString *const noticeUserSpeak = @"noticeUserSpeak";
|
||||||
|
|||||||
@@ -147,6 +147,9 @@ static NSString * QXDynamicMutualRelationship = @"api/UserZone/mutual_follow";
|
|||||||
/// 关注/取关
|
/// 关注/取关
|
||||||
static NSString * QXUserFollow = @"api/User/follow";
|
static NSString * QXUserFollow = @"api/User/follow";
|
||||||
|
|
||||||
|
/// 收藏房间
|
||||||
|
static NSString * QXUserFollowRoom = @"api/User/follow_room";
|
||||||
|
|
||||||
#pragma mark - 系统消息封面
|
#pragma mark - 系统消息封面
|
||||||
/// 系统消息封面
|
/// 系统消息封面
|
||||||
static NSString * QXSystemHomeMessage = @"api/UserMessage/get_user_message_cover_info";
|
static NSString * QXSystemHomeMessage = @"api/UserMessage/get_user_message_cover_info";
|
||||||
@@ -454,4 +457,12 @@ static NSString * QXWalletBindDetail = @"api/Bind/bind_detail";
|
|||||||
/// 小时榜
|
/// 小时榜
|
||||||
static NSString * QXRoomHourRank = @"api/RoomHourRanking/room_hour_ranking";
|
static NSString * QXRoomHourRank = @"api/RoomHourRanking/room_hour_ranking";
|
||||||
|
|
||||||
|
/// 创建红包
|
||||||
|
static NSString * QXRoomCreateRedpacket = @"api/Redpacket/create";
|
||||||
|
/// 抢红包
|
||||||
|
static NSString * QXRoomDrawRedpacket = @"api/Redpacket/grab";
|
||||||
|
/// 房间内红包列表
|
||||||
|
static NSString * QXRoomRedpacketList = @"api/Redpacket/roomRedPackets";
|
||||||
|
/// 红包详情
|
||||||
|
static NSString * QXRoomRedpacketDetail = @"api/Redpacket/detail";
|
||||||
#endif /* Api_h */
|
#endif /* Api_h */
|
||||||
|
|||||||
BIN
QXLive/Other/sound/red_packet_come.mp3
Normal file
@@ -23,7 +23,7 @@
|
|||||||
<string>weixin</string>
|
<string>weixin</string>
|
||||||
<key>CFBundleURLSchemes</key>
|
<key>CFBundleURLSchemes</key>
|
||||||
<array>
|
<array>
|
||||||
<string>wxfc7bf7ca8c71840d</string>
|
<string>wxef1289d8a89b41d4</string>
|
||||||
</array>
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
//#import "QXFirstRechargePopView.h" // 首充
|
//#import "QXFirstRechargePopView.h" // 首充
|
||||||
#import "QXInvitePopView.h" // 邀请
|
#import "QXInvitePopView.h" // 邀请
|
||||||
#import "QXGiftDriftView.h" // 礼物飘屏
|
#import "QXGiftDriftView.h" // 礼物飘屏
|
||||||
|
#import "QXRedPacketDriftView.h" // 红包飘屏
|
||||||
#import <ImSDK_Plus/ImSDK_Plus.h>
|
#import <ImSDK_Plus/ImSDK_Plus.h>
|
||||||
#import "QXMessageServices.h"
|
#import "QXMessageServices.h"
|
||||||
|
|
||||||
@@ -99,6 +100,7 @@
|
|||||||
[[QXGlobal shareGlobal].alertViewController hideViewFinishBlock:^{
|
[[QXGlobal shareGlobal].alertViewController hideViewFinishBlock:^{
|
||||||
QXLOG(@"页面关闭");
|
QXLOG(@"页面关闭");
|
||||||
// [weakSelf popNiceGiftView];
|
// [weakSelf popNiceGiftView];
|
||||||
|
[weakSelf.homeVC popFirstRechargeView];
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
view.gotoActionBlock = ^{
|
view.gotoActionBlock = ^{
|
||||||
@@ -267,34 +269,32 @@
|
|||||||
|
|
||||||
-(void)socketManager:(NSString *)socketManager receivedMessage:(NSDictionary *)message topic:(NSString *)topic{
|
-(void)socketManager:(NSString *)socketManager receivedMessage:(NSDictionary *)message topic:(NSString *)topic{
|
||||||
if ([topic isEqualToString:qx_room_topic]) {
|
if ([topic isEqualToString:qx_room_topic]) {
|
||||||
// NSDictionary*dict = message[@"msg"];
|
NSArray *array = [NSArray yy_modelArrayWithClass:[QXGiftScrollModel class] json:message[@"msg"][@"list"]];
|
||||||
// BOOL isList = YES;
|
if (array.count == 0) {
|
||||||
// for (NSString *key in dict.allKeys) {
|
return;
|
||||||
// if ([key isEqualToString:@"list"]) {
|
}
|
||||||
// isList = NO;
|
[self.homeVC giftScrollViewShowWithModelList:array];
|
||||||
// break;
|
[[QXGiftDriftView shareView] addGiftModelList:array];
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// if (isList) {
|
|
||||||
NSArray *array = [NSArray yy_modelArrayWithClass:[QXGiftScrollModel class] json:message[@"msg"][@"list"]];
|
|
||||||
if (array.count == 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
[self.homeVC giftScrollViewShowWithModelList:array];
|
|
||||||
[[QXGiftDriftView shareView] addGiftModelList:array];
|
|
||||||
// }else{
|
|
||||||
// QXGiftScrollModel *model = [QXGiftScrollModel yy_modelWithJSON:message[@"msg"][@"list"]];
|
|
||||||
// [self.homeVC giftScrollViewShowWithModel:model];
|
|
||||||
// [[QXGiftDriftView shareView] addGiftModel:model];
|
|
||||||
// }
|
|
||||||
}else if([topic isEqualToString:qx_ac_topic]){
|
}else if([topic isEqualToString:qx_ac_topic]){
|
||||||
|
// QXManagerMqttType
|
||||||
QXMeetActivityDriftModel *model = [QXMeetActivityDriftModel yy_modelWithJSON:message[@"msg"]];
|
QXMeetActivityDriftModel *model = [QXMeetActivityDriftModel yy_modelWithJSON:message[@"msg"]];
|
||||||
|
if (model.from_type == QXMeetActivityTypeAcProgress) {
|
||||||
|
[[NSNotificationCenter defaultCenter] postNotificationName:noticeXLHNotice object:model];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (model.from_type == QXMeetActivityTypeAcLock) {
|
||||||
|
[[NSNotificationCenter defaultCenter] postNotificationName:noticeXLHNotice object:model];
|
||||||
|
}
|
||||||
[[QXMeetActivityDriftView shareView] addActivityModel:model];
|
[[QXMeetActivityDriftView shareView] addActivityModel:model];
|
||||||
}else if ([topic isEqualToString:qx_hour_ranking]){
|
}else if ([topic isEqualToString:qx_hour_ranking]){
|
||||||
NSArray *arr = [NSArray yy_modelArrayWithClass:[QXRoomHourDriftModel class] json:message[@"msg"]];
|
NSArray *arr = [NSArray yy_modelArrayWithClass:[QXRoomHourDriftModel class] json:message[@"msg"]];
|
||||||
[[QXDrifRoomHourRankView shareView] addActivityModelList:arr];
|
[[QXDrifRoomHourRankView shareView] addActivityModelList:arr];
|
||||||
|
}else if ([topic isEqualToString:qx_red_redpacket]){
|
||||||
|
QXRedPacketDriftModel *model = [QXRedPacketDriftModel yy_modelWithJSON:message[@"msg"]];
|
||||||
|
[[QXRedPacketDriftView shareView] addRedpacketModel:model];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
-(QXAppVersionView *)appUpdateView{
|
-(QXAppVersionView *)appUpdateView{
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
@interface QXFirstRechargeView : UIView
|
@interface QXFirstRechargeView : UIView
|
||||||
@property (nonatomic,copy)void(^closeActionBlock)(void);
|
@property (nonatomic,copy)void(^closeActionBlock)(void);
|
||||||
@property (nonatomic,copy)void(^getActionBlock)(void);
|
@property (nonatomic,copy)void(^rechargeActionBlock)(NSString*money,NSString*gift_bag_id);
|
||||||
@property (nonatomic,copy)void(^refreshBlcock)(void);
|
@property (nonatomic,copy)void(^refreshBlcock)(void);
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
@@ -82,7 +82,7 @@
|
|||||||
self.messageLabel = [[UILabel alloc] init];
|
self.messageLabel = [[UILabel alloc] init];
|
||||||
self.messageLabel.font = [UIFont systemFontOfSize:12];
|
self.messageLabel.font = [UIFont systemFontOfSize:12];
|
||||||
self.messageLabel.numberOfLines = 0;
|
self.messageLabel.numberOfLines = 0;
|
||||||
self.messageLabel.text = QXText(@"充值6元即可获得总价值888金币的道具或装扮");
|
self.messageLabel.text = QXText(@"");
|
||||||
self.messageLabel.textColor = QXConfig.textColor;
|
self.messageLabel.textColor = QXConfig.textColor;
|
||||||
[self.giftBgView addSubview:self.messageLabel];
|
[self.giftBgView addSubview:self.messageLabel];
|
||||||
[self.messageLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.messageLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
@@ -126,6 +126,7 @@
|
|||||||
QXFirstRechargeModel *md = list.firstObject;
|
QXFirstRechargeModel *md = list.firstObject;
|
||||||
if (md) {
|
if (md) {
|
||||||
weakSelf.model = md;
|
weakSelf.model = md;
|
||||||
|
weakSelf.messageLabel.text = [NSString stringWithFormat:@"充值%@即可获得%@金币",md.name,md.title2];
|
||||||
[weakSelf.collectionView reloadData];
|
[weakSelf.collectionView reloadData];
|
||||||
}
|
}
|
||||||
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
@@ -149,8 +150,8 @@
|
|||||||
|
|
||||||
// 立即领取
|
// 立即领取
|
||||||
-(void)getAction{
|
-(void)getAction{
|
||||||
if (self.getActionBlock) {
|
if (self.rechargeActionBlock) {
|
||||||
self.getActionBlock();
|
self.rechargeActionBlock(self.model.money,self.model.gift_bag_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
-(void)closeAction{
|
-(void)closeAction{
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
@interface QXNewPeoplePopView : UIView
|
@interface QXNewPeoplePopView : UIView
|
||||||
@property (nonatomic,copy)void(^closeActionBlock)(void);
|
@property (nonatomic,copy)void(^closeActionBlock)(void);
|
||||||
@property (nonatomic,copy)void(^rechargeActionBlock)(NSString*money);
|
@property (nonatomic,copy)void(^rechargeActionBlock)(NSString*money,NSString*gift_bag_id);
|
||||||
@property (nonatomic,copy)void(^refreshBlcock)(void);
|
@property (nonatomic,copy)void(^refreshBlcock)(void);
|
||||||
@property (nonatomic,strong)NSArray *giftArray;
|
@property (nonatomic,strong)NSArray *giftArray;
|
||||||
-(void)reloadData;
|
-(void)reloadData;
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
@property (nonatomic,strong)UIButton *firstBtn;
|
@property (nonatomic,strong)UIButton *firstBtn;
|
||||||
@property (nonatomic,strong)UIButton *secondBtn;
|
@property (nonatomic,strong)UIButton *secondBtn;
|
||||||
@property (nonatomic,strong)UIButton *thirdBtn;
|
@property (nonatomic,strong)UIButton *thirdBtn;
|
||||||
|
@property (nonatomic,strong)UIButton *oneMouthBtn;
|
||||||
@property (nonatomic,strong)UIButton *selectedBtn;
|
@property (nonatomic,strong)UIButton *selectedBtn;
|
||||||
|
|
||||||
@property (nonatomic,strong)UIView *giftBgView;
|
@property (nonatomic,strong)UIView *giftBgView;
|
||||||
@@ -29,7 +30,9 @@
|
|||||||
@property (nonatomic,strong)QXNiceGiftRechargeModel *md1;
|
@property (nonatomic,strong)QXNiceGiftRechargeModel *md1;
|
||||||
@property (nonatomic,strong)QXNiceGiftRechargeModel *md2;
|
@property (nonatomic,strong)QXNiceGiftRechargeModel *md2;
|
||||||
@property (nonatomic,strong)QXNiceGiftRechargeModel *md3;
|
@property (nonatomic,strong)QXNiceGiftRechargeModel *md3;
|
||||||
|
@property (nonatomic,strong)QXNiceGiftRechargeModel *md4;
|
||||||
@property (nonatomic,strong)QXNiceGiftRechargeModel *smd;
|
@property (nonatomic,strong)QXNiceGiftRechargeModel *smd;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation QXNewPeoplePopView
|
@implementation QXNewPeoplePopView
|
||||||
@@ -71,9 +74,11 @@
|
|||||||
self.firstBtn.hidden = YES;
|
self.firstBtn.hidden = YES;
|
||||||
UIImage *firstNorImage = [UIImage imageWithColor:RGB16(0xFFFFFF)];
|
UIImage *firstNorImage = [UIImage imageWithColor:RGB16(0xFFFFFF)];
|
||||||
UIImage *firstSelImage = [UIImage imageWithColor:RGB16(0xF4DF39)];
|
UIImage *firstSelImage = [UIImage imageWithColor:RGB16(0xF4DF39)];
|
||||||
|
UIImage *firstDisImage = [UIImage imageWithColor:RGB16(0xE9E9E9)];
|
||||||
[self.firstBtn setBackgroundImage:firstNorImage forState:(UIControlStateNormal)];
|
[self.firstBtn setBackgroundImage:firstNorImage forState:(UIControlStateNormal)];
|
||||||
[self.firstBtn setBackgroundImage:firstSelImage forState:(UIControlStateSelected)];
|
[self.firstBtn setBackgroundImage:firstSelImage forState:(UIControlStateSelected)];
|
||||||
self.firstBtn.selected = YES;
|
[self.firstBtn setBackgroundImage:firstDisImage forState:(UIControlStateDisabled)];
|
||||||
|
// self.firstBtn.selected = YES;
|
||||||
// [self.firstBtn setTitle:@"9元" forState:(UIControlStateNormal)];
|
// [self.firstBtn setTitle:@"9元" forState:(UIControlStateNormal)];
|
||||||
[self.firstBtn setTitleColor:RGB16(0x333333) forState:(UIControlStateNormal)];
|
[self.firstBtn setTitleColor:RGB16(0x333333) forState:(UIControlStateNormal)];
|
||||||
[self.firstBtn addRoundedCornersWithRadius:ScaleWidth(13)];
|
[self.firstBtn addRoundedCornersWithRadius:ScaleWidth(13)];
|
||||||
@@ -92,8 +97,10 @@
|
|||||||
self.secondBtn.hidden = YES;
|
self.secondBtn.hidden = YES;
|
||||||
UIImage *secondNorImage = [UIImage imageWithColor:RGB16(0xFFFFFF)];
|
UIImage *secondNorImage = [UIImage imageWithColor:RGB16(0xFFFFFF)];
|
||||||
UIImage *secondSelImage = [UIImage imageWithColor:RGB16(0xF4DF39)];
|
UIImage *secondSelImage = [UIImage imageWithColor:RGB16(0xF4DF39)];
|
||||||
|
UIImage *secondDisImage = [UIImage imageWithColor:RGB16(0xE9E9E9)];
|
||||||
[self.secondBtn setBackgroundImage:secondNorImage forState:(UIControlStateNormal)];
|
[self.secondBtn setBackgroundImage:secondNorImage forState:(UIControlStateNormal)];
|
||||||
[self.secondBtn setBackgroundImage:secondSelImage forState:(UIControlStateSelected)];
|
[self.secondBtn setBackgroundImage:secondSelImage forState:(UIControlStateSelected)];
|
||||||
|
[self.secondBtn setBackgroundImage:secondDisImage forState:(UIControlStateDisabled)];
|
||||||
// [self.secondBtn setTitle:@"30元" forState:(UIControlStateNormal)];
|
// [self.secondBtn setTitle:@"30元" forState:(UIControlStateNormal)];
|
||||||
[self.secondBtn setTitleColor:RGB16(0x333333) forState:(UIControlStateNormal)];
|
[self.secondBtn setTitleColor:RGB16(0x333333) forState:(UIControlStateNormal)];
|
||||||
[self.secondBtn addRoundedCornersWithRadius:ScaleWidth(13)];
|
[self.secondBtn addRoundedCornersWithRadius:ScaleWidth(13)];
|
||||||
@@ -104,7 +111,7 @@
|
|||||||
make.left.equalTo(self.firstBtn.mas_right).offset(12);
|
make.left.equalTo(self.firstBtn.mas_right).offset(12);
|
||||||
make.top.equalTo(self.firstBtn);
|
make.top.equalTo(self.firstBtn);
|
||||||
make.height.mas_equalTo(ScaleWidth(26));
|
make.height.mas_equalTo(ScaleWidth(26));
|
||||||
make.width.mas_equalTo(ScaleWidth(42));
|
make.width.mas_equalTo(ScaleWidth(50));
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
|
||||||
@@ -112,8 +119,10 @@
|
|||||||
self.thirdBtn.hidden = YES;
|
self.thirdBtn.hidden = YES;
|
||||||
UIImage *thirdNorImage = [UIImage imageWithColor:RGB16(0xFFFFFF)];
|
UIImage *thirdNorImage = [UIImage imageWithColor:RGB16(0xFFFFFF)];
|
||||||
UIImage *thirdSelImage = [UIImage imageWithColor:RGB16(0xF4DF39)];
|
UIImage *thirdSelImage = [UIImage imageWithColor:RGB16(0xF4DF39)];
|
||||||
|
UIImage *thirdDisImage = [UIImage imageWithColor:RGB16(0xE9E9E9)];
|
||||||
[self.thirdBtn setBackgroundImage:thirdNorImage forState:(UIControlStateNormal)];
|
[self.thirdBtn setBackgroundImage:thirdNorImage forState:(UIControlStateNormal)];
|
||||||
[self.thirdBtn setBackgroundImage:thirdSelImage forState:(UIControlStateSelected)];
|
[self.thirdBtn setBackgroundImage:thirdSelImage forState:(UIControlStateSelected)];
|
||||||
|
[self.thirdBtn setBackgroundImage:thirdDisImage forState:(UIControlStateDisabled)];
|
||||||
// [self.thirdBtn setTitle:@"60元" forState:(UIControlStateNormal)];
|
// [self.thirdBtn setTitle:@"60元" forState:(UIControlStateNormal)];
|
||||||
[self.thirdBtn setTitleColor:RGB16(0x333333) forState:(UIControlStateNormal)];
|
[self.thirdBtn setTitleColor:RGB16(0x333333) forState:(UIControlStateNormal)];
|
||||||
[self.thirdBtn addRoundedCornersWithRadius:ScaleWidth(13)];
|
[self.thirdBtn addRoundedCornersWithRadius:ScaleWidth(13)];
|
||||||
@@ -124,9 +133,28 @@
|
|||||||
make.left.equalTo(self.secondBtn.mas_right).offset(12);
|
make.left.equalTo(self.secondBtn.mas_right).offset(12);
|
||||||
make.top.equalTo(self.firstBtn);
|
make.top.equalTo(self.firstBtn);
|
||||||
make.height.mas_equalTo(ScaleWidth(26));
|
make.height.mas_equalTo(ScaleWidth(26));
|
||||||
make.width.mas_equalTo(ScaleWidth(42));
|
make.width.mas_equalTo(ScaleWidth(50));
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
self.oneMouthBtn = [[UIButton alloc] init];
|
||||||
|
self.oneMouthBtn.hidden = YES;
|
||||||
|
UIImage *one_mouth_norImage = [UIImage imageNamed:@"one_mouth_money"];
|
||||||
|
UIImage *one_mouth_selImage = [UIImage imageNamed:@"one_mouth_money_sel"];
|
||||||
|
[self.oneMouthBtn setBackgroundImage:one_mouth_norImage forState:(UIControlStateNormal)];
|
||||||
|
[self.oneMouthBtn setBackgroundImage:one_mouth_selImage forState:(UIControlStateSelected)];
|
||||||
|
[self.oneMouthBtn setTitleColor:RGB16(0xffffff) forState:(UIControlStateNormal)];
|
||||||
|
[self.oneMouthBtn addRoundedCornersWithRadius:ScaleWidth(13)];
|
||||||
|
self.oneMouthBtn.titleLabel.font = [UIFont systemFontOfSize:14];
|
||||||
|
[self.oneMouthBtn addTarget:self action:@selector(rechargeSelectedAction:) forControlEvents:(UIControlEventTouchUpInside)];
|
||||||
|
[self addSubview:self.oneMouthBtn];
|
||||||
|
[self.oneMouthBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.right.equalTo(self.bgImageView.mas_right).offset(-27);
|
||||||
|
make.centerY.equalTo(self.firstBtn);
|
||||||
|
make.height.mas_equalTo(ScaleWidth(24));
|
||||||
|
make.width.mas_equalTo(ScaleWidth(66));
|
||||||
|
}];
|
||||||
|
|
||||||
|
|
||||||
self.giftBgView = [[UIView alloc] init];
|
self.giftBgView = [[UIView alloc] init];
|
||||||
self.giftBgView.backgroundColor = [UIColor whiteColor];
|
self.giftBgView.backgroundColor = [UIColor whiteColor];
|
||||||
[self.giftBgView addRoundedCornersWithRadius:13];
|
[self.giftBgView addRoundedCornersWithRadius:13];
|
||||||
@@ -204,30 +232,55 @@
|
|||||||
}
|
}
|
||||||
-(void)getFirstRechargeGiftList{
|
-(void)getFirstRechargeGiftList{
|
||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
[QXHomePageNetwork getNewUserGiftListSuccessBlock:^(NSArray<QXFirstRechargeModel *> * _Nonnull list) {
|
|
||||||
|
|
||||||
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
|
||||||
|
|
||||||
}];
|
|
||||||
|
|
||||||
[QXHomePageNetwork getNewUserGiftListSuccessBlock:^(NSArray<QXNiceGiftRechargeModel *> * _Nonnull list) {
|
[QXHomePageNetwork getNewUserGiftListSuccessBlock:^(NSArray<QXNiceGiftRechargeModel *> * _Nonnull list) {
|
||||||
for (int i = 0; i<list.count; i++) {
|
for (int i = 0; i<list.count; i++) {
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
weakSelf.md1 = list[i];
|
weakSelf.md1 = list[i];
|
||||||
weakSelf.firstBtn.hidden = NO;
|
weakSelf.firstBtn.hidden = NO;
|
||||||
[weakSelf.firstBtn setTitle:weakSelf.md1.name forState:(UIControlStateNormal)];
|
[weakSelf.firstBtn setTitle:weakSelf.md1.name forState:(UIControlStateNormal)];
|
||||||
|
if (weakSelf.md1.status.intValue == 1) {
|
||||||
|
weakSelf.firstBtn.enabled = YES;
|
||||||
|
weakSelf.firstBtn.selected = YES;
|
||||||
|
weakSelf.selectedBtn = weakSelf.firstBtn;
|
||||||
|
}else{
|
||||||
|
weakSelf.firstBtn.enabled = NO;
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (i == 1) {
|
if (i == 1) {
|
||||||
weakSelf.md2 = list[i];
|
weakSelf.md2 = list[i];
|
||||||
weakSelf.secondBtn.hidden = NO;
|
weakSelf.secondBtn.hidden = NO;
|
||||||
[weakSelf.secondBtn setTitle:weakSelf.md2.name forState:(UIControlStateNormal)];
|
[weakSelf.secondBtn setTitle:weakSelf.md2.name forState:(UIControlStateNormal)];
|
||||||
|
if (weakSelf.md2.status.intValue == 1) {
|
||||||
|
weakSelf.secondBtn.enabled = YES;
|
||||||
|
if (!weakSelf.selectedBtn.selected) {
|
||||||
|
weakSelf.secondBtn.selected = YES;
|
||||||
|
weakSelf.selectedBtn = weakSelf.secondBtn;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
weakSelf.secondBtn.enabled = NO;
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (i == 2) {
|
if (i == 2) {
|
||||||
weakSelf.md3 = list[i];
|
weakSelf.md3 = list[i];
|
||||||
weakSelf.thirdBtn.hidden = NO;
|
weakSelf.thirdBtn.hidden = NO;
|
||||||
[weakSelf.thirdBtn setTitle:weakSelf.md3.name forState:(UIControlStateNormal)];
|
[weakSelf.thirdBtn setTitle:weakSelf.md3.name forState:(UIControlStateNormal)];
|
||||||
|
if (weakSelf.md3.status.intValue == 1) {
|
||||||
|
weakSelf.thirdBtn.enabled = YES;
|
||||||
|
if (!weakSelf.selectedBtn.selected) {
|
||||||
|
weakSelf.thirdBtn.selected = YES;
|
||||||
|
weakSelf.selectedBtn = weakSelf.thirdBtn;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
weakSelf.thirdBtn.enabled = NO;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (i == 3) {
|
||||||
|
weakSelf.md4 = list[i];
|
||||||
|
[weakSelf.oneMouthBtn setTitle:weakSelf.md4.name forState:(UIControlStateNormal)];
|
||||||
|
weakSelf.oneMouthBtn.hidden = NO;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -285,6 +338,9 @@
|
|||||||
}else if (sender == self.thirdBtn){
|
}else if (sender == self.thirdBtn){
|
||||||
self.giftArray = self.md3.gift_list;
|
self.giftArray = self.md3.gift_list;
|
||||||
md = self.md3;
|
md = self.md3;
|
||||||
|
}else if (sender == self.oneMouthBtn){
|
||||||
|
self.giftArray = self.md4.gift_list;
|
||||||
|
md = self.md4;
|
||||||
}
|
}
|
||||||
self.smd = md;
|
self.smd = md;
|
||||||
if (md == nil) {
|
if (md == nil) {
|
||||||
@@ -308,7 +364,7 @@
|
|||||||
}
|
}
|
||||||
-(void)rechargeAction{
|
-(void)rechargeAction{
|
||||||
if (self.rechargeActionBlock) {
|
if (self.rechargeActionBlock) {
|
||||||
self.rechargeActionBlock(self.smd.money);
|
self.rechargeActionBlock(self.smd.money,self.smd.gift_bag_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
-(void)closeAction{
|
-(void)closeAction{
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
@interface QXNiceGiftPopView : UIView
|
@interface QXNiceGiftPopView : UIView
|
||||||
@property (nonatomic,copy)void(^closeActionBlock)(void);
|
@property (nonatomic,copy)void(^closeActionBlock)(void);
|
||||||
@property (nonatomic,copy)void(^getActionBlock)(void);
|
@property (nonatomic,copy)void(^rechargeActionBlock)(NSString*money,NSString*gift_bag_id);
|
||||||
@property (nonatomic,copy)void(^refreshBlcock)(void);
|
@property (nonatomic,copy)void(^refreshBlcock)(void);
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,9 @@
|
|||||||
[self.timeDownbgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.timeDownbgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.top.equalTo(self.bgImageView).offset(ScaleWidth(117));
|
make.top.equalTo(self.bgImageView).offset(ScaleWidth(117));
|
||||||
make.left.equalTo(self.bgImageView).offset(9);
|
make.left.equalTo(self.bgImageView).offset(9);
|
||||||
make.size.mas_equalTo(CGSizeMake(ScaleWidth(179), ScaleWidth(20)));
|
make.right.equalTo(self.bgImageView).offset(-9);
|
||||||
|
make.width.mas_equalTo(ScaleWidth(20));
|
||||||
|
|
||||||
}];
|
}];
|
||||||
|
|
||||||
self.timeDownLabel = [[UILabel alloc] init];
|
self.timeDownLabel = [[UILabel alloc] init];
|
||||||
@@ -130,7 +132,7 @@
|
|||||||
self.messageLabel = [[UILabel alloc] init];
|
self.messageLabel = [[UILabel alloc] init];
|
||||||
self.messageLabel.font = [UIFont systemFontOfSize:12];
|
self.messageLabel.font = [UIFont systemFontOfSize:12];
|
||||||
self.messageLabel.numberOfLines = 0;
|
self.messageLabel.numberOfLines = 0;
|
||||||
self.messageLabel.text = QXText(@"充值6元即可获得总价值888金币的道具或装扮");
|
self.messageLabel.text = @"";
|
||||||
self.messageLabel.textColor = QXConfig.textColor;
|
self.messageLabel.textColor = QXConfig.textColor;
|
||||||
[self.giftBgView addSubview:self.messageLabel];
|
[self.giftBgView addSubview:self.messageLabel];
|
||||||
[self.messageLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.messageLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
@@ -172,7 +174,7 @@
|
|||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
[QXHomePageNetwork getSkyDropGiftListSuccessBlock:^(QXNiceGiftRechargeModel * _Nonnull model) {
|
[QXHomePageNetwork getSkyDropGiftListSuccessBlock:^(QXNiceGiftRechargeModel * _Nonnull model) {
|
||||||
weakSelf.model = model;
|
weakSelf.model = model;
|
||||||
weakSelf.timeDownLabel.text = model.effective_time;
|
weakSelf.timeDownLabel.text = [NSString stringWithFormat:@"结束时间:%@",model.effective_time];
|
||||||
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:model.counter];
|
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:model.counter];
|
||||||
[attr yy_setColor:QXConfig.themeColor range:[model.counter rangeOfString:model.money]];
|
[attr yy_setColor:QXConfig.themeColor range:[model.counter rangeOfString:model.money]];
|
||||||
[attr yy_setColor:QXConfig.themeColor range:[model.counter rangeOfString:model.diamond]];
|
[attr yy_setColor:QXConfig.themeColor range:[model.counter rangeOfString:model.diamond]];
|
||||||
@@ -191,15 +193,15 @@
|
|||||||
-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
|
-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
|
||||||
QXGiftCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXGiftCell" forIndexPath:indexPath];
|
QXGiftCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXGiftCell" forIndexPath:indexPath];
|
||||||
cell.cellType = QXGiftCellTypeNiceGift;
|
cell.cellType = QXGiftCellTypeNiceGift;
|
||||||
cell.roomGiftModel = self.model.gift_list[indexPath.row];
|
cell.niceGiftModel = self.model.gift_list[indexPath.row];
|
||||||
return cell;
|
return cell;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 立即领取
|
// 立即领取
|
||||||
-(void)getAction{
|
-(void)getAction{
|
||||||
if (self.getActionBlock) {
|
if (self.rechargeActionBlock) {
|
||||||
self.getActionBlock();
|
self.rechargeActionBlock(self.model.money,self.model.gift_bag_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
-(void)closeAction{
|
-(void)closeAction{
|
||||||
|
|||||||
@@ -6,14 +6,22 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
#import "QXGiftActivityModel.h"
|
||||||
typedef NS_ENUM(NSInteger) {
|
typedef NS_ENUM(NSInteger) {
|
||||||
/// 即将开始
|
/// 巡乐会进度更新
|
||||||
QXMeetActivityDriftTypeWillStart = 1,
|
QXMeetActivityTypeAcProgress = 100,
|
||||||
/// 已经开始
|
/// 巡乐会即将开始
|
||||||
QXMeetActivityDriftTypeStart = 2,
|
QXMeetActivityTypeAcWill = 101,
|
||||||
/// 落入背包
|
/// 巡乐会已经开始
|
||||||
QXMeetActivityDriftTypeFinished = 3,
|
QXMeetActivityTypeAcStart = 102,
|
||||||
}QXMeetActivityDriftType;
|
/// 有人锁定了礼物
|
||||||
|
QXMeetActivityTypeAcLock = 103,
|
||||||
|
/// 巡乐会结束落包
|
||||||
|
QXMeetActivityTypeAcEnd = 104,
|
||||||
|
|
||||||
|
|
||||||
|
}QXMeetActivityType;
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
@class QXMeetActivityDriftModel;
|
@class QXMeetActivityDriftModel;
|
||||||
@interface QXMeetActivityDriftView : UIView
|
@interface QXMeetActivityDriftView : UIView
|
||||||
@@ -29,6 +37,14 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@interface QXMeetActivityDriftModel : NSObject
|
@interface QXMeetActivityDriftModel : NSObject
|
||||||
@property (nonatomic,strong)NSString *room_id;
|
@property (nonatomic,strong)NSString *room_id;
|
||||||
@property (nonatomic,strong)NSString *text;
|
@property (nonatomic,strong)NSString *text;
|
||||||
|
@property (nonatomic,strong)NSString *gift_num;
|
||||||
|
@property (nonatomic,strong)NSString *end_time;
|
||||||
|
@property (nonatomic,strong)QXXLHModel *xlh_data;
|
||||||
|
@property (nonatomic,strong)QXUserModel *room_user;
|
||||||
|
@property (nonatomic,strong)QXUserModel *FromUserInfo;
|
||||||
@property (nonatomic,assign)NSInteger from_type;
|
@property (nonatomic,assign)NSInteger from_type;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
|||||||
@@ -101,15 +101,20 @@
|
|||||||
_model = model;
|
_model = model;
|
||||||
self.titleLabel.text = model.text;
|
self.titleLabel.text = model.text;
|
||||||
switch (model.from_type) {
|
switch (model.from_type) {
|
||||||
case QXMeetActivityDriftTypeWillStart:{
|
case QXMeetActivityTypeAcWill:{
|
||||||
self.bgImageView.image = [UIImage imageNamed:@"ac_meet_will_pop_bg"];
|
self.bgImageView.image = [UIImage imageNamed:@"ac_meet_will_pop_bg"];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case QXMeetActivityDriftTypeStart:{
|
case QXMeetActivityTypeAcStart:{
|
||||||
self.bgImageView.image = [UIImage imageNamed:@"ac_meet_start_pop_bg"];
|
self.bgImageView.image = [UIImage imageNamed:@"ac_meet_start_pop_bg"];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case QXMeetActivityDriftTypeFinished:{
|
case QXMeetActivityTypeAcEnd:{
|
||||||
|
self.bgImageView.image = [UIImage imageNamed:@"ac_meet_finished_pop_bg"];
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case QXMeetActivityTypeAcLock:{
|
||||||
|
// self.bgImageView.image = [UIImage imageNamed:@"ac_meet_update_pop_bg"];
|
||||||
self.bgImageView.image = [UIImage imageNamed:@"ac_meet_finished_pop_bg"];
|
self.bgImageView.image = [UIImage imageNamed:@"ac_meet_finished_pop_bg"];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -144,7 +149,12 @@
|
|||||||
|
|
||||||
|
|
||||||
@implementation QXMeetActivityDriftModel
|
@implementation QXMeetActivityDriftModel
|
||||||
|
+(NSDictionary<NSString *,id> *)modelContainerPropertyGenericClass{
|
||||||
|
return @{
|
||||||
|
@"xlh_data" : @"QXXLHModel",
|
||||||
|
@"room_user":@"QXUserModel",
|
||||||
|
@"FromUserInfo":@"QXUserModel",
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
29
QXLive/Tabbar/飘屏/QXRedPacketDriftView.h
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
//
|
||||||
|
// QXRedPacketDriftView.h
|
||||||
|
// QXLive
|
||||||
|
//
|
||||||
|
// Created by 启星 on 2025/10/15.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
@class QXRedPacketDriftModel;
|
||||||
|
@interface QXRedPacketDriftView : UIView
|
||||||
|
@property (nonatomic,strong)UIImageView *bgImageView;
|
||||||
|
@property (nonatomic,strong)UILabel *titleLabel;
|
||||||
|
@property (nonatomic,strong)QXRedPacketDriftModel *model;
|
||||||
|
@property (nonatomic,strong)NSMutableArray *dataArray;
|
||||||
|
-(void)addRedpacketModel:(QXRedPacketDriftModel*)model;
|
||||||
|
-(void)drifPopIsClose:(BOOL)isClose;
|
||||||
|
+(instancetype)shareView;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface QXRedPacketDriftModel : NSObject
|
||||||
|
@property (nonatomic,strong)NSString *room_id;
|
||||||
|
@property (nonatomic,strong)NSString *nickname;
|
||||||
|
@property (nonatomic,strong)NSString *room_name;
|
||||||
|
@property (nonatomic,strong)NSString *text;
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
148
QXLive/Tabbar/飘屏/QXRedPacketDriftView.m
Normal file
@@ -0,0 +1,148 @@
|
|||||||
|
//
|
||||||
|
// QXRedPacketDriftView.m
|
||||||
|
// QXLive
|
||||||
|
//
|
||||||
|
// Created by 启星 on 2025/8/29.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "QXRedPacketDriftView.h"
|
||||||
|
#import <AVFoundation/AVFoundation.h>
|
||||||
|
@interface QXRedPacketDriftView()
|
||||||
|
@property (nonatomic,assign)BOOL isPlaying;
|
||||||
|
@property (nonatomic,assign)BOOL isClose;
|
||||||
|
@property (nonatomic,strong)AVPlayer* player;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation QXRedPacketDriftView
|
||||||
|
|
||||||
|
- (instancetype)init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if (self) {
|
||||||
|
self.frame = CGRectMake(SCREEN_WIDTH, ScaleWidth(290), ScaleWidth(334), ScaleWidth(102));
|
||||||
|
BOOL isClose = [[NSUserDefaults standardUserDefaults] boolForKey:kIsCloseDrifPop];
|
||||||
|
self.isClose = isClose;
|
||||||
|
[self initSubviews];
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
+(instancetype)shareView{
|
||||||
|
static QXRedPacketDriftView *manager = nil;
|
||||||
|
static dispatch_once_t predicate;
|
||||||
|
dispatch_once(&predicate, ^{
|
||||||
|
manager = [[QXRedPacketDriftView alloc] init];
|
||||||
|
});
|
||||||
|
return manager;
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)initSubviews{
|
||||||
|
self.bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"red_packet_pop_bg"]];
|
||||||
|
self.bgImageView.contentMode = UIViewContentModeScaleToFill;
|
||||||
|
[self addSubview:self.bgImageView];
|
||||||
|
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.width.mas_equalTo(ScaleWidth(334));
|
||||||
|
make.height.mas_equalTo(ScaleWidth(102));
|
||||||
|
make.centerX.equalTo(self);
|
||||||
|
make.top.equalTo(self);
|
||||||
|
}];
|
||||||
|
|
||||||
|
self.titleLabel = [[UILabel alloc] init];
|
||||||
|
self.titleLabel.font = [UIFont systemFontOfSize:12];
|
||||||
|
self.titleLabel.textColor = RGB16(0xFFFFFF);
|
||||||
|
[self addSubview:self.titleLabel];;
|
||||||
|
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.left.equalTo(self.bgImageView).offset(ScaleWidth(58));
|
||||||
|
make.bottom.equalTo(self.bgImageView).offset(ScaleWidth(-37));
|
||||||
|
make.height.mas_equalTo(14);
|
||||||
|
}];
|
||||||
|
self.userInteractionEnabled = YES;
|
||||||
|
MJWeakSelf
|
||||||
|
[self addTapBlock:^(id _Nonnull obj) {
|
||||||
|
if ([weakSelf.model.room_id isExist]) {
|
||||||
|
[[QXGlobal shareGlobal] joinRoomWithRoomId:weakSelf.model.room_id isRejoin:NO navagationController:weakSelf.viewController.navigationController];
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
-(void)addRedpacketModel:(QXRedPacketModel *)model{
|
||||||
|
if (self.isClose) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
[self.dataArray addObject:model];
|
||||||
|
[self giftAction];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-(void)giftAction{
|
||||||
|
if (self.isPlaying) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
MJWeakSelf
|
||||||
|
[QXRedPacketDriftView shareView].isPlaying = YES;
|
||||||
|
[QXRedPacketDriftView shareView].model = [QXRedPacketDriftView shareView].dataArray.firstObject;
|
||||||
|
[self.player seekToTime:CMTimeMake(0, 1)];
|
||||||
|
[self.player play];
|
||||||
|
[KEYWINDOW addSubview:[QXRedPacketDriftView shareView]];
|
||||||
|
[UIView animateWithDuration:1.5 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
|
||||||
|
[QXRedPacketDriftView shareView].x = (SCREEN_WIDTH-ScaleWidth(334))/2;
|
||||||
|
} completion:^(BOOL finished) {
|
||||||
|
[weakSelf performSelector:@selector(dissmissAnimate) afterDelay:5];
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
-(void)dissmissAnimate{
|
||||||
|
[UIView animateWithDuration:2 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{
|
||||||
|
[QXRedPacketDriftView shareView].x = -SCREEN_WIDTH;
|
||||||
|
} completion:^(BOOL finished) {
|
||||||
|
[QXRedPacketDriftView shareView].x = SCREEN_WIDTH;
|
||||||
|
[[QXRedPacketDriftView shareView] removeFromSuperview];
|
||||||
|
[[QXRedPacketDriftView shareView].dataArray removeFirstObject];
|
||||||
|
[QXRedPacketDriftView shareView].isPlaying = NO;
|
||||||
|
if ([QXRedPacketDriftView shareView].dataArray.count>0) {
|
||||||
|
[[QXRedPacketDriftView shareView] giftAction];
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)setModel:(QXRedPacketDriftModel *)model{
|
||||||
|
_model = model;
|
||||||
|
NSMutableAttributedString*attr = [[NSMutableAttributedString alloc] initWithString:model.text];
|
||||||
|
[attr yy_setColor:RGB16(0x6C49E4) range:[model.text rangeOfString:model.nickname]];
|
||||||
|
[attr yy_setColor:RGB16(0x6C49E4) range:[model.text rangeOfString:model.room_name]];
|
||||||
|
self.titleLabel.attributedText = attr;
|
||||||
|
}
|
||||||
|
-(void)drifPopIsClose:(BOOL)isClose{
|
||||||
|
_isClose = isClose;
|
||||||
|
self.hidden = self.isClose;
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:isClose forKey:kIsCloseDrifPop];
|
||||||
|
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||||
|
if (isClose) {
|
||||||
|
[QXRedPacketDriftView shareView].x = SCREEN_WIDTH;
|
||||||
|
[[QXRedPacketDriftView shareView] removeFromSuperview];
|
||||||
|
[[QXRedPacketDriftView shareView].dataArray removeAllObjects];
|
||||||
|
[QXRedPacketDriftView shareView].isPlaying = NO;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-(NSMutableArray *)dataArray{
|
||||||
|
if (!_dataArray) {
|
||||||
|
_dataArray = [NSMutableArray array];
|
||||||
|
}
|
||||||
|
return _dataArray;
|
||||||
|
}
|
||||||
|
-(AVPlayer *)player{
|
||||||
|
if (!_player) {
|
||||||
|
NSString *path = [[NSBundle mainBundle] pathForResource:@"red_packet_come" ofType:@"mp3"];
|
||||||
|
_player = [[AVPlayer alloc] initWithURL:[NSURL fileURLWithPath:path]];
|
||||||
|
}
|
||||||
|
return _player;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
@implementation QXRedPacketDriftModel
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
||||||
@@ -368,6 +368,7 @@
|
|||||||
hud.bezelView.color = [UIColor blackColor];
|
hud.bezelView.color = [UIColor blackColor];
|
||||||
hud.label.textColor = [UIColor whiteColor];
|
hud.label.textColor = [UIColor whiteColor];
|
||||||
hud.label.text = text;
|
hud.label.text = text;
|
||||||
|
hud.label.numberOfLines = 0;
|
||||||
[hud hideAnimated:YES afterDelay:1];
|
[hud hideAnimated:YES afterDelay:1];
|
||||||
}
|
}
|
||||||
+(void)showMessage:(NSString *)text view:(UIView *)view{
|
+(void)showMessage:(NSString *)text view:(UIView *)view{
|
||||||
@@ -378,6 +379,7 @@
|
|||||||
hud.bezelView.color = [UIColor blackColor];
|
hud.bezelView.color = [UIColor blackColor];
|
||||||
hud.label.textColor = [UIColor whiteColor];
|
hud.label.textColor = [UIColor whiteColor];
|
||||||
hud.label.text = text;
|
hud.label.text = text;
|
||||||
|
hud.label.numberOfLines = 0;
|
||||||
[hud hideAnimated:YES afterDelay:1];
|
[hud hideAnimated:YES afterDelay:1];
|
||||||
}
|
}
|
||||||
+(void)showLoadingInView:(UIView*)view{
|
+(void)showLoadingInView:(UIView*)view{
|
||||||
|
|||||||
@@ -19,7 +19,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@interface QXMeetActivityResultCell : UICollectionViewCell
|
@interface QXMeetActivityResultCell : UICollectionViewCell
|
||||||
@property (nonatomic,strong)UIImageView *giftBgImageView;
|
@property (nonatomic,strong)UIImageView *giftBgImageView;
|
||||||
@property (nonatomic,strong)UIImageView *giftImageView;
|
@property (nonatomic,strong)UIImageView *giftImageView;
|
||||||
|
@property (nonatomic,strong)UIImageView *giftInfoImageView;
|
||||||
@property (nonatomic,strong)UILabel *giftNameLabel;
|
@property (nonatomic,strong)UILabel *giftNameLabel;
|
||||||
|
@property (nonatomic,strong)UIButton *giftCoin;
|
||||||
@property (nonatomic,strong)QXDrawGiftModel *model;
|
@property (nonatomic,strong)QXDrawGiftModel *model;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,8 @@
|
|||||||
make.centerY.equalTo(self);
|
make.centerY.equalTo(self);
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
// @2x
|
||||||
|
|
||||||
self.bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ac_meet_draw_result_bg"]];
|
self.bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ac_meet_draw_result_bg"]];
|
||||||
[self.bgView addSubview:self.bgImageView];
|
[self.bgView addSubview:self.bgImageView];
|
||||||
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
@@ -93,10 +95,10 @@
|
|||||||
-(UICollectionView *)collectionView{
|
-(UICollectionView *)collectionView{
|
||||||
if (!_collectionView) {
|
if (!_collectionView) {
|
||||||
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
|
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
|
||||||
layout.minimumLineSpacing = 20;
|
layout.minimumLineSpacing = 15;
|
||||||
layout.minimumInteritemSpacing = 20;
|
layout.minimumInteritemSpacing = 20;
|
||||||
layout.sectionInset = UIEdgeInsetsMake(0, 12, 0, 12);
|
layout.sectionInset = UIEdgeInsetsMake(0, 12, 0, 12);
|
||||||
layout.itemSize = CGSizeMake((331-12*2-20*2)/3,100);
|
layout.itemSize = CGSizeMake((331-12*2-20*2)/3,115);
|
||||||
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
|
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
|
||||||
_collectionView.delegate = self;
|
_collectionView.delegate = self;
|
||||||
_collectionView.dataSource = self;
|
_collectionView.dataSource = self;
|
||||||
@@ -149,9 +151,10 @@
|
|||||||
_model = model;
|
_model = model;
|
||||||
[self.giftImageView sd_setImageWithURL:[NSURL URLWithString:model.base_image]];
|
[self.giftImageView sd_setImageWithURL:[NSURL URLWithString:model.base_image]];
|
||||||
self.giftNameLabel.text = [NSString stringWithFormat:@"%@x%@",model.gift_name,model.count];
|
self.giftNameLabel.text = [NSString stringWithFormat:@"%@x%@",model.gift_name,model.count];
|
||||||
|
[self.giftCoin setTitle:model.gift_price forState:(UIControlStateNormal)];
|
||||||
}
|
}
|
||||||
-(void)initSubviews{
|
-(void)initSubviews{
|
||||||
self.giftBgImageView = [[UIImageView alloc] init];
|
self.giftBgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ac_gif_box_bg"]];
|
||||||
[self.contentView addSubview:self.giftBgImageView];
|
[self.contentView addSubview:self.giftBgImageView];
|
||||||
[self.giftBgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.giftBgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.left.right.top.equalTo(self.contentView);
|
make.left.right.top.equalTo(self.contentView);
|
||||||
@@ -161,7 +164,16 @@
|
|||||||
self.giftImageView.contentMode = UIViewContentModeScaleAspectFit;
|
self.giftImageView.contentMode = UIViewContentModeScaleAspectFit;
|
||||||
[self.contentView addSubview:self.giftImageView];
|
[self.contentView addSubview:self.giftImageView];
|
||||||
[self.giftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.giftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.edges.equalTo(self.giftBgImageView);
|
make.width.height.mas_equalTo(50);
|
||||||
|
make.centerX.centerY.equalTo(self.giftBgImageView);
|
||||||
|
}];
|
||||||
|
|
||||||
|
self.giftInfoImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ac_gift_info_bg"]];
|
||||||
|
[self.contentView addSubview:self.giftInfoImageView];
|
||||||
|
[self.giftInfoImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.left.right.equalTo(self.contentView);
|
||||||
|
make.height.mas_equalTo(30);
|
||||||
|
make.bottom.equalTo(self.contentView);
|
||||||
}];
|
}];
|
||||||
|
|
||||||
self.giftNameLabel = [[UILabel alloc] init];
|
self.giftNameLabel = [[UILabel alloc] init];
|
||||||
@@ -171,9 +183,20 @@
|
|||||||
self.giftNameLabel.lineBreakMode = NSLineBreakByTruncatingMiddle;
|
self.giftNameLabel.lineBreakMode = NSLineBreakByTruncatingMiddle;
|
||||||
[self.contentView addSubview:self.giftNameLabel];
|
[self.contentView addSubview:self.giftNameLabel];
|
||||||
[self.giftNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.giftNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.bottom.equalTo(self.contentView);
|
make.top.equalTo(self.giftBgImageView.mas_bottom);
|
||||||
make.left.right.equalTo(self.contentView);
|
make.left.right.equalTo(self.contentView);
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
self.giftCoin = [[UIButton alloc] init];
|
||||||
|
[self.giftCoin setTitleColor:RGB16(0xffffff) forState:(UIControlStateNormal)];
|
||||||
|
self.giftCoin.titleLabel.font = [UIFont systemFontOfSize:10];
|
||||||
|
[self.giftCoin setImage:[UIImage imageNamed:@"sky_item_coin"] forState:(UIControlStateNormal)];
|
||||||
|
[self.contentView addSubview:self.giftCoin];
|
||||||
|
[self.giftCoin mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.equalTo(self.giftNameLabel.mas_bottom);
|
||||||
|
make.centerX.equalTo(self.contentView);
|
||||||
|
}];
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
#import "QXTimer.h"
|
#import "QXTimer.h"
|
||||||
#import "GKCycleScrollView.h"
|
#import "GKCycleScrollView.h"
|
||||||
|
#import "QXMeetActivityDriftView.h"
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
typedef NS_ENUM(NSInteger) {
|
typedef NS_ENUM(NSInteger) {
|
||||||
/// 抽一次
|
/// 抽一次
|
||||||
@@ -35,7 +36,7 @@ typedef NS_ENUM(NSInteger) {
|
|||||||
@property (nonatomic,strong)NSString *roomId;
|
@property (nonatomic,strong)NSString *roomId;
|
||||||
@property (nonatomic,strong)QXGiftModel *giftModel;
|
@property (nonatomic,strong)QXGiftModel *giftModel;
|
||||||
|
|
||||||
-(void)updateUserAndGiftInfoWithModel:(QXRoomChatListModel*)model;
|
-(void)updateUserAndGiftInfoWithModel:(QXMeetActivityDriftModel*)model;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface QXMeetTimeDownView :UIView
|
@interface QXMeetTimeDownView :UIView
|
||||||
|
|||||||
@@ -452,7 +452,7 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)updateUserAndGiftInfoWithModel:(QXRoomChatListModel *)model{
|
-(void)updateUserAndGiftInfoWithModel:(QXMeetActivityDriftModel *)model{
|
||||||
if (self.model.xlh_user == nil) {
|
if (self.model.xlh_user == nil) {
|
||||||
QXUserModel *xlh_user = [[QXUserModel alloc] init];
|
QXUserModel *xlh_user = [[QXUserModel alloc] init];
|
||||||
self.model.xlh_user = xlh_user;
|
self.model.xlh_user = xlh_user;
|
||||||
@@ -461,6 +461,7 @@
|
|||||||
self.model.xlh_user.avatar = model.FromUserInfo.avatar;
|
self.model.xlh_user.avatar = model.FromUserInfo.avatar;
|
||||||
self.model.locking_gift.gift_num = model.gift_num;
|
self.model.locking_gift.gift_num = model.gift_num;
|
||||||
self.model.xlh_end_time = model.end_time;
|
self.model.xlh_end_time = model.end_time;
|
||||||
|
self.model.homeowner_user = model.room_user;
|
||||||
[self configData];
|
[self configData];
|
||||||
}
|
}
|
||||||
-(void)configData{
|
-(void)configData{
|
||||||
|
|||||||
BIN
QXLive/活动/巡乐会/Resource/ac_gif_box_bg@2x.png
Normal file
|
After Width: | Height: | Size: 87 KiB |
BIN
QXLive/活动/巡乐会/Resource/ac_gif_box_bg@3x.png
Normal file
|
After Width: | Height: | Size: 180 KiB |
BIN
QXLive/活动/巡乐会/Resource/ac_gift_info_bg@2x.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
QXLive/活动/巡乐会/Resource/ac_gift_info_bg@3x.png
Normal file
|
After Width: | Height: | Size: 35 KiB |