Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6fcb5759ca | ||
|
|
362df44bb3 | ||
|
|
e70f1b4d16 | ||
|
|
f57a8051d9 | ||
|
|
e5191e0f71 | ||
|
|
472bd8b3ae |
@@ -793,7 +793,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"$(SDKROOT)/usr/lib/swift",
|
"$(SDKROOT)/usr/lib/swift",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.1.18;
|
MARKETING_VERSION = 1.1.19;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive;
|
PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
@@ -859,7 +859,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"$(SDKROOT)/usr/lib/swift",
|
"$(SDKROOT)/usr/lib/swift",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.1.18;
|
MARKETING_VERSION = 1.1.19;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive;
|
PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
|||||||
@@ -99,8 +99,9 @@
|
|||||||
model.icon_gsrz = @"icon_gsrz";
|
model.icon_gsrz = @"icon_gsrz";
|
||||||
model.icon_wdgd = @"icon_wdgd";
|
model.icon_wdgd = @"icon_wdgd";
|
||||||
model.icon_sz = @"icon_sz";
|
model.icon_sz = @"icon_sz";
|
||||||
|
model.bg_tabbar = @"bg_tabbar";
|
||||||
model.tabbarSelectedColor = @"#FF3700";
|
model.tabbarSelectedColor = @"#FF3700";
|
||||||
|
QXConfig.shared.backgroundImage = @"bg_light";
|
||||||
QXConfig.shared.model =model;
|
QXConfig.shared.model =model;
|
||||||
}
|
}
|
||||||
// QXThemeModel *model = [QXThemeModel yy_modelWithJSON:responseObject[@"data"]];
|
// QXThemeModel *model = [QXThemeModel yy_modelWithJSON:responseObject[@"data"]];
|
||||||
|
|||||||
@@ -28,8 +28,9 @@
|
|||||||
#import "QXGiftDriftView.h"
|
#import "QXGiftDriftView.h"
|
||||||
#import "QXMeetActivityDriftView.h"
|
#import "QXMeetActivityDriftView.h"
|
||||||
#import "QXRedPacketDriftView.h"
|
#import "QXRedPacketDriftView.h"
|
||||||
|
#import "QXRoomPasswordView.h"
|
||||||
|
|
||||||
@interface QXGlobal()
|
@interface QXGlobal()<QXRoomPasswordViewDelegate>
|
||||||
@property (nonatomic,assign)BOOL isLogin;
|
@property (nonatomic,assign)BOOL isLogin;
|
||||||
|
|
||||||
|
|
||||||
@@ -66,6 +67,9 @@
|
|||||||
QXLOG(@"腾讯im退出登录失败");
|
QXLOG(@"腾讯im退出登录失败");
|
||||||
}];
|
}];
|
||||||
if (self.roomId) {
|
if (self.roomId) {
|
||||||
|
if (self.roomVC) {
|
||||||
|
[self.roomVC.navigationController popToRootViewControllerAnimated:NO];
|
||||||
|
}
|
||||||
[self quitRoomWithRoomId:self.roomId removeListener:YES];
|
[self quitRoomWithRoomId:self.roomId removeListener:YES];
|
||||||
}
|
}
|
||||||
self.isLogin = NO;
|
self.isLogin = NO;
|
||||||
@@ -291,7 +295,7 @@
|
|||||||
}
|
}
|
||||||
weakSelf.isClickJoinRoom = YES;
|
weakSelf.isClickJoinRoom = YES;
|
||||||
[[QXRoomMessageManager shared] joinGroupWithRoomId:roomId];
|
[[QXRoomMessageManager shared] joinGroupWithRoomId:roomId];
|
||||||
[QXMineNetwork joinRoomWithRoomId:roomId successBlock:^(QXRoomModel * _Nonnull roomModel) {
|
[QXMineNetwork joinRoomWithRoomId:roomId room_password:@"" successBlock:^(QXRoomModel * _Nonnull roomModel) {
|
||||||
[UIApplication sharedApplication].idleTimerDisabled = YES;
|
[UIApplication sharedApplication].idleTimerDisabled = YES;
|
||||||
weakSelf.isClickJoinRoom = NO;
|
weakSelf.isClickJoinRoom = NO;
|
||||||
weakSelf.roomVC = [[QXRoomViewController alloc] init];
|
weakSelf.roomVC = [[QXRoomViewController alloc] init];
|
||||||
@@ -327,7 +331,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
[[QXRoomMessageManager shared] joinGroupWithRoomId:roomId];
|
[[QXRoomMessageManager shared] joinGroupWithRoomId:roomId];
|
||||||
[QXMineNetwork joinRoomWithRoomId:roomId successBlock:^(QXRoomModel * _Nonnull roomModel) {
|
[QXMineNetwork joinRoomWithRoomId:roomId room_password:@"" successBlock:^(QXRoomModel * _Nonnull roomModel) {
|
||||||
weakSelf.isClickJoinRoom = NO;
|
weakSelf.isClickJoinRoom = NO;
|
||||||
if (weakSelf.roomId && ![weakSelf.roomId isEqualToString:roomId]) {
|
if (weakSelf.roomId && ![weakSelf.roomId isEqualToString:roomId]) {
|
||||||
[weakSelf quitRoomWithRoomId:weakSelf.roomId removeListener:NO];
|
[weakSelf quitRoomWithRoomId:weakSelf.roomId removeListener:NO];
|
||||||
@@ -353,6 +357,12 @@
|
|||||||
} roomErrorBlock:^(NSString * _Nonnull roomId, NSString * _Nonnull msg) {
|
} roomErrorBlock:^(NSString * _Nonnull roomId, NSString * _Nonnull msg) {
|
||||||
weakSelf.isClickJoinRoom = NO;
|
weakSelf.isClickJoinRoom = NO;
|
||||||
[weakSelf showAlertWithMessage:msg roomId:roomId];
|
[weakSelf showAlertWithMessage:msg roomId:roomId];
|
||||||
|
} roomNeedPasswordBlock:^(NSString * _Nonnull msg) {
|
||||||
|
weakSelf.isClickJoinRoom = NO;
|
||||||
|
QXRoomPasswordView *pwdView = [[QXRoomPasswordView alloc] init];
|
||||||
|
pwdView.roomId = roomId;
|
||||||
|
pwdView.delegate = self;
|
||||||
|
[pwdView showInView:KEYWINDOW];
|
||||||
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
weakSelf.isClickJoinRoom = NO;
|
weakSelf.isClickJoinRoom = NO;
|
||||||
showToast(msg);
|
showToast(msg);
|
||||||
@@ -361,6 +371,35 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
-(void)commitRoomPassword:(NSString *)password roomId:(nonnull NSString *)roomId passwordView:(nonnull QXRoomPasswordView *)passwordView{
|
||||||
|
[passwordView hide];
|
||||||
|
MJWeakSelf
|
||||||
|
QXRoomNavigationController*navagationController = (QXRoomNavigationController*)KEYWINDOW.rootViewController;
|
||||||
|
[[QXRoomMessageManager shared] joinGroupWithRoomId:roomId];
|
||||||
|
[QXMineNetwork joinRoomWithRoomId:roomId room_password:password successBlock:^(QXRoomModel * _Nonnull roomModel) {
|
||||||
|
weakSelf.isClickJoinRoom = NO;
|
||||||
|
if (weakSelf.roomId && ![weakSelf.roomId isEqualToString:roomId]) {
|
||||||
|
[weakSelf quitRoomWithRoomId:weakSelf.roomId removeListener:NO];
|
||||||
|
}
|
||||||
|
[[QXRoomMessageManager shared] joinGroupWithRoomId:roomId];
|
||||||
|
[UIApplication sharedApplication].idleTimerDisabled = YES;
|
||||||
|
weakSelf.roomVC = [[QXRoomViewController alloc] init];
|
||||||
|
weakSelf.roomVC.roomId = roomId;
|
||||||
|
weakSelf.roomVC.isReJoin = NO;
|
||||||
|
weakSelf.roomId = roomId;
|
||||||
|
weakSelf.roomVC.roomModel = roomModel;
|
||||||
|
weakSelf.roomVC.hidesBottomBarWhenPushed = YES;
|
||||||
|
[navagationController pushViewController:weakSelf.roomVC animated:YES];
|
||||||
|
weakSelf.roomId = roomId;
|
||||||
|
} roomErrorBlock:^(NSString * _Nonnull roomId, NSString * _Nonnull msg) {
|
||||||
|
weakSelf.isClickJoinRoom = NO;
|
||||||
|
[weakSelf showAlertWithMessage:msg roomId:roomId];
|
||||||
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
|
showToast(msg);
|
||||||
|
// hideLoadingInView(KEYWINDOW)
|
||||||
|
weakSelf.isClickJoinRoom = NO;
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
-(void)startKeepAlive{
|
-(void)startKeepAlive{
|
||||||
[self stopKeepTimer];
|
[self stopKeepTimer];
|
||||||
@@ -442,6 +481,10 @@
|
|||||||
[[QXRoomMessageManager shared] quitGroupWithRoomId:roomId removeListener:removeListener];
|
[[QXRoomMessageManager shared] quitGroupWithRoomId:roomId removeListener:removeListener];
|
||||||
[[QXGlobal shareGlobal].offLineDict removeAllObjects];
|
[[QXGlobal shareGlobal].offLineDict removeAllObjects];
|
||||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||||
|
if (_miniView) {
|
||||||
|
[_miniView removeFromSuperview];
|
||||||
|
_miniView = nil;
|
||||||
|
}
|
||||||
if (_roomVC) {
|
if (_roomVC) {
|
||||||
/// 回收麦位视图内存
|
/// 回收麦位视图内存
|
||||||
[_roomVC.seatContentView destroyViews];
|
[_roomVC.seatContentView destroyViews];
|
||||||
|
|||||||
@@ -119,6 +119,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nonatomic,strong)NSString *icon_gsrz;
|
@property (nonatomic,strong)NSString *icon_gsrz;
|
||||||
@property (nonatomic,strong)NSString *icon_wdgd;
|
@property (nonatomic,strong)NSString *icon_wdgd;
|
||||||
@property (nonatomic,strong)NSString *icon_sz;
|
@property (nonatomic,strong)NSString *icon_sz;
|
||||||
|
@property (nonatomic,strong)NSString *bg_tabbar;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
/// 节日主题
|
/// 节日主题
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
#import "QXMineNetwork.h"
|
#import "QXMineNetwork.h"
|
||||||
#import "QXDynamicNetwork.h"
|
#import "QXDynamicNetwork.h"
|
||||||
#import "QXCustomAlertView.h"
|
#import "QXCustomAlertView.h"
|
||||||
|
#import "QXPropShopVC.h"
|
||||||
|
|
||||||
@interface QXSendGiftView()<JXCategoryViewDelegate,JXCategoryListContainerViewDelegate,QXMenuPopViewDelegate,UIGestureRecognizerDelegate>
|
@interface QXSendGiftView()<JXCategoryViewDelegate,JXCategoryListContainerViewDelegate,QXMenuPopViewDelegate,UIGestureRecognizerDelegate>
|
||||||
/// 趣味
|
/// 趣味
|
||||||
@@ -52,6 +52,7 @@
|
|||||||
@property (nonatomic,strong)NSString *giftCount;
|
@property (nonatomic,strong)NSString *giftCount;
|
||||||
|
|
||||||
@property (nonatomic,strong)QXSendGiftCollectionView *bagGiftView;
|
@property (nonatomic,strong)QXSendGiftCollectionView *bagGiftView;
|
||||||
|
@property (nonatomic,strong)QXSendGiftCollectionView *roomHotCardView;
|
||||||
|
|
||||||
@property (nonatomic,strong)NSString *giftBagPrice;
|
@property (nonatomic,strong)NSString *giftBagPrice;
|
||||||
@property (nonatomic,strong)NSString *coin;
|
@property (nonatomic,strong)NSString *coin;
|
||||||
@@ -347,6 +348,18 @@
|
|||||||
[self getMyWallet];
|
[self getMyWallet];
|
||||||
}
|
}
|
||||||
-(void)sendAllAction{
|
-(void)sendAllAction{
|
||||||
|
if ([self.giftModel.label isEqualToString:@"1013"]) {
|
||||||
|
MJWeakSelf
|
||||||
|
QXCustomAlertView *alertView = [[QXCustomAlertView alloc] init];
|
||||||
|
alertView.cancelBlock = ^{
|
||||||
|
|
||||||
|
};
|
||||||
|
alertView.commitBlock = ^{
|
||||||
|
[weakSelf sendAllRoomHotCardNetwork];
|
||||||
|
};
|
||||||
|
[alertView showInView:self.vc.view title:@"温馨提示" message:@"是否确认将房间热度卡全部送出" cancleTitle:nil commitTitle:nil];
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (self.pitUserListView.selectedArray.count == 0) {
|
if (self.pitUserListView.selectedArray.count == 0) {
|
||||||
showToast(@"请选择送礼对象");
|
showToast(@"请选择送礼对象");
|
||||||
return;
|
return;
|
||||||
@@ -366,6 +379,15 @@
|
|||||||
[alertView showInView:self.vc.view title:@"温馨提示" message:@"是否确认将背包礼物全部送出" cancleTitle:nil commitTitle:nil];
|
[alertView showInView:self.vc.view title:@"温馨提示" message:@"是否确认将背包礼物全部送出" cancleTitle:nil commitTitle:nil];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
-(void)sendAllRoomHotCardNetwork{
|
||||||
|
MJWeakSelf
|
||||||
|
[QXMineNetwork roomHotCardUseWithUdid:@"" room_id:self.roomId num:@"" successBlock:^(NSDictionary * _Nonnull dict) {
|
||||||
|
[weakSelf hide];
|
||||||
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
|
showToast(msg);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
// 一键清空网络请求
|
// 一键清空网络请求
|
||||||
-(void)sendAllNetWork{
|
-(void)sendAllNetWork{
|
||||||
NSString *userId = [self.pitUserListView.selectedArray componentsJoinedByString:@","];
|
NSString *userId = [self.pitUserListView.selectedArray componentsJoinedByString:@","];
|
||||||
@@ -385,8 +407,20 @@
|
|||||||
showToast(@"请选择礼物");
|
showToast(@"请选择礼物");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (self.pitUserListView.selectedArray.count == 0) {
|
if (self.pitUserListView.isHidden == NO) {
|
||||||
showToast(@"请选择送礼对象");
|
if (self.pitUserListView.selectedArray.count == 0) {
|
||||||
|
showToast(@"请选择送礼对象");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ([self.giftModel.label isEqualToString:@"1013"]) {
|
||||||
|
@weakify(self)
|
||||||
|
[QXMineNetwork roomHotCardUseWithUdid:self.giftModel.gift_id room_id:self.roomId num:self.giftCount successBlock:^(NSDictionary * _Nonnull dict) {
|
||||||
|
@strongify(self)
|
||||||
|
[self.roomHotCardView reloadData];
|
||||||
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
|
showToast(msg);
|
||||||
|
}];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
self.heartId = @"";
|
self.heartId = @"";
|
||||||
@@ -504,9 +538,15 @@
|
|||||||
// [recharge showInView:weakSelf.vc.view];
|
// [recharge showInView:weakSelf.vc.view];
|
||||||
// }];
|
// }];
|
||||||
[self hide];
|
[self hide];
|
||||||
QXRechargeView *recharge = [[QXRechargeView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
|
if ([self.rechargeBtn.titleLabel.text containsString:@"去购买"]) {
|
||||||
recharge.isPop = YES;
|
QXPropShopVC *vc = [[QXPropShopVC alloc] init];
|
||||||
[recharge showInView:weakSelf.vc.view];
|
vc.isBuyRoomHotCard = YES;
|
||||||
|
[self.vc.navigationController pushViewController:vc animated:YES];
|
||||||
|
}else{
|
||||||
|
QXRechargeView *recharge = [[QXRechargeView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
|
||||||
|
recharge.isPop = YES;
|
||||||
|
[recharge showInView:weakSelf.vc.view];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -552,33 +592,34 @@
|
|||||||
[self.bgView addSubview:self.pitUserListView];
|
[self.bgView addSubview:self.pitUserListView];
|
||||||
}
|
}
|
||||||
-(void)getCategoryList{
|
-(void)getCategoryList{
|
||||||
|
NSString *type = @"1";
|
||||||
|
if (self.type == QXSendGiftViewTypeFind) {
|
||||||
|
type = @"2";
|
||||||
|
}
|
||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
[QXMineNetwork giftLabelSuccessBlock:^(NSArray<QXGiftLabelModel *> * _Nonnull list) {
|
[QXMineNetwork giftLabelWithType:type successBlock:^(NSArray<QXGiftLabelModel *> * _Nonnull list) {
|
||||||
[weakSelf.titles removeAllObjects];
|
[weakSelf.titles removeAllObjects];
|
||||||
[weakSelf.titles addObjectsFromArray:list];
|
[weakSelf.titles addObjectsFromArray:list];
|
||||||
NSMutableArray *arr = [NSMutableArray array];
|
NSMutableArray *arr = [NSMutableArray array];
|
||||||
|
|
||||||
if (weakSelf.type != QXSendGiftViewTypeFind) {
|
if (weakSelf.type != QXSendGiftViewTypeFind) {
|
||||||
QXGiftLabelModel *model = [[QXGiftLabelModel alloc] init];
|
QXGiftLabelModel *model = [[QXGiftLabelModel alloc] init];
|
||||||
model.name = @"背包";
|
model.name = @"背包";
|
||||||
model.id = @"-10";
|
model.id = @"-10";
|
||||||
[weakSelf.titles insertObject:model atIndex:0];
|
[weakSelf.titles insertObject:model atIndex:0];
|
||||||
weakSelf.categoryView.titles = arr;
|
weakSelf.categoryView.titles = arr;
|
||||||
|
BOOL haveRoomHot = NO;
|
||||||
for (QXGiftLabelModel*md in weakSelf.titles) {
|
for (QXGiftLabelModel*md in weakSelf.titles) {
|
||||||
|
if ([md.id isEqualToString:@"1013"]) {
|
||||||
|
haveRoomHot = YES;
|
||||||
|
}
|
||||||
[arr addObject:md.name];
|
[arr addObject:md.name];
|
||||||
}
|
}
|
||||||
[weakSelf.categoryView setDefaultSelectedIndex:1];
|
[weakSelf.categoryView setDefaultSelectedIndex:haveRoomHot?2:1];
|
||||||
[weakSelf.categoryView reloadData];
|
[weakSelf.categoryView reloadData];
|
||||||
}else{
|
}else{
|
||||||
/// 在发现打赏时 不需要趣味 循环中剔除
|
/// 在发现打赏时 不需要趣味 循环中剔除
|
||||||
for (QXGiftLabelModel*md in list) {
|
for (QXGiftLabelModel*md in list) {
|
||||||
if ([md.id isEqualToString:@"2"]) {
|
[arr addObject:md.name];
|
||||||
[weakSelf.titles removeObject:md];
|
|
||||||
continue;
|
|
||||||
}else{
|
|
||||||
[arr addObject:md.name];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
weakSelf.categoryView.titles = arr;
|
weakSelf.categoryView.titles = arr;
|
||||||
[weakSelf.categoryView setDefaultSelectedIndex:0];
|
[weakSelf.categoryView setDefaultSelectedIndex:0];
|
||||||
@@ -626,13 +667,31 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (index == 0) {
|
if (index == 0) {
|
||||||
|
[self.sendAllBtn setTitle:@"一键全送" forState:(UIControlStateNormal)];
|
||||||
|
[self.sendBtn setTitle:@"赠送" forState:(UIControlStateNormal)];
|
||||||
self.sendAllBtn.hidden = NO;
|
self.sendAllBtn.hidden = NO;
|
||||||
self.cornLabel.text = self.giftBagPrice;
|
self.cornLabel.text = self.giftBagPrice;
|
||||||
self.rechargeBtn.hidden = YES;
|
self.rechargeBtn.hidden = YES;
|
||||||
|
[self.rechargeBtn setTitle:@"去充值" forState:(UIControlStateNormal)];
|
||||||
|
self.pitUserListView.hidden = NO;
|
||||||
}else{
|
}else{
|
||||||
self.cornLabel.text = self.coin;
|
QXGiftLabelModel *typeModel = self.titles[index];
|
||||||
self.sendAllBtn.hidden = YES;
|
if ([typeModel.id isEqualToString:@"1013"]) {
|
||||||
self.rechargeBtn.hidden = !QXGlobal.shareGlobal.isOpenRecharge;
|
self.sendAllBtn.hidden = NO;
|
||||||
|
[self.sendAllBtn setTitle:@"一键全用" forState:(UIControlStateNormal)];
|
||||||
|
[self.sendBtn setTitle:@"使用" forState:(UIControlStateNormal)];
|
||||||
|
self.rechargeBtn.hidden = NO;
|
||||||
|
[self.rechargeBtn setTitle:@"去购买" forState:(UIControlStateNormal)];
|
||||||
|
self.pitUserListView.hidden = YES;
|
||||||
|
}else{
|
||||||
|
self.pitUserListView.hidden = NO;
|
||||||
|
[self.rechargeBtn setTitle:@"去充值" forState:(UIControlStateNormal)];
|
||||||
|
[self.sendAllBtn setTitle:@"一键全送" forState:(UIControlStateNormal)];
|
||||||
|
[self.sendBtn setTitle:@"赠送" forState:(UIControlStateNormal)];
|
||||||
|
self.cornLabel.text = self.coin;
|
||||||
|
self.sendAllBtn.hidden = YES;
|
||||||
|
self.rechargeBtn.hidden = !QXGlobal.shareGlobal.isOpenRecharge;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
- (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView{
|
- (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView{
|
||||||
@@ -645,6 +704,9 @@
|
|||||||
self.bagGiftView = subGiftView;
|
self.bagGiftView = subGiftView;
|
||||||
}
|
}
|
||||||
QXGiftLabelModel *md = self.titles[index];
|
QXGiftLabelModel *md = self.titles[index];
|
||||||
|
if ([md.id isEqualToString:@"1013"]) {
|
||||||
|
self.roomHotCardView = subGiftView;
|
||||||
|
}
|
||||||
subGiftView.roomId = self.roomId;
|
subGiftView.roomId = self.roomId;
|
||||||
subGiftView.giftLabelId = md.id;
|
subGiftView.giftLabelId = md.id;
|
||||||
subGiftView.type = self.type;
|
subGiftView.type = self.type;
|
||||||
|
|||||||
@@ -62,6 +62,9 @@
|
|||||||
@weakify(self)
|
@weakify(self)
|
||||||
[QXHomePageNetwork homeRoomListWithPage:self.page is_top:NO label_id:self.roomType.id successBlock:^(NSArray<QXRoomListModel *> * _Nonnull list, BOOL isAppStore) {
|
[QXHomePageNetwork homeRoomListWithPage:self.page is_top:NO label_id:self.roomType.id successBlock:^(NSArray<QXRoomListModel *> * _Nonnull list, BOOL isAppStore) {
|
||||||
@strongify(self)
|
@strongify(self)
|
||||||
|
if (self == nil) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (self.page == 1) {
|
if (self.page == 1) {
|
||||||
[self.dataArray removeAllObjects];
|
[self.dataArray removeAllObjects];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nonatomic,strong)NSString *label_icon;
|
@property (nonatomic,strong)NSString *label_icon;
|
||||||
|
|
||||||
@property (nonatomic,strong)NSString *hot_value;
|
@property (nonatomic,strong)NSString *hot_value;
|
||||||
|
/// 房间密码
|
||||||
|
@property (nonatomic,strong)NSString *room_password;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (weak, nonatomic) IBOutlet UILabel *countLabel;
|
@property (weak, nonatomic) IBOutlet UILabel *countLabel;
|
||||||
@property (weak, nonatomic) IBOutlet UIImageView *roomTypeView;
|
@property (weak, nonatomic) IBOutlet UIImageView *roomTypeView;
|
||||||
@property (weak, nonatomic) IBOutlet UIImageView *animateImageView;
|
@property (weak, nonatomic) IBOutlet UIImageView *animateImageView;
|
||||||
|
@property (weak, nonatomic) IBOutlet UIImageView *lockImageView;
|
||||||
@property (strong, nonatomic) QXRoomListModel *model;
|
@property (strong, nonatomic) QXRoomListModel *model;
|
||||||
@property (strong, nonatomic) QXMyRoomHistory *historyModel;
|
@property (strong, nonatomic) QXMyRoomHistory *historyModel;
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,11 @@
|
|||||||
self.nameLabel.text = [NSString stringWithFormat:@"%@",model.room_name];
|
self.nameLabel.text = [NSString stringWithFormat:@"%@",model.room_name];
|
||||||
self.appStoreNameLabel.text = [NSString stringWithFormat:@"%@",model.room_name];
|
self.appStoreNameLabel.text = [NSString stringWithFormat:@"%@",model.room_name];
|
||||||
self.countLabel.text = [NSString qx_showHotCountNum:model.hot_value.longLongValue];
|
self.countLabel.text = [NSString qx_showHotCountNum:model.hot_value.longLongValue];
|
||||||
|
if (model.room_password.length > 0) {
|
||||||
|
self.lockImageView.hidden = NO;
|
||||||
|
}else{
|
||||||
|
self.lockImageView.hidden = YES;
|
||||||
|
}
|
||||||
// if ([model.label_id isEqualToString:@"23"]) {
|
// if ([model.label_id isEqualToString:@"23"]) {
|
||||||
// self.roomTypeView.image = [UIImage imageNamed:@"Group 7153"];
|
// self.roomTypeView.image = [UIImage imageNamed:@"Group 7153"];
|
||||||
// }else if ([model.label_id isEqualToString:@"108"]){
|
// }else if ([model.label_id isEqualToString:@"108"]){
|
||||||
@@ -45,6 +50,11 @@
|
|||||||
self.nameLabel.text = [NSString stringWithFormat:@"%@",historyModel.room_name];
|
self.nameLabel.text = [NSString stringWithFormat:@"%@",historyModel.room_name];
|
||||||
self.countLabel.text = [NSString qx_showHotCountNum:historyModel.hot_value.longLongValue];
|
self.countLabel.text = [NSString qx_showHotCountNum:historyModel.hot_value.longLongValue];
|
||||||
[self.roomTypeView sd_setImageWithURL:[NSURL URLWithString:historyModel.label_icon]];
|
[self.roomTypeView sd_setImageWithURL:[NSURL URLWithString:historyModel.label_icon]];
|
||||||
|
if (historyModel.room_password.length > 0) {
|
||||||
|
self.lockImageView.hidden = NO;
|
||||||
|
}else{
|
||||||
|
self.lockImageView.hidden = YES;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
-(void)setSearchModel:(QXSearchModel *)searchModel{
|
-(void)setSearchModel:(QXSearchModel *)searchModel{
|
||||||
_searchModel = searchModel;
|
_searchModel = searchModel;
|
||||||
@@ -53,6 +63,11 @@
|
|||||||
self.nameLabel.text = [NSString stringWithFormat:@"%@",searchModel.name];
|
self.nameLabel.text = [NSString stringWithFormat:@"%@",searchModel.name];
|
||||||
self.countLabel.text = [NSString qx_showHotCountNum:searchModel.hot_value.longLongValue];
|
self.countLabel.text = [NSString qx_showHotCountNum:searchModel.hot_value.longLongValue];
|
||||||
[self.roomTypeView sd_setImageWithURL:[NSURL URLWithString:searchModel.label_icon]];
|
[self.roomTypeView sd_setImageWithURL:[NSURL URLWithString:searchModel.label_icon]];
|
||||||
|
if (searchModel.room_password.length > 0) {
|
||||||
|
self.lockImageView.hidden = NO;
|
||||||
|
}else{
|
||||||
|
self.lockImageView.hidden = YES;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
-(void)setIsAppStore:(BOOL)isAppStore{
|
-(void)setIsAppStore:(BOOL)isAppStore{
|
||||||
_isAppStore = isAppStore;
|
_isAppStore = isAppStore;
|
||||||
|
|||||||
@@ -134,6 +134,13 @@
|
|||||||
</userDefinedRuntimeAttribute>
|
</userDefinedRuntimeAttribute>
|
||||||
</userDefinedRuntimeAttributes>
|
</userDefinedRuntimeAttributes>
|
||||||
</label>
|
</label>
|
||||||
|
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="room_lock" translatesAutoresizingMaskIntoConstraints="NO" id="b7H-DA-VT1">
|
||||||
|
<rect key="frame" x="117" y="124.66666666666669" width="60" height="60"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="width" constant="60" id="0VC-Nk-qpi"/>
|
||||||
|
<constraint firstAttribute="height" constant="60" id="Grm-pw-rVy"/>
|
||||||
|
</constraints>
|
||||||
|
</imageView>
|
||||||
</subviews>
|
</subviews>
|
||||||
</view>
|
</view>
|
||||||
<viewLayoutGuide key="safeArea" id="SEy-5g-ep8"/>
|
<viewLayoutGuide key="safeArea" id="SEy-5g-ep8"/>
|
||||||
@@ -151,10 +158,12 @@
|
|||||||
<constraint firstAttribute="trailing" secondItem="FdH-8c-jAP" secondAttribute="trailing" constant="12" id="Vg4-Bv-qiW"/>
|
<constraint firstAttribute="trailing" secondItem="FdH-8c-jAP" secondAttribute="trailing" constant="12" id="Vg4-Bv-qiW"/>
|
||||||
<constraint firstItem="nPz-Ym-vpk" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="WJN-ti-QhO"/>
|
<constraint firstItem="nPz-Ym-vpk" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="WJN-ti-QhO"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="nPz-Ym-vpk" secondAttribute="bottom" id="aif-M8-0Jh"/>
|
<constraint firstAttribute="bottom" secondItem="nPz-Ym-vpk" secondAttribute="bottom" id="aif-M8-0Jh"/>
|
||||||
|
<constraint firstItem="b7H-DA-VT1" firstAttribute="centerX" secondItem="SEy-5g-ep8" secondAttribute="centerX" id="c4A-uP-tyu"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="EgE-mA-IY6" secondAttribute="trailing" constant="10" id="dhp-tQ-3T6"/>
|
<constraint firstAttribute="trailing" secondItem="EgE-mA-IY6" secondAttribute="trailing" constant="10" id="dhp-tQ-3T6"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="raq-XK-qhh" secondAttribute="bottom" id="eE2-ef-bWE"/>
|
<constraint firstAttribute="bottom" secondItem="raq-XK-qhh" secondAttribute="bottom" id="eE2-ef-bWE"/>
|
||||||
<constraint firstItem="qsd-Ig-Nmi" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="8" id="gwT-Kf-zHQ"/>
|
<constraint firstItem="qsd-Ig-Nmi" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="8" id="gwT-Kf-zHQ"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="GYb-S9-FB8" secondAttribute="trailing" id="mDi-oS-hhJ"/>
|
<constraint firstAttribute="trailing" secondItem="GYb-S9-FB8" secondAttribute="trailing" id="mDi-oS-hhJ"/>
|
||||||
|
<constraint firstItem="b7H-DA-VT1" firstAttribute="centerY" secondItem="SEy-5g-ep8" secondAttribute="centerY" id="n2e-ZW-QaC"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="nPz-Ym-vpk" secondAttribute="trailing" id="nMO-wi-Ic7"/>
|
<constraint firstAttribute="trailing" secondItem="nPz-Ym-vpk" secondAttribute="trailing" id="nMO-wi-Ic7"/>
|
||||||
<constraint firstItem="raq-XK-qhh" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="qAp-bv-ObA"/>
|
<constraint firstItem="raq-XK-qhh" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="qAp-bv-ObA"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="074-Lr-sTa" secondAttribute="bottom" constant="10" id="wAO-bU-aoJ"/>
|
<constraint firstAttribute="bottom" secondItem="074-Lr-sTa" secondAttribute="bottom" constant="10" id="wAO-bU-aoJ"/>
|
||||||
@@ -168,6 +177,7 @@
|
|||||||
<outlet property="countLabel" destination="BSc-rv-bf4" id="3DZ-sZ-CCV"/>
|
<outlet property="countLabel" destination="BSc-rv-bf4" id="3DZ-sZ-CCV"/>
|
||||||
<outlet property="coverImageView" destination="nPz-Ym-vpk" id="3tk-L4-05N"/>
|
<outlet property="coverImageView" destination="nPz-Ym-vpk" id="3tk-L4-05N"/>
|
||||||
<outlet property="displayMaskView" destination="raq-XK-qhh" id="gYi-Af-gep"/>
|
<outlet property="displayMaskView" destination="raq-XK-qhh" id="gYi-Af-gep"/>
|
||||||
|
<outlet property="lockImageView" destination="b7H-DA-VT1" id="hwD-BK-2VC"/>
|
||||||
<outlet property="nameLabel" destination="V8F-du-Rah" id="Ah9-Wd-QZJ"/>
|
<outlet property="nameLabel" destination="V8F-du-Rah" id="Ah9-Wd-QZJ"/>
|
||||||
<outlet property="roomTypeView" destination="GYb-S9-FB8" id="Tgr-f6-Qla"/>
|
<outlet property="roomTypeView" destination="GYb-S9-FB8" id="Tgr-f6-Qla"/>
|
||||||
</connections>
|
</connections>
|
||||||
@@ -177,5 +187,6 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<image name="Flow 10001.png" width="150" height="115"/>
|
<image name="Flow 10001.png" width="150" height="115"/>
|
||||||
<image name="room_hot_icon" width="14" height="14"/>
|
<image name="room_hot_icon" width="14" height="14"/>
|
||||||
|
<image name="room_lock" width="40" height="40"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@interface QXHomeTopRoomCell : UICollectionViewCell
|
@interface QXHomeTopRoomCell : UICollectionViewCell
|
||||||
@property (weak, nonatomic) IBOutlet UIImageView *roomImageView;
|
@property (weak, nonatomic) IBOutlet UIImageView *roomImageView;
|
||||||
@property (weak, nonatomic) IBOutlet UILabel *roomNameLabel;
|
@property (weak, nonatomic) IBOutlet UILabel *roomNameLabel;
|
||||||
|
@property (weak, nonatomic) IBOutlet UIImageView *lockImageView;
|
||||||
@property (strong, nonatomic)QXRoomListModel *model ;
|
@property (strong, nonatomic)QXRoomListModel *model ;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,11 @@
|
|||||||
_model = model;
|
_model = model;
|
||||||
[self.roomImageView sd_setImageWithURL:[NSURL URLWithString:model.room_cover]];
|
[self.roomImageView sd_setImageWithURL:[NSURL URLWithString:model.room_cover]];
|
||||||
self.roomNameLabel.text = model.room_name;
|
self.roomNameLabel.text = model.room_name;
|
||||||
|
if (model.room_password.length > 0) {
|
||||||
|
self.lockImageView.hidden = NO;
|
||||||
|
}else{
|
||||||
|
self.lockImageView.hidden = YES;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
- (void)awakeFromNib {
|
- (void)awakeFromNib {
|
||||||
[super awakeFromNib];
|
[super awakeFromNib];
|
||||||
|
|||||||
@@ -38,23 +38,36 @@
|
|||||||
</userDefinedRuntimeAttribute>
|
</userDefinedRuntimeAttribute>
|
||||||
</userDefinedRuntimeAttributes>
|
</userDefinedRuntimeAttributes>
|
||||||
</imageView>
|
</imageView>
|
||||||
|
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="room_lock" translatesAutoresizingMaskIntoConstraints="NO" id="YUp-7L-lc8">
|
||||||
|
<rect key="frame" x="115" y="88.666666666666671" width="60" height="60.000000000000014"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="width" constant="60" id="aX0-46-fMv"/>
|
||||||
|
<constraint firstAttribute="height" constant="60" id="nk1-hA-uPY"/>
|
||||||
|
</constraints>
|
||||||
|
</imageView>
|
||||||
</subviews>
|
</subviews>
|
||||||
</view>
|
</view>
|
||||||
<viewLayoutGuide key="safeArea" id="SEy-5g-ep8"/>
|
<viewLayoutGuide key="safeArea" id="SEy-5g-ep8"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstItem="AMc-ga-z0u" firstAttribute="top" secondItem="IPW-qC-f1g" secondAttribute="bottom" constant="8" id="1ZJ-sM-LA1"/>
|
<constraint firstItem="AMc-ga-z0u" firstAttribute="top" secondItem="IPW-qC-f1g" secondAttribute="bottom" constant="8" id="1ZJ-sM-LA1"/>
|
||||||
<constraint firstItem="IPW-qC-f1g" firstAttribute="centerX" secondItem="SEy-5g-ep8" secondAttribute="centerX" id="6SI-qJ-0va"/>
|
<constraint firstItem="IPW-qC-f1g" firstAttribute="centerX" secondItem="SEy-5g-ep8" secondAttribute="centerX" id="6SI-qJ-0va"/>
|
||||||
|
<constraint firstItem="YUp-7L-lc8" firstAttribute="centerX" secondItem="IPW-qC-f1g" secondAttribute="centerX" id="Eqv-La-nLc"/>
|
||||||
<constraint firstItem="IPW-qC-f1g" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="Jl7-NF-LFZ"/>
|
<constraint firstItem="IPW-qC-f1g" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="Jl7-NF-LFZ"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="AMc-ga-z0u" secondAttribute="trailing" constant="8" id="hbX-iy-3L1"/>
|
<constraint firstAttribute="trailing" secondItem="AMc-ga-z0u" secondAttribute="trailing" constant="8" id="hbX-iy-3L1"/>
|
||||||
|
<constraint firstItem="YUp-7L-lc8" firstAttribute="centerY" secondItem="IPW-qC-f1g" secondAttribute="centerY" id="jbx-Pj-cFH"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="AMc-ga-z0u" secondAttribute="bottom" constant="8" id="lMB-en-E1D"/>
|
<constraint firstAttribute="bottom" secondItem="AMc-ga-z0u" secondAttribute="bottom" constant="8" id="lMB-en-E1D"/>
|
||||||
<constraint firstItem="AMc-ga-z0u" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="8" id="zX4-9M-96x"/>
|
<constraint firstItem="AMc-ga-z0u" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="8" id="zX4-9M-96x"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<size key="customSize" width="290" height="267"/>
|
<size key="customSize" width="290" height="267"/>
|
||||||
<connections>
|
<connections>
|
||||||
|
<outlet property="lockImageView" destination="YUp-7L-lc8" id="vte-w2-IGo"/>
|
||||||
<outlet property="roomImageView" destination="IPW-qC-f1g" id="Aub-Kv-UEF"/>
|
<outlet property="roomImageView" destination="IPW-qC-f1g" id="Aub-Kv-UEF"/>
|
||||||
<outlet property="roomNameLabel" destination="AMc-ga-z0u" id="3nx-VQ-OCq"/>
|
<outlet property="roomNameLabel" destination="AMc-ga-z0u" id="3nx-VQ-OCq"/>
|
||||||
</connections>
|
</connections>
|
||||||
<point key="canvasLocation" x="320.61068702290078" y="96.126760563380287"/>
|
<point key="canvasLocation" x="320.61068702290078" y="96.126760563380287"/>
|
||||||
</collectionViewCell>
|
</collectionViewCell>
|
||||||
</objects>
|
</objects>
|
||||||
|
<resources>
|
||||||
|
<image name="room_lock" width="40" height="40"/>
|
||||||
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ 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";
|
static NSString * _Nonnull qx_red_redpacket = @"qx_redpacket_arrive";
|
||||||
|
/// 骏马活动话题
|
||||||
|
static NSString * _Nonnull qx_xianxuan = @"qx_xianxuan";
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
@protocol MQTTClientModelDelegate <NSObject>
|
@protocol MQTTClientModelDelegate <NSObject>
|
||||||
|
|||||||
@@ -88,6 +88,7 @@
|
|||||||
[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 subscribeTopic:qx_red_redpacket];
|
||||||
|
[self subscribeTopic:qx_xianxuan];
|
||||||
[self reConnectForStateError];
|
[self reConnectForStateError];
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ typedef NS_ENUM(NSInteger) {
|
|||||||
QXRoomMessageTypeCpHeartFinished = 131,
|
QXRoomMessageTypeCpHeartFinished = 131,
|
||||||
/// 师徒任务
|
/// 师徒任务
|
||||||
QXRoomMessageTypeMasterTask = 132,
|
QXRoomMessageTypeMasterTask = 132,
|
||||||
|
/// 用户被封禁
|
||||||
|
QXAppUserBeBanned = 404,
|
||||||
|
|
||||||
/// 基础文本消息类型
|
/// 基础文本消息类型
|
||||||
QXRoomMessageTypeText = 1,
|
QXRoomMessageTypeText = 1,
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
#import "QXDrifNobilityJoinRoomView.h"
|
#import "QXDrifNobilityJoinRoomView.h"
|
||||||
#import "QXCustomAlertView.h"
|
#import "QXCustomAlertView.h"
|
||||||
#import "QXHeartBeatSpaceViewController.h"
|
#import "QXHeartBeatSpaceViewController.h"
|
||||||
|
#import "QXCustomAlertView.h"
|
||||||
|
|
||||||
@interface QXRoomMessageManager() <V2TIMGroupListener,V2TIMSimpleMsgListener,V2TIMAdvancedMsgListener>
|
@interface QXRoomMessageManager() <V2TIMGroupListener,V2TIMSimpleMsgListener,V2TIMAdvancedMsgListener>
|
||||||
@property (nonatomic,strong)NSString *groupId;
|
@property (nonatomic,strong)NSString *groupId;
|
||||||
@@ -915,7 +916,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
-(void)onRecvC2CTextMessage:(NSString *)msgID sender:(V2TIMUserInfo *)info text:(NSString *)text{
|
-(void)onRecvC2CTextMessage:(NSString *)msgID sender:(V2TIMUserInfo *)info text:(NSString *)text{
|
||||||
|
QXRoomMessage *msg = [QXRoomMessage yy_modelWithJSON:text];
|
||||||
|
NSInteger meesageType = msg.MsgType.integerValue;
|
||||||
|
if (meesageType == QXAppUserBeBanned){
|
||||||
|
[[QXGlobal shareGlobal] logOut];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
-(void)onRecvC2CCustomMessage:(NSString *)msgID sender:(V2TIMUserInfo *)info customData:(NSData *)data{
|
-(void)onRecvC2CCustomMessage:(NSString *)msgID sender:(V2TIMUserInfo *)info customData:(NSData *)data{
|
||||||
NSString *jsonStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
|
NSString *jsonStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
|
||||||
@@ -957,8 +962,17 @@
|
|||||||
QXRoomChatListModel *model = [QXRoomChatListModel yy_modelWithJSON:msg.Text];
|
QXRoomChatListModel *model = [QXRoomChatListModel yy_modelWithJSON:msg.Text];
|
||||||
[self showMasterTaskInviteAlertViewWithRoomId:roomId userId:model.FromUserInfo.user_id];
|
[self showMasterTaskInviteAlertViewWithRoomId:roomId userId:model.FromUserInfo.user_id];
|
||||||
}
|
}
|
||||||
|
}else if (meesageType == QXAppUserBeBanned){
|
||||||
|
[[QXGlobal shareGlobal] logOut];
|
||||||
|
NSString *json = [NSString stringWithFormat:@"%@",msg.Text[@"text"]];
|
||||||
|
[self performSelector:@selector(userBeBannedWithText:) withObject:json afterDelay:2];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-(void)userBeBannedWithText:(NSString*)text{
|
||||||
|
QXCustomAlertView *al = [[QXCustomAlertView alloc] init];
|
||||||
|
[al showInView:KEYWINDOW title:@"温馨提示" message:text cancleTitle:nil commitTitle:@"确定"];
|
||||||
|
}
|
||||||
-(void)onRecvGroupCustomMessage:(NSString *)msgID groupID:(NSString *)groupID sender:(V2TIMGroupMemberInfo *)info customData:(NSData *)data{
|
-(void)onRecvGroupCustomMessage:(NSString *)msgID groupID:(NSString *)groupID sender:(V2TIMGroupMemberInfo *)info customData:(NSData *)data{
|
||||||
NSString *jsonStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
|
NSString *jsonStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
|
||||||
QXRoomMessage *msg = [QXRoomMessage yy_modelWithJSON:jsonStr];
|
QXRoomMessage *msg = [QXRoomMessage yy_modelWithJSON:jsonStr];
|
||||||
|
|||||||
@@ -77,7 +77,7 @@
|
|||||||
}
|
}
|
||||||
-(void)getData{
|
-(void)getData{
|
||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
[QXMineNetwork getDressTypeListSuccessBlock:^(NSArray<QXUserDressTypeModel *> * _Nonnull list) {
|
[QXMineNetwork getDressTypeListWithFrom:@"2" successBlock:^(NSArray<QXUserDressTypeModel *> * _Nonnull list) {
|
||||||
[weakSelf.dataArray removeAllObjects];
|
[weakSelf.dataArray removeAllObjects];
|
||||||
[weakSelf.dataArray addObjectsFromArray:list];
|
[weakSelf.dataArray addObjectsFromArray:list];
|
||||||
for (QXUserDressTypeModel*model in list) {
|
for (QXUserDressTypeModel*model in list) {
|
||||||
|
|||||||
@@ -42,6 +42,12 @@
|
|||||||
//@property (nonatomic,strong) UILabel *lineLabel;
|
//@property (nonatomic,strong) UILabel *lineLabel;
|
||||||
//@property (nonatomic,strong) UILabel *endLabel;
|
//@property (nonatomic,strong) UILabel *endLabel;
|
||||||
|
|
||||||
|
@property (nonatomic,strong)UILabel *priviteLabel;
|
||||||
|
@property (nonatomic,strong)UIButton *priviteBtn;
|
||||||
|
@property (nonatomic,strong)UIView *bottomBgView;
|
||||||
|
@property (nonatomic,strong)UITextField *passwordTextField;
|
||||||
|
@property (nonatomic,strong) UIButton *pwdDeleteBtn;
|
||||||
|
|
||||||
@property (nonatomic,strong) QXTimer *timer;
|
@property (nonatomic,strong) QXTimer *timer;
|
||||||
//@property (nonatomic,strong)QXDatePickerView* pickerView;
|
//@property (nonatomic,strong)QXDatePickerView* pickerView;
|
||||||
@end
|
@end
|
||||||
@@ -173,6 +179,60 @@
|
|||||||
make.bottom.mas_equalTo(-5);
|
make.bottom.mas_equalTo(-5);
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
self.priviteLabel = [[UILabel alloc] init];
|
||||||
|
self.priviteLabel.font = [UIFont boldSystemFontOfSize:15];
|
||||||
|
self.priviteLabel.textColor = RGB16A(0x000000, 0.45);
|
||||||
|
self.priviteLabel.text = QXText(@"是否设置密码");
|
||||||
|
[self.view addSubview:self.priviteLabel];
|
||||||
|
[self.priviteLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.equalTo(self.noticeBgView.mas_bottom).offset(12);
|
||||||
|
make.left.equalTo(self.roomNameLabel);
|
||||||
|
make.height.mas_equalTo(24);
|
||||||
|
}];
|
||||||
|
|
||||||
|
self.priviteBtn = [[UIButton alloc] init];
|
||||||
|
[self.priviteBtn setImage:[UIImage imageNamed:@"home_switch_off"] forState:(UIControlStateNormal)];
|
||||||
|
[self.priviteBtn setImage:[UIImage imageNamed:@"home_switch_on"] forState:(UIControlStateSelected)];
|
||||||
|
[self.priviteBtn addTarget:self action:@selector(priviteAction) forControlEvents:(UIControlEventTouchUpInside)];
|
||||||
|
[self.view addSubview:self.priviteBtn];
|
||||||
|
[self.priviteBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.right.mas_equalTo(-16);
|
||||||
|
make.width.mas_equalTo(40);
|
||||||
|
make.height.mas_equalTo(35);
|
||||||
|
make.centerY.equalTo(self.priviteLabel);
|
||||||
|
}];
|
||||||
|
|
||||||
|
|
||||||
|
self.bottomBgView = [[UIView alloc] init];
|
||||||
|
[self.bottomBgView addRoundedCornersWithRadius:11];
|
||||||
|
self.bottomBgView.backgroundColor = RGB16(0xEFF2F8);
|
||||||
|
[self.view addSubview:self.bottomBgView];
|
||||||
|
self.passwordTextField = [[UITextField alloc] initWithFrame:CGRectMake(12, 0, self.bottomBgView.width-34, 44)];
|
||||||
|
self.passwordTextField.placeholder = @"请输入房间密码(4位数字)";
|
||||||
|
self.passwordTextField.font = [UIFont systemFontOfSize:16];
|
||||||
|
// self.passwordTextField.secureTextEntry = YES;
|
||||||
|
self.passwordTextField.keyboardType = UIKeyboardTypeNumberPad;
|
||||||
|
self.passwordTextField.delegate = self;
|
||||||
|
[self.passwordTextField addTarget:self action:@selector(textFieldDidChanged:) forControlEvents:UIControlEventEditingChanged];
|
||||||
|
[self.bottomBgView addSubview:self.passwordTextField];
|
||||||
|
[self.bottomBgView addSubview:self.pwdDeleteBtn];
|
||||||
|
self.bottomBgView.hidden = YES;
|
||||||
|
[self.bottomBgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.equalTo(self.priviteLabel.mas_bottom).offset(12);
|
||||||
|
make.left.equalTo(self.roomNameLabel);
|
||||||
|
make.right.mas_equalTo(-16);
|
||||||
|
make.height.mas_equalTo(44);
|
||||||
|
}];
|
||||||
|
[self.pwdDeleteBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.bottom.equalTo(self.bottomBgView);
|
||||||
|
make.right.equalTo(self.bottomBgView).offset(-12);
|
||||||
|
make.width.mas_equalTo(44);
|
||||||
|
}];
|
||||||
|
[self.passwordTextField mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.bottom.equalTo(self.bottomBgView);
|
||||||
|
make.left.equalTo(self.bottomBgView).offset(12);
|
||||||
|
make.right.equalTo(self.pwdDeleteBtn.mas_left).offset(-4);
|
||||||
|
}];
|
||||||
|
|
||||||
|
|
||||||
[self.view addSubview:self.submitBtn];
|
[self.view addSubview:self.submitBtn];
|
||||||
@@ -207,6 +267,15 @@
|
|||||||
if ([self.roomModel.room_info.room_intro isExist]) {
|
if ([self.roomModel.room_info.room_intro isExist]) {
|
||||||
self.textView.placehoulderLabel.hidden = YES;
|
self.textView.placehoulderLabel.hidden = YES;
|
||||||
}
|
}
|
||||||
|
if (self.roomModel.room_info.room_password.length > 0) {
|
||||||
|
self.bottomBgView.hidden = NO;
|
||||||
|
self.priviteBtn.selected = YES;
|
||||||
|
self.passwordTextField.text = self.roomModel.room_info.room_password;
|
||||||
|
}else{
|
||||||
|
self.priviteBtn.selected = NO;
|
||||||
|
self.bottomBgView.hidden = YES;
|
||||||
|
self.passwordTextField.text = @"";
|
||||||
|
}
|
||||||
self.roomCoverUrl = self.roomModel.room_info.room_cover;
|
self.roomCoverUrl = self.roomModel.room_info.room_cover;
|
||||||
[self.submitBtn setTitle:QXText(@"确认修改") forState:UIControlStateNormal];
|
[self.submitBtn setTitle:QXText(@"确认修改") forState:UIControlStateNormal];
|
||||||
self.warningLabel.hidden = YES;
|
self.warningLabel.hidden = YES;
|
||||||
@@ -218,8 +287,18 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
-(void)priviteAction{
|
||||||
|
self.priviteBtn.selected = !self.priviteBtn.selected;
|
||||||
|
if (self.priviteBtn.selected) {
|
||||||
|
self.bottomBgView.hidden = NO;
|
||||||
|
}else{
|
||||||
|
self.bottomBgView.hidden = YES;
|
||||||
|
self.passwordTextField.text = @"";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-(void)clearPwdAction{
|
||||||
|
self.passwordTextField.text = @"";
|
||||||
|
}
|
||||||
-(void)getRandomName{
|
-(void)getRandomName{
|
||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
[QXMineNetwork getRoomRandomNameSuccessBlock:^(NSString * _Nonnull name) {
|
[QXMineNetwork getRoomRandomNameSuccessBlock:^(NSString * _Nonnull name) {
|
||||||
@@ -238,13 +317,24 @@
|
|||||||
showToast(@"请上传房间封面");
|
showToast(@"请上传房间封面");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (self.priviteBtn.selected == YES) {
|
||||||
|
if (self.passwordTextField.text.length == 0) {
|
||||||
|
showToast(@"请输入房间密码");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (self.passwordTextField.text.length > 4) {
|
||||||
|
showToast(@"房间密码只能是4位数字组成");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
if (self.roomModel) {
|
if (self.roomModel) {
|
||||||
[QXMineNetwork roomInfoEditWithRoomId:self.roomModel.room_info.room_id room_name:self.textField.text room_cover:self.roomCoverUrl room_intro:self.textView.text room_background:@"" successBlock:^(NSDictionary * _Nonnull dict) {
|
[QXMineNetwork roomInfoEditWithRoomId:self.roomModel.room_info.room_id room_name:self.textField.text room_cover:self.roomCoverUrl room_intro:self.textView.text room_background:self.roomModel.room_info.room_background room_password:self.passwordTextField.text successBlock:^(NSDictionary * _Nonnull dict) {
|
||||||
if (weakSelf.editSucceessBlock) {
|
if (weakSelf.editSucceessBlock) {
|
||||||
weakSelf.roomModel.room_info.room_name = weakSelf.textField.text;
|
weakSelf.roomModel.room_info.room_name = weakSelf.textField.text;
|
||||||
weakSelf.roomModel.room_info.room_cover = weakSelf.roomCoverUrl;
|
weakSelf.roomModel.room_info.room_cover = weakSelf.roomCoverUrl;
|
||||||
weakSelf.roomModel.room_info.room_intro = weakSelf.textView.text;
|
weakSelf.roomModel.room_info.room_intro = weakSelf.textView.text;
|
||||||
|
weakSelf.roomModel.room_info.room_password = weakSelf.passwordTextField.text;
|
||||||
weakSelf.editSucceessBlock(weakSelf.roomModel);
|
weakSelf.editSucceessBlock(weakSelf.roomModel);
|
||||||
}
|
}
|
||||||
[weakSelf.navigationController popViewControllerAnimated:YES];
|
[weakSelf.navigationController popViewControllerAnimated:YES];
|
||||||
@@ -252,7 +342,7 @@
|
|||||||
showToast(msg)
|
showToast(msg)
|
||||||
}];
|
}];
|
||||||
}else{
|
}else{
|
||||||
[QXMineNetwork createRoomWithName:self.textField.text room_cover:self.roomCoverUrl room_intro:self.textView.text successBlock:^(NSDictionary * _Nonnull dict) {
|
[QXMineNetwork createRoomWithName:self.textField.text room_cover:self.roomCoverUrl room_intro:self.textView.text room_password:self.passwordTextField.text successBlock:^(NSDictionary * _Nonnull dict) {
|
||||||
if (weakSelf.createSucceessBlock) {
|
if (weakSelf.createSucceessBlock) {
|
||||||
weakSelf.createSucceessBlock();
|
weakSelf.createSucceessBlock();
|
||||||
}
|
}
|
||||||
@@ -335,12 +425,34 @@
|
|||||||
|
|
||||||
#pragma mark - UITextFieldDelegate
|
#pragma mark - UITextFieldDelegate
|
||||||
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
|
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
|
||||||
return [self.textField resignFirstResponder];
|
[textField resignFirstResponder];
|
||||||
|
return YES;
|
||||||
}
|
}
|
||||||
|
//-(void)textFieldDidBeginEditing:(UITextField *)textField{
|
||||||
|
// if (textField == self.passwordTextField) {
|
||||||
|
// [UIView animateWithDuration:0.1 animations:^{
|
||||||
|
// self.view.y = 550;
|
||||||
|
// }];
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
//-(void)textFieldDidEndEditing:(UITextField *)textField{
|
||||||
|
// if (textField == self.passwordTextField) {
|
||||||
|
// [UIView animateWithDuration:0.1 animations:^{
|
||||||
|
// self.view.y = 0;
|
||||||
|
// }];
|
||||||
|
// }
|
||||||
|
//}
|
||||||
- (void)textFieldDidChanged:(UITextField *)textField {
|
- (void)textFieldDidChanged:(UITextField *)textField {
|
||||||
if (textField.text.length > 20) {
|
if (textField == self.textField) {
|
||||||
[textField deleteBackward];
|
if (textField.text.length > 20) {
|
||||||
|
[textField deleteBackward];
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if (textField.text.length == 4) {
|
||||||
|
[textField resignFirstResponder];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - Btn Click
|
#pragma mark - Btn Click
|
||||||
@@ -397,6 +509,14 @@
|
|||||||
}
|
}
|
||||||
return _deleteBtn;
|
return _deleteBtn;
|
||||||
}
|
}
|
||||||
|
-(UIButton *)pwdDeleteBtn{
|
||||||
|
if (!_pwdDeleteBtn) {
|
||||||
|
_pwdDeleteBtn = [[UIButton alloc] init];
|
||||||
|
[_pwdDeleteBtn setImage:[UIImage imageNamed:@"Plus Circle"] forState:(UIControlStateNormal)];
|
||||||
|
[_pwdDeleteBtn addTarget:self action:@selector(clearPwdAction) forControlEvents:(UIControlEventTouchUpInside)];
|
||||||
|
}
|
||||||
|
return _pwdDeleteBtn;
|
||||||
|
}
|
||||||
- (UITextField *)textField {
|
- (UITextField *)textField {
|
||||||
if (!_textField) {
|
if (!_textField) {
|
||||||
_textField = [[UITextField alloc] init];
|
_textField = [[UITextField alloc] init];
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@interface QXBackpackSubViewController : QXBaseViewController<JXCategoryListContentViewDelegate>
|
@interface QXBackpackSubViewController : QXBaseViewController<JXCategoryListContentViewDelegate>
|
||||||
/// 0背包道具 1背包收入 2背包支出
|
/// 0背包道具 1背包收入 2背包支出 3热度卡
|
||||||
@property (nonatomic,assign)NSInteger type;
|
@property (nonatomic,assign)NSInteger type;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
#import "QXGiftCell.h"
|
#import "QXGiftCell.h"
|
||||||
#import "QXBackpackRecordCell.h"
|
#import "QXBackpackRecordCell.h"
|
||||||
#import "QXMineNetwork.h"
|
#import "QXMineNetwork.h"
|
||||||
|
#import "QXDressCell.h"
|
||||||
|
|
||||||
@interface QXBackpackSubViewController ()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
|
@interface QXBackpackSubViewController ()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
|
||||||
@property (nonatomic,strong)UICollectionView *collectionView;
|
@property (nonatomic,strong)UICollectionView *collectionView;
|
||||||
@@ -28,8 +29,16 @@
|
|||||||
if (self.type == 0) {
|
if (self.type == 0) {
|
||||||
[self getBagList];
|
[self getBagList];
|
||||||
self.collectionView.frame = CGRectMake(0, 12, SCREEN_WIDTH, SCREEN_HEIGHT-NavContentHeight-44-10);
|
self.collectionView.frame = CGRectMake(0, 12, SCREEN_WIDTH, SCREEN_HEIGHT-NavContentHeight-44-10);
|
||||||
}else{
|
}else if(self.type == 1){
|
||||||
[self getGiftRecordListIsIncome:self.type == 1];
|
[self getHotCardList];
|
||||||
|
self.collectionView.frame = CGRectMake(0, 12, SCREEN_WIDTH, SCREEN_HEIGHT-NavContentHeight-44-10);
|
||||||
|
}else if(self.type == 2){
|
||||||
|
[self getGiftRecordListIsIncome:YES];
|
||||||
|
[self.collectionView addRoundedCornersWithRadius:16];
|
||||||
|
self.collectionView.backgroundColor = [UIColor whiteColor];
|
||||||
|
self.collectionView.frame = CGRectMake(16, 12, SCREEN_WIDTH-32, SCREEN_HEIGHT-NavContentHeight-44-10);
|
||||||
|
}else if(self.type == 3){
|
||||||
|
[self getGiftRecordListIsIncome:NO];
|
||||||
[self.collectionView addRoundedCornersWithRadius:16];
|
[self.collectionView addRoundedCornersWithRadius:16];
|
||||||
self.collectionView.backgroundColor = [UIColor whiteColor];
|
self.collectionView.backgroundColor = [UIColor whiteColor];
|
||||||
self.collectionView.frame = CGRectMake(16, 12, SCREEN_WIDTH-32, SCREEN_HEIGHT-NavContentHeight-44-10);
|
self.collectionView.frame = CGRectMake(16, 12, SCREEN_WIDTH-32, SCREEN_HEIGHT-NavContentHeight-44-10);
|
||||||
@@ -49,7 +58,21 @@
|
|||||||
[weakSelf.collectionView.mj_footer endRefreshing];
|
[weakSelf.collectionView.mj_footer endRefreshing];
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
-(void)getHotCardList{
|
||||||
|
@weakify(self)
|
||||||
|
[QXMineNetwork userDressListWithType:@"13" successBlock:^(NSArray<QXUserDressModel *> * _Nonnull list) {
|
||||||
|
@strongify(self);
|
||||||
|
[self.dataArray removeAllObjects];
|
||||||
|
[self.dataArray addObjectsFromArray:list];
|
||||||
|
[self.collectionView reloadData];
|
||||||
|
[self.collectionView.mj_header endRefreshing];
|
||||||
|
[self.collectionView.mj_footer endRefreshing];
|
||||||
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
|
@strongify(self);
|
||||||
|
[self.collectionView.mj_header endRefreshing];
|
||||||
|
[self.collectionView.mj_footer endRefreshing];
|
||||||
|
}];
|
||||||
|
}
|
||||||
-(void)getGiftRecordListIsIncome:(BOOL)isIncom{
|
-(void)getGiftRecordListIsIncome:(BOOL)isIncom{
|
||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
if (isIncom) {
|
if (isIncom) {
|
||||||
@@ -100,6 +123,10 @@
|
|||||||
cell.roomGiftModel = self.dataArray[indexPath.row];
|
cell.roomGiftModel = self.dataArray[indexPath.row];
|
||||||
cell.cellType = QXGiftCellTypeBackpack;
|
cell.cellType = QXGiftCellTypeBackpack;
|
||||||
return cell;
|
return cell;
|
||||||
|
}else if(self.type == 1){
|
||||||
|
QXDressCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXDressCell" forIndexPath:indexPath];
|
||||||
|
cell.model = self.dataArray[indexPath.row];
|
||||||
|
return cell;
|
||||||
}else{
|
}else{
|
||||||
QXBackpackRecordCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXBackpackRecordCell" forIndexPath:indexPath];
|
QXBackpackRecordCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXBackpackRecordCell" forIndexPath:indexPath];
|
||||||
if (indexPath.row == (self.dataArray.count - 1)) {
|
if (indexPath.row == (self.dataArray.count - 1)) {
|
||||||
@@ -112,7 +139,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
|
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
|
||||||
if (self.type == 0) {
|
if (self.type == 0 || self.type == 1) {
|
||||||
CGFloat width = (SCREEN_WIDTH-15*2-22*2)/3;
|
CGFloat width = (SCREEN_WIDTH-15*2-22*2)/3;
|
||||||
return CGSizeMake(width, width/100*136);
|
return CGSizeMake(width, width/100*136);
|
||||||
}else{
|
}else{
|
||||||
@@ -142,22 +169,40 @@
|
|||||||
_collectionView.dataSource = self;
|
_collectionView.dataSource = self;
|
||||||
_collectionView.backgroundColor = [UIColor clearColor];
|
_collectionView.backgroundColor = [UIColor clearColor];
|
||||||
[_collectionView registerNib:[UINib nibWithNibName:@"QXGiftCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"QXGiftCell"];
|
[_collectionView registerNib:[UINib nibWithNibName:@"QXGiftCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"QXGiftCell"];
|
||||||
|
[_collectionView registerNib:[UINib nibWithNibName:@"QXDressCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"QXDressCell"];
|
||||||
[_collectionView registerNib:[UINib nibWithNibName:@"QXBackpackRecordCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"QXBackpackRecordCell"];
|
[_collectionView registerNib:[UINib nibWithNibName:@"QXBackpackRecordCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"QXBackpackRecordCell"];
|
||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
_collectionView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
|
_collectionView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
|
||||||
weakSelf.page = 1;
|
weakSelf.page = 1;
|
||||||
|
weakSelf.page++;
|
||||||
|
BOOL isIn = NO;
|
||||||
|
if (weakSelf.type == 2) {
|
||||||
|
isIn = YES;
|
||||||
|
}else if(weakSelf.type == 3){
|
||||||
|
isIn = NO;
|
||||||
|
}
|
||||||
if (weakSelf.type == 0) {
|
if (weakSelf.type == 0) {
|
||||||
[weakSelf getBagList];
|
[weakSelf getBagList];
|
||||||
|
}else if (weakSelf.type == 1){
|
||||||
|
[weakSelf getHotCardList];
|
||||||
}else{
|
}else{
|
||||||
[weakSelf getGiftRecordListIsIncome:self.type == 1];
|
[weakSelf getGiftRecordListIsIncome:isIn];
|
||||||
}
|
}
|
||||||
}];
|
}];
|
||||||
_collectionView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
|
_collectionView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
|
||||||
weakSelf.page++;
|
weakSelf.page++;
|
||||||
|
BOOL isIn = NO;
|
||||||
|
if (weakSelf.type == 2) {
|
||||||
|
isIn = YES;
|
||||||
|
}else if(weakSelf.type == 3){
|
||||||
|
isIn = NO;
|
||||||
|
}
|
||||||
if (weakSelf.type == 0) {
|
if (weakSelf.type == 0) {
|
||||||
[weakSelf getBagList];
|
[weakSelf getBagList];
|
||||||
|
}else if (weakSelf.type == 1){
|
||||||
|
[weakSelf getHotCardList];
|
||||||
}else{
|
}else{
|
||||||
[weakSelf getGiftRecordListIsIncome:self.type == 1];
|
[weakSelf getGiftRecordListIsIncome:isIn];
|
||||||
}
|
}
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
}
|
}
|
||||||
- (void)initSubViews{
|
- (void)initSubViews{
|
||||||
self.view.backgroundColor = [UIColor whiteColor];
|
self.view.backgroundColor = [UIColor whiteColor];
|
||||||
self.titles = @[QXText(@"背包道具"),QXText(@"背包收入"),QXText(@"背包支出")];
|
self.titles = @[QXText(@"背包道具"),@"热度卡",QXText(@"背包收入"),QXText(@"背包支出")];
|
||||||
self.listVCArray = [NSMutableArray array];
|
self.listVCArray = [NSMutableArray array];
|
||||||
self.categoryView = [[JXCategoryTitleView alloc] init];
|
self.categoryView = [[JXCategoryTitleView alloc] init];
|
||||||
self.categoryView.frame = CGRectMake(15, kSafeAreaTop+44, SCREEN_WIDTH-30, 44);
|
self.categoryView.frame = CGRectMake(15, kSafeAreaTop+44, SCREEN_WIDTH-30, 44);
|
||||||
|
|||||||
@@ -19,6 +19,8 @@
|
|||||||
#import "QXSignInAppView.h"
|
#import "QXSignInAppView.h"
|
||||||
#import "QXCreatPhotosViewController.h"
|
#import "QXCreatPhotosViewController.h"
|
||||||
#import "QXCreateRoomViewController.h"
|
#import "QXCreateRoomViewController.h"
|
||||||
|
#import "QXTaskCrystalTagView.h"
|
||||||
|
#import "JFRoomWishView.h"
|
||||||
|
|
||||||
@interface QXTaskViewController ()<UITableViewDataSource,UITableViewDelegate,QXDayTaskCellDelegate,UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
|
@interface QXTaskViewController ()<UITableViewDataSource,UITableViewDelegate,QXDayTaskCellDelegate,UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
|
||||||
@property (nonatomic,strong)QXDayTaskTopView *topView;
|
@property (nonatomic,strong)QXDayTaskTopView *topView;
|
||||||
@@ -28,6 +30,7 @@
|
|||||||
@property (nonatomic,strong)QXDayTaskModel *model;
|
@property (nonatomic,strong)QXDayTaskModel *model;
|
||||||
@property (nonatomic,strong)QXDayTaskTypeModel *typeModel;
|
@property (nonatomic,strong)QXDayTaskTypeModel *typeModel;
|
||||||
@property (nonatomic,strong)UIImageView *nodataView;
|
@property (nonatomic,strong)UIImageView *nodataView;
|
||||||
|
@property (nonatomic,strong)QXTaskCrystalTagView *shuijingView;
|
||||||
|
|
||||||
@property (nonatomic,assign)NSInteger selectedInex;
|
@property (nonatomic,assign)NSInteger selectedInex;
|
||||||
@end
|
@end
|
||||||
@@ -77,6 +80,12 @@
|
|||||||
self.nodataView.hidden = YES;
|
self.nodataView.hidden = YES;
|
||||||
[self.bottomView addSubview:self.nodataView];
|
[self.bottomView addSubview:self.nodataView];
|
||||||
[self createTaskTypeView];
|
[self createTaskTypeView];
|
||||||
|
|
||||||
|
// self.shuijingView = [[QXTaskCrystalTagView alloc] init];
|
||||||
|
// self.shuijingView.startBlock = ^{
|
||||||
|
// [JFRoomWishView show];
|
||||||
|
// };
|
||||||
|
// [self.view addSubview:self.shuijingView];
|
||||||
}
|
}
|
||||||
-(void)createTaskTypeView{
|
-(void)createTaskTypeView{
|
||||||
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
|
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property(nonatomic,assign)BOOL isLight;
|
@property(nonatomic,assign)BOOL isLight;
|
||||||
/// 数据源
|
/// 数据源
|
||||||
@property(nonatomic,strong)NSArray<QXUserGiftWallModel*> *giftArray;
|
@property(nonatomic,strong)NSArray<QXUserGiftWallModel*> *giftArray;
|
||||||
|
/// 用户id
|
||||||
|
@property (nonatomic,strong)NSString*userId;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#import "QXGiftWallSubViewController.h"
|
#import "QXGiftWallSubViewController.h"
|
||||||
#import "QXMineGiftWallCell.h"
|
#import "QXMineGiftWallCell.h"
|
||||||
|
#import "QXGiftWallDetailView.h"
|
||||||
|
|
||||||
@interface QXGiftWallSubViewController ()<UICollectionViewDelegate,UICollectionViewDataSource>
|
@interface QXGiftWallSubViewController ()<UICollectionViewDelegate,UICollectionViewDataSource>
|
||||||
@property (nonatomic,strong)UICollectionView *collectionView;
|
@property (nonatomic,strong)UICollectionView *collectionView;
|
||||||
@@ -58,5 +59,14 @@
|
|||||||
cell.model = self.giftArray[indexPath.row];
|
cell.model = self.giftArray[indexPath.row];
|
||||||
return cell;
|
return cell;
|
||||||
}
|
}
|
||||||
|
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
|
||||||
|
if (self.isLight) {
|
||||||
|
QXUserGiftWallModel *model = self.giftArray[indexPath.row];
|
||||||
|
QXGiftWallDetailView *giftDetailView = [[QXGiftWallDetailView alloc] init];
|
||||||
|
giftDetailView.userId = self.userId;
|
||||||
|
giftDetailView.giftModel = model;
|
||||||
|
[giftDetailView showInView:self.view];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -92,8 +92,10 @@
|
|||||||
}
|
}
|
||||||
-(id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index{
|
-(id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index{
|
||||||
if (index == 0) {
|
if (index == 0) {
|
||||||
|
self.lightVC.userId = self.userId;
|
||||||
return self.lightVC;
|
return self.lightVC;
|
||||||
}else{
|
}else{
|
||||||
|
self.grayVC.userId = self.userId;
|
||||||
return self.grayVC;
|
return self.grayVC;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,8 @@
|
|||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@interface QXPropShopSubVC : QXBaseViewController<JXCategoryListContentViewDelegate>
|
@interface QXPropShopSubVC : QXBaseViewController<JXCategoryListContentViewDelegate>
|
||||||
|
/// 是否为购买房间热度卡
|
||||||
|
@property (nonatomic,assign)BOOL isBuyRoomHotCard;
|
||||||
@property (nonatomic,strong)QXUserDressTypeModel *model;
|
@property (nonatomic,strong)QXUserDressTypeModel *model;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,8 @@
|
|||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@interface QXPropShopVC : QXBaseViewController
|
@interface QXPropShopVC : QXBaseViewController
|
||||||
|
/// 是否为购买房间热度卡
|
||||||
|
@property (nonatomic,assign)BOOL isBuyRoomHotCard;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
|||||||
@@ -69,13 +69,23 @@
|
|||||||
}
|
}
|
||||||
-(void)getData{
|
-(void)getData{
|
||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
[QXMineNetwork getDressTypeListSuccessBlock:^(NSArray<QXUserDressTypeModel *> * _Nonnull list) {
|
[QXMineNetwork getDressTypeListWithFrom:@"1" successBlock:^(NSArray<QXUserDressTypeModel *> * _Nonnull list) {
|
||||||
[weakSelf.dataArray removeAllObjects];
|
[weakSelf.dataArray removeAllObjects];
|
||||||
[weakSelf.dataArray addObjectsFromArray:list];
|
[weakSelf.dataArray addObjectsFromArray:list];
|
||||||
for (QXUserDressTypeModel*model in list) {
|
NSInteger roomHotCardIndex = 0;
|
||||||
|
for (int i = 0; i < list.count; i++) {
|
||||||
|
QXUserDressTypeModel*model = list[i];
|
||||||
[weakSelf.titles addObject:model.name];
|
[weakSelf.titles addObject:model.name];
|
||||||
|
if ([model.id isEqualToString:@"13"]) {
|
||||||
|
roomHotCardIndex = i;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
weakSelf.categoryView.titles = weakSelf.titles;
|
weakSelf.categoryView.titles = weakSelf.titles;
|
||||||
|
if (weakSelf.isBuyRoomHotCard) {
|
||||||
|
[weakSelf.categoryView setDefaultSelectedIndex:roomHotCardIndex];
|
||||||
|
}else{
|
||||||
|
[weakSelf.categoryView setDefaultSelectedIndex:0];
|
||||||
|
}
|
||||||
[weakSelf.categoryView reloadData];
|
[weakSelf.categoryView reloadData];
|
||||||
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
|
|
||||||
@@ -104,6 +114,7 @@
|
|||||||
}
|
}
|
||||||
-(id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index{
|
-(id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index{
|
||||||
QXPropShopSubVC *vc = [[QXPropShopSubVC alloc] init];
|
QXPropShopSubVC *vc = [[QXPropShopSubVC alloc] init];
|
||||||
|
vc.isBuyRoomHotCard = self.isBuyRoomHotCard;
|
||||||
QXUserDressTypeModel *model = self.dataArray[index];
|
QXUserDressTypeModel *model = self.dataArray[index];
|
||||||
vc.model = model;
|
vc.model = model;
|
||||||
return vc;
|
return vc;
|
||||||
|
|||||||
@@ -45,6 +45,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
/// 当前钱包余额
|
/// 当前钱包余额
|
||||||
@property (nonatomic,strong)NSString *user_wallet_coin;
|
@property (nonatomic,strong)NSString *user_wallet_coin;
|
||||||
|
/// 当前礼物所在标签 (只针对热度卡)
|
||||||
|
@property (nonatomic,strong)NSString *label;
|
||||||
|
|
||||||
@property (nonatomic,assign)BOOL isSelected;
|
@property (nonatomic,assign)BOOL isSelected;
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -88,6 +88,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nonatomic,strong)NSString *start_time;
|
@property (nonatomic,strong)NSString *start_time;
|
||||||
/// 酒吧房撩人所需金币数
|
/// 酒吧房撩人所需金币数
|
||||||
@property (nonatomic,strong)NSString *end_time;
|
@property (nonatomic,strong)NSString *end_time;
|
||||||
|
/// 房间密码
|
||||||
|
@property (nonatomic,strong)NSString *room_password;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -242,9 +242,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
装扮类型列表
|
装扮类型列表
|
||||||
|
type 1 道具商城 2个性装扮
|
||||||
*/
|
*/
|
||||||
+(void)getDressTypeListSuccessBlock:(void (^)(NSArray<QXUserDressTypeModel*>* list))successBlock
|
+(void)getDressTypeListWithFrom:(NSString*)type
|
||||||
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
successBlock:(void (^)(NSArray<QXUserDressTypeModel*>* list))successBlock
|
||||||
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -276,6 +278,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
+(void)createRoomWithName:(NSString*)name
|
+(void)createRoomWithName:(NSString*)name
|
||||||
room_cover:(NSString*)room_cover
|
room_cover:(NSString*)room_cover
|
||||||
room_intro:(NSString*)room_intro
|
room_intro:(NSString*)room_intro
|
||||||
|
room_password:(NSString*)room_password
|
||||||
successBlock:(void (^)(NSDictionary* dict))successBlock
|
successBlock:(void (^)(NSDictionary* dict))successBlock
|
||||||
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
|
|
||||||
@@ -300,6 +303,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
+(void)beforeJoinRoomWithRoomId:(NSString *)room_id
|
+(void)beforeJoinRoomWithRoomId:(NSString *)room_id
|
||||||
successBlock:(void (^)(NSDictionary* dict))successBlock
|
successBlock:(void (^)(NSDictionary* dict))successBlock
|
||||||
roomErrorBlock:(void (^)(NSString * roomId, NSString * msg))roomErrorBlock
|
roomErrorBlock:(void (^)(NSString * roomId, NSString * msg))roomErrorBlock
|
||||||
|
roomNeedPasswordBlock:(void (^)(NSString * msg))roomNeedPasswordBlock
|
||||||
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
|
|
||||||
|
|
||||||
@@ -307,6 +311,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
进入房间
|
进入房间
|
||||||
*/
|
*/
|
||||||
+(void)joinRoomWithRoomId:(NSString*)room_id
|
+(void)joinRoomWithRoomId:(NSString*)room_id
|
||||||
|
room_password:(NSString*)room_password
|
||||||
successBlock:(void (^)(QXRoomModel* roomModel))successBlock
|
successBlock:(void (^)(QXRoomModel* roomModel))successBlock
|
||||||
roomErrorBlock:(void (^)(NSString * roomId, NSString * msg))roomErrorBlock
|
roomErrorBlock:(void (^)(NSString * roomId, NSString * msg))roomErrorBlock
|
||||||
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
@@ -330,8 +335,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
/**
|
/**
|
||||||
礼物标签列表
|
礼物标签列表
|
||||||
*/
|
*/
|
||||||
+(void)giftLabelSuccessBlock:(void (^)(NSArray<QXGiftLabelModel*>* list))successBlock
|
+(void)giftLabelWithType:(NSString*)type
|
||||||
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
successBlock:(void (^)(NSArray<QXGiftLabelModel*>* list))successBlock
|
||||||
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -574,6 +580,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
room_cover:(NSString*)room_cover
|
room_cover:(NSString*)room_cover
|
||||||
room_intro:(NSString*)room_intro
|
room_intro:(NSString*)room_intro
|
||||||
room_background:(NSString*)room_background
|
room_background:(NSString*)room_background
|
||||||
|
room_password:(NSString*)room_password
|
||||||
successBlock:(void (^)(NSDictionary* dict))successBlock
|
successBlock:(void (^)(NSDictionary* dict))successBlock
|
||||||
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
|
|
||||||
@@ -1604,6 +1611,24 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
user_id:(NSString*)user_id
|
user_id:(NSString*)user_id
|
||||||
successBlock:(void (^)(NSDictionary* dict))successBlock
|
successBlock:(void (^)(NSDictionary* dict))successBlock
|
||||||
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
|
|
||||||
|
/**
|
||||||
|
礼物墙礼物用户列表
|
||||||
|
*/
|
||||||
|
+(void)giftWallUserListWithUserId:(NSString*)user_id
|
||||||
|
page:(NSInteger)page
|
||||||
|
gift_id:(NSString*)gift_id
|
||||||
|
successBlock:(void (^)(NSArray<QXUserHomeModel*>* list,NSString*count))successBlock
|
||||||
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
|
|
||||||
|
/**
|
||||||
|
用户房间热度卡使用
|
||||||
|
*/
|
||||||
|
+(void)roomHotCardUseWithUdid:(NSString*)udid
|
||||||
|
room_id:(NSString*)room_id
|
||||||
|
num:(NSString*)num
|
||||||
|
successBlock:(void (^)(NSDictionary* dict))successBlock
|
||||||
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -487,8 +487,10 @@
|
|||||||
/**
|
/**
|
||||||
获取装扮类型列表
|
获取装扮类型列表
|
||||||
*/
|
*/
|
||||||
+(void)getDressTypeListSuccessBlock:(void (^)(NSArray<QXUserDressTypeModel *> * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
+(void)getDressTypeListWithFrom:(NSString*)type
|
||||||
[[QXRequset shareInstance] getWithUrl:QXDressTypeList parameters:@{} needCache:NO success:^(id responseObject) {
|
successBlock:(void (^)(NSArray<QXUserDressTypeModel *> * _Nonnull))successBlock
|
||||||
|
failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
||||||
|
[[QXRequset shareInstance] postWithUrl:QXDressTypeList parameters:@{@"from":type?type:@""} needCache:NO success:^(id responseObject) {
|
||||||
if (successBlock) {
|
if (successBlock) {
|
||||||
NSArray *list = [NSArray yy_modelArrayWithClass:[QXUserDressTypeModel class] json:responseObject[@"data"]];
|
NSArray *list = [NSArray yy_modelArrayWithClass:[QXUserDressTypeModel class] json:responseObject[@"data"]];
|
||||||
successBlock(list);
|
successBlock(list);
|
||||||
@@ -544,11 +546,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
+(void)createRoomWithName:(NSString *)name room_cover:(NSString *)room_cover room_intro:(NSString *)room_intro successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
+(void)createRoomWithName:(NSString *)name room_cover:(NSString *)room_cover room_intro:(NSString *)room_intro room_password:(NSString*)room_password successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
||||||
NSDictionary *parameters =@{
|
NSDictionary *parameters =@{
|
||||||
@"room_name":name,
|
@"room_name":name,
|
||||||
@"room_cover":room_cover?room_cover:@"",
|
@"room_cover":room_cover?room_cover:@"",
|
||||||
@"room_intro":room_intro?room_intro:@"",
|
@"room_intro":room_intro?room_intro:@"",
|
||||||
|
@"room_password":room_password?:@""
|
||||||
};
|
};
|
||||||
[[QXRequset shareInstance] getWithUrl:QXCreatRoom parameters:parameters needCache:NO success:^(id responseObject) {
|
[[QXRequset shareInstance] getWithUrl:QXCreatRoom parameters:parameters needCache:NO success:^(id responseObject) {
|
||||||
if (successBlock) {
|
if (successBlock) {
|
||||||
@@ -591,6 +594,7 @@
|
|||||||
+(void)beforeJoinRoomWithRoomId:(NSString *)room_id
|
+(void)beforeJoinRoomWithRoomId:(NSString *)room_id
|
||||||
successBlock:(void (^)(NSDictionary* dict))successBlock
|
successBlock:(void (^)(NSDictionary* dict))successBlock
|
||||||
roomErrorBlock:(void (^)(NSString * roomId, NSString * msg))roomErrorBlock
|
roomErrorBlock:(void (^)(NSString * roomId, NSString * msg))roomErrorBlock
|
||||||
|
roomNeedPasswordBlock:(void (^)(NSString * msg))roomNeedPasswordBlock
|
||||||
failBlock:(void (^)(NSError * error, NSString * msg))failBlock{
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock{
|
||||||
[[QXRequset shareInstance] postWithUrl:QXBeforeJoinRoom parameters:@{@"room_id":room_id} needCache:NO success:^(id responseObject) {
|
[[QXRequset shareInstance] postWithUrl:QXBeforeJoinRoom parameters:@{@"room_id":room_id} needCache:NO success:^(id responseObject) {
|
||||||
int code = [responseObject[@"code"] intValue];
|
int code = [responseObject[@"code"] intValue];
|
||||||
@@ -605,6 +609,11 @@
|
|||||||
if (roomErrorBlock) {
|
if (roomErrorBlock) {
|
||||||
roomErrorBlock(roomId,content);
|
roomErrorBlock(roomId,content);
|
||||||
}
|
}
|
||||||
|
}if(code == 101){
|
||||||
|
NSString* message = [NSString stringWithFormat:@"%@",responseObject[@"msg"]];
|
||||||
|
if (roomNeedPasswordBlock) {
|
||||||
|
roomNeedPasswordBlock(message);
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
if (successBlock) {
|
if (successBlock) {
|
||||||
successBlock(responseObject[@"data"]);
|
successBlock(responseObject[@"data"]);
|
||||||
@@ -615,9 +624,10 @@
|
|||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
+(void)joinRoomWithRoomId:(NSString *)room_id successBlock:(nonnull void (^)(QXRoomModel * _Nonnull))successBlock roomErrorBlock:(nonnull void (^)(NSString * _Nonnull, NSString * _Nonnull))roomErrorBlock failBlock:(nonnull void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
+(void)joinRoomWithRoomId:(NSString *)room_id room_password:(NSString*)room_password successBlock:(nonnull void (^)(QXRoomModel * _Nonnull))successBlock roomErrorBlock:(nonnull void (^)(NSString * _Nonnull, NSString * _Nonnull))roomErrorBlock failBlock:(nonnull void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
||||||
NSDictionary *parameters =@{
|
NSDictionary *parameters =@{
|
||||||
@"room_id":room_id?:@""
|
@"room_id":room_id?:@"",
|
||||||
|
@"room_password":room_password?:@""
|
||||||
};
|
};
|
||||||
[[QXRequset shareInstance] postWithUrl:QXJoinRoom parameters:parameters needCache:NO success:^(id responseObject) {
|
[[QXRequset shareInstance] postWithUrl:QXJoinRoom parameters:parameters needCache:NO success:^(id responseObject) {
|
||||||
int code = [responseObject[@"code"] intValue];
|
int code = [responseObject[@"code"] intValue];
|
||||||
@@ -662,7 +672,7 @@
|
|||||||
+(void)quitRoomWithRoomId:(NSString *)room_id user_id:(NSString *)user_id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
+(void)quitRoomWithRoomId:(NSString *)room_id user_id:(NSString *)user_id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
||||||
NSDictionary *parameters =@{
|
NSDictionary *parameters =@{
|
||||||
@"room_id":room_id,
|
@"room_id":room_id,
|
||||||
@"user_id":user_id
|
@"user_id":user_id?user_id:@""
|
||||||
};
|
};
|
||||||
[[QXRequset shareInstance] postWithUrl:QXQuitRoom parameters:parameters needCache:NO success:^(id responseObject) {
|
[[QXRequset shareInstance] postWithUrl:QXQuitRoom parameters:parameters needCache:NO success:^(id responseObject) {
|
||||||
if (successBlock) {
|
if (successBlock) {
|
||||||
@@ -675,11 +685,12 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
礼物标签列表
|
礼物标签列表
|
||||||
|
type 房间 1 动态打赏 2
|
||||||
*/
|
*/
|
||||||
+(void)giftLabelSuccessBlock:(void (^)(NSArray<QXGiftLabelModel*>* list))successBlock
|
+(void)giftLabelWithType:(NSString*)type
|
||||||
|
successBlock:(void (^)(NSArray<QXGiftLabelModel*>* list))successBlock
|
||||||
failBlock:(void (^)(NSError * error, NSString * msg))failBlock{
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock{
|
||||||
|
[[QXRequset shareInstance] getWithUrl:QXGiftLabel parameters:@{@"type":type?:@""} needCache:NO success:^(id responseObject) {
|
||||||
[[QXRequset shareInstance] getWithUrl:QXGiftLabel parameters:@{} needCache:NO success:^(id responseObject) {
|
|
||||||
NSArray *list = [NSArray yy_modelArrayWithClass:[QXGiftLabelModel class] json:responseObject[@"data"]];
|
NSArray *list = [NSArray yy_modelArrayWithClass:[QXGiftLabelModel class] json:responseObject[@"data"]];
|
||||||
successBlock(list);
|
successBlock(list);
|
||||||
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
|
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
|
||||||
@@ -690,6 +701,8 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
礼物列表
|
礼物列表
|
||||||
|
排麦插队礼物,id传递的是0,
|
||||||
|
歌单礼物,传递的id是100
|
||||||
*/
|
*/
|
||||||
+(void)giftListWithLabel:(NSString*)label
|
+(void)giftListWithLabel:(NSString*)label
|
||||||
roomId:(NSString*)roomId
|
roomId:(NSString*)roomId
|
||||||
@@ -1166,13 +1179,16 @@
|
|||||||
room_name:(NSString *)room_name
|
room_name:(NSString *)room_name
|
||||||
room_cover:(NSString *)room_cover
|
room_cover:(NSString *)room_cover
|
||||||
room_intro:(NSString *)room_intro
|
room_intro:(NSString *)room_intro
|
||||||
room_background:(NSString *)room_background successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
room_background:(NSString *)room_background
|
||||||
|
room_password:(NSString*)room_password
|
||||||
|
successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
|
||||||
NSDictionary *parameters =@{
|
NSDictionary *parameters =@{
|
||||||
@"room_id":roomId,
|
@"room_id":roomId,
|
||||||
@"room_name":room_name?room_name:@"",
|
@"room_name":room_name?room_name:@"",
|
||||||
@"room_cover":room_cover?room_cover:@"",
|
@"room_cover":room_cover?room_cover:@"",
|
||||||
@"room_intro":room_name?room_intro:@"",
|
@"room_intro":room_name?room_intro:@"",
|
||||||
@"room_background":room_background?room_background:@"",
|
@"room_background":room_background?room_background:@"",
|
||||||
|
@"room_password":room_password?:@""
|
||||||
};
|
};
|
||||||
[[QXRequset shareInstance] postWithUrl:QXRoomInfoEdit parameters:parameters needCache:NO success:^(id responseObject) {
|
[[QXRequset shareInstance] postWithUrl:QXRoomInfoEdit parameters:parameters needCache:NO success:^(id responseObject) {
|
||||||
if (successBlock) {
|
if (successBlock) {
|
||||||
@@ -3290,4 +3306,50 @@
|
|||||||
failBlock(error,msg);
|
failBlock(error,msg);
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
礼物墙礼物用户列表
|
||||||
|
*/
|
||||||
|
+(void)giftWallUserListWithUserId:(NSString*)user_id
|
||||||
|
page:(NSInteger)page
|
||||||
|
gift_id:(NSString*)gift_id
|
||||||
|
successBlock:(void (^)(NSArray<QXUserHomeModel*>* list,NSString*count))successBlock
|
||||||
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock{
|
||||||
|
NSDictionary *parameters =@{
|
||||||
|
@"user_id":user_id?:@"",
|
||||||
|
@"gift_id":gift_id?:@"",
|
||||||
|
@"page":[NSNumber numberWithInteger:page]
|
||||||
|
};
|
||||||
|
[[QXRequset shareInstance] postWithUrl:QXUserGiftWallUserList parameters:parameters needCache:NO success:^(id responseObject) {
|
||||||
|
if (successBlock) {
|
||||||
|
NSArray*list = [NSArray yy_modelArrayWithClass:[QXUserHomeModel class] json:responseObject[@"data"][@"users"]];
|
||||||
|
NSString*count = [NSString stringWithFormat:@"%@",responseObject[@"data"][@"count"]];
|
||||||
|
successBlock(list,count);
|
||||||
|
}
|
||||||
|
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
|
||||||
|
failBlock(error,msg);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
用户房间热度卡使用
|
||||||
|
*/
|
||||||
|
+(void)roomHotCardUseWithUdid:(NSString*)udid
|
||||||
|
room_id:(NSString*)room_id
|
||||||
|
num:(NSString*)num
|
||||||
|
successBlock:(void (^)(NSDictionary* dict))successBlock
|
||||||
|
failBlock:(void (^)(NSError * error, NSString * msg))failBlock{
|
||||||
|
NSDictionary *parameters =@{
|
||||||
|
@"udid":udid?:@"",
|
||||||
|
@"room_id":room_id?:@"",
|
||||||
|
@"num":num?:@""
|
||||||
|
};
|
||||||
|
[[QXRequset shareInstance] postWithUrl:QXUseRoomHotCard parameters:parameters needCache:NO success:^(id responseObject) {
|
||||||
|
if (successBlock) {
|
||||||
|
successBlock(responseObject[@"data"]);
|
||||||
|
}
|
||||||
|
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
|
||||||
|
failBlock(error,msg);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -237,7 +237,11 @@
|
|||||||
|
|
||||||
|
|
||||||
self.walletBgView = [[UIView alloc] initWithFrame:CGRectMake(self.topBgView.left, self.cycleScrollView.bottom+12, self.topBgView.width, 108)];
|
self.walletBgView = [[UIView alloc] initWithFrame:CGRectMake(self.topBgView.left, self.cycleScrollView.bottom+12, self.topBgView.width, 108)];
|
||||||
self.walletBgView.backgroundColor = RGB16(0x231F2C);
|
if (QXConfig.shared.model) {
|
||||||
|
self.walletBgView.backgroundColor = RGB16(0x600D00);
|
||||||
|
}else{
|
||||||
|
self.walletBgView.backgroundColor = RGB16(0x231F2C);
|
||||||
|
}
|
||||||
[self.walletBgView addRoundedCornersWithRadius:8];
|
[self.walletBgView addRoundedCornersWithRadius:8];
|
||||||
[self addSubview:self.walletBgView];
|
[self addSubview:self.walletBgView];
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,11 @@
|
|||||||
}
|
}
|
||||||
-(void)createViews{
|
-(void)createViews{
|
||||||
self.bgView = [[UIView alloc] init];
|
self.bgView = [[UIView alloc] init];
|
||||||
self.bgView.backgroundColor = RGB16(0x231F2C);
|
if (QXConfig.shared.model) {
|
||||||
|
self.bgView.backgroundColor = RGB16(0x600D00);
|
||||||
|
}else{
|
||||||
|
self.bgView.backgroundColor = RGB16(0x231F2C);
|
||||||
|
}
|
||||||
[self.bgView addRoundedCornersWithRadius:10];
|
[self.bgView addRoundedCornersWithRadius:10];
|
||||||
[self.contentView addSubview:self.bgView];
|
[self.contentView addSubview:self.bgView];
|
||||||
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
_model = model;
|
_model = model;
|
||||||
self.nameLabel.text = model.title;
|
self.nameLabel.text = model.title;
|
||||||
[self.dressImageView sd_setImageWithURL:[NSURL URLWithString:model.base_image]];
|
[self.dressImageView sd_setImageWithURL:[NSURL URLWithString:model.base_image]];
|
||||||
if ([model.type isEqualToString:@"12"]) {
|
if ([model.type isEqualToString:@"12"] || [model.type isEqualToString:@"13"]) {
|
||||||
self.timeLabel.text = [NSString stringWithFormat:@"x%@",model.num];
|
self.timeLabel.text = [NSString stringWithFormat:@"x%@",model.num];
|
||||||
}else{
|
}else{
|
||||||
self.timeLabel.text = [NSString stringWithFormat:@"%@%@",model.remaining_day,QXText(@"天")];
|
self.timeLabel.text = [NSString stringWithFormat:@"%@%@",model.remaining_day,QXText(@"天")];
|
||||||
|
|||||||
@@ -157,7 +157,7 @@
|
|||||||
self.fullEffectView.hidden = NO;
|
self.fullEffectView.hidden = NO;
|
||||||
[self.fullEffectView previewEffectWith:self.model.play_image];
|
[self.fullEffectView previewEffectWith:self.model.play_image];
|
||||||
}
|
}
|
||||||
if ([self.typeId isEqualToString:@"12"]) {
|
if ([self.typeId isEqualToString:@"12"] || [self.typeId isEqualToString:@"13"]) {
|
||||||
self.titleArray = @[@"商品名称",@"商品单价",@"购买次数",@"商品总价"];
|
self.titleArray = @[@"商品名称",@"商品单价",@"购买次数",@"商品总价"];
|
||||||
}else{
|
}else{
|
||||||
self.titleArray = @[@"商品名称",@"商品价格",@"有效期至",@"购买时长"];
|
self.titleArray = @[@"商品名称",@"商品价格",@"有效期至",@"购买时长"];
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nonatomic, assign)BRDatePickerMode pickerMode;
|
@property (nonatomic, assign)BRDatePickerMode pickerMode;
|
||||||
@property (nonatomic,strong)NSDate* beginDate;
|
@property (nonatomic,strong)NSDate* beginDate;
|
||||||
@property (nonatomic,strong)NSDate* endDate;
|
@property (nonatomic,strong)NSDate* endDate;
|
||||||
|
@property (nonatomic,strong)NSString *startSelectValue;
|
||||||
|
@property (nonatomic,strong)NSString *endSelectValue;
|
||||||
@property (nonatomic,copy)void(^chooseDateBlock)(NSString*startTime,NSString*endTime);
|
@property (nonatomic,copy)void(^chooseDateBlock)(NSString*startTime,NSString*endTime);
|
||||||
@property (nonatomic,copy)void(^selectedDateBlock)(NSString*startTime,NSDate*startDate,NSString*endTime,NSDate*endDate);
|
@property (nonatomic,copy)void(^selectedDateBlock)(NSString*startTime,NSDate*startDate,NSString*endTime,NSDate*endDate);
|
||||||
-(void)show;
|
-(void)show;
|
||||||
|
|||||||
@@ -338,11 +338,19 @@
|
|||||||
}
|
}
|
||||||
-(void)setBeginDate:(NSDate *)beginDate{
|
-(void)setBeginDate:(NSDate *)beginDate{
|
||||||
_beginDate = beginDate;
|
_beginDate = beginDate;
|
||||||
[self.beginTimeBtn setTitle:[NSString stringWithFormat:@"%02ld:%02ld",(long)beginDate.br_hour,beginDate.br_minute] forState:(UIControlStateNormal)];
|
if (self.pickerMode == BRDatePickerModeHM) {
|
||||||
|
[self.beginTimeBtn setTitle:[NSString stringWithFormat:@"%02ld:%02ld",(long)beginDate.br_hour,beginDate.br_minute] forState:(UIControlStateNormal)];
|
||||||
|
}else{
|
||||||
|
[self.beginTimeBtn setTitle:self.startSelectValue forState:(UIControlStateNormal)];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
-(void)setEndDate:(NSDate *)endDate{
|
-(void)setEndDate:(NSDate *)endDate{
|
||||||
_endDate = endDate;
|
_endDate = endDate;
|
||||||
[self.endTimeBtn setTitle:[NSString stringWithFormat:@"%02ld:%02ld",(long)endDate.br_hour,endDate.br_minute] forState:(UIControlStateNormal)];
|
if (self.pickerMode == BRDatePickerModeHM) {
|
||||||
|
[self.endTimeBtn setTitle:[NSString stringWithFormat:@"%02ld:%02ld",(long)endDate.br_hour,endDate.br_minute] forState:(UIControlStateNormal)];
|
||||||
|
}else{
|
||||||
|
[self.endTimeBtn setTitle:self.endSelectValue forState:(UIControlStateNormal)];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)doneAction{
|
-(void)doneAction{
|
||||||
@@ -401,10 +409,12 @@
|
|||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
_pickerView.resultBlock = ^(NSDate * _Nullable selectDate, NSString * _Nullable selectValue) {
|
_pickerView.resultBlock = ^(NSDate * _Nullable selectDate, NSString * _Nullable selectValue) {
|
||||||
if (weakSelf.beginTimeBtn.selected) {
|
if (weakSelf.beginTimeBtn.selected) {
|
||||||
|
weakSelf.startSelectValue = selectValue;
|
||||||
[weakSelf.beginTimeBtn setTitle:selectValue forState:(UIControlStateNormal)];
|
[weakSelf.beginTimeBtn setTitle:selectValue forState:(UIControlStateNormal)];
|
||||||
weakSelf.beginDate = selectDate;
|
weakSelf.beginDate = selectDate;
|
||||||
}else{
|
}else{
|
||||||
[weakSelf.endTimeBtn setTitle:selectValue forState:(UIControlStateNormal)];
|
[weakSelf.endTimeBtn setTitle:selectValue forState:(UIControlStateNormal)];
|
||||||
|
weakSelf.endSelectValue = selectValue;
|
||||||
weakSelf.endDate = selectDate;
|
weakSelf.endDate = selectDate;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -150,7 +150,7 @@
|
|||||||
|
|
||||||
-(void)getGiftList{
|
-(void)getGiftList{
|
||||||
MJWeakSelf
|
MJWeakSelf
|
||||||
[QXMineNetwork giftListWithLabel:@"1" roomId:@"" successBlock:^(NSArray<QXGiftModel *> * _Nonnull list) {
|
[QXMineNetwork giftListWithLabel:@"100" roomId:@"" successBlock:^(NSArray<QXGiftModel *> * _Nonnull list) {
|
||||||
[weakSelf.dataArray removeAllObjects];
|
[weakSelf.dataArray removeAllObjects];
|
||||||
[weakSelf.dataArray addObjectsFromArray:list];
|
[weakSelf.dataArray addObjectsFromArray:list];
|
||||||
[weakSelf.collectionView reloadData];
|
[weakSelf.collectionView reloadData];
|
||||||
|
|||||||
16
QXLive/Mine(音域)/View/每日任务/QXTaskCrystalTagView.h
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
//
|
||||||
|
// QXTaskCrystalTagView.h
|
||||||
|
// QXLive
|
||||||
|
//
|
||||||
|
// Created by 启星 on 2026/1/26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface QXTaskCrystalTagView : UIView
|
||||||
|
@property (nonatomic,copy)void(^startBlock)(void);
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
71
QXLive/Mine(音域)/View/每日任务/QXTaskCrystalTagView.m
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
//
|
||||||
|
// QXTaskCrystalTagView.m
|
||||||
|
// QXLive
|
||||||
|
//
|
||||||
|
// Created by 启星 on 2026/1/26.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "QXTaskCrystalTagView.h"
|
||||||
|
@interface QXTaskCrystalTagView()
|
||||||
|
@property (nonatomic,strong)UIImageView *imageView;
|
||||||
|
@property (nonatomic,strong)UILabel *timeLabel;
|
||||||
|
@property (nonatomic,strong)UIButton *btn;
|
||||||
|
@property (nonatomic,strong)UILabel *unreadLabel;
|
||||||
|
@end
|
||||||
|
@implementation QXTaskCrystalTagView
|
||||||
|
|
||||||
|
- (instancetype)init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if (self) {
|
||||||
|
self.frame = CGRectMake(SCREEN_WIDTH-104, SCREEN_HEIGHT-400, 104, 104);
|
||||||
|
[self initSubviews];
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)initSubviews{
|
||||||
|
self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"task_shuijing"]];
|
||||||
|
self.imageView.frame = CGRectMake(0, 0, 104, 104);
|
||||||
|
[self addSubview:self.imageView];
|
||||||
|
|
||||||
|
self.timeLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, self.imageView.bottom-20-15, self.width, 20)];
|
||||||
|
self.timeLabel.textAlignment = NSTextAlignmentCenter;
|
||||||
|
self.timeLabel.font = [UIFont fontWithName:@"DIN Condensed" size:16];
|
||||||
|
self.timeLabel.textColor = RGB16(0xFFEA00);
|
||||||
|
|
||||||
|
self.timeLabel.text = @"许愿卡x0";
|
||||||
|
[self addSubview:self.timeLabel];
|
||||||
|
|
||||||
|
|
||||||
|
self.btn = [[UIButton alloc] initWithFrame:self.bounds];
|
||||||
|
[self.btn addTarget:self action:@selector(btnClick) forControlEvents:(UIControlEventTouchUpInside)];
|
||||||
|
[self addSubview:self.btn];
|
||||||
|
|
||||||
|
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
|
||||||
|
[self addGestureRecognizer:panRecognizer];
|
||||||
|
}
|
||||||
|
-(void)btnClick{
|
||||||
|
if (self.startBlock) {
|
||||||
|
self.startBlock();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-(void)handlePan:(UIPanGestureRecognizer*)recognizer{
|
||||||
|
if (recognizer.state == UIGestureRecognizerStateEnded) {
|
||||||
|
NSLog(@"拖动结束");
|
||||||
|
}
|
||||||
|
CGPoint translation = [recognizer translationInView:self.viewController.view];
|
||||||
|
CGPoint panCenter = CGPointMake(recognizer.view.center.x + translation.x,
|
||||||
|
recognizer.view.center.y + translation.y);
|
||||||
|
if (panCenter.y < kSafeAreaTop || panCenter.y> SCREEN_HEIGHT-kSafeAreaBottom) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
recognizer.view.center = CGPointMake(SCREEN_WIDTH-ScaleWidth(104)/2,
|
||||||
|
recognizer.view.center.y + translation.y);
|
||||||
|
[recognizer setTranslation:CGPointZero inView:self.viewController.view];
|
||||||
|
}
|
||||||
|
@end
|
||||||
25
QXLive/Mine(音域)/View/礼物墙/QXGiftWallDetailView.h
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
//
|
||||||
|
// QXGiftWallDetailView.h
|
||||||
|
// QXLive
|
||||||
|
//
|
||||||
|
// Created by 启星 on 2026/1/23.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface QXGiftWallDetailView : UIView
|
||||||
|
@property (nonatomic,strong)NSString*userId;
|
||||||
|
@property (nonatomic,strong)QXUserGiftWallModel*giftModel;
|
||||||
|
-(void)showInView:(UIView *)view;
|
||||||
|
-(void)hide;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface QXGiftWallDetailCell : UICollectionViewCell
|
||||||
|
@property (nonatomic,strong)UIImageView *headerImageView;
|
||||||
|
@property (nonatomic,strong)UILabel *nameLabel;
|
||||||
|
@property (nonatomic,strong)UILabel *countLabel;
|
||||||
|
@property (nonatomic,strong)QXUserHomeModel*user;
|
||||||
|
@end
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
233
QXLive/Mine(音域)/View/礼物墙/QXGiftWallDetailView.m
Normal file
@@ -0,0 +1,233 @@
|
|||||||
|
//
|
||||||
|
// QXGiftWallDetailView.m
|
||||||
|
// QXLive
|
||||||
|
//
|
||||||
|
// Created by 启星 on 2026/1/23.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "QXGiftWallDetailView.h"
|
||||||
|
#import "QXMineNetwork.h"
|
||||||
|
@interface QXGiftWallDetailView()<UICollectionViewDataSource,UICollectionViewDelegate>
|
||||||
|
@property (strong, nonatomic)UIView *bgView;
|
||||||
|
@property (strong, nonatomic)UILabel *titleLabel;
|
||||||
|
@property (strong, nonatomic)UIButton *closeBtn;
|
||||||
|
@property (strong, nonatomic)UILabel *subTitleLabel;
|
||||||
|
@property (strong, nonatomic)UILabel *giftCountLabel;
|
||||||
|
@property (strong, nonatomic)UICollectionView *collectionView;
|
||||||
|
@property (strong, nonatomic)NSMutableArray *dataArray;
|
||||||
|
@property (assign, nonatomic)NSInteger page;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation QXGiftWallDetailView
|
||||||
|
- (instancetype)init
|
||||||
|
{
|
||||||
|
self = [super init];
|
||||||
|
if (self) {
|
||||||
|
self.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||||
|
[self initSubviews];
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)initSubviews{
|
||||||
|
self.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.4];
|
||||||
|
self.bgView = [[UIView alloc] initWithFrame:CGRectMake((SCREEN_WIDTH-ScaleWidth(348))/2, (SCREEN_HEIGHT-ScaleWidth(429))/2, ScaleWidth(348), ScaleWidth(429))];
|
||||||
|
self.bgView.backgroundColor = RGB16(0x134039);
|
||||||
|
[self.bgView addRoundedCornersWithRadius:16];
|
||||||
|
[self addSubview:self.bgView];
|
||||||
|
|
||||||
|
self.titleLabel = [[UILabel alloc] init];
|
||||||
|
self.titleLabel.textColor = RGB16(0xffffff);
|
||||||
|
self.titleLabel.font = [UIFont boldSystemFontOfSize:16];
|
||||||
|
self.titleLabel.text = @"黄金游轮";
|
||||||
|
[self.bgView addSubview:self.titleLabel];
|
||||||
|
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(20);
|
||||||
|
make.centerX.equalTo(self.bgView);
|
||||||
|
}];
|
||||||
|
|
||||||
|
self.closeBtn = [[UIButton alloc] init];
|
||||||
|
[self.closeBtn setImage:[UIImage imageNamed:@"wallet_close"] forState:(UIControlStateNormal)];
|
||||||
|
[self.closeBtn addTarget:self action:@selector(hide) forControlEvents:(UIControlEventTouchUpInside)];
|
||||||
|
[self.bgView addSubview:self.closeBtn];
|
||||||
|
[self.closeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.height.width.mas_equalTo(35);
|
||||||
|
make.top.mas_equalTo(2);
|
||||||
|
make.right.mas_equalTo(-2);
|
||||||
|
}];
|
||||||
|
|
||||||
|
self.subTitleLabel = [[UILabel alloc] init];
|
||||||
|
self.subTitleLabel.textColor = RGB16A(0xffffff,0.65);
|
||||||
|
self.subTitleLabel.font = [UIFont boldSystemFontOfSize:12];
|
||||||
|
self.subTitleLabel.text = @"— 历史累计集卡详情 —";
|
||||||
|
[self.bgView addSubview:self.subTitleLabel];
|
||||||
|
[self.subTitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.equalTo(self.titleLabel.mas_bottom).offset(6);
|
||||||
|
make.centerX.equalTo(self.bgView);
|
||||||
|
}];
|
||||||
|
|
||||||
|
self.giftCountLabel = [[UILabel alloc] init];
|
||||||
|
self.giftCountLabel.textColor = RGB16(0xffffff);
|
||||||
|
self.giftCountLabel.font = [UIFont boldSystemFontOfSize:14];
|
||||||
|
self.giftCountLabel.text = @"黄金邮轮 26 人数 23";
|
||||||
|
[self.bgView addSubview:self.giftCountLabel];
|
||||||
|
[self.giftCountLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.equalTo(self.subTitleLabel.mas_bottom).offset(13);
|
||||||
|
make.centerX.equalTo(self.bgView);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.bgView addSubview:self.collectionView];
|
||||||
|
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.right.mas_equalTo(0);
|
||||||
|
make.left.mas_equalTo(0);
|
||||||
|
make.top.equalTo(self.giftCountLabel.mas_bottom).offset(5);
|
||||||
|
make.bottom.equalTo(self.bgView).offset(-10);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
-(void)setGiftModel:(QXUserGiftWallModel *)giftModel{
|
||||||
|
_giftModel = giftModel;
|
||||||
|
self.titleLabel.text = giftModel.gift_name;
|
||||||
|
NSString *userCount = giftModel.top_users_count;
|
||||||
|
NSString *giftCount = giftModel.total_count;
|
||||||
|
NSString *giftInfo = [NSString stringWithFormat:@"%@%@ 人数%@",giftModel.gift_name,giftCount,userCount];
|
||||||
|
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:giftInfo];
|
||||||
|
[attr yy_setColor:RGB16(0xFFFF59) range:[giftInfo rangeOfString:userCount]];
|
||||||
|
[attr yy_setColor:RGB16(0xFFFF59) range:[giftInfo rangeOfString:giftCount]];
|
||||||
|
self.giftCountLabel.attributedText = attr;
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)getUserList{
|
||||||
|
MJWeakSelf
|
||||||
|
[QXMineNetwork giftWallUserListWithUserId:self.userId page:self.page gift_id:self.giftModel.gift_id successBlock:^(NSArray<QXUserHomeModel *> * _Nonnull list, NSString * _Nonnull count) {
|
||||||
|
if (weakSelf.page == 1) {
|
||||||
|
[weakSelf.dataArray removeAllObjects];
|
||||||
|
}
|
||||||
|
[weakSelf.dataArray addObjectsFromArray:list];
|
||||||
|
[weakSelf.collectionView reloadData];
|
||||||
|
[weakSelf.collectionView.mj_header endRefreshing];
|
||||||
|
if (list.count == 0) {
|
||||||
|
weakSelf.collectionView.mj_footer.state = MJRefreshStateNoMoreData;
|
||||||
|
}else{
|
||||||
|
[weakSelf.collectionView.mj_footer endRefreshing];
|
||||||
|
}
|
||||||
|
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
|
[weakSelf.collectionView.mj_header endRefreshing];
|
||||||
|
[weakSelf.collectionView.mj_footer endRefreshing];
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
|
||||||
|
return self.dataArray.count;
|
||||||
|
}
|
||||||
|
-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
|
||||||
|
QXGiftWallDetailCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXGiftWallDetailCell" forIndexPath:indexPath];
|
||||||
|
cell.user = self.dataArray[indexPath.row];
|
||||||
|
return cell;
|
||||||
|
}
|
||||||
|
-(void)showInView:(UIView *)view{
|
||||||
|
self.page = 1;
|
||||||
|
[self getUserList];
|
||||||
|
self.bgView.alpha = 0;
|
||||||
|
self.bgView.frame = CGRectMake((SCREEN_WIDTH-ScaleWidth(348))/2, (view.height-ScaleWidth(429))/2, ScaleWidth(348), ScaleWidth(429));
|
||||||
|
[view addSubview:self];
|
||||||
|
[UIView animateWithDuration:0.1 animations:^{
|
||||||
|
self.bgView.alpha = 1;
|
||||||
|
}completion:^(BOOL finished) {
|
||||||
|
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
-(void)hide{
|
||||||
|
[UIView animateWithDuration:0.1 animations:^{
|
||||||
|
self.bgView.alpha = 0;
|
||||||
|
}completion:^(BOOL finished) {
|
||||||
|
[self removeFromSuperview];
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
-(UICollectionView *)collectionView{
|
||||||
|
if (!_collectionView) {
|
||||||
|
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
|
||||||
|
layout.minimumLineSpacing = 20;
|
||||||
|
layout.minimumInteritemSpacing = 20;
|
||||||
|
layout.sectionInset = UIEdgeInsetsMake(0, 16, 0, 16);
|
||||||
|
NSInteger itemWidth =(ScaleWidth(348)-16*2-20*3)/4;
|
||||||
|
layout.itemSize = CGSizeMake(itemWidth, itemWidth+22);
|
||||||
|
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
|
||||||
|
_collectionView.delegate = self;
|
||||||
|
_collectionView.dataSource = self;
|
||||||
|
_collectionView.backgroundColor = [UIColor clearColor];
|
||||||
|
[_collectionView registerNib:[UINib nibWithNibName:@"QXRechargePriceCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"QXRechargePriceCell"];
|
||||||
|
[_collectionView registerClass:[QXGiftWallDetailCell class] forCellWithReuseIdentifier:@"QXGiftWallDetailCell"];
|
||||||
|
MJWeakSelf
|
||||||
|
_collectionView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
|
||||||
|
weakSelf.page = 1;
|
||||||
|
[weakSelf getUserList];
|
||||||
|
}];
|
||||||
|
_collectionView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
|
||||||
|
weakSelf.page++;
|
||||||
|
[weakSelf getUserList];
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
return _collectionView;
|
||||||
|
}
|
||||||
|
-(NSMutableArray *)dataArray{
|
||||||
|
if (!_dataArray) {
|
||||||
|
_dataArray = [NSMutableArray array];
|
||||||
|
}
|
||||||
|
return _dataArray;
|
||||||
|
}
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
@implementation QXGiftWallDetailCell
|
||||||
|
|
||||||
|
- (instancetype)initWithFrame:(CGRect)frame
|
||||||
|
{
|
||||||
|
self = [super initWithFrame:frame];
|
||||||
|
if (self) {
|
||||||
|
[self initSubviews];
|
||||||
|
self.contentView.backgroundColor = [UIColor clearColor];
|
||||||
|
self.backgroundColor = UIColor.clearColor;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
-(void)setUser:(QXUserHomeModel *)user{
|
||||||
|
_user = user;
|
||||||
|
[self.headerImageView sd_setImageWithURL:[NSURL URLWithString:user.avatar]];
|
||||||
|
self.nameLabel.text = user.nickname;
|
||||||
|
self.countLabel.text = [NSString stringWithFormat:@"x%@",user.count];
|
||||||
|
}
|
||||||
|
-(void)initSubviews{
|
||||||
|
self.headerImageView = [[UIImageView alloc] init];
|
||||||
|
self.headerImageView.contentMode = UIViewContentModeScaleAspectFill;
|
||||||
|
[self.contentView addSubview:self.headerImageView];
|
||||||
|
NSInteger itemWidth =(ScaleWidth(348)-16*2-20*3)/4;
|
||||||
|
[self.headerImageView addRoundedCornersWithRadius:itemWidth/2];
|
||||||
|
[self.headerImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.left.right.top.equalTo(self.contentView);
|
||||||
|
make.height.equalTo(self.headerImageView.mas_width);
|
||||||
|
}];
|
||||||
|
|
||||||
|
self.countLabel = [[UILabel alloc] init];
|
||||||
|
self.countLabel.textColor = RGB16(0xFFFF93);
|
||||||
|
self.countLabel.font = [UIFont boldSystemFontOfSize:12];
|
||||||
|
self.countLabel.text = @"x0";
|
||||||
|
[self.contentView addSubview:self.countLabel];
|
||||||
|
[self.countLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.right.equalTo(self.contentView);
|
||||||
|
make.bottom.equalTo(self.headerImageView).offset(-4);
|
||||||
|
make.height.mas_equalTo(17);
|
||||||
|
}];
|
||||||
|
|
||||||
|
self.nameLabel = [[UILabel alloc] init];
|
||||||
|
self.nameLabel.textColor = RGB16(0xFFFF93);
|
||||||
|
self.nameLabel.font = [UIFont systemFontOfSize:12];
|
||||||
|
self.nameLabel.text = @"羽声语音";
|
||||||
|
[self.contentView addSubview:self.nameLabel];
|
||||||
|
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.left.right.equalTo(self.contentView);
|
||||||
|
make.bottom.equalTo(self.contentView);
|
||||||
|
make.height.mas_equalTo(20);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
|
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
|
||||||
<nil key="highlightedColor"/>
|
<nil key="highlightedColor"/>
|
||||||
</label>
|
</label>
|
||||||
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="6dg-55-CAQ">
|
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="6dg-55-CAQ">
|
||||||
<rect key="frame" x="66" y="211" width="18" height="18"/>
|
<rect key="frame" x="66" y="211" width="18" height="18"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="height" constant="18" id="SU0-l9-dWa"/>
|
<constraint firstAttribute="height" constant="18" id="SU0-l9-dWa"/>
|
||||||
@@ -56,19 +56,31 @@
|
|||||||
</userDefinedRuntimeAttribute>
|
</userDefinedRuntimeAttribute>
|
||||||
</userDefinedRuntimeAttributes>
|
</userDefinedRuntimeAttributes>
|
||||||
</imageView>
|
</imageView>
|
||||||
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="mxk-cv-aBW">
|
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="mxk-cv-aBW">
|
||||||
<rect key="frame" x="54" y="211" width="18" height="18"/>
|
<rect key="frame" x="54" y="211" width="18" height="18"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="18" id="Kwg-ZJ-I5s"/>
|
<constraint firstAttribute="width" constant="18" id="Kwg-ZJ-I5s"/>
|
||||||
<constraint firstAttribute="height" constant="18" id="xl5-Rc-fQg"/>
|
<constraint firstAttribute="height" constant="18" id="xl5-Rc-fQg"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
|
<userDefinedRuntimeAttributes>
|
||||||
|
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||||
|
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||||
|
<integer key="value" value="9"/>
|
||||||
|
</userDefinedRuntimeAttribute>
|
||||||
|
</userDefinedRuntimeAttributes>
|
||||||
</imageView>
|
</imageView>
|
||||||
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Rfn-Wi-s2Q">
|
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Rfn-Wi-s2Q">
|
||||||
<rect key="frame" x="42" y="211" width="18" height="18"/>
|
<rect key="frame" x="42" y="211" width="18" height="18"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="18" id="n8I-xi-ccY"/>
|
<constraint firstAttribute="width" constant="18" id="n8I-xi-ccY"/>
|
||||||
<constraint firstAttribute="height" constant="18" id="pmp-Ws-KWh"/>
|
<constraint firstAttribute="height" constant="18" id="pmp-Ws-KWh"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
|
<userDefinedRuntimeAttributes>
|
||||||
|
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||||
|
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||||
|
<integer key="value" value="9"/>
|
||||||
|
</userDefinedRuntimeAttribute>
|
||||||
|
</userDefinedRuntimeAttributes>
|
||||||
</imageView>
|
</imageView>
|
||||||
<label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="等12人" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5R5-ei-HVw">
|
<label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="等12人" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5R5-ei-HVw">
|
||||||
<rect key="frame" x="90" y="214.66666666666666" width="70" height="11"/>
|
<rect key="frame" x="90" y="214.66666666666666" width="70" height="11"/>
|
||||||
|
|||||||
@@ -207,6 +207,29 @@ CGFloat labelHeight = 63;
|
|||||||
break;
|
break;
|
||||||
case QXPasswordViewTypeRoom:{
|
case QXPasswordViewTypeRoom:{
|
||||||
self.titleLabel.text = QXText(@"请输入房间密码");
|
self.titleLabel.text = QXText(@"请输入房间密码");
|
||||||
|
self.titleLabel.hidden = YES;
|
||||||
|
[self.label2 mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.right.equalTo(self.mas_centerX).offset(-8);
|
||||||
|
make.size.mas_equalTo(CGSizeMake(ScaleWidth(44), ScaleWidth(44)));
|
||||||
|
make.top.equalTo(self).offset(0);
|
||||||
|
}];
|
||||||
|
[self.label3 mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.left.equalTo(self.mas_centerX).offset(8);
|
||||||
|
make.size.mas_equalTo(CGSizeMake(ScaleWidth(44), ScaleWidth(44)));
|
||||||
|
make.top.equalTo(self.label2);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.label1 mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.right.equalTo(self.label2.mas_left).offset(-16);
|
||||||
|
make.size.mas_equalTo(CGSizeMake(ScaleWidth(44), ScaleWidth(44)));
|
||||||
|
make.top.equalTo(self.label2);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.label4 mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.left.equalTo(self.label3.mas_right).offset(16);
|
||||||
|
make.size.mas_equalTo(CGSizeMake(ScaleWidth(44), ScaleWidth(44)));
|
||||||
|
make.top.equalTo(self.label2);
|
||||||
|
}];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -161,12 +161,12 @@
|
|||||||
}
|
}
|
||||||
-(void)locationSuccessWithCity:(NSString *)city province:(NSString *)province area:(NSString *)area address:(NSString *)address{
|
-(void)locationSuccessWithCity:(NSString *)city province:(NSString *)province area:(NSString *)area address:(NSString *)address{
|
||||||
[[QXLocationManager shareManager] stopLoction];
|
[[QXLocationManager shareManager] stopLoction];
|
||||||
NSString *ip = [NSString stringWithFormat:@"%@,%@,%@",province,city,area];
|
// NSString *ip = [NSString stringWithFormat:@"%@,%@,%@",province,city,area];
|
||||||
[QXLoginNetwork updateUserIp:ip successBlock:^(id _Nonnull responseObject) {
|
// [QXLoginNetwork updateUserIp:ip successBlock:^(id _Nonnull responseObject) {
|
||||||
|
//
|
||||||
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
// } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||||
|
//
|
||||||
}];
|
// }];
|
||||||
}
|
}
|
||||||
- (void)onTotalUnreadMessageCountChanged:(UInt64)totalUnreadCount {
|
- (void)onTotalUnreadMessageCountChanged:(UInt64)totalUnreadCount {
|
||||||
self.tabbarVC.messageUnReadNumber = totalUnreadCount;
|
self.tabbarVC.messageUnReadNumber = totalUnreadCount;
|
||||||
|
|||||||
@@ -77,7 +77,7 @@
|
|||||||
// NSLog(@"Font Name:%@" ,name);
|
// NSLog(@"Font Name:%@" ,name);
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
// Override point for customization after application launch.
|
// Override point for customization after application launch.
|
||||||
[QXConfig defaultConfig];
|
[QXConfig defaultConfig];
|
||||||
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
21
QXLive/Other/Assets.xcassets/activity/A_Stake/WLStakeFailure.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "WLStakeFailure@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/WLStakeFailure.imageset/WLStakeFailure@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 82 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/ac_exchange.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "ac_exchange@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/ac_exchange.imageset/ac_exchange@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 17 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/app_coin_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "app_coin_icon@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/app_coin_icon.imageset/app_coin_icon@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/box_stake_add.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "jia@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/box_stake_add.imageset/jia@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 374 B |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/box_stake_sub.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "jian_1@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/box_stake_sub.imageset/jian_1@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 274 B |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_1_nor.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "stake_1_nor@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_1_nor.imageset/stake_1_nor@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 76 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_1_sel.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "松鼠2@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_1_sel.imageset/松鼠2@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 50 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_2_nor.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "stake_2_nor@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_2_nor.imageset/stake_2_nor@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 127 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_2_sel.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "刺猬2@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_2_sel.imageset/刺猬2@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 42 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_3_nor.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "stake_3_nor@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_3_nor.imageset/stake_3_nor@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 67 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_3_sel.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "兔子2@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_3_sel.imageset/兔子2@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 36 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_4_nor.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "stake_4_nor@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_4_nor.imageset/stake_4_nor@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 75 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_4_sel.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "熊2@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_4_sel.imageset/熊2@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 34 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_5_nor.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "stake_5_nor@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_5_nor.imageset/stake_5_nor@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 76 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_5_sel.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "狐狸2@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_5_sel.imageset/狐狸2@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 41 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_6_sel.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "狐狸2@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_6_sel.imageset/狐狸2@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 41 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_again.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "queding_anniu@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_again.imageset/queding_anniu@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 29 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_alert_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "stake_alert_bg@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_alert_bg.imageset/stake_alert_bg@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 617 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_alert_cancel.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "quxiao_anniu@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_alert_cancel.imageset/quxiao_anniu@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 18 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_alert_confirm.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "queding_anniu@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_alert_confirm.imageset/queding_anniu@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 29 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_bg_pool.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "stake_bg_pool@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_bg_pool.imageset/stake_bg_pool@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 568 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_bg_rank.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "stake_bg_rank@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_bg_rank.imageset/stake_bg_rank@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 564 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_bg_record.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "stake_bg_record@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_bg_record.imageset/stake_bg_record@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 566 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_bg_rule.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "stake_bg_rule@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_bg_rule.imageset/stake_bg_rule@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 565 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_bg_win.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "stake_bg_win@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_bg_win.imageset/stake_bg_win@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 565 KiB |
21
QXLive/Other/Assets.xcassets/activity/A_Stake/stake_cell_sel.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "按钮@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
||||||