From 5ab030701ccc2bcc4116f3653cb3c52beb9d0116 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=AF=E6=98=9F?= Date: Sun, 4 Jan 2026 14:01:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QXLive.xcodeproj/project.pbxproj | 8 +- QXLive/Base/QXAppStartViewController.m | 7 +- QXLive/Base/QXGlobal.h | 2 + QXLive/Base/QXGlobal.m | 2 + .../Controller/QXReportViewController.m | 5 +- .../Services/QXHomePageNetwork.h | 1 + .../View/首页/QXGiftScrollView.m | 4 +- .../Controlller/QXLoginProtocolViewController.m | 5 +- .../Controlller/QXLoginViewController.m | 5 +- QXLive/Manager/QXManagerMqtt.m | 1 + .../Controller/QXChatViewController.m | 5 +- .../群聊/QXGroupMemberViewController.h | 18 + .../群聊/QXGroupMemberViewController.m | 185 ++++++++++ .../Controller/群聊/QXGuildGroupSettingVC.m | 5 +- .../Controller/群聊/QXIMGroupSettingVC.h | 16 + .../Controller/群聊/QXIMGroupSettingVC.m | 80 +++++ .../Model/QXGroupSettingInfoModel.h | 29 ++ .../Model/QXGroupSettingInfoModel.m | 16 + .../Services/QXMessageServices.h | 29 ++ .../Services/QXMessageServices.m | 44 +++ .../Message(音信)/View/QXSystemMessageCell.m | 19 +- .../Message(音信)/View/QXSystemNoticeCell.m | 5 +- .../View/群聊设置/QXIMGroupSettingView.h | 31 ++ .../View/群聊设置/QXIMGroupSettingView.m | 224 ++++++++++++ .../Controller/QXMineViewController.m | 4 +- .../Controller/个性装扮/QXDressViewController.m | 4 +- .../亲密关系/QXHeartBeatSpaceViewController.m | 5 +- .../Controller/公会中心/QXGuildViewController.m | 5 +- .../Controller/帮助反馈/QXHelpViewController.m | 5 +- .../歌单列表/QXMineSongListViewController.m | 5 +- .../歌手认证/QXRoomSingerAuthViewController.m | 5 +- .../Controller/段位/QXLevelViewController.m | 5 +- .../爵位/QXNobilityBuyViewController.m | 5 +- .../爵位/QXNobilityDetailViewController.m | 5 +- .../Controller/爵位/QXNobilityViewController.m | 5 +- .../Controller/设置/QXAboutViewController.m | 5 +- .../Controller/道具商城/QXPropShopSubVC.h | 18 + .../Controller/道具商城/QXPropShopSubVC.m | 110 ++++++ .../Controller/道具商城/QXPropShopVC.h | 16 + .../Controller/道具商城/QXPropShopVC.m | 120 +++++++ .../道具商城/QXPropShopViewController.m | 5 +- .../Controller/邀请/QXInviteViewController.m | 5 +- QXLive/Mine(音域)/Model/QXSongListModel.h | 2 + QXLive/Mine(音域)/Model/QXUserDressModel.h | 53 +++ QXLive/Mine(音域)/Model/QXUserDressModel.m | 36 ++ QXLive/Mine(音域)/Model/QXUserModel.h | 4 + QXLive/Mine(音域)/Services/QXMineNetwork.h | 22 ++ QXLive/Mine(音域)/Services/QXMineNetwork.m | 60 ++++ .../View/个性装扮/QXDressShopBuyView.h | 25 ++ .../View/个性装扮/QXDressShopBuyView.m | 329 ++++++++++++++++++ .../View/个性装扮/QXDressShopCell.h | 21 ++ .../View/个性装扮/QXDressShopCell.m | 34 ++ .../View/个性装扮/QXDressShopCell.xib | 121 +++++++ .../View/每日任务/QXDayTaskRuleView.m | 5 +- QXLive/Mine(音域)/View/设置/QXBlackListCell.h | 6 + QXLive/Mine(音域)/View/设置/QXBlackListCell.m | 28 ++ .../Mine(音域)/View/设置/QXBlackListCell.xib | 2 +- QXLive/Mine(音域)/View/设置/QXSettingCell.h | 20 +- QXLive/Mine(音域)/View/设置/QXSettingCell.m | 89 +++++ .../Mine(音域)/View/钱包/QXWalletRuleView.m | 5 +- QXLive/Network/QXRequest.m | 5 +- .../room_sound_sel.imageset/Contents.json | 4 +- .../Frame 1321316289@2x.png | Bin 40154 -> 0 bytes .../Frame 1321316289@3x.png | Bin 91020 -> 0 bytes .../room_sound_sel@2x.png | Bin 0 -> 58899 bytes .../room_sound_sel@3x.png | Bin 0 -> 135199 bytes QXLive/Other/QXApi.h | 19 +- .../Controller/QXRoomViewController+Friend.m | 2 + .../Controller/QXRoomViewController.h | 2 + .../Controller/QXRoomViewController.m | 1 - .../Room(房间)/View/QXAllRoomHourRankView.m | 5 +- .../View/拍卖房/QXSelectAuctionInfoView.h | 2 + .../View/拍卖房/QXSelectAuctionInfoView.m | 9 + .../Room(房间)/View/红包/QXRedBagSendView.m | 5 +- .../View/练歌房/QXRoomSongListCell.h | 1 + .../View/练歌房/QXRoomSongListCell.m | 7 +- .../View/练歌房/QXRoomSongListCell.xib | 81 +++-- .../View/练歌房/QXRoomSongListSubView.m | 41 ++- .../View/麦位视图/QXRoomSeatTypeAuctionView.m | 5 +- .../View/麦位视图/QXRoomSeatTypeSignView.m | 7 +- QXLive/Tabbar/QXTabbarController.m | 11 +- QXLive/Tools/COS/QXCOSUploadManager.m | 20 +- QXLive/Tools/QXTextView.m | 9 +- .../chirld(青少年)/QXChirldViewController.m | 5 +- QXLive/活动/天空之境/QXSkyPraizePoolView.m | 7 +- QXLive/活动/天空之境/QXSkyPraizeRecordView.m | 5 +- QXLive/活动/天空之境/QXSkyPraizeView.m | 67 ++-- QXLive/活动/岁月之城/QXAgePraizePoolView.m | 5 +- QXLive/活动/岁月之城/QXAgePraizeRecordView.m | 5 +- QXLive/活动/岁月之城/QXAgePraizeView.m | 15 +- QXLive/活动/巡乐会/QXMeetActivityPoolView.m | 5 +- QXLive/活动/巡乐会/QXMeetActivityRankView.m | 5 +- QXLive/活动/巡乐会/QXMeetActivityRecordView.m | 5 +- QXLive/活动/巡乐会/QXMeetActivityView.m | 10 +- QXLive/活动/时空之巅/QXTimePraizePoolView.m | 5 +- QXLive/活动/时空之巅/QXTimePraizeRecordView.m | 5 +- QXLive/活动/时空之巅/QXTimePraizeView.m | 15 +- 97 files changed, 2068 insertions(+), 267 deletions(-) create mode 100644 QXLive/Message(音信)/Controller/群聊/QXGroupMemberViewController.h create mode 100644 QXLive/Message(音信)/Controller/群聊/QXGroupMemberViewController.m create mode 100644 QXLive/Message(音信)/Controller/群聊/QXIMGroupSettingVC.h create mode 100644 QXLive/Message(音信)/Controller/群聊/QXIMGroupSettingVC.m create mode 100644 QXLive/Message(音信)/Model/QXGroupSettingInfoModel.h create mode 100644 QXLive/Message(音信)/Model/QXGroupSettingInfoModel.m create mode 100644 QXLive/Message(音信)/View/群聊设置/QXIMGroupSettingView.h create mode 100644 QXLive/Message(音信)/View/群聊设置/QXIMGroupSettingView.m create mode 100644 QXLive/Mine(音域)/Controller/道具商城/QXPropShopSubVC.h create mode 100644 QXLive/Mine(音域)/Controller/道具商城/QXPropShopSubVC.m create mode 100644 QXLive/Mine(音域)/Controller/道具商城/QXPropShopVC.h create mode 100644 QXLive/Mine(音域)/Controller/道具商城/QXPropShopVC.m create mode 100644 QXLive/Mine(音域)/View/个性装扮/QXDressShopBuyView.h create mode 100644 QXLive/Mine(音域)/View/个性装扮/QXDressShopBuyView.m create mode 100644 QXLive/Mine(音域)/View/个性装扮/QXDressShopCell.h create mode 100644 QXLive/Mine(音域)/View/个性装扮/QXDressShopCell.m create mode 100644 QXLive/Mine(音域)/View/个性装扮/QXDressShopCell.xib delete mode 100644 QXLive/Other/Assets.xcassets/room/room_sound_sel.imageset/Frame 1321316289@2x.png delete mode 100644 QXLive/Other/Assets.xcassets/room/room_sound_sel.imageset/Frame 1321316289@3x.png create mode 100644 QXLive/Other/Assets.xcassets/room/room_sound_sel.imageset/room_sound_sel@2x.png create mode 100644 QXLive/Other/Assets.xcassets/room/room_sound_sel.imageset/room_sound_sel@3x.png diff --git a/QXLive.xcodeproj/project.pbxproj b/QXLive.xcodeproj/project.pbxproj index efc808c..abd0656 100644 --- a/QXLive.xcodeproj/project.pbxproj +++ b/QXLive.xcodeproj/project.pbxproj @@ -754,7 +754,7 @@ CODE_SIGN_ENTITLEMENTS = QXLive/QXLive.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 4; + CURRENT_PROJECT_VERSION = 5; DEVELOPMENT_TEAM = 8798G5VMH9; ENABLE_USER_SCRIPT_SANDBOXING = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -793,7 +793,7 @@ "$(inherited)", "$(SDKROOT)/usr/lib/swift", ); - MARKETING_VERSION = 1.1.15; + MARKETING_VERSION = 1.1.16; PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -820,7 +820,7 @@ CODE_SIGN_ENTITLEMENTS = QXLive/QXLive.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 4; + CURRENT_PROJECT_VERSION = 5; DEVELOPMENT_TEAM = 8798G5VMH9; ENABLE_USER_SCRIPT_SANDBOXING = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -859,7 +859,7 @@ "$(inherited)", "$(SDKROOT)/usr/lib/swift", ); - MARKETING_VERSION = 1.1.15; + MARKETING_VERSION = 1.1.16; PRODUCT_BUNDLE_IDENTIFIER = com.qxcm.qxlive; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/QXLive/Base/QXAppStartViewController.m b/QXLive/Base/QXAppStartViewController.m index f2174bd..d841509 100644 --- a/QXLive/Base/QXAppStartViewController.m +++ b/QXLive/Base/QXAppStartViewController.m @@ -50,10 +50,7 @@ @property (nonatomic,strong)NSString *icon_wd_notselect; */ -(void)getAppTheme{ - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSString *themeUrl = [NSString stringWithFormat:@"%@%@",server,QXAppTheme]; [[QXRequset shareInstance] getWithUrl:themeUrl parameters:@{} needCache:NO success:^(id responseObject) { [QXConfig defaultConfig]; @@ -158,6 +155,8 @@ } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { NSLog(@"请求失败"); [self alertNetworkError]; + QXGlobal.shareGlobal.currentServer = RServerUrl; + QXGlobal.shareGlobal.currentH5Server = RH5ServerUrl; QXGlobal.shareGlobal.isNeedChangeServer = YES; }]; } diff --git a/QXLive/Base/QXGlobal.h b/QXLive/Base/QXGlobal.h index 1117736..d77b798 100644 --- a/QXLive/Base/QXGlobal.h +++ b/QXLive/Base/QXGlobal.h @@ -21,6 +21,8 @@ typedef void (^showFinishBlock)(void); +(instancetype)shareGlobal; @property (nonatomic,assign)BOOL isNeedUpdate; @property (nonatomic,assign)BOOL isNeedChangeServer; +@property (nonatomic,strong)NSString *currentServer; +@property (nonatomic,strong)NSString *currentH5Server; // 是否登录 @property (nonatomic,readonly,assign)BOOL isLogin; @property (nonatomic,assign)BOOL isShowLoginVC; diff --git a/QXLive/Base/QXGlobal.m b/QXLive/Base/QXGlobal.m index 500f16e..5095b05 100644 --- a/QXLive/Base/QXGlobal.m +++ b/QXLive/Base/QXGlobal.m @@ -49,6 +49,8 @@ dispatch_once(&onceToken, ^{ global = [[self alloc] init]; global.isShowLoginVC = NO; + global.currentServer = ServerUrl; + global.currentH5Server = H5ServerUrl; }); return global; } diff --git a/QXLive/Dynamic(语圈)/Controller/QXReportViewController.m b/QXLive/Dynamic(语圈)/Controller/QXReportViewController.m index cbd4a50..2c0059c 100644 --- a/QXLive/Dynamic(语圈)/Controller/QXReportViewController.m +++ b/QXLive/Dynamic(语圈)/Controller/QXReportViewController.m @@ -41,10 +41,7 @@ static void *WKWebBrowserContext = &WKWebBrowserContext; } - (void)loadData { // 1-用户,2房间,3动态&fromId=对应id - NSString *server = H5ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RH5ServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentH5Server; NSInteger safeTop = kSafeAreaTop; NSURL* url= [NSURL URLWithString:[NSString stringWithFormat:@"%@web/index.html#/pages/feedback/report?id=%@&fromType=%@&fromId=%@&h=%ld",server,[QXGlobal shareGlobal].loginModel.token ,self.reportType,self.fromId,safeTop]]; NSURLRequest *request =[NSURLRequest requestWithURL:url]; diff --git a/QXLive/HomePage(声播)/Services/QXHomePageNetwork.h b/QXLive/HomePage(声播)/Services/QXHomePageNetwork.h index ce96945..4b7f12c 100644 --- a/QXLive/HomePage(声播)/Services/QXHomePageNetwork.h +++ b/QXLive/HomePage(声播)/Services/QXHomePageNetwork.h @@ -33,6 +33,7 @@ NS_ASSUME_NONNULL_BEGIN /** 首页banner + 1 引导 2启动 3首页轮播 4 房间首页轮播 5 公会列表 6 我的主页 7 道具商城 */ +(void)homeBannerWithType:(NSString*)type successBlock:(void (^)(NSArray* list))successBlock diff --git a/QXLive/HomePage(声播)/View/首页/QXGiftScrollView.m b/QXLive/HomePage(声播)/View/首页/QXGiftScrollView.m index a3a14e6..75c9816 100644 --- a/QXLive/HomePage(声播)/View/首页/QXGiftScrollView.m +++ b/QXLive/HomePage(声播)/View/首页/QXGiftScrollView.m @@ -134,9 +134,9 @@ static NSInteger maxCount = 5; self.gotoRoomImageView = [[UIImageView alloc] init]; if (QXConfig.shared.model) { - self.bgImageView.image = [UIImage imageNamed:QXConfig.shared.model.button_qwg]; + self.gotoRoomImageView.image = [UIImage imageNamed:QXConfig.shared.model.button_qwg]; }else{ - self.bgImageView.image = [UIImage imageNamed:@"home_goto_room"]; + self.gotoRoomImageView.image = [UIImage imageNamed:@"home_goto_room"]; } self.gotoRoomImageView.contentMode = UIViewContentModeScaleAspectFit; [self.contentView addSubview:self.gotoRoomImageView]; diff --git a/QXLive/Login(登录)/Controlller/QXLoginProtocolViewController.m b/QXLive/Login(登录)/Controlller/QXLoginProtocolViewController.m index 8217b8d..4d1b76c 100644 --- a/QXLive/Login(登录)/Controlller/QXLoginProtocolViewController.m +++ b/QXLive/Login(登录)/Controlller/QXLoginProtocolViewController.m @@ -39,10 +39,7 @@ static void *WKWebBrowserContext = &WKWebBrowserContext; [self.view addSubview:self.contentWebView]; [self.view addSubview:self.progressView]; [self layoutConstraints]; - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSURL* url=[NSURL URLWithString:[NSString stringWithFormat:@"%@%@?id=%ld",server,QXAppProtocol,self.type]]; NSURLRequest *request =[NSURLRequest requestWithURL:url]; [self.contentWebView loadRequest:request]; diff --git a/QXLive/Login(登录)/Controlller/QXLoginViewController.m b/QXLive/Login(登录)/Controlller/QXLoginViewController.m index f2f9dc8..b899964 100644 --- a/QXLive/Login(登录)/Controlller/QXLoginViewController.m +++ b/QXLive/Login(登录)/Controlller/QXLoginViewController.m @@ -287,10 +287,7 @@ return frame; }; - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; model.checkBoxImages = @[[UIImage imageNamed:@"login_agreement_nor"],[UIImage imageNamed:@"login_agreement_sel"]]; model.checkBoxWH = 30; model.privacyNavBackImage = [UIImage imageNamed:@"back"]; diff --git a/QXLive/Manager/QXManagerMqtt.m b/QXLive/Manager/QXManagerMqtt.m index 3bfd64d..763b311 100755 --- a/QXLive/Manager/QXManagerMqtt.m +++ b/QXLive/Manager/QXManagerMqtt.m @@ -36,6 +36,7 @@ if (QXGlobal.shareGlobal.isNeedChangeServer) { server = RAddressOfMQTTServer; } + QXLOG(@"当前mqtt-server%@",server); self.username = username; self.password = password; self.cliendId = cliendId; diff --git a/QXLive/Message(音信)/Controller/QXChatViewController.m b/QXLive/Message(音信)/Controller/QXChatViewController.m index 758da74..5858d8b 100644 --- a/QXLive/Message(音信)/Controller/QXChatViewController.m +++ b/QXLive/Message(音信)/Controller/QXChatViewController.m @@ -14,6 +14,7 @@ #import "QXMenuPopView.h" #import "QXReportViewController.h" #import "QXMineNetwork.h" +#import "QXIMGroupSettingVC.h" @interface QXChatViewController () @property (nonatomic,strong)QXChatTitleView *titleView; @end @@ -54,6 +55,8 @@ return YES; } //-(BOOL)onUserAvatarLongPressed:(UIView *)view messageCellData:(TUIMessageCellData *)celldata{ +//// QXLOG(@"%@被长按了",celldata.senderName); +// UIAlertController *al = [UIAlertController alertControllerWithTitle:@"" message:<#(nullable NSString *)#> preferredStyle:<#(UIAlertControllerStyle)#>]; // return YES; //} // @@ -76,7 +79,7 @@ } -(void)moreAction{ if (self.data.groupID.length>0) { - QXGuildGroupSettingVC *vc = [[QXGuildGroupSettingVC alloc] init]; + QXIMGroupSettingVC *vc = [[QXIMGroupSettingVC alloc] init]; vc.groupId = self.data.groupID; [self.navigationController pushViewController:vc animated:YES]; }else{ diff --git a/QXLive/Message(音信)/Controller/群聊/QXGroupMemberViewController.h b/QXLive/Message(音信)/Controller/群聊/QXGroupMemberViewController.h new file mode 100644 index 0000000..d4ece0e --- /dev/null +++ b/QXLive/Message(音信)/Controller/群聊/QXGroupMemberViewController.h @@ -0,0 +1,18 @@ +// +// QXGroupMemberViewController.h +// QXLive +// +// Created by 启星 on 2026/1/2. +// + +#import "QXBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface QXGroupMemberViewController : QXBaseViewController +@property (nonatomic,strong)NSString *groupId; +/// 是否为群主 1 是群主 2不是群主 +@property (nonatomic,strong)NSString*isOwner; +@end + +NS_ASSUME_NONNULL_END diff --git a/QXLive/Message(音信)/Controller/群聊/QXGroupMemberViewController.m b/QXLive/Message(音信)/Controller/群聊/QXGroupMemberViewController.m new file mode 100644 index 0000000..633b210 --- /dev/null +++ b/QXLive/Message(音信)/Controller/群聊/QXGroupMemberViewController.m @@ -0,0 +1,185 @@ +// +// QXGroupMemberViewController.m +// QXLive +// +// Created by 启星 on 2026/1/2. +// + +#import "QXGroupMemberViewController.h" +#import "QXMessageServices.h" +#import "QXBlackListCell.h" +#import "QXUserHomePageViewController.h" +#import "ImSDK_Plus/V2TIMManager+Group.h" +@interface QXGroupMemberViewController () +@property (nonatomic,strong)UITableView *tableView; +@property (nonatomic,strong)UIView *seachBgView; +@property (nonatomic,strong)UIImageView *searchImageView; +@property (nonatomic,strong)UITextField *textField; +@property (nonatomic,strong)UIButton *searchBtn; +@property (nonatomic,assign)BOOL isSearch; +@end + +@implementation QXGroupMemberViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. +} +-(void)setNavgationItems{ + [super setNavgationItems]; + self.navigationItem.title = @"群聊成员"; +} + +-(void)initSubViews{ + self.page = 1; + + self.seachBgView = [[UIView alloc] initWithFrame:CGRectMake(16, NavContentHeight, SCREEN_WIDTH-16*2, 35)]; + self.seachBgView.backgroundColor = [UIColor colorWithHexString:@"#ffffff"]; + self.seachBgView.layer.masksToBounds = YES; + self.seachBgView.layer.cornerRadius = 17.5; + [self.view addSubview:self.seachBgView]; + + self.searchImageView = [[UIImageView alloc] initWithFrame:CGRectMake(8, 5.5, 24, 24)]; + self.searchImageView.image = [UIImage imageNamed:@"room_song_search"]; + [self.seachBgView addSubview:self.searchImageView]; + + self.textField = [[UITextField alloc] initWithFrame:CGRectMake(self.searchImageView.right+6, 0, self.seachBgView.width-self.searchImageView.right-6-8, 35)]; + self.textField.placeholder = @"请输入ID/用户名搜索"; + self.textField.font = [UIFont systemFontOfSize:14]; + [self.textField addTarget:self action:@selector(textDidChange:) forControlEvents:(UIControlEventEditingChanged)]; + self.textField.returnKeyType = UIReturnKeyDone; + self.textField.delegate = self; + self.textField.textColor = [UIColor colorWithHexString:@"#333333"]; + [self.seachBgView addSubview:self.textField]; + self.searchBtn = [[UIButton alloc] initWithFrame:CGRectMake(self.seachBgView.width-60-10, 0, 60, 35)]; + [self.searchBtn setTitle:@"搜索" forState:(UIControlStateNormal)]; + self.searchBtn.titleLabel.font = [UIFont systemFontOfSize:14]; + [self.searchBtn setTitleColor:QXConfig.themeColor forState:(UIControlStateNormal)]; + [self.searchBtn addTarget:self action:@selector(searchAction:) forControlEvents:(UIControlEventTouchUpInside)]; + [self.seachBgView addSubview:self.searchBtn]; + [self.view addSubview:self.tableView]; + [self getMemberListWithSearch:@""]; +} + +-(void)getMemberListWithSearch:(NSString*)search{ + MJWeakSelf + [QXMessageServices getGroupMemberListWithPage:self.page search:search guildId:self.groupId successBlock:^(NSArray * _Nonnull list) { + if (weakSelf.page == 1) { + [weakSelf.dataArray removeAllObjects]; + } + [weakSelf.dataArray addObjectsFromArray:list]; + [weakSelf.tableView reloadData]; + if (list.count == 0) { + weakSelf.tableView.mj_footer.state = MJRefreshStateNoMoreData; + }else{ + [weakSelf.tableView.mj_footer endRefreshing]; + } + [weakSelf.tableView.mj_header endRefreshing]; + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + [weakSelf.tableView.mj_header endRefreshing]; + [weakSelf.tableView.mj_footer endRefreshing]; + }]; +} + +-(void)searchAction:(UIButton*)sender{ + self.isSearch = YES; + [self getMemberListWithSearch:self.textField.text]; +} + +-(void)textDidChange:(UITextField*)textField{ + if (textField.text.length == 0) { + self.isSearch = NO; + [self getMemberListWithSearch:@""]; + } +} + +-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ + return self.dataArray.count; +} +-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ + QXBlackListCell *cell = [QXBlackListCell cellWithTableView:tableView]; + cell.isNoIcon = YES; + cell.cellType = QXBlackListCellTypeGroupMember; + cell.groupMemberModel = self.dataArray[indexPath.row]; + cell.delegate = self; + cell.removeBtn.hidden = !(self.isOwner.intValue==1); + return cell; +} +-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ + QXUserHomePageViewController *vc = [[QXUserHomePageViewController alloc] init]; + QXUserHomeModel *model = self.dataArray[indexPath.row]; + vc.user_id = model.user_id; + [self.navigationController pushViewController:vc animated:YES]; +} +-(void)didClickGroupMemberMoreBtnWithGroupMemberModel:(QXUserHomeModel *)groupMemberModel{ + UIAlertController*al =[UIAlertController alertControllerWithTitle:@"禁言" message:@"" preferredStyle:(UIAlertControllerStyleActionSheet)]; + if (groupMemberModel.is_mute.intValue == 1) { + [al addAction:[UIAlertAction actionWithTitle:@"解禁" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction * _Nonnull action) { + [self muteMemberWithTime:0 groupMemberModel:groupMemberModel]; + }]]; + }else{ + [al addAction:[UIAlertAction actionWithTitle:@"禁言1天" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction * _Nonnull action) { + [self muteMemberWithTime:86400 groupMemberModel:groupMemberModel]; + }]]; + [al addAction:[UIAlertAction actionWithTitle:@"禁言5天" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction * _Nonnull action) { + [self muteMemberWithTime:86400*5 groupMemberModel:groupMemberModel]; + }]]; + [al addAction:[UIAlertAction actionWithTitle:@"禁言10天" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction * _Nonnull action) { + [self muteMemberWithTime:86400*10 groupMemberModel:groupMemberModel]; + }]]; + [al addAction:[UIAlertAction actionWithTitle:@"禁言30天" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction * _Nonnull action) { + [self muteMemberWithTime:86400*30 groupMemberModel:groupMemberModel]; + }]]; + } + [al addAction:[UIAlertAction actionWithTitle:@"取消" style:(UIAlertActionStyleCancel) handler:^(UIAlertAction * _Nonnull action) { + + }]]; + [self presentViewController:al animated:YES completion:nil]; +} +-(void)muteMemberWithTime:(uint32_t)time groupMemberModel:(QXUserHomeModel*)groupMemberModel{ + [[V2TIMManager sharedInstance] muteGroupMember:self.groupId member:[NSString stringWithFormat:@"u%@",groupMemberModel.user_id] muteTime:time succ:^{ + if (time == 0) { + showToast(@"解禁成功"); + }else{ + showToast(@"禁言成功"); + } + self.page = 1; + if (self.isSearch) { + [self getMemberListWithSearch:self.textField.text]; + }else{ + [self getMemberListWithSearch:@""]; + } + } fail:^(int code, NSString * _Nullable desc) { + showToast(desc); + }]; +} +-(UITableView *)tableView{ + if (!_tableView) { + _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, self.seachBgView.bottom+10, SCREEN_WIDTH, SCREEN_HEIGHT-self.seachBgView.bottom-10) style:(UITableViewStylePlain)]; + _tableView.dataSource = self; + _tableView.delegate = self; + _tableView.backgroundColor = [UIColor clearColor]; + _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; + _tableView.rowHeight = 60; + MJWeakSelf + _tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ + weakSelf.page = 1; + if (self.isSearch) { + [self getMemberListWithSearch:self.textField.text]; + }else{ + [self getMemberListWithSearch:@""]; + } + }]; + _tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ + weakSelf.page++; + if (self.isSearch) { + [self getMemberListWithSearch:self.textField.text]; + }else{ + [self getMemberListWithSearch:@""]; + } + }]; + } + return _tableView; +} + +@end diff --git a/QXLive/Message(音信)/Controller/群聊/QXGuildGroupSettingVC.m b/QXLive/Message(音信)/Controller/群聊/QXGuildGroupSettingVC.m index 31661c7..e335e91 100644 --- a/QXLive/Message(音信)/Controller/群聊/QXGuildGroupSettingVC.m +++ b/QXLive/Message(音信)/Controller/群聊/QXGuildGroupSettingVC.m @@ -41,10 +41,7 @@ static void *WKWebBrowserContext = &WKWebBrowserContext; , 2)]; } - (void)loadData { - NSString *server = H5ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RH5ServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentH5Server; NSURL* url=[NSURL URLWithString:[NSString stringWithFormat:@"%@web/index.html#/pages/union/setGroup?id=%@&guildId=%@",server,QXGlobal.shareGlobal.loginModel.token,self.groupId]]; NSURLRequest *request =[NSURLRequest requestWithURL:url]; [self.contentWebView loadRequest:request]; diff --git a/QXLive/Message(音信)/Controller/群聊/QXIMGroupSettingVC.h b/QXLive/Message(音信)/Controller/群聊/QXIMGroupSettingVC.h new file mode 100644 index 0000000..326d33a --- /dev/null +++ b/QXLive/Message(音信)/Controller/群聊/QXIMGroupSettingVC.h @@ -0,0 +1,16 @@ +// +// QXIMGroupSettingVC.h +// QXLive +// +// Created by 启星 on 2026/1/2. +// + +#import "QXBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface QXIMGroupSettingVC : QXBaseViewController +@property (nonatomic,strong)NSString *groupId; +@end + +NS_ASSUME_NONNULL_END diff --git a/QXLive/Message(音信)/Controller/群聊/QXIMGroupSettingVC.m b/QXLive/Message(音信)/Controller/群聊/QXIMGroupSettingVC.m new file mode 100644 index 0000000..6f05397 --- /dev/null +++ b/QXLive/Message(音信)/Controller/群聊/QXIMGroupSettingVC.m @@ -0,0 +1,80 @@ +// +// QXIMGroupSettingVC.m +// QXLive +// +// Created by 启星 on 2026/1/2. +// + +#import "QXIMGroupSettingVC.h" +#import "QXIMGroupSettingView.h" +#import "QXMessageServices.h" +#import "QXGroupMemberViewController.h" +#import "ImSDK_Plus/V2TIMManager+Group.h" +@interface QXIMGroupSettingVC () +@property (nonatomic,strong)UIScrollView *scrollView; +@property (nonatomic,strong)QXIMGroupSettingView *settingView; +@property (nonatomic,strong)QXGroupSettingInfoModel *model; +@end + +@implementation QXIMGroupSettingVC + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. +} +-(void)viewWillAppear:(BOOL)animated{ + [super viewWillAppear:animated]; + [self.navigationController setNavigationBarHidden:NO animated:YES]; +} +-(void)setNavgationItems{ + [super setNavgationItems]; + self.navigationItem.title = @"群聊设置"; +} + +-(void)initSubViews{ + self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, NavContentHeight, SCREEN_WIDTH, SCREEN_HEIGHT-NavContentHeight)]; + self.settingView = [[QXIMGroupSettingView alloc] initWithFrame:self.scrollView.bounds]; + self.settingView.delegate = self; + [self.scrollView addSubview:self.settingView]; + [self.view addSubview:self.scrollView]; + [self getGroupInfo]; +} + +-(void)previewMemberList{ + QXGroupMemberViewController *vc = [[QXGroupMemberViewController alloc] init]; + vc.groupId = self.groupId; + vc.isOwner = self.model.is_deacon; + [self.navigationController pushViewController:vc animated:YES]; +} +-(void)saveGroupInfoWithGroupId:(NSString *)groupId notice:(NSString *)notice name:(NSString *)name{ + MJWeakSelf + [QXMessageServices setGroupInfoWithGuildId:groupId name:name avatar:@"" notice:notice successBlock:^(NSDictionary * _Nonnull dict) { + showToast(@"修改成功"); + [weakSelf getGroupInfo]; + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + showToast(msg); + }]; +} + +-(void)groupSetMute:(BOOL)isMute muteSwitch:(UISwitch *)muteSwitch{ + [[V2TIMManager sharedInstance] muteAllGroupMembers:self.groupId isMute:isMute succ:^{ + + } fail:^(int code, NSString * _Nullable desc) { + if (isMute) { + muteSwitch.on = NO; + }else{ + muteSwitch.on = YES; + } + }]; +} + +-(void)getGroupInfo{ + MJWeakSelf + [QXMessageServices getGroupSettingWithGuildId:self.groupId successBlock:^(QXGroupSettingInfoModel * _Nonnull model) { + weakSelf.model = model; + weakSelf.settingView.model = model; + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + + }]; +} +@end diff --git a/QXLive/Message(音信)/Model/QXGroupSettingInfoModel.h b/QXLive/Message(音信)/Model/QXGroupSettingInfoModel.h new file mode 100644 index 0000000..07323fe --- /dev/null +++ b/QXLive/Message(音信)/Model/QXGroupSettingInfoModel.h @@ -0,0 +1,29 @@ +// +// QXGroupSettingInfoModel.h +// QXLive +// +// Created by 启星 on 2026/1/2. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface QXGroupSettingInfoModel : NSObject +/// 群聊id +@property (strong,nonatomic)NSString *guild_id; +/// 群聊id +@property (strong,nonatomic)NSString *name; +/// 群公告 +@property (strong,nonatomic)NSString *notification; +/// 群聊头像 +@property (strong,nonatomic)NSString *guild_cover; +/// 是否为群主 1 是群主 2不是群主 +@property (strong,nonatomic)NSString *is_deacon; +/// 群成员列表 +@property (strong,nonatomic)NSArray *user_list; +/// 是否被全员禁言 1 禁言 0未禁言 +@property (strong,nonatomic)NSString *mute_all_member; +@end + +NS_ASSUME_NONNULL_END diff --git a/QXLive/Message(音信)/Model/QXGroupSettingInfoModel.m b/QXLive/Message(音信)/Model/QXGroupSettingInfoModel.m new file mode 100644 index 0000000..fc4f724 --- /dev/null +++ b/QXLive/Message(音信)/Model/QXGroupSettingInfoModel.m @@ -0,0 +1,16 @@ +// +// QXGroupSettingInfoModel.m +// QXLive +// +// Created by 启星 on 2026/1/2. +// + +#import "QXGroupSettingInfoModel.h" + +@implementation QXGroupSettingInfoModel ++(NSDictionary *)modelContainerPropertyGenericClass{ + return @{ + @"user_list" : @"QXUserModel", + }; +} +@end diff --git a/QXLive/Message(音信)/Services/QXMessageServices.h b/QXLive/Message(音信)/Services/QXMessageServices.h index 90623ab..52c19d6 100644 --- a/QXLive/Message(音信)/Services/QXMessageServices.h +++ b/QXLive/Message(音信)/Services/QXMessageServices.h @@ -7,6 +7,7 @@ #import #import "QXMessageModel.h" +#import "QXGroupSettingInfoModel.h" NS_ASSUME_NONNULL_BEGIN @interface QXMessageServices : NSObject @@ -38,6 +39,34 @@ NS_ASSUME_NONNULL_BEGIN type:(NSString*)type successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock; + + +/** + 群聊设置信息 + */ ++(void)getGroupSettingWithGuildId:(NSString*)guild_id + successBlock:(void (^)(QXGroupSettingInfoModel *model))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock; + + +/** + 群聊成员 + */ ++(void)getGroupMemberListWithPage:(NSInteger)page + search:(NSString*)search + guildId:(NSString*)guild_id + successBlock:(void (^)(NSArray *list))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock; + +/** + 设置群聊信息 + */ ++(void)setGroupInfoWithGuildId:(NSString*)guild_id + name:(NSString*)name + avatar:(NSString*)avatar + notice:(NSString*)notice + successBlock:(void (^)(NSDictionary* dict))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock; @end NS_ASSUME_NONNULL_END diff --git a/QXLive/Message(音信)/Services/QXMessageServices.m b/QXLive/Message(音信)/Services/QXMessageServices.m index 6a694cf..22da3d7 100644 --- a/QXLive/Message(音信)/Services/QXMessageServices.m +++ b/QXLive/Message(音信)/Services/QXMessageServices.m @@ -68,4 +68,48 @@ failBlock(error,msg); }]; } + ++(void)getGroupSettingWithGuildId:(NSString*)guild_id + successBlock:(void (^)(QXGroupSettingInfoModel *model))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ + [[QXRequset shareInstance] getWithUrl:QXGroupSettingInfo parameters:@{@"guild_id":guild_id?:@""} needCache:NO success:^(id responseObject) { + if (successBlock) { + QXGroupSettingInfoModel *model = [QXGroupSettingInfoModel yy_modelWithJSON:responseObject[@"data"]]; + successBlock(model); + } + } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { + failBlock(error,msg); + }]; +} + + ++(void)getGroupMemberListWithPage:(NSInteger)page + search:(NSString*)search + guildId:(NSString*)guild_id + successBlock:(void (^)(NSArray *list))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ + [[QXRequset shareInstance] getWithUrl:QXGroupMemberList parameters:@{@"page":[NSNumber numberWithInteger:page],@"guild_id":guild_id?:@"",@"search":search?:@""} needCache:NO success:^(id responseObject) { + if (successBlock) { + NSArray *list = [NSArray yy_modelArrayWithClass:[QXUserHomeModel class] json:responseObject[@"data"][@"list"]]; + successBlock(list); + } + } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { + failBlock(error,msg); + }]; +} ++(void)setGroupInfoWithGuildId:(NSString *)guild_id name:(NSString *)name avatar:(NSString *)avatar notice:(NSString *)notice successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ + NSDictionary *parameters =@{ + @"guild_id":guild_id?:@"", + @"name":name?name:@"", + @"avatar":avatar?:@"", + @"notice":notice?:@"" + }; + [[QXRequset shareInstance] postWithUrl:QXSetGroupInfo parameters:parameters needCache:NO success:^(id responseObject) { + if (successBlock) { + successBlock(responseObject[@"data"]); + } + } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { + failBlock(error,msg); + }]; +} @end diff --git a/QXLive/Message(音信)/View/QXSystemMessageCell.m b/QXLive/Message(音信)/View/QXSystemMessageCell.m index 866dca7..db44971 100644 --- a/QXLive/Message(音信)/View/QXSystemMessageCell.m +++ b/QXLive/Message(音信)/View/QXSystemMessageCell.m @@ -20,7 +20,24 @@ -(void)setModel:(QXMessageListModel *)model{ _model = model; - self.contentLabel.text = model.content; + NSData *data = [model.content dataUsingEncoding:NSUnicodeStringEncoding]; + // 创建段落样式来设置行间距 + NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; + [paragraphStyle setLineSpacing:8]; // 设置行间距为8磅,可根据需要调整 + + // 创建options字典,包含文档类型和默认属性 + NSDictionary *options = @{ + NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, + NSDefaultAttributesDocumentAttribute: @{ + NSParagraphStyleAttributeName: paragraphStyle + } + }; + // 转换为富文本 + NSAttributedString *html = [[NSAttributedString alloc] initWithData:data + options:options + documentAttributes:nil + error:nil]; + self.contentLabel.attributedText = html; NSDate *date = [NSDate dateWithTimeIntervalSince1970:model.createtime.longLongValue]; //此处根据项目需求,选择是否除以1000 , 如果时间戳精确到秒则去掉1000 NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; diff --git a/QXLive/Message(音信)/View/QXSystemNoticeCell.m b/QXLive/Message(音信)/View/QXSystemNoticeCell.m index 8fe8619..72dcbd1 100644 --- a/QXLive/Message(音信)/View/QXSystemNoticeCell.m +++ b/QXLive/Message(音信)/View/QXSystemNoticeCell.m @@ -20,7 +20,10 @@ -(void)setModel:(QXMessageListModel *)model{ _model = model; - self.contentLabel.text = model.content; + NSData *data = [model.content dataUsingEncoding:NSUnicodeStringEncoding]; + NSDictionary *options = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType}; + NSAttributedString *html = [[NSAttributedString alloc]initWithData:data options:options documentAttributes:nil error:nil]; + self.contentLabel.attributedText = html; [self.noticeImageView sd_setImageWithURL:[NSURL URLWithString:model.image]]; NSDate *date = [NSDate dateWithTimeIntervalSince1970:model.createtime.longLongValue]; //此处根据项目需求,选择是否除以1000 , 如果时间戳精确到秒则去掉1000 NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; diff --git a/QXLive/Message(音信)/View/群聊设置/QXIMGroupSettingView.h b/QXLive/Message(音信)/View/群聊设置/QXIMGroupSettingView.h new file mode 100644 index 0000000..18cd092 --- /dev/null +++ b/QXLive/Message(音信)/View/群聊设置/QXIMGroupSettingView.h @@ -0,0 +1,31 @@ +// +// QXIMGroupSettingView.h +// QXLive +// +// Created by 启星 on 2026/1/2. +// + +#import +#import "QXGroupSettingInfoModel.h" +NS_ASSUME_NONNULL_BEGIN +@protocol QXIMGroupSettingViewDelegate + +@optional +-(void)previewMemberList; +-(void)groupSetMute:(BOOL)isMute muteSwitch:(UISwitch*)muteSwitch; +-(void)saveGroupInfoWithGroupId:(NSString*)groupId notice:(NSString*)notice name:(NSString*)name; +@end +@interface QXIMGroupSettingView : UIView +@property (nonatomic,strong)QXGroupSettingInfoModel*model; +@property (nonatomic,weak)iddelegate; +@end + +@interface QXIMGroupMemberCell :UICollectionViewCell +@property (nonatomic,strong)UIImageView *headerImageView; +@property (nonatomic,strong)UILabel *nameLabel; +@property (nonatomic,strong)QXUserModel *model; + +@end + + +NS_ASSUME_NONNULL_END diff --git a/QXLive/Message(音信)/View/群聊设置/QXIMGroupSettingView.m b/QXLive/Message(音信)/View/群聊设置/QXIMGroupSettingView.m new file mode 100644 index 0000000..085f189 --- /dev/null +++ b/QXLive/Message(音信)/View/群聊设置/QXIMGroupSettingView.m @@ -0,0 +1,224 @@ +// +// QXIMGroupSettingView.m +// QXLive +// +// Created by 启星 on 2026/1/2. +// + +#import "QXIMGroupSettingView.h" +#import "QXTextView.h" +@interface QXIMGroupSettingView() +@property (nonatomic,strong)UIImageView *guildImageView; +@property (nonatomic,strong)UILabel *guildLabel; + +@property (nonatomic,strong)UILabel *groupMemberTitleLabel; +@property (nonatomic,strong)UIButton *moreMemberBtn; +@property (nonatomic,strong)UICollectionView *collectionView; + +@property (nonatomic,strong)UIView *editGroupNameView; +@property (nonatomic,strong)UITextField *editGroupTextField; + +@property (nonatomic,strong)UILabel *noticeTitleLabel; +@property (nonatomic,strong)QXTextView *textView; + +@property (nonatomic,strong)UILabel *muteLabel; +@property (nonatomic,strong)UISwitch *muteSwitch; +@property (nonatomic,strong)NSMutableArray *dataArray; + +@property (nonatomic,strong)UIButton *saveBtn; +@end +@implementation QXIMGroupSettingView + +- (instancetype)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self) { + [self initSubviews]; + } + return self; +} + +-(void)initSubviews{ + + self.guildImageView = [[UIImageView alloc] initWithFrame:CGRectMake(16, 0, 60, 60)]; + self.guildImageView.contentMode = UIViewContentModeScaleAspectFill; + [self.guildImageView addRoundedCornersWithRadius:30]; + [self addSubview:self.guildImageView]; + + self.guildLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.guildImageView.right+10, self.guildLabel.top, self.width-self.guildImageView.right-10-16, self.guildImageView.height)]; + self.guildLabel.textColor = [UIColor colorWithHexString:@"#333333"]; + self.guildLabel.font = [UIFont systemFontOfSize:14]; + [self addSubview:self.guildLabel]; + + + self.groupMemberTitleLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.guildImageView.left, self.guildImageView.bottom+15, 100, 20)]; + self.groupMemberTitleLabel.textColor = RGB16(0x000000); + self.groupMemberTitleLabel.font = [UIFont boldSystemFontOfSize:16]; + self.groupMemberTitleLabel.text = @"群组成员"; + [self addSubview:self.groupMemberTitleLabel]; + + self.moreMemberBtn = [[UIButton alloc] initWithFrame:CGRectMake(self.width-100-16, self.groupMemberTitleLabel.top, 100, 20)]; + [self.moreMemberBtn setTitle:@"查看成员>" forState:(UIControlStateNormal)]; + [self.moreMemberBtn setTitleColor:RGB16(0x333333) forState:(UIControlStateNormal)]; + self.moreMemberBtn.titleLabel.font = [UIFont systemFontOfSize:14]; + [self.moreMemberBtn addTarget:self action:@selector(moreAction:) forControlEvents:(UIControlEventTouchUpInside)]; + [self addSubview:self.moreMemberBtn]; + + UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; + int itemWidth = 60; + layout.itemSize = CGSizeMake(itemWidth, itemWidth+20); + layout.minimumLineSpacing = 12; + layout.minimumInteritemSpacing = 12; +// layout.sectionInset = UIEdgeInsetsMake(0, 16, 0, 16); + layout.scrollDirection = UICollectionViewScrollDirectionHorizontal; + self.collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(self.guildImageView.left, self.groupMemberTitleLabel.bottom+15, self.width-32, itemWidth+20) collectionViewLayout:layout]; + [self.collectionView registerClass:[QXIMGroupMemberCell class] forCellWithReuseIdentifier:@"QXIMGroupMemberCell"]; + self.collectionView.delegate = self; + self.collectionView.dataSource = self; + self.collectionView.showsHorizontalScrollIndicator = NO; + self.collectionView.bounces = NO; + self.collectionView.pagingEnabled = NO; + self.collectionView.backgroundColor = [UIColor clearColor]; + [self addSubview:self.collectionView]; + + self.editGroupNameView = [[UIView alloc] initWithFrame:CGRectMake(16, self.collectionView.bottom+10, self.width-32, 44)]; + self.editGroupNameView.backgroundColor = RGB(236, 240, 246); + [self.editGroupNameView addRoundedCornersWithRadius:8]; + [self addSubview:self.editGroupNameView]; + + self.editGroupTextField = [[UITextField alloc] initWithFrame:CGRectMake(16, 0, self.editGroupNameView.width-32, 44)]; + self.editGroupTextField.font = [UIFont systemFontOfSize:14]; + self.editGroupTextField.textColor = RGB16(0x333333); + self.editGroupTextField.placeholder = @"请输入群聊名称"; + [self.editGroupNameView addSubview:self.editGroupTextField]; + + self.noticeTitleLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.guildImageView.left, self.editGroupNameView.bottom+10, self.width-32, 30)]; + self.noticeTitleLabel.text = @"群聊公告"; + self.noticeTitleLabel.font = [UIFont boldSystemFontOfSize:16]; + self.noticeTitleLabel.textColor = RGB16(0x000000); + [self addSubview:self.noticeTitleLabel]; + + self.textView = [[QXTextView alloc] initWithFrame:CGRectMake(self.guildImageView.left, self.noticeTitleLabel.bottom+10, self.width-32, 120)]; + self.textView.placehoulder = @"请输入群聊公告"; + self.textView.placehoulderFont = [UIFont systemFontOfSize:14]; + self.textView.font = [UIFont systemFontOfSize:14]; + self.textView.backgroundColor = RGB(236, 240, 246); + [self.textView addRoundedCornersWithRadius:8]; + self.textView.maxLength = 300; + [self addSubview:self.textView]; + + + self.muteLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.guildImageView.left, self.textView.bottom+10, 200, 40)]; + self.muteLabel.text = @"全员禁言"; + self.muteLabel.textColor = RGB16(0x000000); + self.muteLabel.font = [UIFont boldSystemFontOfSize:16]; + self.muteLabel.hidden = YES; + [self addSubview:self.muteLabel]; + + self.muteSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(self.width-60-16, self.muteLabel.top+5, 60, 40)]; + [self.muteSwitch addTarget:self action:@selector(muteAction) forControlEvents:(UIControlEventValueChanged)]; + self.muteSwitch.hidden = YES; + [self addSubview:self.muteSwitch]; + + self.saveBtn = [[UIButton alloc] initWithFrame:CGRectMake((self.width-300)/2, self.muteLabel.bottom+10, 300, 40)]; + [self.saveBtn setTitle:@"确认保存" forState:(UIControlStateNormal)]; + [self.saveBtn setTitleColor:RGB16(0xffffff) forState:(UIControlStateNormal)]; + self.saveBtn.titleLabel.font = [UIFont systemFontOfSize:14]; + [self.saveBtn addRoundedCornersWithRadius:20]; + self.saveBtn.backgroundColor = QXConfig.themeColor; + [self.saveBtn addTarget:self action:@selector(saveAction) forControlEvents:(UIControlEventTouchUpInside)]; + [self addSubview:self.saveBtn]; + self.saveBtn.hidden = YES; +} +-(void)setModel:(QXGroupSettingInfoModel *)model{ + _model = model; + [self.guildImageView sd_setImageWithURL:[NSURL URLWithString:model.guild_cover]]; + self.guildLabel.text = model.name; + self.editGroupTextField.text = model.name; + self.textView.text = model.notification; + [self.muteSwitch setOn:model.mute_all_member.intValue==1]; + [self.collectionView reloadData]; + if (model.is_deacon.intValue == 2) { + self.muteSwitch.hidden = YES; + self.muteLabel.hidden = YES; + self.saveBtn.hidden = YES; + self.editGroupTextField.userInteractionEnabled = NO; + self.textView.userInteractionEnabled = NO; + }else{ + self.muteSwitch.hidden = NO; + self.muteLabel.hidden = NO; + self.saveBtn.hidden = NO; + self.editGroupTextField.userInteractionEnabled = YES; + self.textView.userInteractionEnabled = YES; + } +} +-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ + return self.model.user_list.count; +} +-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ + QXIMGroupMemberCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXIMGroupMemberCell" forIndexPath:indexPath]; + QXUserModel *model = self.model.user_list[indexPath.row]; + cell.model = model; + return cell; +} + +-(void)moreAction:(UIButton*)sender{ + if (self.delegate && [self.delegate respondsToSelector:@selector(previewMemberList)]) { + [self.delegate previewMemberList]; + } +} + +-(void)saveAction{ + if (self.delegate && [self.delegate respondsToSelector:@selector(saveGroupInfoWithGroupId:notice:name:)]) { + [self.delegate saveGroupInfoWithGroupId:self.model.guild_id notice:self.textView.text name:self.editGroupTextField.text]; + } +} + +-(void)muteAction{ + if (self.muteSwitch.isOn) { + QXLOG(@"打开全局禁言"); + }else{ + QXLOG(@"关闭全局禁言"); + } + if (self.delegate && [self.delegate respondsToSelector:@selector(groupSetMute:muteSwitch:)]) { + [self.delegate groupSetMute:self.muteSwitch.isOn muteSwitch:self.muteSwitch]; + } +} + +-(NSMutableArray *)dataArray{ + if (!_dataArray) { + _dataArray = [NSMutableArray array]; + } + return _dataArray; +} +@end + + +@implementation QXIMGroupMemberCell + +-(instancetype)initWithFrame:(CGRect)frame{ + if (self = [super initWithFrame:frame]) { + [self initSubviews]; + } + return self; +} +-(void)setModel:(QXUserModel *)model{ + _model = model; + [self.headerImageView sd_setImageWithURL:[NSURL URLWithString:model.avatar]]; + self.nameLabel.text = model.nickname; +} +-(void)initSubviews{ + self.headerImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.width, self.width)]; + self.headerImageView.contentMode = UIViewContentModeScaleAspectFill; + self.headerImageView.image = [UIImage imageNamed:@"user_header_placehoulder"]; + [self.headerImageView addRoundedCornersWithRadius:self.width/2]; + [self.contentView addSubview:self.headerImageView]; + + self.nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, self.headerImageView.bottom, self.width, 20)]; + self.nameLabel.textColor = RGB16(0x666666); + self.nameLabel.font = [UIFont systemFontOfSize:14]; + self.nameLabel.textAlignment = NSTextAlignmentCenter; + self.nameLabel.text = @"夏末"; + [self.contentView addSubview:self.nameLabel]; +} +@end diff --git a/QXLive/Mine(音域)/Controller/QXMineViewController.m b/QXLive/Mine(音域)/Controller/QXMineViewController.m index 926da06..8c1a0c1 100644 --- a/QXLive/Mine(音域)/Controller/QXMineViewController.m +++ b/QXLive/Mine(音域)/Controller/QXMineViewController.m @@ -39,6 +39,7 @@ #import "QXBodyPriceRuleView.h" #import "QXFamilyViewController.h" #import "QXNobilityDetailViewController.h" +#import "QXPropShopVC.h" #import @interface QXMineViewController () @@ -246,7 +247,8 @@ break; case QXMainHeaderOptionTypeShop:{ QXLOG(@"跳转商城"); - QXPropShopViewController *vc = [[QXPropShopViewController alloc] init]; +// QXPropShopViewController *vc = [[QXPropShopViewController alloc] init]; + QXPropShopVC *vc = [[QXPropShopVC alloc] init]; [self.navigationController pushViewController:vc animated:YES]; } break; diff --git a/QXLive/Mine(音域)/Controller/个性装扮/QXDressViewController.m b/QXLive/Mine(音域)/Controller/个性装扮/QXDressViewController.m index a01f93a..d4cadef 100644 --- a/QXLive/Mine(音域)/Controller/个性装扮/QXDressViewController.m +++ b/QXLive/Mine(音域)/Controller/个性装扮/QXDressViewController.m @@ -9,7 +9,7 @@ #import "JXCategoryView.h" #import "QXDressSubViewController.h" #import "QXMineNetwork.h" -#import "QXPropShopViewController.h" +#import "QXPropShopVC.h" @interface QXDressViewController () @property (nonatomic,strong)JXCategoryTitleView *categoryView; @@ -40,7 +40,7 @@ } -(void)recordAction{ - QXPropShopViewController *vc = [[QXPropShopViewController alloc] init]; + QXPropShopVC *vc = [[QXPropShopVC alloc] init]; [self.navigationController pushViewController:vc animated:YES]; } diff --git a/QXLive/Mine(音域)/Controller/亲密关系/QXHeartBeatSpaceViewController.m b/QXLive/Mine(音域)/Controller/亲密关系/QXHeartBeatSpaceViewController.m index 56fe76c..1f5af11 100644 --- a/QXLive/Mine(音域)/Controller/亲密关系/QXHeartBeatSpaceViewController.m +++ b/QXLive/Mine(音域)/Controller/亲密关系/QXHeartBeatSpaceViewController.m @@ -138,10 +138,7 @@ } -(void)helpAction{ - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; QXHeartBeatLevelRuleView *view = [[QXHeartBeatLevelRuleView alloc] init]; NSString *urlStr = [NSString stringWithFormat:@"%@api/Page/page_show?id=31",server]; view.rule = urlStr; diff --git a/QXLive/Mine(音域)/Controller/公会中心/QXGuildViewController.m b/QXLive/Mine(音域)/Controller/公会中心/QXGuildViewController.m index 0035f83..cde5bb4 100644 --- a/QXLive/Mine(音域)/Controller/公会中心/QXGuildViewController.m +++ b/QXLive/Mine(音域)/Controller/公会中心/QXGuildViewController.m @@ -43,10 +43,7 @@ static void *WKWebBrowserContext = &WKWebBrowserContext; , 2)]; } - (void)loadData { - NSString *server = H5ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RH5ServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentH5Server; NSInteger safeTop = kSafeAreaTop; NSString *urlString = [NSString stringWithFormat:@"%@web/index.html#/pages/union/index?id=%@&h=%ld",server,[QXGlobal shareGlobal].loginModel.token,safeTop]; diff --git a/QXLive/Mine(音域)/Controller/帮助反馈/QXHelpViewController.m b/QXLive/Mine(音域)/Controller/帮助反馈/QXHelpViewController.m index 6ff43b5..7630a7f 100644 --- a/QXLive/Mine(音域)/Controller/帮助反馈/QXHelpViewController.m +++ b/QXLive/Mine(音域)/Controller/帮助反馈/QXHelpViewController.m @@ -60,10 +60,7 @@ static void *WKWebBrowserContext = &WKWebBrowserContext; , 2)]; } - (void)loadData { - NSString *server = H5ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RH5ServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentH5Server; NSInteger safeTop = kSafeAreaTop; NSURL* url=[NSURL URLWithString:[NSString stringWithFormat:@"%@web/index.html#/pages/feedback/help?id=%@&h=%ld",server,[QXGlobal shareGlobal].loginModel.token,safeTop]]; NSURLRequest *request =[NSURLRequest requestWithURL:url]; diff --git a/QXLive/Mine(音域)/Controller/歌单列表/QXMineSongListViewController.m b/QXLive/Mine(音域)/Controller/歌单列表/QXMineSongListViewController.m index 44b7635..dabd9bd 100644 --- a/QXLive/Mine(音域)/Controller/歌单列表/QXMineSongListViewController.m +++ b/QXLive/Mine(音域)/Controller/歌单列表/QXMineSongListViewController.m @@ -82,10 +82,7 @@ }]; } -(void)helpAction{ - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSString *urlString = [NSString stringWithFormat:@"%@api/Page/page_show?id=%@",server,@"34"]; QXBaseWebViewController *vc = [[QXBaseWebViewController alloc] init]; vc.urlStr = urlString; diff --git a/QXLive/Mine(音域)/Controller/歌手认证/QXRoomSingerAuthViewController.m b/QXLive/Mine(音域)/Controller/歌手认证/QXRoomSingerAuthViewController.m index 4afebf9..1e7127c 100644 --- a/QXLive/Mine(音域)/Controller/歌手认证/QXRoomSingerAuthViewController.m +++ b/QXLive/Mine(音域)/Controller/歌手认证/QXRoomSingerAuthViewController.m @@ -99,10 +99,7 @@ } } -(void)helpAction{ - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSString *urlString = [NSString stringWithFormat:@"%@api/Page/page_show?id=%@",server,@"33"]; QXBaseWebViewController *vc = [[QXBaseWebViewController alloc] init]; vc.urlStr = urlString; diff --git a/QXLive/Mine(音域)/Controller/段位/QXLevelViewController.m b/QXLive/Mine(音域)/Controller/段位/QXLevelViewController.m index 18e1b65..fa9e16c 100644 --- a/QXLive/Mine(音域)/Controller/段位/QXLevelViewController.m +++ b/QXLive/Mine(音域)/Controller/段位/QXLevelViewController.m @@ -40,10 +40,7 @@ static void *WKWebBrowserContext = &WKWebBrowserContext; , 2)]; } - (void)loadData { - NSString *server = H5ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RH5ServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentH5Server; NSInteger safeTop = kSafeAreaTop; NSURL* url=[NSURL URLWithString:[NSString stringWithFormat:@"%@web/index.html#/pages/other/grade?id=%@&type=%d&h=%ld",server,[QXGlobal shareGlobal].loginModel.token,0,safeTop]]; NSURLRequest *request =[NSURLRequest requestWithURL:url]; diff --git a/QXLive/Mine(音域)/Controller/爵位/QXNobilityBuyViewController.m b/QXLive/Mine(音域)/Controller/爵位/QXNobilityBuyViewController.m index 4c9a5ed..06cd4db 100644 --- a/QXLive/Mine(音域)/Controller/爵位/QXNobilityBuyViewController.m +++ b/QXLive/Mine(音域)/Controller/爵位/QXNobilityBuyViewController.m @@ -176,10 +176,7 @@ } -(void)agreementAction{ // id = 30; - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSString *urlString = [NSString stringWithFormat:@"%@api/Page/page_show?id=%@",server,@"30"]; QXBaseWebViewController *vc = [[QXBaseWebViewController alloc] init]; vc.urlStr = urlString; diff --git a/QXLive/Mine(音域)/Controller/爵位/QXNobilityDetailViewController.m b/QXLive/Mine(音域)/Controller/爵位/QXNobilityDetailViewController.m index c08fbbb..4626839 100644 --- a/QXLive/Mine(音域)/Controller/爵位/QXNobilityDetailViewController.m +++ b/QXLive/Mine(音域)/Controller/爵位/QXNobilityDetailViewController.m @@ -56,10 +56,7 @@ } -(void)helpAction{ - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSString *urlString = [NSString stringWithFormat:@"%@api/Page/page_show?id=%@",server,@"29"]; QXBaseWebViewController *vc = [[QXBaseWebViewController alloc] init]; vc.urlStr = urlString; diff --git a/QXLive/Mine(音域)/Controller/爵位/QXNobilityViewController.m b/QXLive/Mine(音域)/Controller/爵位/QXNobilityViewController.m index 39eaa28..da55f60 100644 --- a/QXLive/Mine(音域)/Controller/爵位/QXNobilityViewController.m +++ b/QXLive/Mine(音域)/Controller/爵位/QXNobilityViewController.m @@ -108,10 +108,7 @@ -(void)helpAction{ - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSString *urlString = [NSString stringWithFormat:@"%@api/Page/page_show?id=%@",server,@"29"]; QXBaseWebViewController *vc = [[QXBaseWebViewController alloc] init]; vc.urlStr = urlString; diff --git a/QXLive/Mine(音域)/Controller/设置/QXAboutViewController.m b/QXLive/Mine(音域)/Controller/设置/QXAboutViewController.m index e164232..930f48f 100644 --- a/QXLive/Mine(音域)/Controller/设置/QXAboutViewController.m +++ b/QXLive/Mine(音域)/Controller/设置/QXAboutViewController.m @@ -41,10 +41,7 @@ static void *WKWebBrowserContext = &WKWebBrowserContext; } - (void)loadData { // H5ServerUrl - NSString *server = H5ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RH5ServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentH5Server; NSInteger safeTop = kSafeAreaTop; NSString *urlStr = [NSString stringWithFormat:@"%@web/index.html#/pages/other/aboutUs?h=%ld",server,safeTop]; NSURL* url=[NSURL URLWithString:urlStr]; diff --git a/QXLive/Mine(音域)/Controller/道具商城/QXPropShopSubVC.h b/QXLive/Mine(音域)/Controller/道具商城/QXPropShopSubVC.h new file mode 100644 index 0000000..c22057a --- /dev/null +++ b/QXLive/Mine(音域)/Controller/道具商城/QXPropShopSubVC.h @@ -0,0 +1,18 @@ +// +// QXPropShopSubVC.h +// QXLive +// +// Created by 启星 on 2026/1/3. +// + +#import "QXBaseViewController.h" +#import "JXCategoryView.h" +#import "QXUserDressModel.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface QXPropShopSubVC : QXBaseViewController +@property (nonatomic,strong)QXUserDressTypeModel *model; +@end + +NS_ASSUME_NONNULL_END diff --git a/QXLive/Mine(音域)/Controller/道具商城/QXPropShopSubVC.m b/QXLive/Mine(音域)/Controller/道具商城/QXPropShopSubVC.m new file mode 100644 index 0000000..6d09c18 --- /dev/null +++ b/QXLive/Mine(音域)/Controller/道具商城/QXPropShopSubVC.m @@ -0,0 +1,110 @@ +// +// QXPropShopSubVC.m +// QXLive +// +// Created by 启星 on 2026/1/3. +// + +#import "QXPropShopSubVC.h" +#import "QXGiftPlayerManager.h" +#import "QXDressShopCell.h" +#import "QXMineNetwork.h" +#import "QXDressShopBuyView.h" +#import "QXRechargeViewcController.h" +@interface QXPropShopSubVC () +@property (nonatomic,strong)UICollectionView *collectionView; +@property (nonatomic,strong)QXEffectContentView *fullEffectView; +@end + +@implementation QXPropShopSubVC +-(UIView *)listView{ + return self.view; +} +-(void)listWillAppear{ + [self getDressList]; +} +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. +} +-(void)initSubViews{ + self.bgImageHidden = YES; + + [self.view addSubview:self.collectionView]; + [self.view addSubview:self.fullEffectView]; +} +-(void)viewDidLayoutSubviews{ + [super viewDidLayoutSubviews]; + self.collectionView.frame = CGRectMake(0, 12, SCREEN_WIDTH, self.view.height); +} +-(void)getDressList{ + @weakify(self) + [QXMineNetwork shopDressListWithType:self.model.id successBlock:^(NSArray * _Nonnull list) { + @strongify(self); + [self.dataArray removeAllObjects]; + [self.dataArray addObjectsFromArray:list]; + [self.collectionView reloadData]; + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + + }]; +} + +-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ + return self.dataArray.count; +} +-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ + QXDressShopCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXDressShopCell" forIndexPath:indexPath]; + cell.model = self.dataArray[indexPath.row]; + return cell; +} +-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{ + int width = (SCREEN_WIDTH-15*2-15*2-1)/3; + return CGSizeMake((int)width, (int)width-20+87); +} +-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{ + QXShopDressModel *model = self.dataArray[indexPath.row]; + QXDressShopBuyView *buyView = [[QXDressShopBuyView alloc] init]; + buyView.typeId = self.model.id; + buyView.model = model; + buyView.delegate = self; + [buyView showInView:KEYWINDOW]; +} + +-(void)didClickRecharge{ + QXRechargeViewcController *vc = [[QXRechargeViewcController alloc] init]; + [self.navigationController pushViewController:vc animated:YES]; +} +-(UICollectionView *)collectionView{ + if (!_collectionView) { + UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; + layout.minimumLineSpacing = 15; + layout.minimumInteritemSpacing = 15; + layout.sectionInset = UIEdgeInsetsMake(0, 15, 0, 15); + _collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout]; + _collectionView.delegate = self; + _collectionView.dataSource = self; + _collectionView.backgroundColor = [UIColor clearColor]; + [_collectionView registerNib:[UINib nibWithNibName:@"QXDressShopCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"QXDressShopCell"]; + } + return _collectionView; +} + +- (QXEffectContentView *)fullEffectView { + if (!_fullEffectView) { + _fullEffectView = [[QXEffectContentView alloc] initWithFrame:[UIScreen mainScreen].bounds]; + _fullEffectView.queue = dispatch_queue_create("qx_room_full_preview_message.com", NULL); + _fullEffectView.hidden = YES; + } + return _fullEffectView; +} +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/QXLive/Mine(音域)/Controller/道具商城/QXPropShopVC.h b/QXLive/Mine(音域)/Controller/道具商城/QXPropShopVC.h new file mode 100644 index 0000000..a10f246 --- /dev/null +++ b/QXLive/Mine(音域)/Controller/道具商城/QXPropShopVC.h @@ -0,0 +1,16 @@ +// +// QXPropShopVC.h +// QXLive +// +// Created by 启星 on 2026/1/3. +// + +#import "QXBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface QXPropShopVC : QXBaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/QXLive/Mine(音域)/Controller/道具商城/QXPropShopVC.m b/QXLive/Mine(音域)/Controller/道具商城/QXPropShopVC.m new file mode 100644 index 0000000..cd26a27 --- /dev/null +++ b/QXLive/Mine(音域)/Controller/道具商城/QXPropShopVC.m @@ -0,0 +1,120 @@ +// +// QXPropShopVC.m +// QXLive +// +// Created by 启星 on 2026/1/3. +// + +#import "QXPropShopVC.h" +#import "QXMineNetwork.h" +#import "QXPropShopSubVC.h" +#import +#import "QXHomePageNetwork.h" +@interface QXPropShopVC () +@property (nonatomic,strong)JXCategoryTitleView *categoryView; +@property (nonatomic,strong)JXCategoryListContainerView *containerView; +@property (nonatomic,strong)NSMutableArray *listVCArray; +@property (nonatomic,strong)NSMutableArray *titles; +@property (nonatomic,strong)SDCycleScrollView *cycleScrollView; +@end + +@implementation QXPropShopVC + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. +} +-(void)viewWillAppear:(BOOL)animated{ + [super viewWillAppear:animated]; + [self.navigationController setNavigationBarHidden:NO animated:YES]; +} +-(void)setNavgationItems{ + [super setNavgationItems]; + self.navigationItem.title = QXText(@"道具商城"); +} +- (void)initSubViews{ + self.view.backgroundColor = [UIColor whiteColor]; +// self.titles = @[QXText(@"头像框"),QXText(@"座驾"),QXText(@"气泡"),QXText(@"个人靓号"),QXText(@"房间靓号"),QXText(@"工会靓号")]; + self.listVCArray = [NSMutableArray array]; + self.cycleScrollView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectMake(15, kSafeAreaTop+44, SCREEN_WIDTH-30, 100) delegate:self placeholderImage:nil]; + self.cycleScrollView.bannerImageViewContentMode = UIViewContentModeScaleAspectFill; + self.cycleScrollView.backgroundColor = UIColor.clearColor; + [self.cycleScrollView addRoundedCornersWithRadius:8]; + [self.view addSubview:self.cycleScrollView]; + self.categoryView = [[JXCategoryTitleView alloc] init]; + self.categoryView.frame = CGRectMake(15, self.cycleScrollView.bottom, SCREEN_WIDTH-30, 44); + self.categoryView.delegate = self; +// self.categoryView.titles = self.titles; + self.categoryView.titleSelectedColor = [UIColor colorWithHexString:@"#333333"]; + self.categoryView.titleColor = [UIColor colorWithHexString:@"#666666"]; + self.categoryView.cellWidth = JXCategoryViewAutomaticDimension; + self.categoryView.contentEdgeInsetLeft = 0; + self.categoryView.cellSpacing = 18; + self.categoryView.contentEdgeInsetLeft = 8; +// self.categoryView.titleLabelZoomScale = 1.1; + self.categoryView.titleLabelZoomEnabled = YES; + self.categoryView.titleFont = [UIFont boldSystemFontOfSize:14]; + self.categoryView.titleSelectedFont = [UIFont boldSystemFontOfSize:16]; + self.categoryView.averageCellSpacingEnabled = NO; + JXCategoryIndicatorImageView *indicatorView = [[JXCategoryIndicatorImageView alloc] init]; + indicatorView.indicatorImageView.image = [UIImage imageNamed:@"home_slider"]; + indicatorView.indicatorImageViewSize = CGSizeMake(40, 8); + indicatorView.verticalMargin = 11; + self.categoryView.indicators = @[indicatorView]; + self.containerView = [[JXCategoryListContainerView alloc] initWithType:(JXCategoryListContainerType_CollectionView) delegate:self]; + self.containerView.frame = CGRectMake(0, self.categoryView.bottom, SCREEN_WIDTH, SCREEN_HEIGHT-self.categoryView.bottom); + [self.view addSubview:self.categoryView]; + [self.view addSubview:self.containerView]; + self.categoryView.listContainer = self.containerView; +} +-(void)getData{ + MJWeakSelf + [QXMineNetwork getDressTypeListSuccessBlock:^(NSArray * _Nonnull list) { + [weakSelf.dataArray removeAllObjects]; + [weakSelf.dataArray addObjectsFromArray:list]; + for (QXUserDressTypeModel*model in list) { + [weakSelf.titles addObject:model.name]; + } + weakSelf.categoryView.titles = weakSelf.titles; + [weakSelf.categoryView reloadData]; + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + + }]; + [self getBanner]; +} + +-(void)getBanner{ + @weakify(self) + [QXHomePageNetwork homeBannerWithType:@"7" successBlock:^(NSArray * _Nonnull list) { + @strongify(self) + NSMutableArray *arr = [NSMutableArray array]; + for (QXBanner *banner in list) { + [arr addObject:banner.image]; + } +// [self.bannerArry removeAllObjects]; +// [self.bannerArry addObjectsFromArray:list]; +// self.appStoreView.bannerArray = list; + self.cycleScrollView.imageURLStringsGroup = arr; + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + + }]; +} +-(NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView{ + return self.dataArray.count; +} +-(id)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index{ + QXPropShopSubVC *vc = [[QXPropShopSubVC alloc] init]; + QXUserDressTypeModel *model = self.dataArray[index]; + vc.model = model; + return vc; +} +- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index { +// self.navigationController.interactivePopGestureRecognizer.enabled = (index == 0); +} +-(NSMutableArray *)titles{ + if (!_titles) { + _titles = [NSMutableArray array]; + } + return _titles; +} +@end diff --git a/QXLive/Mine(音域)/Controller/道具商城/QXPropShopViewController.m b/QXLive/Mine(音域)/Controller/道具商城/QXPropShopViewController.m index c074d77..bb06e23 100644 --- a/QXLive/Mine(音域)/Controller/道具商城/QXPropShopViewController.m +++ b/QXLive/Mine(音域)/Controller/道具商城/QXPropShopViewController.m @@ -60,10 +60,7 @@ static void *WKWebBrowserContext = &WKWebBrowserContext; , 2)]; } - (void)loadData { - NSString *server = H5ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RH5ServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentH5Server; NSURL* url=[NSURL URLWithString:[NSString stringWithFormat:@"%@web/index.html#/pages/prop/propMall?id=%@&is_show=%@",server,[QXGlobal shareGlobal].loginModel.token,QXGlobal.shareGlobal.isAppStore?@"0":@"1"]]; NSURLRequest *request =[NSURLRequest requestWithURL:url]; [self.contentWebView loadRequest:request]; diff --git a/QXLive/Mine(音域)/Controller/邀请/QXInviteViewController.m b/QXLive/Mine(音域)/Controller/邀请/QXInviteViewController.m index e538a4f..c848372 100644 --- a/QXLive/Mine(音域)/Controller/邀请/QXInviteViewController.m +++ b/QXLive/Mine(音域)/Controller/邀请/QXInviteViewController.m @@ -62,10 +62,7 @@ static void *WKWebBrowserContext = &WKWebBrowserContext; , 2)]; } - (void)loadData { - NSString *server = H5ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RH5ServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentH5Server; NSInteger safeTop = kSafeAreaTop; NSURL* url=[NSURL URLWithString:[NSString stringWithFormat:@"%@web/index.html#/pages/other/income??id=%@&h=%ld&is_show=%@",server,[QXGlobal shareGlobal].loginModel.token,safeTop,QXGlobal.shareGlobal.isAppStore?@"0":@"1"]]; NSURLRequest *request =[NSURLRequest requestWithURL:url]; diff --git a/QXLive/Mine(音域)/Model/QXSongListModel.h b/QXLive/Mine(音域)/Model/QXSongListModel.h index 735d762..a8ec2c4 100644 --- a/QXLive/Mine(音域)/Model/QXSongListModel.h +++ b/QXLive/Mine(音域)/Model/QXSongListModel.h @@ -30,6 +30,8 @@ NS_ASSUME_NONNULL_BEGIN @property(nonatomic, copy)NSString *user_id; /// 点唱用户昵称 @property(nonatomic, copy)NSString *nickname; +/// 用户code +@property(nonatomic, copy)NSString *user_code; /// 点唱用户头像 @property(nonatomic, copy)NSString *avatar; /// 点唱用户装扮 diff --git a/QXLive/Mine(音域)/Model/QXUserDressModel.h b/QXLive/Mine(音域)/Model/QXUserDressModel.h index 24b6ffc..78846e7 100644 --- a/QXLive/Mine(音域)/Model/QXUserDressModel.h +++ b/QXLive/Mine(音域)/Model/QXUserDressModel.h @@ -45,4 +45,57 @@ NS_ASSUME_NONNULL_BEGIN /// 类型name @property (nonatomic,strong)NSString *name; @end + +@interface QXShopDressModel : NSObject +/// 装扮名称 +@property (nonatomic,strong)NSString *title; +/// 装扮id +@property (nonatomic,strong)NSString *did; +/// 类型:1头像框 2坐骑 3资料展示特效 4光圈 5气泡 6个人靓号 7房间靓号 8工会靓号 100热门 +@property (nonatomic,strong)NSString *type; +/// 展示图片 +@property (nonatomic,strong)NSString *base_image; +/// 播放图像 +@property (nonatomic,strong)NSString *play_image; +/// 实际价格(金币) +@property (nonatomic,strong)NSString *price; +/// 靓号 +@property (nonatomic,strong)NSString *special_num; +/// 原价 +@property (nonatomic,strong)NSString *original_price; +/// 折扣 +@property (nonatomic,strong)NSString *discount; +/// 折扣字段 +@property (nonatomic,strong)NSString *discount_str; + +@end + +@class QXShopUserModel,QXShopDressInfoModel,QXShopDressPriceModel; +@interface QXShopDressDetailModel : NSObject +@property (nonatomic,strong)QXShopUserModel *user_info; +@property (nonatomic,strong)QXShopDressInfoModel *decorate; +@end + +@interface QXShopUserModel :NSObject +@property (nonatomic,strong)NSString *user_id; +@property (nonatomic,strong)NSString *user_coin; +@end + +@interface QXShopDressInfoModel :NSObject +@property (nonatomic,strong)NSString *title; +@property (nonatomic,strong)NSArray *price_list; +@property (nonatomic,strong)NSString *price; +@property (nonatomic,strong)NSString *base_image; +@end + + +@interface QXShopDressPriceModel : NSObject +@property (nonatomic,strong)NSString*price; +@property (nonatomic,strong)NSString*discount; +@property (nonatomic,strong)NSString*day; +@property (nonatomic,strong)NSString*month; +@property (nonatomic,strong)NSString*end_time; +@property (nonatomic,assign)BOOL isSelected; +@end + NS_ASSUME_NONNULL_END diff --git a/QXLive/Mine(音域)/Model/QXUserDressModel.m b/QXLive/Mine(音域)/Model/QXUserDressModel.m index 5f94c53..0d3d2f5 100644 --- a/QXLive/Mine(音域)/Model/QXUserDressModel.m +++ b/QXLive/Mine(音域)/Model/QXUserDressModel.m @@ -16,3 +16,39 @@ @end + +@implementation QXShopDressModel + + + +@end + + +@implementation QXShopDressDetailModel ++ (NSDictionary *)modelContainerPropertyGenericClass { + return @{@"user_info" : [QXShopUserModel class], + @"decorate" : [QXShopDressInfoModel class] + }; +} + + +@end +@implementation QXShopUserModel + + + +@end +@implementation QXShopDressInfoModel + ++ (NSDictionary *)modelContainerPropertyGenericClass { + return @{@"price_list" : [QXShopDressPriceModel class], + }; +} + +@end +@implementation QXShopDressPriceModel + + + +@end + diff --git a/QXLive/Mine(音域)/Model/QXUserModel.h b/QXLive/Mine(音域)/Model/QXUserModel.h index 22604ec..7d3ec7e 100644 --- a/QXLive/Mine(音域)/Model/QXUserModel.h +++ b/QXLive/Mine(音域)/Model/QXUserModel.h @@ -132,6 +132,10 @@ NS_ASSUME_NONNULL_BEGIN /// 是否使用靓号 0未使用 1 已使用 @property (nonatomic,strong)NSString *is_use_code; +@property (nonatomic,strong)NSString *in_room_id; + +@property (nonatomic,strong)NSString *is_mute; + @property (nonatomic,strong)QXUserCpInfoModel *cp_info; @property (nonatomic,strong)QXUserHomeModel *master; diff --git a/QXLive/Mine(音域)/Services/QXMineNetwork.h b/QXLive/Mine(音域)/Services/QXMineNetwork.h index 227a42b..52f4377 100644 --- a/QXLive/Mine(音域)/Services/QXMineNetwork.h +++ b/QXLive/Mine(音域)/Services/QXMineNetwork.h @@ -1471,6 +1471,28 @@ NS_ASSUME_NONNULL_BEGIN +(void)getAppConfigSuccessBlock:(void (^)(QXConfigModel* config))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock; +/** + 道具商城装饰列表 + */ ++(void)shopDressListWithType:(NSString*)type + successBlock:(void (^)(NSArray< QXShopDressModel*>* list))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock; + +/** + 道具商城装饰详情 + */ ++(void)shopDressDetailWithDid:(NSString*)did + successBlock:(void (^)(QXShopDressDetailModel*model))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock; + +/** + 购买道具 + */ ++(void)shopDressBuyWithDid:(NSString*)did + day:(NSString*)day + num:(NSString*)num + successBlock:(void (^)(NSDictionary* dict))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock; @end diff --git a/QXLive/Mine(音域)/Services/QXMineNetwork.m b/QXLive/Mine(音域)/Services/QXMineNetwork.m index 75f6025..d3d0bcb 100644 --- a/QXLive/Mine(音域)/Services/QXMineNetwork.m +++ b/QXLive/Mine(音域)/Services/QXMineNetwork.m @@ -2975,4 +2975,64 @@ failBlock(error,msg); }]; } + +/** + 道具商城装饰列表 + */ ++(void)shopDressListWithType:(NSString*)type + successBlock:(void (^)(NSArray< QXShopDressModel*>* list))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ + NSDictionary *parameters =@{ + @"type":type?:@"", + }; + [[QXRequset shareInstance] postWithUrl:QXShopDressList parameters:parameters needCache:NO success:^(id responseObject) { + if (successBlock) { + NSArray*list = [NSArray yy_modelArrayWithClass:[QXShopDressModel class] json:responseObject[@"data"]]; + successBlock(list); + } + } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { + failBlock(error,msg); + }]; +} + +/** + 道具商城装饰详情 + */ ++(void)shopDressDetailWithDid:(NSString*)did + successBlock:(void (^)(QXShopDressDetailModel*model))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ + NSDictionary *parameters =@{ + @"did":did?:@"", + }; + [[QXRequset shareInstance] postWithUrl:QXShopDressDetail parameters:parameters needCache:NO success:^(id responseObject) { + if (successBlock) { + QXShopDressDetailModel *model = [QXShopDressDetailModel yy_modelWithJSON:responseObject[@"data"]]; + successBlock(model); + } + } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { + failBlock(error,msg); + }]; +} + +/** + 购买道具 + */ ++(void)shopDressBuyWithDid:(NSString*)did + day:(NSString*)day + num:(NSString*)num + successBlock:(void (^)(NSDictionary* dict))successBlock + failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ + NSDictionary *parameters =@{ + @"did":did?:@"", + @"day":day?:@"", + @"num":num?:@"" + }; + [[QXRequset shareInstance] postWithUrl:QXShopBuyDress parameters:parameters needCache:NO success:^(id responseObject) { + if (successBlock) { + successBlock(responseObject[@"data"]); + } + } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { + failBlock(error,msg); + }]; +} @end diff --git a/QXLive/Mine(音域)/View/个性装扮/QXDressShopBuyView.h b/QXLive/Mine(音域)/View/个性装扮/QXDressShopBuyView.h new file mode 100644 index 0000000..e941fc7 --- /dev/null +++ b/QXLive/Mine(音域)/View/个性装扮/QXDressShopBuyView.h @@ -0,0 +1,25 @@ +// +// QXDressShopBuyView.h +// QXLive +// +// Created by 启星 on 2026/1/3. +// + +#import +#import "QXUserDressModel.h" +NS_ASSUME_NONNULL_BEGIN +@protocol QXDressShopBuyViewDelegate + +@optional +-(void)didClickRecharge; + +@end +@interface QXDressShopBuyView : UIView +@property (nonatomic,strong)NSString *typeId; +@property (nonatomic,strong)QXShopDressModel *model; +@property (nonatomic,weak)iddelegate; +-(void)showInView:(UIView *)view; +-(void)hide; +@end + +NS_ASSUME_NONNULL_END diff --git a/QXLive/Mine(音域)/View/个性装扮/QXDressShopBuyView.m b/QXLive/Mine(音域)/View/个性装扮/QXDressShopBuyView.m new file mode 100644 index 0000000..bcb0a6f --- /dev/null +++ b/QXLive/Mine(音域)/View/个性装扮/QXDressShopBuyView.m @@ -0,0 +1,329 @@ +// +// QXDressShopBuyView.m +// QXLive +// +// Created by 启星 on 2026/1/3. +// + +#import "QXDressShopBuyView.h" +#import "QXSettingCell.h" +#import "QXMineNetwork.h" +#import "QXSelectAuctionInfoView.h" +#import "QXGiftPlayerManager.h" + +@interface QXDressShopBuyView() +@property (nonatomic,strong)UIView *bgView; +@property (nonatomic,strong)UITableView *tableView; +@property (nonatomic,strong)QXSeatHeaderView *headerView; +@property (nonatomic,strong)UIImageView *dressImageView; +@property (nonatomic,strong)NSArray *titleArray; +@property (nonatomic,strong)NSDictionary *cellValueDict; +@property (nonatomic,strong)NSDictionary *cellTypeDict; +@property (nonatomic,strong)UICollectionView *collectionView; + +@property (nonatomic,strong)QXShopDressDetailModel *infoModel; +@property (nonatomic,strong)QXShopDressPriceModel* selectedPriceModel; + +@property (nonatomic,strong)QXEffectContentView *fullEffectView; + + +@property (nonatomic,strong)UIButton* coinBtn; +@property (nonatomic,strong)UIButton* rechargeBtn; +@property (nonatomic,strong)UIButton* payBtn; + +@property (nonatomic,strong)NSString* num; +@end + +@implementation QXDressShopBuyView + +- (instancetype)init +{ + self = [super init]; + if (self) { + self.frame = [UIScreen mainScreen].bounds; + [self initSubviews]; + } + return self; +} + +-(void)initSubviews{ + self.num = @"1"; + UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hide)]; + tap.delegate = self; + [self addGestureRecognizer:tap]; + self.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.3]; + + self.bgView = [[UIView alloc] initWithFrame:CGRectMake(0, ScaleWidth(144), SCREEN_WIDTH, kSafeAreaBottom+ScaleWidth(429))]; + self.bgView.backgroundColor = UIColor.whiteColor; + [self.bgView addRoundedCornersWithRadius:16 byRoundingCorners:(UIRectCornerTopLeft|UIRectCornerTopRight)]; + [self addSubview:self.bgView]; + + self.headerView = [[QXSeatHeaderView alloc] initWithFrame:CGRectMake((self.width-80)/2, 10, 80, 80)]; + self.headerView.hidden = YES; + [self.bgView addSubview:self.headerView]; + + self.dressImageView = [[UIImageView alloc] initWithFrame:CGRectMake((self.width-80)/2, 10, 80, 80)]; + self.dressImageView.contentMode = UIViewContentModeScaleAspectFit; + self.dressImageView.hidden = YES; + [self.bgView addSubview:self.dressImageView]; + + + self.cellValueDict = [NSMutableDictionary dictionaryWithDictionary:@{ + @"商品名称":@"", + @"商品价格":@"", + @"有效期至":@"", + @"购买时长":@"", + @"购买次数":self.num, + @"商品总价":@"", + @"商品单价":@"" + }]; + + self.cellTypeDict = [NSMutableDictionary dictionaryWithDictionary:@{ + @"商品名称":[NSNumber numberWithInteger:QXSettingCellTypeOnlyDetail], + @"商品价格":[NSNumber numberWithInteger:QXSettingCellTypeNormal], + @"有效期至":[NSNumber numberWithInteger:QXSettingCellTypeOnlyDetail], + @"购买时长":[NSNumber numberWithInteger:QXSettingCellTypeOnlyDetail], + @"购买次数":[NSNumber numberWithInteger:QXSettingCellTypeBuyCount], + @"商品总价":[NSNumber numberWithInteger:QXSettingCellTypeNormal], + @"商品单价":[NSNumber numberWithInteger:QXSettingCellTypeNormal], + }]; + [self.bgView addSubview:self.tableView]; + + UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; + layout.minimumLineSpacing = 12; + layout.minimumInteritemSpacing = 12; + layout.sectionInset = UIEdgeInsetsMake(0, 15, 0, 15); + NSInteger itemWidth = (SCREEN_WIDTH-15*2-12*3)/4; + layout.itemSize = CGSizeMake(itemWidth, 44); + layout.scrollDirection = UICollectionViewScrollDirectionVertical; + self.collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, self.tableView.bottom+5, self.bgView.width, 60) collectionViewLayout:layout]; + [self.collectionView registerClass:[QXSelectAuctionInfoCell class] forCellWithReuseIdentifier:@"QXSelectAuctionInfoCell"]; + self.collectionView.delegate = self; + self.collectionView.dataSource = self; + self.collectionView.showsHorizontalScrollIndicator = NO; + self.collectionView.showsVerticalScrollIndicator = NO; + self.collectionView.bounces = NO; + self.collectionView.backgroundColor = [UIColor clearColor]; + [self.bgView addSubview:self.collectionView]; + + self.coinBtn = [[UIButton alloc] initWithFrame:CGRectMake(16, self.collectionView.bottom+15, (self.width-32)/2-6, 25)]; + self.coinBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight; + [self.coinBtn setTitleColor:RGB16(0x333333) forState:(UIControlStateNormal)]; + self.coinBtn.titleLabel.font = [UIFont systemFontOfSize:13]; + [self.coinBtn setImage:[UIImage imageNamed:@"mine_recharge_corn"] forState:(UIControlStateNormal)]; + [self.bgView addSubview:self.coinBtn]; + + self.rechargeBtn = [[UIButton alloc] initWithFrame:CGRectMake((self.width)/2+3, self.collectionView.bottom+15, (self.width-32)/2-6, 25)]; + self.rechargeBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; + [self.rechargeBtn setTitleColor:QXConfig.themeColor forState:(UIControlStateNormal)]; + self.rechargeBtn.titleLabel.font = [UIFont systemFontOfSize:13]; + [self.rechargeBtn addTarget:self action:@selector(rechargeAction) forControlEvents:(UIControlEventTouchUpInside)]; + [self.rechargeBtn setTitle:@"去充值" forState:(UIControlStateNormal)]; + [self.bgView addSubview:self.rechargeBtn]; + + self.payBtn = [[UIButton alloc] initWithFrame:CGRectMake((self.width-280)/2, self.coinBtn.bottom+10, 280, 40)]; + self.payBtn.backgroundColor = QXConfig.themeColor; + [self.payBtn addRoundedCornersWithRadius:20]; + [self.payBtn setTitleColor:RGB16(0xffffff) forState:(UIControlStateNormal)]; + self.payBtn.titleLabel.font = [UIFont systemFontOfSize:14]; + [self.payBtn addTarget:self action:@selector(payAction) forControlEvents:(UIControlEventTouchUpInside)]; + [self.payBtn setTitle:@"确认支付" forState:(UIControlStateNormal)]; + [self.bgView addSubview:self.payBtn]; + + [self addSubview:self.fullEffectView]; +} +-(void)rechargeAction{ + if (self.delegate && [self.delegate respondsToSelector:@selector(didClickRecharge)]) { + [self.delegate didClickRecharge]; + } + [self hide]; +} + +-(void)payAction{ + MJWeakSelf + [QXMineNetwork shopDressBuyWithDid:self.model.did day:self.selectedPriceModel.day num:self.num successBlock:^(NSDictionary * _Nonnull dict) { + showToast(@"购买成功"); + [weakSelf hide]; + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + showToast(msg); + }]; +} + +-(void)setModel:(QXShopDressModel *)model{ + _model = model; + [self.cellValueDict setValue:model.title forKey:@"商品名称"]; + if ([self.typeId isEqualToString:@"2"]) { + /// 预览座驾 + self.fullEffectView.hidden = NO; + [self.fullEffectView previewEffectWith:self.model.play_image]; + } + if ([self.typeId isEqualToString:@"12"]) { + self.titleArray = @[@"商品名称",@"商品单价",@"购买次数",@"商品总价"]; + }else{ + self.titleArray = @[@"商品名称",@"商品价格",@"有效期至",@"购买时长"]; + } + [self getDressInfo]; +} +-(void)setTypeId:(NSString *)typeId{ + _typeId = typeId; + +} +-(void)getDressInfo{ + MJWeakSelf + [QXMineNetwork shopDressDetailWithDid:self.model.did successBlock:^(QXShopDressDetailModel * _Nonnull model) { + weakSelf.infoModel = model; + if ([weakSelf.typeId isEqualToString:@"1"]) { + weakSelf.headerView.hidden = NO; + [weakSelf.headerView setHeadIcon:QXGlobal.shareGlobal.loginModel.avatar dress:weakSelf.model.play_image]; + }else{ + weakSelf.dressImageView.hidden = NO; + [weakSelf.dressImageView sd_setImageWithURL:[NSURL URLWithString:weakSelf.model.base_image]]; + } + QXShopDressPriceModel *price = model.decorate.price_list.firstObject; + if (price) { + weakSelf.selectedPriceModel = price; + weakSelf.selectedPriceModel.isSelected = YES; + [weakSelf.cellValueDict setValue:price.price forKey:@"商品价格"]; + [weakSelf.cellValueDict setValue:price.end_time forKey:@"有效期至"]; + }else{ + [weakSelf.cellValueDict setValue:model.decorate.price forKey:@"商品单价"]; + [weakSelf.cellValueDict setValue:model.decorate.price forKey:@"商品总价"]; + } + [weakSelf.coinBtn setTitle:model.user_info.user_coin forState:(UIControlStateNormal)]; + [weakSelf.tableView reloadData]; + [weakSelf.collectionView reloadData]; + } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { + showToast(msg); + }]; +} +-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ + return touch.view == self; +} + +-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ + return self.titleArray.count; +} +-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ + QXSettingCell *cell = [QXSettingCell cellWithTableView:tableView]; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + cell.needLine = NO; + cell.delegate = self; + NSString *title = self.titleArray[indexPath.row]; + cell.titleLabel.text = title; + NSNumber *type = self.cellTypeDict[title];; + cell.cellType = type.integerValue; + NSString *value = self.cellValueDict[title];; + if (type.integerValue == QXSettingCellTypeBuyCount) { + cell.textField.text = value; + }else{ + cell.detailLabel.text = value; + } + if ([title isEqualToString:@"商品价格"] || [title isEqualToString:@"商品单价"] || [title isEqualToString:@"商品总价"]) { + cell.rightArrow.image = [UIImage imageNamed:@"mine_recharge_corn"]; + }else{ + cell.rightArrow.image = [UIImage imageNamed:@"arrowRight"]; + } + return cell; +} +//-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ +// QXUserHomePageViewController *vc = [[QXUserHomePageViewController alloc] init]; +// QXUserHomeModel *model = self.dataArray[indexPath.row]; +// vc.user_id = model.user_id; +// [self.navigationController pushViewController:vc animated:YES]; +//} + + +-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ + return self.infoModel.decorate.price_list.count; +} + +-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ + QXSelectAuctionInfoCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXSelectAuctionInfoCell" forIndexPath:indexPath]; + cell.priceModel = self.infoModel.decorate.price_list[indexPath.row]; + return cell; +} +-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{ + int width = (SCREEN_WIDTH-15*2-15*3-1)/4; + return CGSizeMake((int)width, 60); +} +-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{ + QXShopDressPriceModel *model = self.infoModel.decorate.price_list[indexPath.row]; + if (model.isSelected) { + return; + } + self.selectedPriceModel.isSelected = NO; + model.isSelected = YES; + self.selectedPriceModel = model; + [self.cellValueDict setValue:model.price forKey:@"商品价格"]; + [self.cellValueDict setValue:model.end_time forKey:@"有效期至"]; + [collectionView reloadData]; + [self.tableView reloadData]; +} + +-(void)reductionDidClickWithTotalNum:(NSString *)totalNum{ + self.num = totalNum; + [self.cellValueDict setValue:[NSString stringWithFormat:@"%ld",self.infoModel.decorate.price.integerValue*totalNum.integerValue] forKey:@"商品总价"]; + [self.cellValueDict setValue:totalNum forKey:@"购买次数"]; + [self.tableView reloadData]; +} +-(void)addDidClickWithTotalNum:(NSString *)totalNum{ + self.num = totalNum; + [self.cellValueDict setValue:[NSString stringWithFormat:@"%ld",self.infoModel.decorate.price.integerValue*totalNum.integerValue] forKey:@"商品总价"]; + [self.cellValueDict setValue:totalNum forKey:@"购买次数"]; + [self.tableView reloadData]; +} + +-(UITableView *)tableView{ + if (!_tableView) { + _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 100, SCREEN_WIDTH, 44*4) style:(UITableViewStylePlain)]; + _tableView.dataSource = self; + _tableView.delegate = self; + _tableView.backgroundColor = [UIColor clearColor]; + _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; + _tableView.rowHeight = 44; + _tableView.scrollEnabled = NO; + +// MJWeakSelf +// _tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ +// weakSelf.page = 1; +// if (self.isSearch) { +// [self getMemberListWithSearch:self.textField.text]; +// }else{ +// [self getMemberListWithSearch:@""]; +// } +// }]; +// _tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ +// weakSelf.page++; +// if (self.isSearch) { +// [self getMemberListWithSearch:self.textField.text]; +// }else{ +// [self getMemberListWithSearch:@""]; +// } +// }]; + } + return _tableView; +} +- (QXEffectContentView *)fullEffectView { + if (!_fullEffectView) { + _fullEffectView = [[QXEffectContentView alloc] initWithFrame:[UIScreen mainScreen].bounds]; + _fullEffectView.queue = dispatch_queue_create("qx_room_full_preview_dress.com", NULL); + _fullEffectView.hidden = YES; + } + return _fullEffectView; +} + +-(void)showInView:(UIView *)view{ + self.bgView.y = SCREEN_HEIGHT; + [view addSubview:self]; + [UIView animateWithDuration:0.3 animations:^{ + self.bgView.y = SCREEN_HEIGHT- ScaleWidth(429)-kSafeAreaBottom; + }]; +} +-(void)hide{ + [UIView animateWithDuration:0.3 animations:^{ + self.bgView.y = SCREEN_HEIGHT; + } completion:^(BOOL finished) { + [self removeFromSuperview]; + }]; +} +@end diff --git a/QXLive/Mine(音域)/View/个性装扮/QXDressShopCell.h b/QXLive/Mine(音域)/View/个性装扮/QXDressShopCell.h new file mode 100644 index 0000000..8651f01 --- /dev/null +++ b/QXLive/Mine(音域)/View/个性装扮/QXDressShopCell.h @@ -0,0 +1,21 @@ +// +// QXDressShopCell.h +// QXLive +// +// Created by 启星 on 2026/1/3. +// + +#import +#import "QXUserDressModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface QXDressShopCell : UICollectionViewCell +@property (weak, nonatomic) IBOutlet UIView *discountView; +@property (weak, nonatomic) IBOutlet UILabel *discountLabel; +@property (weak, nonatomic) IBOutlet UIButton *coinBtn; +@property (weak, nonatomic) IBOutlet UIImageView *dressImageView; +@property (weak, nonatomic) IBOutlet UILabel *nameLabel; +@property (nonatomic,strong)QXShopDressModel *model; +@end + +NS_ASSUME_NONNULL_END diff --git a/QXLive/Mine(音域)/View/个性装扮/QXDressShopCell.m b/QXLive/Mine(音域)/View/个性装扮/QXDressShopCell.m new file mode 100644 index 0000000..8df775e --- /dev/null +++ b/QXLive/Mine(音域)/View/个性装扮/QXDressShopCell.m @@ -0,0 +1,34 @@ +// +// QXDressShopCell.m +// QXLive +// +// Created by 启星 on 2026/1/3. +// + +#import "QXDressShopCell.h" +#import "NSString+QX.h" +@implementation QXDressShopCell +-(void)setModel:(QXShopDressModel *)model{ + _model = model; + [self.dressImageView sd_setImageWithURL:[NSURL URLWithString:model.base_image]]; + if (model.discount.intValue == 0) { + self.discountView.hidden = YES; + NSString *coin = [NSString stringWithFormat:@"%@",model.price]; + NSAttributedString *str = [[NSAttributedString alloc] initWithString:coin]; + [self.coinBtn setAttributedTitle:str forState:(UIControlStateNormal)]; + }else{ + self.discountView.hidden = NO; + self.discountLabel.text = model.discount_str; + NSString *coin = [NSString stringWithFormat:@"%@ %@",model.price,model.original_price]; + NSAttributedString *str = [coin deleteLineWithTextColor:RGB16(0xAAAAAA) lineColor:RGB16(0xAAAAAA) range:[coin rangeOfString:model.original_price]]; + [self.coinBtn setAttributedTitle:str forState:(UIControlStateNormal)]; + } + self.nameLabel.text = model.title; + +} +- (void)awakeFromNib { + [super awakeFromNib]; + // Initialization code +} + +@end diff --git a/QXLive/Mine(音域)/View/个性装扮/QXDressShopCell.xib b/QXLive/Mine(音域)/View/个性装扮/QXDressShopCell.xib new file mode 100644 index 0000000..296eebe --- /dev/null +++ b/QXLive/Mine(音域)/View/个性装扮/QXDressShopCell.xib @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/QXLive/Mine(音域)/View/每日任务/QXDayTaskRuleView.m b/QXLive/Mine(音域)/View/每日任务/QXDayTaskRuleView.m index 654c97b..6062759 100644 --- a/QXLive/Mine(音域)/View/每日任务/QXDayTaskRuleView.m +++ b/QXLive/Mine(音域)/View/每日任务/QXDayTaskRuleView.m @@ -38,10 +38,7 @@ static void *WKWebBrowserContext = &WKWebBrowserContext; [self removeFromSuperview]; } - (void)loadData { - NSString *server = H5ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RH5ServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentH5Server; NSString *urlStr = [NSString stringWithFormat:@"%@web/index.html#/pages/other/taskDesc",server]; NSURL* url=[NSURL URLWithString:urlStr]; NSURLRequest *request =[NSURLRequest requestWithURL:url]; diff --git a/QXLive/Mine(音域)/View/设置/QXBlackListCell.h b/QXLive/Mine(音域)/View/设置/QXBlackListCell.h index 7bcde8f..e84db26 100644 --- a/QXLive/Mine(音域)/View/设置/QXBlackListCell.h +++ b/QXLive/Mine(音域)/View/设置/QXBlackListCell.h @@ -27,6 +27,8 @@ typedef NS_ENUM(NSInteger) { QXBlackListCellTypeRank, /// 访客 QXBlackListCellTypeVisit, + /// 群聊成员 + QXBlackListCellTypeGroupMember, }QXBlackListCellType; NS_ASSUME_NONNULL_BEGIN @protocol QXBlackListCellDelegate @@ -40,6 +42,8 @@ NS_ASSUME_NONNULL_BEGIN -(void)didHugSeatWithModel:(QXRoomUserInfoModel*)model isUpSeat:(BOOL)isUpSeat; +-(void)didClickGroupMemberMoreBtnWithGroupMemberModel:(QXUserHomeModel*)groupMemberModel; + @end @interface QXBlackListCell : UITableViewCell @property (weak, nonatomic) IBOutlet UIImageView *headerImageView; @@ -62,6 +66,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,strong)QXRoomUserInfoModel *onlineUser; @property (nonatomic,strong)QXRoomOnlineList *rankModel; + +@property (nonatomic,strong)QXUserHomeModel *groupMemberModel; +(instancetype)cellWithTableView:(UITableView *)tableView; @end diff --git a/QXLive/Mine(音域)/View/设置/QXBlackListCell.m b/QXLive/Mine(音域)/View/设置/QXBlackListCell.m index ab2a9fe..c61a44b 100644 --- a/QXLive/Mine(音域)/View/设置/QXBlackListCell.m +++ b/QXLive/Mine(音域)/View/设置/QXBlackListCell.m @@ -46,6 +46,12 @@ } } break; + case QXBlackListCellTypeGroupMember:{ + if (self.delegate && [self.delegate respondsToSelector:@selector(didClickGroupMemberMoreBtnWithGroupMemberModel:)]) { + [self.delegate didClickGroupMemberMoreBtnWithGroupMemberModel:self.groupMemberModel]; + } + } + break; default: break; @@ -270,10 +276,32 @@ self.removeBtn.hidden = YES; } break; + + case QXBlackListCellTypeGroupMember:{ + self.removeBtn.hidden = NO; + } + break; default: break; } } + +-(void)setGroupMemberModel:(QXUserHomeModel *)groupMemberModel{ + _groupMemberModel = groupMemberModel; + [self.headerImageView sd_setImageWithURL:[NSURL URLWithString:groupMemberModel.avatar]]; + self.nameLabel.text = groupMemberModel.nickname; + if (groupMemberModel.sex.intValue == 1) { + self.sexImageView.image = [UIImage imageNamed:@"user_sex_boy"]; + self.sexImageView.hidden = NO; + }else if(groupMemberModel.sex.intValue == 2){ + self.sexImageView.image = [UIImage imageNamed:@"user_sex_girl"]; + self.sexImageView.hidden = NO; + }else{ + self.sexImageView.hidden = YES; + } + BOOL isMute = groupMemberModel.is_mute.intValue == 1; + [self.removeBtn setTitle:isMute?@"解禁":@"禁言" forState:(UIControlStateNormal)]; +} -(void)setIsNoIcon:(BOOL)isNoIcon{ _isNoIcon = isNoIcon; } diff --git a/QXLive/Mine(音域)/View/设置/QXBlackListCell.xib b/QXLive/Mine(音域)/View/设置/QXBlackListCell.xib index dfbf8da..48397a7 100644 --- a/QXLive/Mine(音域)/View/设置/QXBlackListCell.xib +++ b/QXLive/Mine(音域)/View/设置/QXBlackListCell.xib @@ -10,7 +10,7 @@ - + diff --git a/QXLive/Mine(音域)/View/设置/QXSettingCell.h b/QXLive/Mine(音域)/View/设置/QXSettingCell.h index db8ce38..c6c1712 100644 --- a/QXLive/Mine(音域)/View/设置/QXSettingCell.h +++ b/QXLive/Mine(音域)/View/设置/QXSettingCell.h @@ -18,10 +18,20 @@ typedef NS_ENUM(NSInteger) { /// 标题在上 详情在下 带箭头 QXSettingCellTypeTitleTopAndArrow, /// 标题在上 详情在下 不带箭头 - QXSettingCellTypeTitleTopNoArrow + QXSettingCellTypeTitleTopNoArrow, + /// 购买数量 + QXSettingCellTypeBuyCount }QXSettingCellType; NS_ASSUME_NONNULL_BEGIN +@protocol QXSettingCellDelegate +@optional + +-(void)reductionDidClickWithTotalNum:(NSString*)totalNum; + +-(void)addDidClickWithTotalNum:(NSString*)totalNum; + +@end @interface QXSettingCell : UITableViewCell @property (strong, nonatomic) UILabel *titleLabel; @property (strong, nonatomic) UILabel *detailLabel; @@ -31,6 +41,14 @@ NS_ASSUME_NONNULL_BEGIN @property (strong, nonatomic) UIView *lineView; @property (assign, nonatomic) QXSettingCellType cellType; @property (assign, nonatomic) BOOL needLine; + +@property (strong, nonatomic) UIView *buyCountView; +@property (strong, nonatomic) UIButton *reductionBtn; +@property (strong, nonatomic) UITextField *textField; +@property (strong, nonatomic) UIButton *addBtn; + +@property (weak, nonatomic) id delegate; + +(instancetype)cellWithTableView:(UITableView *)tableView; @end diff --git a/QXLive/Mine(音域)/View/设置/QXSettingCell.m b/QXLive/Mine(音域)/View/设置/QXSettingCell.m index f07094a..f54e26a 100644 --- a/QXLive/Mine(音域)/View/设置/QXSettingCell.m +++ b/QXLive/Mine(音域)/View/设置/QXSettingCell.m @@ -27,6 +27,7 @@ _cellType = cellType; switch (cellType) { case QXSettingCellTypeNormal:{ + self.buyCountView.hidden = YES; self.detailLabel.hidden = NO; self.rightArrow.hidden = NO; self.btnSwitch.hidden = YES; @@ -49,6 +50,7 @@ } break; case QXSettingCellTypeOnlyArrow:{ + self.buyCountView.hidden = YES; self.detailLabel.hidden = YES; self.rightArrow.hidden = NO; self.rightConstraint.constant = 16; @@ -66,6 +68,7 @@ } break; case QXSettingCellTypeOnlyDetail:{ + self.buyCountView.hidden = YES; self.detailLabel.hidden = NO; self.rightArrow.hidden = YES; self.btnSwitch.hidden = YES; @@ -83,6 +86,7 @@ } break; case QXSettingCellTypeSwitch:{ + self.buyCountView.hidden = YES; self.detailLabel.hidden = YES; self.rightArrow.hidden = YES; self.btnSwitch.hidden = NO; @@ -99,6 +103,7 @@ } break; case QXSettingCellTypeTitleTopAndArrow:{ + self.buyCountView.hidden = YES; self.detailLabel.hidden = NO; self.rightArrow.hidden = NO; self.btnSwitch.hidden = YES; @@ -118,6 +123,7 @@ } break; case QXSettingCellTypeTitleTopNoArrow:{ + self.buyCountView.hidden = YES; self.detailLabel.hidden = NO; self.rightArrow.hidden = YES; self.btnSwitch.hidden = YES; @@ -136,6 +142,19 @@ }]; } break; + case QXSettingCellTypeBuyCount:{ + self.detailLabel.hidden = YES; + self.rightArrow.hidden = YES; + self.btnSwitch.hidden = YES; + self.buyCountView.hidden = NO; + [self.titleLabel mas_remakeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(16); + make.top.mas_equalTo(9); + make.height.mas_equalTo(21); + make.right.equalTo(self.contentView).offset(-10); + }]; + } + break; default: break; } @@ -193,6 +212,56 @@ make.height.mas_equalTo(0.5); make.bottom.equalTo(self.contentView); }]; + + self.buyCountView = [[UIView alloc] init]; + self.buyCountView.hidden = YES; + [self.contentView addSubview:self.buyCountView]; + [self.buyCountView mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.mas_equalTo(-16); + make.height.mas_equalTo(30); + make.centerY.equalTo(self.contentView); + make.width.mas_equalTo(110); + }]; + + self.reductionBtn = [[UIButton alloc] init]; + [self.reductionBtn setTitle:@"-" forState:(UIControlStateNormal)]; + self.reductionBtn.titleLabel.font = [UIFont boldSystemFontOfSize:18]; + [self.reductionBtn setTitleColor:RGB16(0x333333) forState:(UIControlStateNormal)]; + self.reductionBtn.backgroundColor = RGB(236, 240, 246); + [self.reductionBtn addTarget:self action:@selector(reductionAction) forControlEvents:(UIControlEventTouchUpInside)]; + [self.buyCountView addSubview:self.reductionBtn]; + [self.reductionBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.top.bottom.equalTo(self.buyCountView); + make.width.mas_equalTo(30); + }]; + + self.addBtn = [[UIButton alloc] init]; + [self.addBtn setTitle:@"+" forState:(UIControlStateNormal)]; + self.addBtn.titleLabel.font = [UIFont boldSystemFontOfSize:18]; + self.addBtn.backgroundColor = RGB(236, 240, 246); + [self.addBtn setTitleColor:RGB16(0x333333) forState:(UIControlStateNormal)]; + [self.addBtn addTarget:self action:@selector(addAction) forControlEvents:(UIControlEventTouchUpInside)]; + [self.buyCountView addSubview:self.addBtn]; + [self.addBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.top.bottom.equalTo(self.buyCountView); + make.width.mas_equalTo(30); + }]; + + self.textField = [[UITextField alloc] init]; + self.textField.font = [UIFont systemFontOfSize:14]; + self.textField.textColor = RGB16(0x333333); + self.textField.textAlignment = NSTextAlignmentCenter; + self.textField.backgroundColor = RGB(236, 240, 246); + self.textField.userInteractionEnabled = NO; + self.textField.text = @"1"; + [self.buyCountView addSubview:self.textField]; + [self.textField mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(self.reductionBtn.mas_right).offset(3); + make.right.equalTo(self.addBtn.mas_left).offset(-3); + make.top.bottom.equalTo(self.buyCountView); + }]; + + } -(void)setNeedLine:(BOOL)needLine{ _needLine = needLine; @@ -201,6 +270,26 @@ //- (void)btnSwitchAction:(UIButton *)sender { //// sender.selected = !sender.selected; //} + +-(void)addAction{ + NSInteger number = self.textField.text.integerValue; + self.textField.text = [NSString stringWithFormat:@"%ld",number+=1]; + if (self.delegate && [self.delegate respondsToSelector:@selector(addDidClickWithTotalNum:)]) { + [self.delegate addDidClickWithTotalNum:self.textField.text]; + } +} + +-(void)reductionAction{ + NSInteger number = self.textField.text.integerValue; + if (number <= 1) { + showToast(@"商品数量不能少于1个"); + return; + } + self.textField.text = [NSString stringWithFormat:@"%ld",number-=1]; + if (self.delegate && [self.delegate respondsToSelector:@selector(reductionDidClickWithTotalNum:)]) { + [self.delegate reductionDidClickWithTotalNum:self.textField.text]; + } +} - (void)awakeFromNib { [super awakeFromNib]; // Initialization code diff --git a/QXLive/Mine(音域)/View/钱包/QXWalletRuleView.m b/QXLive/Mine(音域)/View/钱包/QXWalletRuleView.m index 07acece..41b27fc 100644 --- a/QXLive/Mine(音域)/View/钱包/QXWalletRuleView.m +++ b/QXLive/Mine(音域)/View/钱包/QXWalletRuleView.m @@ -83,10 +83,7 @@ [self hide]; } - (void)loadData { - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSString *urlStr = [NSString stringWithFormat:@"%@api/Page/page_show?id=28",server]; NSURL* url=[NSURL URLWithString:urlStr]; NSURLRequest *request =[NSURLRequest requestWithURL:url]; diff --git a/QXLive/Network/QXRequest.m b/QXLive/Network/QXRequest.m index f374785..f7ded1b 100644 --- a/QXLive/Network/QXRequest.m +++ b/QXLive/Network/QXRequest.m @@ -209,10 +209,7 @@ static NSInteger HTTP_ERROR_CODE = 0; return nil; } if (!([urlString hasPrefix:@"http"] || [urlString hasPrefix:@"https"])) { - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; urlString = [NSString stringWithFormat:@"%@%@",server,urlString]; } NSLog(@"发起请求 --- URL : %@",urlString); diff --git a/QXLive/Other/Assets.xcassets/room/room_sound_sel.imageset/Contents.json b/QXLive/Other/Assets.xcassets/room/room_sound_sel.imageset/Contents.json index 581b2fc..76ad6b5 100644 --- a/QXLive/Other/Assets.xcassets/room/room_sound_sel.imageset/Contents.json +++ b/QXLive/Other/Assets.xcassets/room/room_sound_sel.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "Frame 1321316289@2x.png", + "filename" : "room_sound_sel@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "Frame 1321316289@3x.png", + "filename" : "room_sound_sel@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/QXLive/Other/Assets.xcassets/room/room_sound_sel.imageset/Frame 1321316289@2x.png b/QXLive/Other/Assets.xcassets/room/room_sound_sel.imageset/Frame 1321316289@2x.png deleted file mode 100644 index a6787fdd5f5ed0dd0f5676dd7405ecae575b5541..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40154 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

