YOUPAIHRChatRoomHomeVC.m 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715
  1. //
  2. // YOUPAIHRChatRoomHomeVC.m
  3. // VQU
  4. //
  5. // Created by xiaohaoran on 2021/11/2.
  6. // Copyright © 2021 MS. All rights reserved.
  7. //
  8. #import "YOUPAIHRChatRoomHomeVC.h"
  9. #import "JXCategoryView.h"
  10. #import "JXCategoryListContainerView.h"
  11. #import "YOUPAILCBoardVC.h"
  12. #import "TYCyclePagerView.h"
  13. #import "TYPageControl.h"
  14. #import "YOUPAILZHomeBannerCell.h"
  15. #import "JXPagerListRefreshView.h"
  16. #import "YOUPAILCBannerModel.h"
  17. #import "YOUPAIHRChatRoomDetailVC.h"
  18. #import "YOUPAIHRChatRoomContributeListVC.h"
  19. #import "UIViewController+TFPresent.h"
  20. #import "YOUPAIHRGuildCenterSearchVC.h"
  21. #import "YOUPAIHRChatRoomManageVC.h"
  22. #import "YOUPAIZYSearchVC.h"
  23. #import "YOUPAIZYAdvertWindow.h"
  24. #import "YOUPAIZYFirstRechargeWindow.h"
  25. #import "YOUPAILCFirstRechargeModel.h"
  26. #import "YOUPAILZLiveAudienceVC.h"
  27. #import "YOUPAILZVipVC.h"
  28. #import "YOUPAILCWriteMesVC.h"
  29. #import "SDCycleScrollView.h"
  30. #import "YOUPAIFinishMsgWindow.h"
  31. #import "YOUPAILCSelectSexVC.h"
  32. #import "YOUPAIHRWebWindow.h"
  33. #define LZCategoryViewHeight 54.0f
  34. #define LZCategoryViewItemWidth 64.0f
  35. #define LZHeaderViewHeigth ScaleSize(98.0f)+49
  36. @interface YOUPAIHRChatRoomHomeVC ()<JXCategoryViewDelegate,TYCyclePagerViewDataSource, TYCyclePagerViewDelegate,JXPagerMainTableViewGestureDelegate,JXPagerViewDelegate,ZYAdvertWindowDelegate,ZYFirstRechargeWindowDelegate,SDCycleScrollViewDelegate,VQ_FinishMsgWindowDelegate>
  37. @property (nonatomic, strong) NSArray *youpaipcategorys;
  38. @property (nonatomic, strong) JXPagerListRefreshView *pagerView;
  39. @property (nonatomic, strong) JXCategoryTitleView *youpaipcategoryView;
  40. @property (nonatomic, strong) UIView *youpaipcategoryBgV;
  41. /* youpaipstartLiveBtn */
  42. @property (strong, nonatomic) UIButton *youpaipstartLiveBtn;
  43. @property (nonatomic, strong) TYCyclePagerView* youpaipbannerView;
  44. /* pageControl */
  45. @property (strong, nonatomic) TYPageControl *pageControl;
  46. @property (nonatomic, strong) NSArray <YOUPAILCBannerModel *> *youpaipbannerArray;
  47. /* imageURLStringsGroup */
  48. @property (strong, nonatomic) NSMutableArray *imageURLStringsGroup;
  49. @property(nonatomic,assign)BOOL youpaipisShowManager;//是否显示房间管理
  50. @property (nonatomic, strong) UIButton *youpaiprankBtn;
  51. @property (nonatomic, strong) UIButton *youpaipliveBtn;
  52. @property (nonatomic, strong) UIButton *youpaipsearchBtn;
  53. @property(nonatomic,strong)SDCycleScrollView* youpaipscrollView;
  54. //@property(nonatomic,strong)UIView* scrollBkgView;
  55. @property(nonatomic,strong)UIButton* youpaipcancelBtn;
  56. /* 首冲轮播数据 */
  57. @property (strong, nonatomic) YOUPAILCFirstRechargeModel *youpaipfirstRechargeModel;
  58. @property(nonatomic,strong)UIView *headerView;
  59. @end
  60. @implementation YOUPAIHRChatRoomHomeVC
  61. - (void)viewWillAppear:(BOOL)animated{
  62. [super viewWillAppear:animated];
  63. [self.navigationController setNavigationBarHidden:YES animated:animated];
  64. [self youpaifloadFinishMsgStatus];
  65. }
  66. - (void)viewWillDisappear:(BOOL)animated{
  67. [super viewWillDisappear:animated];
  68. [self.navigationController setNavigationBarHidden:NO animated:animated];
  69. }
  70. - (void)viewDidLoad {
  71. [super viewDidLoad];
  72. self.youpaipcategorys = @[@"语聊"];
  73. [self youpaifrequestBannerData];
  74. self.youpaipisShowManager = NO;
  75. [self youpaifinitConfig];
  76. [self youpaifloadLevelInfo];
  77. [self youpaifloadAdvert];
  78. }
  79. -(void)youpaifloadFinishMsgStatus{
  80. YOUPAILCUserModel *userModel = [LCSaveModel getUserModel];
  81. if (userModel.youpaipuserinfo.youpaipfinish_status == 0) {
  82. YOUPAIFinishMsgWindow *VC= [[YOUPAIFinishMsgWindow alloc]init];
  83. VC.vWidth = KScreenWidth -(47.5*2);
  84. VC.vHeight = 350;
  85. VC.youpaipfinishMsgdelegate = self;
  86. VC.isTouchDismiss = NO;
  87. [self TFPresentVC:VC completion:^{
  88. }];
  89. }
  90. }
  91. -(void)youpaifjumFinishMsgClick{
  92. YOUPAILCWriteMesVC *msg = [[YOUPAILCWriteMesVC alloc]init];
  93. msg.youpaipinviteCodeStr = [LCTools getPasteString];
  94. msg.isFinishMsg = YES;
  95. [self.navigationController pushViewController:msg animated:YES];
  96. }
  97. - (void)youpaifinitUI{
  98. UIView *headerView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, LZHeaderViewHeigth)];
  99. self.headerView =headerView;
  100. headerView.backgroundColor = LCBkgColor;
  101. UIView *bgView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, LZHeaderViewHeigth-ScaleSize(98.0f))];
  102. [headerView addSubview:bgView];
  103. //搜索
  104. CGFloat searchWidth = 0;
  105. CGFloat rankWith = 24;
  106. CGFloat chatWith = 24;
  107. if (!self.youpaipisShowManager) {
  108. rankWith = 65;
  109. chatWith = 0;
  110. }
  111. searchWidth = KScreenWidth - 14-10-rankWith - 10-14-chatWith;
  112. UIButton *youpaipsearchView = [UIButton new];
  113. [bgView addSubview:youpaipsearchView];
  114. [youpaipsearchView mas_makeConstraints:^(MASConstraintMaker *make) {
  115. make.left.mas_equalTo(14);
  116. make.centerY.mas_equalTo(0);
  117. make.width.mas_equalTo(searchWidth);
  118. make.height.mas_equalTo(30);
  119. }];
  120. youpaipsearchView.layer.cornerRadius = 15;
  121. youpaipsearchView.layer.masksToBounds = YES;
  122. youpaipsearchView.backgroundColor = LCSubBkgColor;
  123. [youpaipsearchView addTarget:self action:@selector(youpaifsearchBtnClick) forControlEvents:UIControlEventTouchUpInside];
  124. //uiimage
  125. UIImageView *imageSearch = [UIImageView new];
  126. [youpaipsearchView addSubview:imageSearch];
  127. [imageSearch mas_makeConstraints:^(MASConstraintMaker *make) {
  128. make.left.mas_equalTo(12);
  129. make.centerY.mas_equalTo(0);
  130. make.size.mas_equalTo(CGSizeMake(16, 16));
  131. }];
  132. imageSearch.image = [UIImage imageNamed:@"vqu_chatroom_bg_search_new"];
  133. UILabel *searchLabel = [UILabel new];
  134. [youpaipsearchView addSubview:searchLabel];
  135. [searchLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  136. make.left.mas_equalTo(imageSearch.mas_right).offset(5);
  137. make.centerY.mas_equalTo(0);
  138. }];
  139. searchLabel.text = @"搜一搜";
  140. searchLabel.font = [UIFont systemFontOfSize:12];
  141. searchLabel.textColor = HexColorFromRGB(0x6C6B70);
  142. //排行榜
  143. NSString *images = @"vqu_images_L_rank_play";
  144. if (!self.youpaipisShowManager) {
  145. rankWith = 65;
  146. images = @"vqu_images_L_rank_play_big";
  147. }
  148. UIButton *youpaiprankBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  149. [youpaiprankBtn setBackgroundImage:[UIImage imageNamed:images] forState:UIControlStateNormal];
  150. [bgView addSubview:youpaiprankBtn];
  151. [youpaiprankBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  152. make.left.mas_equalTo(youpaipsearchView.mas_right).offset(10);
  153. make.centerY.mas_equalTo(0);
  154. make.width.mas_equalTo(rankWith);
  155. }];
  156. [youpaiprankBtn addTarget:self action:@selector(youpaifrankBtnClick) forControlEvents:UIControlEventTouchUpInside];
  157. if (self.youpaipisShowManager){
  158. UIButton *youpaipstartLiveBtn = [[UIButton alloc]init];
  159. [bgView addSubview:youpaipstartLiveBtn];
  160. [youpaipstartLiveBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  161. make.left.mas_equalTo(youpaiprankBtn.mas_right).offset(10);
  162. make.centerY.mas_equalTo(0);
  163. make.width.mas_equalTo(24);
  164. }];
  165. [youpaipstartLiveBtn setBackgroundImage:[UIImage imageNamed:@"vqu_images_chatroom_room"] forState:(UIControlStateNormal)];
  166. // vqu_images_chatRoom_home
  167. [youpaipstartLiveBtn addTarget:self action:@selector(youpaifstartLiveBtnClick) forControlEvents:UIControlEventTouchUpInside];
  168. }
  169. TYCyclePagerView *youpaipbannerView = [[TYCyclePagerView alloc]initWithFrame:CGRectMake(0, 49, KScreenWidth,LZHeaderViewHeigth-49)];
  170. [headerView addSubview:youpaipbannerView];
  171. youpaipbannerView.isInfiniteLoop = YES;
  172. youpaipbannerView.autoScrollInterval = 6.0;
  173. youpaipbannerView.dataSource = self;
  174. youpaipbannerView.delegate = self;
  175. [youpaipbannerView registerClass:[YOUPAILZHomeBannerCell class] forCellWithReuseIdentifier:@"cellId"];
  176. self.youpaipbannerView = youpaipbannerView;
  177. youpaipbannerView.backgroundColor = LCBkgColor;
  178. NSMutableArray *imgUrlArray = [NSMutableArray array];
  179. for (YOUPAILCBannerModel* model in self.youpaipbannerArray) {
  180. [imgUrlArray addObject:[LCTools getImageUrlWithAddress:model.youpaipimage]];
  181. }
  182. self.imageURLStringsGroup = imgUrlArray;
  183. TYPageControl *pageControl = [[TYPageControl alloc]initWithFrame:CGRectMake(0, CGRectGetHeight(_youpaipbannerView.frame) - 26, CGRectGetWidth(_youpaipbannerView.frame), 26)];
  184. //pageControl.numberOfPages = _datas.count;
  185. pageControl.numberOfPages = imgUrlArray.count;
  186. pageControl.currentPageIndicatorSize = CGSizeMake(6, 6);
  187. pageControl.pageIndicatorSize = CGSizeMake(6, 6);
  188. // pageControl.currentPageIndicatorTintColor = [UIColor redColor];
  189. // pageControl.pageIndicatorTintColor = [UIColor grayColor];
  190. pageControl.pageIndicatorImage = [UIImage imageNamed:@"vqu_images_H_home_page_n"];
  191. pageControl.currentPageIndicatorImage = [UIImage imageNamed:@"vqu_images_H_home_page_s"];
  192. pageControl.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);
  193. pageControl.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
  194. pageControl.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
  195. pageControl.pageIndicatorSpaing = 1;
  196. [youpaipbannerView addSubview:pageControl];
  197. self.pageControl = pageControl;
  198. UIView *youpaipcategoryBgV = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, KScreenWidth, LZCategoryViewHeight)];
  199. youpaipcategoryBgV.backgroundColor = LCBkgColor;
  200. self.youpaipcategoryBgV = youpaipcategoryBgV;
  201. JXCategoryTitleView *youpaipcategoryView = [[JXCategoryTitleView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, KScreenWidth, LZCategoryViewHeight)];
  202. // NSMutableArray <NSString *>*titles = [NSMutableArray array];
  203. youpaipcategoryView.backgroundColor = LCBkgColor;
  204. youpaipcategoryView.titles = self.youpaipcategorys;
  205. youpaipcategoryView.delegate = self;
  206. youpaipcategoryView.titleSelectedColor = HexColorFromRGB(0xF4003F);
  207. youpaipcategoryView.titleColor = HexColorFromRGB(0x6C6B70);
  208. youpaipcategoryView.titleColorGradientEnabled = YES;
  209. youpaipcategoryView.titleFont = LCFont(18.0f);
  210. youpaipcategoryView.titleSelectedFont = LCBoldFont(18.0f);
  211. youpaipcategoryView.cellWidth = LZCategoryViewItemWidth;
  212. youpaipcategoryView.cellSpacing = 0.0f;
  213. youpaipcategoryView.averageCellSpacingEnabled = NO;
  214. [youpaipcategoryBgV addSubview:youpaipcategoryView];
  215. self.youpaipcategoryView = youpaipcategoryView;
  216. // if ([LCSaveModel getUserModel].userinfo.is_anchor == 1 && [LCSaveData getIsLive] != 2) {
  217. // UIButton *youpaipstartLiveBtn = [[UIButton alloc]initWithFrame:CGRectMake(KScreenWidth - 16 - 24,(LZCategoryViewHeight - 24) / 2.0f,24,24)];
  218. // self.youpaipstartLiveBtn = youpaipstartLiveBtn;
  219. //
  220. //// [youpaipstartLiveBtn addTarget:self action:@selector(startLiveClick) forControlEvents:(UIControlEventTouchUpInside)];
  221. // [youpaipcategoryBgV addSubview:youpaipstartLiveBtn];
  222. // categoryViewWidth-=24;
  223. // [youpaipstartLiveBtn setBackgroundImage:[UIImage imageNamed:@"vqu_images_L_live_play"] forState:(UIControlStateNormal)];
  224. //// vqu_images_chatRoom_home
  225. //// [youpaipstartLiveBtn addTarget:self action:@selector(youpaifstartLiveBtnClick) forControlEvents:UIControlEventTouchUpInside];
  226. //
  227. // }else
  228. JXCategoryIndicatorLineView *lineView = [[JXCategoryIndicatorLineView alloc] init];
  229. lineView.verticalMargin = 6.0f;
  230. lineView.indicatorHeight = 2.5f;
  231. lineView.indicatorWidth = 8;
  232. lineView.layer.cornerRadius = 1.25;
  233. lineView.layer.masksToBounds = YES;
  234. [lineView.layer addSublayer:[LCTools getGradientLayerWithSize:CGSizeMake(lineView.indicatorWidth, lineView.indicatorHeight) twoColors:@[HexColorFromRGB(0xFF0084),HexColorFromRGB(0xFF3A00)] gradientType:GradientLeftToRight]];
  235. youpaipcategoryView.indicators = @[lineView];
  236. JXPagerListRefreshView *pagerView = [[JXPagerListRefreshView alloc] initWithDelegate:self listContainerType:JXPagerListContainerType_CollectionView];
  237. pagerView.mainTableView.gestureDelegate = self;
  238. [self.view addSubview:pagerView];
  239. self.pagerView = pagerView;
  240. self.pagerView.frame = CGRectMake(0, StatusBarHeight, KScreenWidth, KScreenHeight-(TabbarHeight + StatusBarHeight));
  241. youpaipcategoryView.listContainer = (id<JXCategoryViewListContainer>)self.pagerView.listContainerView;
  242. SDCycleScrollView *bannerView1 = [SDCycleScrollView cycleScrollViewWithFrame:CGRectMake(KScreenWidth - 12.0f - 49.0f, KScreenHeight - 12.0f - 49.0f - TabbarHeight-30, 50, 50.0f) delegate:self placeholderImage:[UIImage imageNamed:@""]];
  243. self.youpaipscrollView = bannerView1;
  244. bannerView1.pageControlDotSize = CGSizeMake(0, 0);
  245. bannerView1.autoScrollTimeInterval = 3.0;//2s轮播
  246. bannerView1.pageControlStyle = SDCycleScrollViewPageContolStyleNone;
  247. bannerView1.bannerImageViewContentMode = UIViewContentModeScaleAspectFit;
  248. bannerView1.backgroundColor = [UIColor clearColor];
  249. [self.view addSubview:bannerView1];
  250. //取消按钮
  251. UIButton *cancenBtn = [[UIButton alloc]initWithFrame:CGRectMake(KScreenWidth - 12.0f - 10.0f, KScreenHeight - 12.0f - 49.0f - TabbarHeight+5-30, 15, 15)];
  252. self.youpaipcancelBtn = cancenBtn;
  253. [self.view addSubview:cancenBtn];
  254. [cancenBtn addTarget:self action:@selector(youpaifcancenBtnClick) forControlEvents:UIControlEventTouchUpInside];
  255. [cancenBtn setImage:[UIImage imageNamed:@"vqu_images_H_first_Recharge"] forState:UIControlStateNormal];
  256. [self.youpaipbannerView reloadData];
  257. [self youpaifloadFirstRecharge];
  258. }
  259. -(void)youpaifcancenBtnClick{
  260. [UIView animateWithDuration:0.5 animations:^{
  261. } completion:^(BOOL finished) {
  262. [self.youpaipscrollView removeFromSuperview];
  263. [self.youpaipcancelBtn removeFromSuperview];
  264. }];
  265. }
  266. #pragma mark-目录点击事件
  267. -(void)youpaifstartLiveBtnClick{
  268. YOUPAIHRChatRoomManageVC *vc = [YOUPAIHRChatRoomManageVC new];
  269. [self.navigationController pushViewController:vc animated:YES];
  270. }
  271. -(void)youpaifsearchBtnClick{
  272. YOUPAIZYSearchVC *vc = [YOUPAIZYSearchVC new];
  273. [self pushEffectPresentToVC:vc];
  274. }
  275. - (void)youpaifrankBtnClick{
  276. if ([LCSaveData getRankH5Url].length != 0) {
  277. ZCBaseWebVC* baseWeb = [[ZCBaseWebVC alloc]init];
  278. baseWeb.contentUrl = [LCSaveData getRankH5Url];
  279. [self.navigationController pushViewController:baseWeb animated:YES];
  280. }else{
  281. YOUPAILCBoardVC *board = [[YOUPAILCBoardVC alloc]init];
  282. board.youpaiptype = 0;
  283. board.youpaiphiddenBack = YES;
  284. [self.navigationController pushViewController:board animated:YES];
  285. }
  286. }
  287. /// 获取banner数据
  288. - (void)youpaifrequestBannerData{
  289. @weakify(self);
  290. [LCHttpHelper requestWithURLString:HomeBanner parameters:@{@"cate_id":@"2"} needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  291. @strongify(self);
  292. NSDictionary* dict = (NSDictionary*)responseObject;
  293. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  294. if (code==0) {//成功
  295. self.youpaipbannerArray = [YOUPAILCBannerModel mj_objectArrayWithKeyValuesArray:[[dict objectForKey:@"data"]objectForKey:@"banner"]];
  296. [self youpaifgetHomeManagerStatus];
  297. }
  298. } failure:^(NSError *error) {
  299. }];
  300. }
  301. //获取首冲轮播数据(右下角)
  302. -(void)youpaifloadFirstRecharge{
  303. [LCHttpHelper requestWithURLString:GetAdvert parameters:@{@"position":@"2"} needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  304. NSDictionary* dict = (NSDictionary*)responseObject;
  305. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  306. if (code==0) {//成功
  307. self.youpaipfirstRechargeModel = [YOUPAILCFirstRechargeModel mj_objectWithKeyValues:dict[@"data"]];
  308. NSMutableArray *imgUrlArray1 = [NSMutableArray new];
  309. for (YOUPAILCBannerModel* model in self.youpaipfirstRechargeModel.youpaiplist) {
  310. NSLog(@"youpaipimage = %@",model.youpaipimage);
  311. [imgUrlArray1 addObject:[LCTools getImageUrlWithAddress:model.youpaipimage]];
  312. }
  313. self.youpaipscrollView.imageURLStringsGroup = imgUrlArray1;
  314. if (self.youpaipfirstRechargeModel.youpaipis_open == 1) {
  315. self.youpaipscrollView.hidden = NO;
  316. self.youpaipcancelBtn.hidden = NO;
  317. }else{
  318. self.youpaipscrollView.hidden = YES;
  319. self.youpaipcancelBtn.hidden = YES;
  320. }
  321. }
  322. } failure:^(NSError *error) {}];
  323. }
  324. #pragma mark - SDCycleScrollViewDelegate
  325. - (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index
  326. {
  327. YOUPAILCBannerModel* model = self.youpaipfirstRechargeModel.youpaiplist[index];
  328. if (model.youpaiplink_type==1) {
  329. ZCBaseWebVC* baseWeb = [[ZCBaseWebVC alloc]init];
  330. baseWeb.contentUrl = model.youpaiplink_url;
  331. [self.navigationController pushViewController:baseWeb animated:YES];
  332. }else if (model.youpaiplink_type==2||model.youpaiplink_type==3){
  333. [self youpaifpageToStr:model.youpaiplink_url];
  334. }
  335. }
  336. #pragma mark - JXPagerViewDelegate
  337. - (UIView *)tableHeaderViewInPagerView:(JXPagerView *)pagerView {
  338. return self.headerView;
  339. }
  340. - (NSUInteger)tableHeaderViewHeightInPagerView:(JXPagerView *)pagerView {
  341. return LZHeaderViewHeigth;
  342. }
  343. - (NSUInteger)heightForPinSectionHeaderInPagerView:(JXPagerView *)pagerView {
  344. //LZCategoryViewHeight
  345. return 0;
  346. }
  347. - (UIView *)viewForPinSectionHeaderInPagerView:(JXPagerView *)pagerView {
  348. // self.youpaipcategoryBgV
  349. return [UIView new];
  350. }
  351. - (NSInteger)numberOfListsInPagerView:(JXPagerView *)pagerView {
  352. return self.youpaipcategorys.count;
  353. }
  354. - (id<JXPagerViewListViewDelegate>)pagerView:(JXPagerView *)pagerView initListAtIndex:(NSInteger)index{
  355. YOUPAIHRChatRoomDetailVC *vc = [[YOUPAIHRChatRoomDetailVC alloc] init];
  356. return vc;
  357. }
  358. #pragma mark - TYCyclePagerViewDataSource
  359. - (NSInteger)numberOfItemsInPagerView:(TYCyclePagerView *)pageView {
  360. return self.imageURLStringsGroup.count;
  361. }
  362. - (UICollectionViewCell *)pagerView:(TYCyclePagerView *)pagerView cellForItemAtIndex:(NSInteger)index {
  363. YOUPAILZHomeBannerCell *cell = [pagerView dequeueReusableCellWithReuseIdentifier:@"cellId" forIndex:index];
  364. NSString *url;
  365. if (self.imageURLStringsGroup) {
  366. url = [self.imageURLStringsGroup[index] absoluteString];
  367. [cell.youpaipbgImageView sd_setImageWithURL:[NSURL URLWithString:url] placeholderImage:[UIImage imageNamed:@"banner_default"]];
  368. }
  369. cell.layer.cornerRadius = 5;
  370. cell.layer.masksToBounds = YES;
  371. cell.backgroundColor = LCBkgColor;
  372. // cell.backgroundColor = _datas[index];
  373. // cell.label.text = [NSString stringWithFormat:@"index->%ld",index];
  374. return cell;
  375. }
  376. - (TYCyclePagerViewLayout *)layoutForPagerView:(TYCyclePagerView *)pageView {
  377. TYCyclePagerViewLayout *layout = [[TYCyclePagerViewLayout alloc]init];
  378. layout.itemSize = CGSizeMake(CGRectGetWidth(pageView.frame)*0.93, CGRectGetHeight(pageView.frame)*0.93);
  379. layout.itemSpacing = 20;
  380. layout.layoutType = TYCyclePagerTransformLayoutNormal;
  381. //layout.minimumAlpha = 0.3;
  382. return layout;
  383. }
  384. - (void)pagerView:(TYCyclePagerView *)pageView didSelectedItemCell:(__kindof UICollectionViewCell *)cell atIndex:(NSInteger)index{
  385. YOUPAILCBannerModel* model = self.youpaipbannerArray[index];
  386. if (model.youpaiplink_type==1) {
  387. ZCBaseWebVC* baseWeb = [[ZCBaseWebVC alloc]init];
  388. baseWeb.contentUrl = model.youpaiplink_url;
  389. [self.navigationController pushViewController:baseWeb animated:YES];
  390. }else if (model.youpaiplink_type==2||model.youpaiplink_type==3){
  391. [self youpaifpageToStr:model.youpaiplink_url];
  392. }
  393. }
  394. - (void)pagerView:(TYCyclePagerView *)pageView didScrollFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex {
  395. _pageControl.currentPage = toIndex;
  396. //[_pageControl setCurrentPage:newIndex animate:YES];
  397. // NSLog(@"%ld -> %ld",fromIndex,toIndex);
  398. }
  399. //获取首冲弹框数据
  400. -(void)youpaifloadAdvert1{
  401. if ([NSStringFromClass([LCTools getContainNavigationControllerCurrentVC].class) isEqual:@"YOUPAILZChatRoomVC"]) {
  402. return;
  403. }
  404. @weakify(self);
  405. [LCHttpHelper requestWithURLString:GetAdvert parameters:@{@"position":@"6"} needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  406. @strongify(self);
  407. NSDictionary* dict = (NSDictionary*)responseObject;
  408. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  409. if (code==0) {//成功
  410. YOUPAILCFirstRechargeModel *firstRechargeModel1 = [YOUPAILCFirstRechargeModel mj_objectWithKeyValues:dict[@"data"]];
  411. for (int i = 0; i<firstRechargeModel1.youpaiplist.count; i++) {
  412. YOUPAILCBannerModel* model = firstRechargeModel1.youpaiplist[i];
  413. if([NSStringFromClass([LCTools getCurrentVC].class) isEqual:@"YOUPAILZLiveAnchorVC"]) {
  414. continue;
  415. }
  416. if([LCTools getCurrentVC].tabBarController == nil) {
  417. continue;
  418. }
  419. if (model.youpaipwindow_type == 2) {
  420. YOUPAIHRWebWindow *window = [[YOUPAIHRWebWindow alloc] init];
  421. window.isTouchDismiss = YES;
  422. window.youpaipurl = model.youpaipwindow_link;
  423. window.youpaipwidth = model.youpaipwidth;
  424. window.youpaipheight = model.youpaipheight;
  425. window.youpaipgravity = model.youpaipgravity;
  426. [[LCTools getCurrentVC] TFPresentVC:window completion:^{}];
  427. }else{
  428. YOUPAIZYFirstRechargeWindow *VC= [[YOUPAIZYFirstRechargeWindow alloc]init];
  429. VC.youpaipdelegate = self;
  430. VC.vWidth = KScreenWidth -30;
  431. VC.vHeight = KScreenWidth-30;
  432. VC.youpaipimageurl = model.youpaipimage;
  433. VC.youpaiplink_type = model.youpaiplink_type;
  434. VC.youpaiplink_url = model.youpaiplink_url;
  435. VC.isTouchDismiss = YES;
  436. [[LCTools getCurrentVC] TFPresentVC:VC completion:^{}];
  437. }
  438. }
  439. }
  440. } failure:^(NSError *error) {}];
  441. }
  442. #pragma mark-广告弹框
  443. -(void)youpaifloadAdvert{
  444. @weakify(self);
  445. [LCHttpHelper requestWithURLString:GetAdvert parameters:@{@"source_id":@"2"} needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  446. @strongify(self);
  447. NSDictionary* dict = (NSDictionary*)responseObject;
  448. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  449. if (code==0) {//成功
  450. NSInteger status = [dict[@"data"][@"advert"][@"status"] integerValue];
  451. NSString *image = dict[@"data"][@"advert"][@"image"];
  452. NSInteger link_type = [dict[@"data"][@"advert"][@"link_type"] integerValue];
  453. NSString *link_url = dict[@"data"][@"advert"][@"link_url"];
  454. NSInteger window_type = [dict[@"data"][@"advert"][@"window_type"] integerValue];
  455. if (status == 1 && image.length>5) {
  456. if (window_type == 2) {
  457. YOUPAIHRWebWindow *window = [[YOUPAIHRWebWindow alloc] init];
  458. window.isTouchDismiss = YES;
  459. window.youpaipurl = dict[@"data"][@"advert"][@"window_link"];
  460. window.youpaipwidth = [dict[@"data"][@"advert"][@"width"] floatValue];
  461. window.youpaipheight = [dict[@"data"][@"advert"][@"height"] floatValue];
  462. window.youpaipgravity = dict[@"data"][@"advert"][@"gravity"];
  463. [self TFPresentVC:window completion:^{}];
  464. }else{
  465. YOUPAIZYAdvertWindow *VC= [[YOUPAIZYAdvertWindow alloc]init];
  466. VC.youpaipdelegate = self;
  467. VC.vWidth = KScreenWidth -30;
  468. VC.vHeight = KScreenWidth-30;
  469. VC.youpaipimageurl = image;
  470. VC.youpaiplink_type = link_type;
  471. VC.youpaiplink_url = link_url;
  472. VC.isTouchDismiss = YES;
  473. [self TFPresentVC:VC completion:^{}];
  474. }
  475. }
  476. }
  477. } failure:^(NSError *error) {}];
  478. }
  479. #pragma mark - ZYFirstRechargeWindowDelegate
  480. - (void)youpaifLZFirstRechargeClickAdverImage:(NSInteger)link_type andUrl:(NSString *)link_url{
  481. if (link_type == 1) {
  482. ZCBaseWebVC* baseWeb = [[ZCBaseWebVC alloc]init];
  483. baseWeb.contentUrl = link_url;
  484. UIViewController *vc = [LCTools getContainNavigationControllerCurrentVC];
  485. if([NSStringFromClass([LCTools getContainNavigationControllerCurrentVC].class) isEqual:@"YOUPAILZLiveAudienceVC"]) {
  486. YOUPAILZLiveAudienceVC *audienceVC = (YOUPAILZLiveAudienceVC *)vc;
  487. audienceVC.youpaipisNotPanClose = YES;
  488. }
  489. [vc.navigationController pushViewController:baseWeb animated:YES];
  490. }else if (link_type==2 || link_type==3){
  491. UIViewController *vc = [LCTools getContainNavigationControllerCurrentVC];
  492. if([NSStringFromClass([LCTools getContainNavigationControllerCurrentVC].class) isEqual:@"YOUPAILZLiveAudienceVC"]) {
  493. YOUPAILZLiveAudienceVC *audienceVC = (YOUPAILZLiveAudienceVC *)vc;
  494. audienceVC.youpaipisNotPanClose = YES;
  495. }
  496. [vc youpaifpageToStr:link_url];
  497. }else{
  498. }
  499. }
  500. #pragma mark -ZYAdvertWindowDelegate
  501. -(void)youpaifclickAdverImage:(NSInteger)link_type andUrl:(NSString *)link_url
  502. {
  503. if (link_type == 1) {
  504. ZCBaseWebVC* baseWeb = [[ZCBaseWebVC alloc]init];
  505. baseWeb.contentUrl = link_url;
  506. [self.navigationController pushViewController:baseWeb animated:YES];
  507. }else if (link_type==2 || link_type==3){
  508. [self youpaifpageToStr:link_url];
  509. }else{
  510. YOUPAILZVipVC* baseWeb = [[YOUPAILZVipVC alloc]init];
  511. [self.navigationController pushViewController:baseWeb animated:YES];
  512. }
  513. }
  514. - (void)youpaifinitConfig{ //系统配置信息
  515. [[SDWebImageDownloader sharedDownloader] downloadImageWithURL:[LCTools getImageUrlWithAddress:@"/v1.3/dress/bubble/lALPD3zUOqg7eJA7bg_110_59.png"] options:SDWebImageDownloaderUseNSURLCache progress:^(NSInteger receivedSize, NSInteger expectedSize, NSURL * _Nullable targetURL) {} completed:^(UIImage * _Nullable image, NSData * _Nullable data, NSError * _Nullable error, BOOL finished) {
  516. if(data != nil){
  517. [LCSaveData saveBubbleWithKey:[LCTools getImageUrlWithAddress:@"/v1.3/dress/bubble/lALPD3zUOqg7eJA7bg_110_59.png"].absoluteString Data:data];
  518. }
  519. }];
  520. @weakify(self);
  521. [LCHttpHelper requestWithURLString:AppConfig parameters:nil needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  522. @strongify(self);
  523. NSDictionary* dict = (NSDictionary*)responseObject;
  524. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  525. if (code==0) {//成功
  526. NSString* sysId = [[[dict objectForKey:@"data"]objectForKey:@"config"] objectForKey:@"sysId"];
  527. NSString* servId = [[[dict objectForKey:@"data"]objectForKey:@"config"] objectForKey:@"servId"];
  528. NSString* appurl = [[[dict objectForKey:@"data"]objectForKey:@"config"] objectForKey:@"appurl"];
  529. NSArray* serviceIdArr = [[[dict objectForKey:@"data"]objectForKey:@"config"] objectForKey:@"serviceId"];
  530. NSString *audit_status = [NSString stringWithFormat:@"%@",[[[dict objectForKey:@"data"]objectForKey:@"config"] objectForKey:@"audit_status"]];
  531. NSString *rankH5Url = [[dict objectForKey:@"data"]objectForKey:@"rank_url"];
  532. NSInteger free = [[[[dict objectForKey:@"data"]objectForKey:@"config"] objectForKey:@"free"] integerValue];
  533. NSInteger timeOut = [[[[dict objectForKey:@"data"]objectForKey:@"config"] objectForKey:@"timeOut"] integerValue];
  534. NSInteger isLive = [[[[dict objectForKey:@"data"]objectForKey:@"config"] objectForKey:@"is_live"] integerValue];
  535. [self performSelector:@selector(youpaifloadAdvert1) withObject:nil afterDelay:timeOut];
  536. [LCSaveData saveAppUrl:appurl];
  537. [LCSaveData saveSysId:sysId];
  538. [LCSaveData saveServerId:servId];
  539. [LCSaveData saveServiceIdArr:serviceIdArr];
  540. [LCSaveData saveRankH5Url:rankH5Url];
  541. [LCSaveData saveIMPrice:free];
  542. [LCSaveData saveIsLive:isLive];
  543. NSArray *bubbles = [[[dict objectForKey:@"data"]objectForKey:@"dress"] objectForKey:@"bubble"];
  544. for (NSDictionary *bubbleDist in bubbles) {
  545. [[SDWebImageDownloader sharedDownloader] downloadImageWithURL:[LCTools getImageUrlWithAddress:[bubbleDist objectForKey:@"bubble"]] options:SDWebImageDownloaderUseNSURLCache progress:^(NSInteger receivedSize, NSInteger expectedSize, NSURL * _Nullable targetURL) {} completed:^(UIImage * _Nullable image, NSData * _Nullable data, NSError * _Nullable error, BOOL finished) {
  546. if(data != nil){
  547. [LCSaveData saveBubbleWithKey:[LCTools getImageUrlWithAddress:[bubbleDist objectForKey:@"bubble"]].absoluteString Data:data];
  548. }
  549. }];
  550. }
  551. BOOL youpaiponlineStatus = NO;
  552. if (audit_status.length != 0) {
  553. youpaiponlineStatus = ![audit_status boolValue];
  554. }
  555. if (youpaiponlineStatus != [LCSaveData getOnlineVersion]) {
  556. [LCSaveData saveOnlineVersion:youpaiponlineStatus];
  557. /// 线上版本状态改变,发送通知
  558. [[NSNotificationCenter defaultCenter] postNotificationName:@"OnlineVersion" object:nil userInfo:nil];
  559. }
  560. // [self youpaifinitUI];
  561. }
  562. } failure:^(NSError *error) {
  563. }];
  564. }
  565. /// 获取等级图标
  566. - (void)youpaifloadLevelInfo{
  567. [LCHttpHelper requestWithURLString:LevelInfo parameters:nil needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  568. NSDictionary* dict = (NSDictionary*)responseObject;
  569. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  570. if (code==0) {//成功
  571. NSDictionary* levelInfo = [dict objectForKey:@"data"];
  572. [LCSaveData saveLevelInfo:levelInfo];
  573. }
  574. } failure:^(NSError *error) {
  575. }];
  576. [LCHttpHelper requestWithURLString:AllBadge parameters:nil needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  577. NSDictionary* dict = (NSDictionary*)responseObject;
  578. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  579. if (code==0) {//成功
  580. NSDictionary* data = [dict objectForKey:@"data"];
  581. NSDictionary* badge = [data objectForKey:@"badge"];
  582. NSDictionary* noble = [data objectForKey:@"noble"];
  583. [LCSaveData saveBadgeInfo:badge];
  584. [LCSaveData saveNobleInfo:noble];
  585. }
  586. } failure:^(NSError *error) {
  587. }];
  588. }
  589. -(void)youpaifgetHomeManagerStatus{
  590. [LCHttpHelper requestWithURLString:ChatRoom_talkManage parameters:@{@"page":@(1)} needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  591. NSDictionary* dict = (NSDictionary*)responseObject;
  592. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  593. if (code == 0) {//成功
  594. NSDictionary *data = [dict objectForKey:@"data"];
  595. NSArray *arr = data[@"list"];
  596. if (arr.count>0) {
  597. self.youpaipisShowManager = YES;
  598. }else{
  599. self.youpaipisShowManager = NO;
  600. }
  601. [self youpaifinitUI];
  602. }else{
  603. }
  604. } failure:^(NSError *error) {
  605. }];
  606. }
  607. @end