Til&H@%R&J7~h#`)gVf9DQ%`c5k{^*IL}vSuBU7 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 e21!IgR09Biw(}N`s9q@m0000%Q*i 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�yQ4Tzu~z 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

q}-Y5^{ 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 IM6N<$g8k3uU;qFB literal 0 HcmV?d00001 diff --git a/QXLive/Other/Assets.xcassets/room/room_sound_sel.imageset/room_sound_sel@3x.png b/QXLive/Other/Assets.xcassets/room/room_sound_sel.imageset/room_sound_sel@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..2564bb33e72e5e54eebdeefaf31b518f5258305f GIT binary patch literal 135199 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 z�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

PA4DOM1&1E6Yz)5cM=1*O7%?y__1RFoC$$ zw05m&OO!0nGz-#`Dq=pL5?xIbRPVov8YBA3jh9q3jG8+a_e1KBEYg)hPYr?)*n!mh zyoZ6k8QxlCqmjBEOJtHaOwGhLLTGieGx9)6SS8s_?(ya`kRuaKYuruaEf!`-zhGTA^$ME z74D+^l0i~&uC`Z|oTEwi`xR`|8=Ko|&hT&cZ}hz@`e>NiwDt4E!!$xXIh`|@P!_}# zy(WG1pT@OM7b`9%#Fhb{ReiVNau(Nxzgn5%siAOuH}G-dgp-hIqDB1C8ox#7FWV#r zXV0^c`}eUVjvM(oXMy+j{pne8$E`Q1tc^fQvppXj6Ea$ODQqNP=UI&UM93_ZZ1$qv zyD3}+&cJoVlA9a9@_|M{=aDU4{q@=Sv-+IfsQYP@dD$i*%lZ2Wj{QyVEHpE!%U}wg z*pJyY;@YpfbSaV#Y36-wbfQT512B!HgSCP4b%wbz(S9kbGr%;ahZV%^vANps{jU>~ zY?%^p7`>$Fuo@K!3#^GC%%JbC?E0lI(@gH%VJ=)ycCW6J8BjVoz0O05F8Nh5X!1pP&8tjCtD%KV5}4i zvT&K4X~0a%KK1|j4P2mZZF7d8s!VatwETXkH5#}%e7}8-*rnMaNGCIF?j2#C8I4Vt zmsAEVzX&~m;2ZdzdZEsZ{x&ywy&wTnp^WJsmsI`SJd)U06SDMN_hG}}YJ2h5tD}gX%&{`9ZT(rudM*&=<(Xf3 zsls&7*bSWBL@D-=?UBQxG(8#&Uv(9nKh@ZXq^NSC=1y!94MT*?lJa=sp7*eQ=J>Qq zbw`{~WM2h6E|x!`6_NS-hBF1?oNZxGHKKMjXwo)yF6E=eRO~$LQCJDb7zpSIJT%Uo9JeSTdXTQi0QERZ_(p|mos+Z4mT^5nV@V`a z5IL2pW@!%r)7&H&zq{x7tIC;hO&1(d1ckx`e%V2qh zhOQF7^5IL=;Uir5*1+NPr)cslZz=Ka?BlUe2~YYG9HpkOyuEDeEOs-SLZ}SmFAj_; z>kLx1M8Uj(;R}s@@Tn=`2{ocqKrjidY!^~GwjdjEWsWRm95ES7E zQc!B30GWh)AFF98l@0^rCF(1vNCN77=*kOO8DyA#LECNiU%mZSd4Akd>`Id^M2zFx z1z~w`=r71m`v1zv0lwb7sqxnc7A~ijwlg%5;|yTums(9Mr8QG3S!ck$NsD|Oz*XW zPbXzx=z^8yk{mBB1f^9C&+RczmKtPs_4|OEv-q>z`1|oicXO!POYgSukfLiqcYzcA0h@owV{@->od zZ-~_$dkNL)ps8lB6+?hcHX)-}ivXB2-@(cuP~A(YZoG}laiI>EmQSRPL-Mb*s>Dd8 z&O?#(Df6XQLuqi97*eFA3GH*PE7;n!??v-4O4Dp>(c!Xe>WaoH-0_*}R6TZX=_B`{ z^zX^7#l-huKr?1_h~4F0NvO-QkT=TU(tlVvjPtDC0iEv+`D2TYTHTMAO4vDuoxYE) z5mj08%By@cYxPw^iElPP`8s|@zbW`);IfM? zjS!{2mE58yJUwMI3ITnSKG`}0N!Bz7zk+y4M)h#00 zlVfwk)M_zt+6Y%mQtxlsE_=(3_Tgk&B|s; zMXPv0YtENbp<5TDvka}NSKh!okhnYn2+34uRGD*s{%GI0?fNmRo!j&k~e$ zg4P4rf?TyOX@C=iA7Ua~Gx_*QH(h=UYK94+sW0$vyQ;n7Kkh1Dqh

TE#D9M>A{p7F_u?Aok5Enq1uiRVILT_ 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 ph5T)Y%6b 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 literal 0 HcmV?d00001 diff --git a/QXLive/Other/QXApi.h b/QXLive/Other/QXApi.h index b5f24ec..ea669de 100644 --- a/QXLive/Other/QXApi.h +++ b/QXLive/Other/QXApi.h @@ -27,8 +27,8 @@ static NSString* RH5ServerUrl = @"https://test.vespa.qxyushen.top/h5/"; //static NSString* H5ServerUrl = @"https://vespa.qxyushen.top/h5/"; static NSString* ServerUrl = @"https://yushengapi.qxyushen.top/"; static NSString* H5ServerUrl = @"https://yushengapi.qxyushen.top/h5/"; -static NSString* RServerUrl = @"https://qixinghuishen.qxhs.xyz/"; -static NSString* RH5ServerUrl = @"https://qixinghuishen.qxhs.xyz/h5/"; +static NSString* RServerUrl = @"https://details.qxhs.xyz/"; +static NSString* RH5ServerUrl = @"https://details.qxhs.xyz/h5/"; #endif #pragma mark - 引导页 /// 引导页 @@ -578,4 +578,19 @@ static NSString * QXActivityStatus = @"api/BlindBoxTurntable/blind_box_status"; static NSString * QXBeforeJoinRoom = @"api/Room/before_join_room_check"; /// APP配置 static NSString * QXRedpacketConfig = @"api/Redpacket/appConfig"; + + +/// 群聊相关 +/// 群聊设置详情 +static NSString * QXGroupSettingInfo = @"api/Guild/get_guild_info"; +/// 群聊成员 +static NSString * QXGroupMemberList = @"api/Guild/member_list"; +/// 设置群聊信息 +static NSString * QXSetGroupInfo = @"api/Guild/set_guild_info"; +/// 道具商城列表 +static NSString * QXShopDressList = @"api/Decorate/get_decorate_list"; +/// 道具商城商品详情 +static NSString * QXShopDressDetail = @"api/Decorate/get_decorate_detail"; +/// 购买装扮 +static NSString * QXShopBuyDress = @"api/Decorate/pay_decorate"; #endif /* Api_h */ diff --git a/QXLive/Room(房间)/Controller/QXRoomViewController+Friend.m b/QXLive/Room(房间)/Controller/QXRoomViewController+Friend.m index c9a3116..16dbe65 100644 --- a/QXLive/Room(房间)/Controller/QXRoomViewController+Friend.m +++ b/QXLive/Room(房间)/Controller/QXRoomViewController+Friend.m @@ -44,9 +44,11 @@ } } if (haveMe == NO) { + self.upSeatBtn.selected = NO; self.bottomView.status = 1; [[QXAgoraEngine sharedEngine] setClientRoleBroadcaster:NO]; }else{ + self.upSeatBtn.selected = YES; self.bottomView.status = 2; if ([QXAgoraEngine sharedEngine].isOpenMic) { [self.bottomView setMuteAudioStatus:1]; diff --git a/QXLive/Room(房间)/Controller/QXRoomViewController.h b/QXLive/Room(房间)/Controller/QXRoomViewController.h index a880eff..3797f56 100644 --- a/QXLive/Room(房间)/Controller/QXRoomViewController.h +++ b/QXLive/Room(房间)/Controller/QXRoomViewController.h @@ -33,6 +33,8 @@ NS_ASSUME_NONNULL_BEGIN /// 是否为最小化房间进来 @property (nonatomic,assign)BOOL isReJoin; +@property (nonatomic,strong)UIButton *upSeatBtn; + @property (nonatomic,strong)QXRoomModel* roomModel; /// 麦位视图 @property (nonatomic,strong)QXRoomSeatView *seatContentView; diff --git a/QXLive/Room(房间)/Controller/QXRoomViewController.m b/QXLive/Room(房间)/Controller/QXRoomViewController.m index a9c65fb..e67a475 100644 --- a/QXLive/Room(房间)/Controller/QXRoomViewController.m +++ b/QXLive/Room(房间)/Controller/QXRoomViewController.m @@ -59,7 +59,6 @@ QXRoomUserInfoViewDelegate @property (nonatomic,strong)UIButton *soundBtn; -@property (nonatomic,strong)UIButton *upSeatBtn; /// 排麦按钮 @property (nonatomic,strong)QXUpSeatCountView *micTeamView; diff --git a/QXLive/Room(房间)/View/QXAllRoomHourRankView.m b/QXLive/Room(房间)/View/QXAllRoomHourRankView.m index 8c5e4ad..4d0dd32 100644 --- a/QXLive/Room(房间)/View/QXAllRoomHourRankView.m +++ b/QXLive/Room(房间)/View/QXAllRoomHourRankView.m @@ -182,10 +182,7 @@ -(void)helpAction{ QXBaseWebViewController *vc = [[QXBaseWebViewController alloc] init]; - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSString *urlString = [NSString stringWithFormat:@"%@api/Page/page_show?id=%@",server,@"24"]; vc.urlStr = urlString; [self.viewController.navigationController pushViewController:vc animated:YES]; diff --git a/QXLive/Room(房间)/View/拍卖房/QXSelectAuctionInfoView.h b/QXLive/Room(房间)/View/拍卖房/QXSelectAuctionInfoView.h index 4a551cc..dbcdf2c 100644 --- a/QXLive/Room(房间)/View/拍卖房/QXSelectAuctionInfoView.h +++ b/QXLive/Room(房间)/View/拍卖房/QXSelectAuctionInfoView.h @@ -7,6 +7,7 @@ #import #import "QXRoomRelationModel.h" +#import "QXUserDressModel.h" NS_ASSUME_NONNULL_BEGIN @interface QXSelectAuctionInfoView : UIView @@ -26,6 +27,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,strong) QXRoomRelationModel *model; @property (nonatomic,strong) QXRoomRelationModel *timeModel; +@property (nonatomic,strong) QXShopDressPriceModel *priceModel; @property (nonatomic,strong) UIButton *selectedBtn; @end NS_ASSUME_NONNULL_END diff --git a/QXLive/Room(房间)/View/拍卖房/QXSelectAuctionInfoView.m b/QXLive/Room(房间)/View/拍卖房/QXSelectAuctionInfoView.m index a70a23b..f8752cf 100644 --- a/QXLive/Room(房间)/View/拍卖房/QXSelectAuctionInfoView.m +++ b/QXLive/Room(房间)/View/拍卖房/QXSelectAuctionInfoView.m @@ -428,6 +428,15 @@ self.selectedBtn.layer.borderWidth = 1; self.selectedBtn.selected = timeModel.isSelected; } +-(void)setPriceModel:(QXShopDressPriceModel *)priceModel{ + _priceModel = priceModel; + [self.selectedBtn setTitleColor:QXConfig.themeColor forState:(UIControlStateSelected)]; + [self.selectedBtn setTitleColor:RGB16(0x333333) forState:(UIControlStateNormal)]; + [self.selectedBtn setTitle:priceModel.day forState:(UIControlStateNormal)]; + self.selectedBtn.layer.borderColor = RGB16(0xF1F2F3).CGColor; + self.selectedBtn.layer.borderWidth = 1; + self.selectedBtn.selected = priceModel.isSelected; +} -(void)initSubviews{ self.selectedBtn = [[UIButton alloc] init]; [self.selectedBtn setBackgroundImage:[UIImage imageNamed:@"room_sound_sel"] forState:(UIControlStateSelected)]; diff --git a/QXLive/Room(房间)/View/红包/QXRedBagSendView.m b/QXLive/Room(房间)/View/红包/QXRedBagSendView.m index 20b0088..0b6d06b 100644 --- a/QXLive/Room(房间)/View/红包/QXRedBagSendView.m +++ b/QXLive/Room(房间)/View/红包/QXRedBagSendView.m @@ -798,10 +798,7 @@ -(void)helpAction{ self.isFromRule = YES; - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@api/Page/page_show?id=25",server]]]; [self.webView loadRequest:request]; self.backBtn.hidden = NO; diff --git a/QXLive/Room(房间)/View/练歌房/QXRoomSongListCell.h b/QXLive/Room(房间)/View/练歌房/QXRoomSongListCell.h index 57350cc..e9aea03 100644 --- a/QXLive/Room(房间)/View/练歌房/QXRoomSongListCell.h +++ b/QXLive/Room(房间)/View/练歌房/QXRoomSongListCell.h @@ -22,6 +22,7 @@ NS_ASSUME_NONNULL_BEGIN @property (weak, nonatomic) IBOutlet UIButton *endBtn; @property (weak, nonatomic) IBOutlet UIButton *upBtn; @property (weak, nonatomic) IBOutlet UILabel *userNameLabel; +@property (weak, nonatomic) IBOutlet UILabel *userCodeLabel; @property (nonatomic,copy)void(^moveSuccessBlock)(void); +(instancetype)cellWithTableView:(UITableView *)tableView; @end diff --git a/QXLive/Room(房间)/View/练歌房/QXRoomSongListCell.m b/QXLive/Room(房间)/View/练歌房/QXRoomSongListCell.m index 21db8ff..0957661 100644 --- a/QXLive/Room(房间)/View/练歌房/QXRoomSongListCell.m +++ b/QXLive/Room(房间)/View/练歌房/QXRoomSongListCell.m @@ -96,7 +96,12 @@ NSString *time = [NSString stringWithFormat:@"%02ld:%02ld",model.duration/60,model.duration%60]; self.posterLabel.text = [NSString stringWithFormat:@"%@ %@",time,model.singer]; self.songNameLabel.text = model.song_name; - self.userNameLabel.text = model.nickname; + if (self.isSearch) { + + }else{ + self.userNameLabel.text = model.nickname; + self.userCodeLabel.text = [NSString stringWithFormat:@"ID:%@",model.user_code]; + } } - (void)awakeFromNib { [super awakeFromNib]; diff --git a/QXLive/Room(房间)/View/练歌房/QXRoomSongListCell.xib b/QXLive/Room(房间)/View/练歌房/QXRoomSongListCell.xib index 5409da6..74effec 100644 --- a/QXLive/Room(房间)/View/练歌房/QXRoomSongListCell.xib +++ b/QXLive/Room(房间)/View/练歌房/QXRoomSongListCell.xib @@ -11,17 +11,17 @@ - + - + - - + + @@ -31,30 +31,31 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - + - + diff --git a/QXLive/Room(房间)/View/练歌房/QXRoomSongListSubView.m b/QXLive/Room(房间)/View/练歌房/QXRoomSongListSubView.m index 5684077..ac99f8b 100644 --- a/QXLive/Room(房间)/View/练歌房/QXRoomSongListSubView.m +++ b/QXLive/Room(房间)/View/练歌房/QXRoomSongListSubView.m @@ -9,7 +9,7 @@ #import "QXRoomSongListCell.h" #import "QXAgoraEngine.h" #import "QXMineNetwork.h" - +#import "QXCustomAlertView.h" @interface QXRoomSongListSubView() @property (nonatomic,strong)UIView *searchBgView; @property (nonatomic,strong)UIImageView *searchIcon; @@ -196,10 +196,49 @@ }; return cell; } +//-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ +// +//} +//-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{ +// if (self.isCompere && !self.isSearch) { +// return YES; +// } +// return NO; +//} +//-(UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath{ +// QXSongListModel *model = self.dataArray[indexPath.row]; +// MJWeakSelf +// UIContextualAction *deletAction = [UIContextualAction contextualActionWithStyle:(UIContextualActionStyleDestructive) title:@"删除" handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) { +// [weakSelf deleteSongWithModel:model]; +// completionHandler(YES); +// }]; +// UISwipeActionsConfiguration *config = [UISwipeActionsConfiguration configurationWithActions:@[deletAction]]; +// return config; +//} +-(void)deleteSongWithModel:(QXSongListModel*)model{ + QXCustomAlertView *alertView = [[QXCustomAlertView alloc] init]; + [alertView showInView:self title:@"您确定要删除歌曲吗" message:[NSString stringWithFormat:@"歌曲名称:%@\n演唱者:%@ ",model.song_name,model.nickname] cancleTitle:@"取消" commitTitle:@"确定"]; + MJWeakSelf + alertView.commitBlock = ^{ +// [QXMineNetwork mineUserAddAndDeleteAndEditWithType:2 Id:model.id songName:model.song_name giftId:model.gift_id giftNum:model.gift_num successBlock:^(NSDictionary * _Nonnull dict) { +// showToast(@"删除成功"); +// weakSelf.page = 1; +// [weakSelf getSongList]; +// } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { +// showToast(@"删除失败"); +// }]; + }; +} + -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ // QXSongListModel *model = self.dataArray[indexPath.row]; // [[QXAgoraEngine sharedEngine] ktv_EndSing]; // [[QXAgoraEngine sharedEngine] ktv_StartSing:YES withSong:model]; + if (self.isCompere && !self.isSearch) { + QXSongListModel *model = self.dataArray[indexPath.row]; + [self deleteSongWithModel:model]; + } + } -(NSMutableArray *)dataArray{ if (!_dataArray) { diff --git a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeAuctionView.m b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeAuctionView.m index ec0dc74..e84dae2 100644 --- a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeAuctionView.m +++ b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeAuctionView.m @@ -1082,10 +1082,7 @@ /// 亲密 Id = @"22"; } - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSString *urlString = [NSString stringWithFormat:@"%@api/Page/page_show?id=%@",server,Id]; QXBaseWebViewController *vc = [[QXBaseWebViewController alloc] init]; vc.urlStr = urlString; diff --git a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeSignView.m b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeSignView.m index 365ea6c..b64c34f 100644 --- a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeSignView.m +++ b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeSignView.m @@ -497,10 +497,7 @@ } -(void)helpAction{ - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSString *urlString = [NSString stringWithFormat:@"%@api/Page/page_show?id=%@",server,@"32"]; QXBaseWebViewController *vc = [[QXBaseWebViewController alloc] init]; vc.urlStr = urlString; @@ -760,7 +757,7 @@ } } } - +// 签约开始 -(void)signDidStartWithEndTime:(NSString *)endTime signId:(NSString *)signId signDay:(NSString*)signDay signValue:(NSString*)signValue{ QXSignAlertView *startView = [[QXSignAlertView alloc] initWithType:(QXSignAlerTypeStart)]; [startView showInView:self.viewController.view]; diff --git a/QXLive/Tabbar/QXTabbarController.m b/QXLive/Tabbar/QXTabbarController.m index 24f372f..cc59eb2 100644 --- a/QXLive/Tabbar/QXTabbarController.m +++ b/QXLive/Tabbar/QXTabbarController.m @@ -44,6 +44,7 @@ @property(nonatomic,assign) BOOL isAlreadyShowChirld; @property(nonatomic,strong) QXAppVersionView *appUpdateView; @property (nonatomic,strong)NSString* signStatus; +@property (nonatomic,assign)BOOL isShowSign; @end @implementation QXTabbarController @@ -55,7 +56,8 @@ [self setupTabbar]; [self configChildVC]; [self getSignStatus]; - [self performSelector:@selector(signAction) afterDelay:60]; + [self needShowSign]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(needShowSign) name:noticeTencentLogin object:nil]; [self getAppConfig]; } @@ -163,6 +165,9 @@ // // }]; } +-(void)needShowSign{ + [self performSelector:@selector(signAction) afterDelay:60]; +} -(void)getSignStatus{ MJWeakSelf [QXMineNetwork appSignTaskStatusSuccessBlock:^(NSString * _Nonnull status) { @@ -175,10 +180,14 @@ if (!QXGlobal.shareGlobal.isLogin) { return; } + if (self.isShowSign) { + return; + } if (self.signStatus.intValue == 1) { return; }else{ [self popSignTask]; + self.isShowSign = YES; } } diff --git a/QXLive/Tools/COS/QXCOSUploadManager.m b/QXLive/Tools/COS/QXCOSUploadManager.m index eaf890f..afc89a6 100644 --- a/QXLive/Tools/COS/QXCOSUploadManager.m +++ b/QXLive/Tools/COS/QXCOSUploadManager.m @@ -28,10 +28,7 @@ return self; } -(void)uploadFile:(id)file withObjectKey:(NSString *)key path:(NSString *)path complete:(void (^)(NSString * _Nonnull, QXCOSUploadImageState))complete { - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] getWithUrl:[NSString stringWithFormat:@"%@%@",server,QXGetCosTempKeys] parameters:@{} needCache:NO success:^(id responseObject) { QXCOSUploadModel *model = [QXCOSUploadModel yy_modelWithJSON:responseObject[@"data"]]; if (![model.region isExist] || ![model.bucket isExist] || ![model.credentials.sessionToken isExist] || ![model.credentials.tmpSecretId isExist] || ![model.credentials.tmpSecretKey isExist]) { @@ -102,10 +99,7 @@ } -(void)audioUploadFile:(id)file withObjectKey:(NSString *)key complete:(void (^)(NSString * fileUrl, QXCOSUploadImageState state))complete{ - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] getWithUrl:[NSString stringWithFormat:@"%@%@",server,QXGetCosTempKeys] parameters:@{} needCache:NO success:^(id responseObject) { QXCOSUploadModel *model = [QXCOSUploadModel yy_modelWithJSON:responseObject[@"data"]]; if (![model.region isExist] || ![model.bucket isExist] || ![model.credentials.sessionToken isExist] || ![model.credentials.tmpSecretId isExist] || ![model.credentials.tmpSecretKey isExist]) { @@ -176,10 +170,7 @@ } -(void)uploadFile:(NSArray *)files withObjectKey:(NSArray *)objectKeys isAsync:(BOOL)isAsync complete:(void (^)(NSArray * _Nullable, QXCOSUploadImageState))complete{ - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] getWithUrl:[NSString stringWithFormat:@"%@%@",server,QXGetCosTempKeys] parameters:@{} needCache:NO success:^(id responseObject) { QXCOSUploadModel *model = [QXCOSUploadModel yy_modelWithJSON:responseObject[@"data"]]; if (![model.region isExist] || ![model.bucket isExist] || ![model.credentials.sessionToken isExist] || ![model.credentials.tmpSecretId isExist] || ![model.credentials.tmpSecretKey isExist]) { @@ -276,10 +267,7 @@ } -(void)activityUploadFile:(NSArray *)files withObjectKey:(NSArray *)objectKeys isAsync:(BOOL)isAsync complete:(void (^)(NSArray * _Nonnull, QXCOSUploadImageState))complete{ - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] getWithUrl:[NSString stringWithFormat:@"%@%@",server,QXGetCosTempKeys] parameters:@{} needCache:NO success:^(id responseObject) { QXCOSUploadModel *model = [QXCOSUploadModel yy_modelWithJSON:responseObject[@"data"]]; if (![model.region isExist] || ![model.bucket isExist] || ![model.credentials.sessionToken isExist] || ![model.credentials.tmpSecretId isExist] || ![model.credentials.tmpSecretKey isExist]) { diff --git a/QXLive/Tools/QXTextView.m b/QXLive/Tools/QXTextView.m index 6323d2c..a063e62 100644 --- a/QXLive/Tools/QXTextView.m +++ b/QXLive/Tools/QXTextView.m @@ -88,7 +88,14 @@ [attr yy_setColor:self.lengthColor range:[str rangeOfString:length]]; self.maxCountLabel.attributedText = attr; } - +-(void)setText:(NSString *)text{ + [super setText:text]; + if (self.text.length == 0) { + self.placehoulderLabel.hidden = NO; + }else{ + self.placehoulderLabel.hidden = YES; + } +} -(void)setMaxLength:(NSInteger)maxLength{ _maxLength = maxLength; NSString *length = [NSString stringWithFormat:@"%ld",self.maxLength - self.text.length]; diff --git a/QXLive/chirld(青少年)/QXChirldViewController.m b/QXLive/chirld(青少年)/QXChirldViewController.m index 85f6c6f..2c58e92 100644 --- a/QXLive/chirld(青少年)/QXChirldViewController.m +++ b/QXLive/chirld(青少年)/QXChirldViewController.m @@ -41,10 +41,7 @@ static void *WKWebBrowserContext = &WKWebBrowserContext; , 2)]; } - (void)loadData { - NSString *server = H5ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RH5ServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentH5Server; NSInteger safeTop = kSafeAreaTop; NSURL* url= [NSURL URLWithString:[NSString stringWithFormat:@"%@web/index.html#/pages/feedback/teenage?id=%@&h=%ld",server,[QXGlobal shareGlobal].loginModel.token,safeTop]]; NSURLRequest *request =[NSURLRequest requestWithURL:url]; diff --git a/QXLive/活动/天空之境/QXSkyPraizePoolView.m b/QXLive/活动/天空之境/QXSkyPraizePoolView.m index 2149c48..1bad44d 100644 --- a/QXLive/活动/天空之境/QXSkyPraizePoolView.m +++ b/QXLive/活动/天空之境/QXSkyPraizePoolView.m @@ -71,14 +71,11 @@ return; } MJWeakSelf - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/get_gift_list"] parameters:@{@"gift_bag_id":self.giftModel.gift_bag?self.giftModel.gift_bag:@"",@"room_id":self.roomId?self.roomId:@""} needCache:NO success:^(id responseObject) { QXGiftActivityModel *model = [QXGiftActivityModel yy_modelWithJSON:responseObject[@"data"]]; weakSelf.model = model; - [self.collectionView reloadData]; + [weakSelf.collectionView reloadData]; } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { }]; diff --git a/QXLive/活动/天空之境/QXSkyPraizeRecordView.m b/QXLive/活动/天空之境/QXSkyPraizeRecordView.m index 8bd5d99..e0df5fc 100644 --- a/QXLive/活动/天空之境/QXSkyPraizeRecordView.m +++ b/QXLive/活动/天空之境/QXSkyPraizeRecordView.m @@ -125,10 +125,7 @@ @"gift_bag_id":self.giftModel.gift_bag, @"page":[NSNumber numberWithInteger:self.page] }; - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSString *url = [NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/get_my_record"]; if (self.myRecordBtn.selected) { url = [NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/get_my_record"]; diff --git a/QXLive/活动/天空之境/QXSkyPraizeView.m b/QXLive/活动/天空之境/QXSkyPraizeView.m index d16ccf6..a1da8a8 100644 --- a/QXLive/活动/天空之境/QXSkyPraizeView.m +++ b/QXLive/活动/天空之境/QXSkyPraizeView.m @@ -348,10 +348,7 @@ static NSInteger toSlowCount = 4; // return; // } MJWeakSelf - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/get_gift_list"] parameters:@{@"gift_bag_id":self.giftModel.gift_bag?self.giftModel.gift_bag:@"",@"room_id":self.roomId?self.roomId:@""} needCache:NO success:^(id responseObject) { QXGiftActivityModel *model = [QXGiftActivityModel yy_modelWithJSON:responseObject[@"data"]]; weakSelf.model = model; @@ -409,10 +406,7 @@ static NSInteger toSlowCount = 4; }; self.isDrawing = YES; MJWeakSelf - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/draw_gift"] parameters:parameters needCache:NO success:^(id responseObject) { QXDrawGiftResultModel *model = [QXDrawGiftResultModel yy_modelWithJSON:responseObject[@"data"]]; weakSelf.drawResultModel = model; @@ -521,11 +515,21 @@ static NSInteger toSlowCount = 4; } -(void)startFastAnimate{ + [self stopFastAnimate]; self.currentGiftView = self.allViewsArray.firstObject; self.currentGiftView.isSelected = YES; - [self stopFastAnimate]; - if (_fastTimer == nil) { - _fastTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)); + + // 修复2:创建一个新的定时器 + // 建议使用串行队列,避免多线程问题 + static dispatch_queue_t fastTimerQueue; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + fastTimerQueue = dispatch_queue_create("com.yourcompany.fastTimerQueue", DISPATCH_QUEUE_SERIAL); + }); + + _fastTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, fastTimerQueue); + if (!_fastTimer) { + return; // 创建失败处理 } // dispatch_source_set_timer(_fastTimer, // dispatch_time(DISPATCH_TIME_NOW, 0), @@ -556,7 +560,10 @@ static NSInteger toSlowCount = 4; dispatch_async(dispatch_get_main_queue(), ^{ // 再次检查 strongSelf 是否存在 __strong typeof(weakSelf) strongSelfInMain = weakSelf; - if (!strongSelfInMain) return; + if (!strongSelfInMain) { + QXLOG(@"不在主线程"); + return; + } // 使用局部变量进行计算,避免频繁访问属性 roundCount++; @@ -642,10 +649,7 @@ static NSInteger toSlowCount = 4; NSDictionary *parameters = @{ @"send_id":self.drawResultModel.blind_box_turntable_id?self.drawResultModel.blind_box_turntable_id:@"" }; - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/gift_send"] parameters:parameters needCache:NO success:^(id responseObject) { } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { @@ -654,10 +658,18 @@ static NSInteger toSlowCount = 4; }]; } --(void)stopFastAnimate{ - if (_fastTimer != nil) { - dispatch_source_cancel(_fastTimer); - _fastTimer = nil; +- (void)stopFastAnimate { + // 1. 使用局部变量捕获,防止后续被修改 + dispatch_source_t timer = _fastTimer; + _fastTimer = nil; // 2. 先立即置空实例变量 + + if (timer) { + // 3. 在定时器自己的队列上同步执行取消操作 + // 如果创建时用的全局队列,这里也用全局队列,但建议用串行队列 + dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); + dispatch_sync(queue, ^{ + dispatch_source_cancel(timer); + }); } } @@ -761,10 +773,7 @@ static NSInteger toSlowCount = 4; [[NSNotificationCenter defaultCenter] removeObserver:self]; } - (void)dealloc { - if (_fastTimer) { - dispatch_source_cancel(_fastTimer); - _fastTimer = nil; - } + [self stopFastAnimate]; NSLog(@"%@ dealloc", NSStringFromClass([self class])); } @end @@ -862,7 +871,15 @@ static NSInteger toSlowCount = 4; } -(void)setIsSelected:(BOOL)isSelected{ _isSelected = isSelected; - self.bgImageView.image = [UIImage imageNamed:isSelected?@"sky_item_sel":@"sky_item_nor"]; + if (isSelected) { + QXLOG(@"礼物%@设置了选中",self.giftModel.gift_name); + }else{ + QXLOG(@"礼物%@设置了未选中",self.giftModel.gift_name); + } + dispatch_async(dispatch_get_main_queue(), ^{ + self.bgImageView.image = [UIImage imageNamed:isSelected?@"sky_item_sel":@"sky_item_nor"]; + }); + } - (void)startPulseAnimationWithLayer { CABasicAnimation *pulseAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"]; diff --git a/QXLive/活动/岁月之城/QXAgePraizePoolView.m b/QXLive/活动/岁月之城/QXAgePraizePoolView.m index 83eaffc..e0df5b3 100644 --- a/QXLive/活动/岁月之城/QXAgePraizePoolView.m +++ b/QXLive/活动/岁月之城/QXAgePraizePoolView.m @@ -65,10 +65,7 @@ return; } MJWeakSelf - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/get_gift_list"] parameters:@{@"gift_bag_id":@"11",@"room_id":self.roomId?self.roomId:@""} needCache:NO success:^(id responseObject) { QXGiftActivityModel *model = [QXGiftActivityModel yy_modelWithJSON:responseObject[@"data"]]; weakSelf.model = model; diff --git a/QXLive/活动/岁月之城/QXAgePraizeRecordView.m b/QXLive/活动/岁月之城/QXAgePraizeRecordView.m index 1a528dc..4bcabbf 100644 --- a/QXLive/活动/岁月之城/QXAgePraizeRecordView.m +++ b/QXLive/活动/岁月之城/QXAgePraizeRecordView.m @@ -118,10 +118,7 @@ @"gift_bag_id":@"11", @"page":[NSNumber numberWithInteger:self.page] }; - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSString *url = [NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/get_my_record"]; if (self.myRecordBtn.selected) { url = [NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/get_my_record"]; diff --git a/QXLive/活动/岁月之城/QXAgePraizeView.m b/QXLive/活动/岁月之城/QXAgePraizeView.m index eb9e437..6f4cd95 100644 --- a/QXLive/活动/岁月之城/QXAgePraizeView.m +++ b/QXLive/活动/岁月之城/QXAgePraizeView.m @@ -368,10 +368,7 @@ static NSInteger toSlowCount = 4; // return; // } MJWeakSelf - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/get_gift_list"] parameters:@{@"gift_bag_id":@"11",@"room_id":self.roomId?self.roomId:@""} needCache:NO success:^(id responseObject) { QXGiftActivityModel *model = [QXGiftActivityModel yy_modelWithJSON:responseObject[@"data"]]; weakSelf.model = model; @@ -423,10 +420,7 @@ static NSInteger toSlowCount = 4; }; self.isDrawing = YES; MJWeakSelf - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/draw_gift"] parameters:parameters needCache:NO success:^(id responseObject) { QXDrawGiftResultModel *model = [QXDrawGiftResultModel yy_modelWithJSON:responseObject[@"data"]]; weakSelf.drawResultModel = model; @@ -656,10 +650,7 @@ static NSInteger toSlowCount = 4; NSDictionary *parameters = @{ @"send_id":self.drawResultModel.blind_box_turntable_id?self.drawResultModel.blind_box_turntable_id:@"" }; - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/gift_send"] parameters:parameters needCache:NO success:^(id responseObject) { } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { diff --git a/QXLive/活动/巡乐会/QXMeetActivityPoolView.m b/QXLive/活动/巡乐会/QXMeetActivityPoolView.m index c7bd116..17afb98 100644 --- a/QXLive/活动/巡乐会/QXMeetActivityPoolView.m +++ b/QXLive/活动/巡乐会/QXMeetActivityPoolView.m @@ -63,10 +63,7 @@ return; } MJWeakSelf - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/xlh"] parameters:@{@"room_id":self.roomId?self.roomId:@""} needCache:NO success:^(id responseObject) { QXActivityXLHModel *model = [QXActivityXLHModel yy_modelWithJSON:responseObject[@"data"]]; weakSelf.model = model; diff --git a/QXLive/活动/巡乐会/QXMeetActivityRankView.m b/QXLive/活动/巡乐会/QXMeetActivityRankView.m index 9e80cf7..a2d11d8 100644 --- a/QXLive/活动/巡乐会/QXMeetActivityRankView.m +++ b/QXLive/活动/巡乐会/QXMeetActivityRankView.m @@ -105,10 +105,7 @@ @"room_id":self.roomId?self.roomId:@"", @"page":[NSNumber numberWithInteger:self.page] }; - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; if ([type isEqualToString:@"1"]) { NSString *url = [NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/get_xlh_all_record"]; [[QXRequset shareInstance] postWithUrl:url parameters:parameters needCache:NO success:^(id responseObject) { diff --git a/QXLive/活动/巡乐会/QXMeetActivityRecordView.m b/QXLive/活动/巡乐会/QXMeetActivityRecordView.m index 6b4a177..6147063 100644 --- a/QXLive/活动/巡乐会/QXMeetActivityRecordView.m +++ b/QXLive/活动/巡乐会/QXMeetActivityRecordView.m @@ -79,10 +79,7 @@ @"room_id":self.roomId?self.roomId:@"", @"page":[NSNumber numberWithInteger:self.page] }; - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSString *url = [NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/get_xlh_my_record"]; [[QXRequset shareInstance] postWithUrl:url parameters:parameters needCache:NO success:^(id responseObject) { if (weakSelf.page == 1) { diff --git a/QXLive/活动/巡乐会/QXMeetActivityView.m b/QXLive/活动/巡乐会/QXMeetActivityView.m index f143f68..a0e7160 100644 --- a/QXLive/活动/巡乐会/QXMeetActivityView.m +++ b/QXLive/活动/巡乐会/QXMeetActivityView.m @@ -354,10 +354,7 @@ // return; // } MJWeakSelf - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/xlh"] parameters:@{@"room_id":self.roomId?self.roomId:@""} needCache:NO success:^(id responseObject) { QXActivityXLHModel *model = [QXActivityXLHModel yy_modelWithJSON:responseObject[@"data"]]; weakSelf.model = model; @@ -405,10 +402,7 @@ self.isDrawing = YES; self.resultView.times = num; MJWeakSelf - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/xlh_draw_gift"] parameters:parameters needCache:NO success:^(id responseObject) { weakSelf.resultArray = [NSArray yy_modelArrayWithClass:[QXDrawGiftModel class] json:responseObject[@"data"]]; [weakSelf getMyWallet]; diff --git a/QXLive/活动/时空之巅/QXTimePraizePoolView.m b/QXLive/活动/时空之巅/QXTimePraizePoolView.m index 01a2c74..a8ba836 100644 --- a/QXLive/活动/时空之巅/QXTimePraizePoolView.m +++ b/QXLive/活动/时空之巅/QXTimePraizePoolView.m @@ -66,10 +66,7 @@ return; } MJWeakSelf - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/get_gift_list"] parameters:@{@"gift_bag_id":@"12",@"room_id":self.roomId?self.roomId:@""} needCache:NO success:^(id responseObject) { QXGiftActivityModel *model = [QXGiftActivityModel yy_modelWithJSON:responseObject[@"data"]]; weakSelf.model = model; diff --git a/QXLive/活动/时空之巅/QXTimePraizeRecordView.m b/QXLive/活动/时空之巅/QXTimePraizeRecordView.m index f38b92a..afec656 100644 --- a/QXLive/活动/时空之巅/QXTimePraizeRecordView.m +++ b/QXLive/活动/时空之巅/QXTimePraizeRecordView.m @@ -118,10 +118,7 @@ @"gift_bag_id":@"12", @"page":[NSNumber numberWithInteger:self.page] }; - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; NSString *url = [NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/get_my_record"]; if (self.myRecordBtn.selected) { url = [NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/get_my_record"]; diff --git a/QXLive/活动/时空之巅/QXTimePraizeView.m b/QXLive/活动/时空之巅/QXTimePraizeView.m index dad2dce..9160597 100644 --- a/QXLive/活动/时空之巅/QXTimePraizeView.m +++ b/QXLive/活动/时空之巅/QXTimePraizeView.m @@ -375,10 +375,7 @@ static NSInteger toSlowCount = 4; // return; // } MJWeakSelf - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/get_gift_list"] parameters:@{@"gift_bag_id":@"12",@"room_id":self.roomId?self.roomId:@""} needCache:NO success:^(id responseObject) { QXGiftActivityModel *model = [QXGiftActivityModel yy_modelWithJSON:responseObject[@"data"]]; weakSelf.model = model; @@ -430,10 +427,7 @@ static NSInteger toSlowCount = 4; }; self.isDrawing = YES; MJWeakSelf - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/draw_gift"] parameters:parameters needCache:NO success:^(id responseObject) { QXDrawGiftResultModel *model = [QXDrawGiftResultModel yy_modelWithJSON:responseObject[@"data"]]; weakSelf.drawResultModel = model; @@ -663,10 +657,7 @@ static NSInteger toSlowCount = 4; NSDictionary *parameters = @{ @"send_id":self.drawResultModel.blind_box_turntable_id?self.drawResultModel.blind_box_turntable_id:@"" }; - NSString *server = ServerUrl; - if (QXGlobal.shareGlobal.isNeedChangeServer) { - server = RServerUrl; - } + NSString *server = QXGlobal.shareGlobal.currentServer; [[QXRequset shareInstance] postWithUrl:[NSString stringWithFormat:@"%@%@",server,@"api/BlindBoxTurntable/gift_send"] parameters:parameters needCache:NO success:^(id responseObject) { } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {