Compare commits

...

14 Commits

Author SHA1 Message Date
liyuhua
9414831b17 更换图片logo 2024-02-23 18:36:18 +08:00
liyuhua
76efc4a30e 小游戏优化 2024-02-23 18:36:18 +08:00
liyuhua
4f101e26f4 修复bug 2024-02-23 18:36:18 +08:00
liyuhua
f530254d3b 更改logo 2024-02-23 18:36:18 +08:00
liyuhua
2f2456fa18 商店包版本修改 此commit置顶 2.6.0 2024-02-23 18:35:35 +08:00
liyuhua
a189cdfaa8 修复bug 2024-02-23 14:40:10 +08:00
liyuhua
5f0d52451c 首页tag优化 2024-02-22 15:58:48 +08:00
liyuhua
06b39c2671 主播收入 2024-02-21 17:22:50 +08:00
liyuhua
32c6c8c7d2 资源位bug修复 2024-02-21 10:51:08 +08:00
liyuhua
6cbf6c55ca 推送及房间资源位优化 2024-02-21 10:18:59 +08:00
liyuhua
8e1ca7fa99 版本修改 此commit置顶 2.5.2 2024-01-11 17:58:31 +08:00
liyuhua
fe423a27a5 版本修改 此commit置顶 2.5.2 2024-01-11 17:57:47 +08:00
liyuhua
29c188788d 版本修改 此commit置顶 2.5.2 2024-01-11 17:57:06 +08:00
liyuhua
9f12705a8b 版本修改 此commit置顶 2.5.1 2024-01-10 18:04:12 +08:00
98 changed files with 1858 additions and 1436 deletions

View File

@@ -307,8 +307,17 @@
23A439742AA1CF7C002E6039 /* XPNewHomeHeadView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23A439732AA1CF7C002E6039 /* XPNewHomeHeadView.m */; }; 23A439742AA1CF7C002E6039 /* XPNewHomeHeadView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23A439732AA1CF7C002E6039 /* XPNewHomeHeadView.m */; };
23B2AEC12A64E9C200543D17 /* LoginForgetEditView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B2AEC02A64E9C200543D17 /* LoginForgetEditView.m */; }; 23B2AEC12A64E9C200543D17 /* LoginForgetEditView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B2AEC02A64E9C200543D17 /* LoginForgetEditView.m */; };
23B2AEC42A6516C200543D17 /* LoginForgetPasswordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B2AEC22A6516C200543D17 /* LoginForgetPasswordViewController.m */; }; 23B2AEC42A6516C200543D17 /* LoginForgetPasswordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B2AEC22A6516C200543D17 /* LoginForgetPasswordViewController.m */; };
23B8D8D82B85F8B900CA472F /* PIHoemCategoryTitleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B8D8D72B85F8B900CA472F /* PIHoemCategoryTitleCell.m */; };
23B8D8DB2B85FDDD00CA472F /* PIHomeCategoryTitleModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B8D8DA2B85FDDD00CA472F /* PIHomeCategoryTitleModel.m */; };
23B8D8DE2B860B8800CA472F /* PIHoemCategoryCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B8D8DD2B860B8800CA472F /* PIHoemCategoryCollectionView.m */; };
23B8D8E12B87715100CA472F /* PIGeneralPublicScreenModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B8D8E02B87715100CA472F /* PIGeneralPublicScreenModel.m */; };
23BA165B2A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23BA165A2A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.m */; }; 23BA165B2A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23BA165A2A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.m */; };
23C7C0B72A7CD7B000802205 /* XPNewMineGuildItemView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C7C0B62A7CD7B000802205 /* XPNewMineGuildItemView.m */; }; 23C7C0B72A7CD7B000802205 /* XPNewMineGuildItemView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C7C0B62A7CD7B000802205 /* XPNewMineGuildItemView.m */; };
23C9DFC32B84807A00B51558 /* PIRoomActivityClickView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C9DFC22B84807A00B51558 /* PIRoomActivityClickView.m */; };
23C9DFC62B84903500B51558 /* PIRoomActivityChoosePlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C9DFC52B84903500B51558 /* PIRoomActivityChoosePlayView.m */; };
23C9DFC92B84917B00B51558 /* PIRoomActivityChoosePlayCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C9DFC82B84917B00B51558 /* PIRoomActivityChoosePlayCell.m */; };
23C9DFCC2B85DD8B00B51558 /* PIGuildAnchorIncomeSectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C9DFCB2B85DD8B00B51558 /* PIGuildAnchorIncomeSectionView.m */; };
23C9DFCF2B85E21E00B51558 /* PIGuildSingleRoomIncomeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C9DFCE2B85E21E00B51558 /* PIGuildSingleRoomIncomeCell.m */; };
23CEFB6C2AFB803B00576D89 /* PISwitchingEnvironmentVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 23CEFB6B2AFB803B00576D89 /* PISwitchingEnvironmentVC.m */; }; 23CEFB6C2AFB803B00576D89 /* PISwitchingEnvironmentVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 23CEFB6B2AFB803B00576D89 /* PISwitchingEnvironmentVC.m */; };
23CEFC4A2AFB8FC100576D89 /* BSNSStringUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 23CEFC0C2AFB8FC100576D89 /* BSNSStringUtil.m */; }; 23CEFC4A2AFB8FC100576D89 /* BSNSStringUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 23CEFC0C2AFB8FC100576D89 /* BSNSStringUtil.m */; };
23CEFC4B2AFB8FC100576D89 /* BSUIDemoUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 23CEFC0D2AFB8FC100576D89 /* BSUIDemoUtil.m */; }; 23CEFC4B2AFB8FC100576D89 /* BSUIDemoUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 23CEFC0D2AFB8FC100576D89 /* BSUIDemoUtil.m */; };
@@ -498,8 +507,6 @@
9BA8A47727C60DF7000365A3 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BA8A47627C60DF7000365A3 /* AVFoundation.framework */; }; 9BA8A47727C60DF7000365A3 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BA8A47627C60DF7000365A3 /* AVFoundation.framework */; };
9BAA5FED277A1BBE007453F3 /* XPPrivacyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAA5FEC277A1BBE007453F3 /* XPPrivacyViewController.m */; }; 9BAA5FED277A1BBE007453F3 /* XPPrivacyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAA5FEC277A1BBE007453F3 /* XPPrivacyViewController.m */; };
9BAA5FF0277A23F4007453F3 /* XPPermissionsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAA5FEF277A23F4007453F3 /* XPPermissionsViewController.m */; }; 9BAA5FF0277A23F4007453F3 /* XPPermissionsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAA5FEF277A23F4007453F3 /* XPPermissionsViewController.m */; };
9BAC92EE28E6989400147DD8 /* XPRoomActivityPlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAC92ED28E6989400147DD8 /* XPRoomActivityPlayView.m */; };
9BAC92F228E6A05600147DD8 /* XPRoomActivityPlayModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAC92F128E6A05600147DD8 /* XPRoomActivityPlayModel.m */; };
9BAC92F528E6E63000147DD8 /* XPRoomInsideOperationCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAC92F428E6E63000147DD8 /* XPRoomInsideOperationCell.m */; }; 9BAC92F528E6E63000147DD8 /* XPRoomInsideOperationCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAC92F428E6E63000147DD8 /* XPRoomInsideOperationCell.m */; };
9BB89DC327FE7F3A00586A83 /* XPAnchorFansRelationModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BB89DC227FE7F3A00586A83 /* XPAnchorFansRelationModel.m */; }; 9BB89DC327FE7F3A00586A83 /* XPAnchorFansRelationModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BB89DC227FE7F3A00586A83 /* XPAnchorFansRelationModel.m */; };
9BB89DC627FEB9E100586A83 /* XPAnchorFansTaskViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BB89DC527FEB9E100586A83 /* XPAnchorFansTaskViewController.m */; }; 9BB89DC627FEB9E100586A83 /* XPAnchorFansTaskViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BB89DC527FEB9E100586A83 /* XPAnchorFansTaskViewController.m */; };
@@ -978,7 +985,6 @@
E85E7B1B2A4EB0D200B6D00A /* XPMineMainIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A8A2A4EB0D200B6D00A /* XPMineMainIncomeStatisViewController.m */; }; E85E7B1B2A4EB0D200B6D00A /* XPMineMainIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A8A2A4EB0D200B6D00A /* XPMineMainIncomeStatisViewController.m */; };
E85E7B1C2A4EB0D200B6D00A /* XPMineHallAnchorIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A8B2A4EB0D200B6D00A /* XPMineHallAnchorIncomeStatisViewController.m */; }; E85E7B1C2A4EB0D200B6D00A /* XPMineHallAnchorIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A8B2A4EB0D200B6D00A /* XPMineHallAnchorIncomeStatisViewController.m */; };
E85E7B1D2A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A8C2A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.m */; }; E85E7B1D2A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A8C2A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.m */; };
E85E7B1E2A4EB0D200B6D00A /* XPMineAnchorIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A912A4EB0D200B6D00A /* XPMineAnchorIncomeStatisViewController.m */; };
E85E7B1F2A4EB0D300B6D00A /* XPMineGuildIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A932A4EB0D200B6D00A /* XPMineGuildIncomeStatisViewController.m */; }; E85E7B1F2A4EB0D300B6D00A /* XPMineGuildIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A932A4EB0D200B6D00A /* XPMineGuildIncomeStatisViewController.m */; };
E85E7B202A4EB0D300B6D00A /* XPMineGuildIncomeDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A942A4EB0D200B6D00A /* XPMineGuildIncomeDetailViewController.m */; }; E85E7B202A4EB0D300B6D00A /* XPMineGuildIncomeDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A942A4EB0D200B6D00A /* XPMineGuildIncomeDetailViewController.m */; };
E85E7B212A4EB0D300B6D00A /* XPNewMineGuildIncomeRecordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A952A4EB0D200B6D00A /* XPNewMineGuildIncomeRecordViewController.m */; }; E85E7B212A4EB0D300B6D00A /* XPNewMineGuildIncomeRecordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A952A4EB0D200B6D00A /* XPNewMineGuildIncomeRecordViewController.m */; };
@@ -1262,9 +1268,6 @@
E89DCF5D2900E5EE001647EC /* WishGiftHistoryModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5C2900E5EE001647EC /* WishGiftHistoryModel.m */; }; E89DCF5D2900E5EE001647EC /* WishGiftHistoryModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5C2900E5EE001647EC /* WishGiftHistoryModel.m */; };
E89DCF602900F4FB001647EC /* XPWishGiftEnterView.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5F2900F4FB001647EC /* XPWishGiftEnterView.m */; }; E89DCF602900F4FB001647EC /* XPWishGiftEnterView.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5F2900F4FB001647EC /* XPWishGiftEnterView.m */; };
E8A03DFF27635F960098D9EA /* XPRoomCandyGiftView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A03DFE27635F960098D9EA /* XPRoomCandyGiftView.m */; }; E8A03DFF27635F960098D9EA /* XPRoomCandyGiftView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A03DFE27635F960098D9EA /* XPRoomCandyGiftView.m */; };
E8A1F794290642500099C952 /* XPRoomMorePlayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A1F793290642500099C952 /* XPRoomMorePlayViewController.m */; };
E8A1F7972906426B0099C952 /* XPRoomMorePlayPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A1F7962906426B0099C952 /* XPRoomMorePlayPresenter.m */; };
E8A1F79C290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A1F79B290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.m */; };
E8A30BE328534A28003B4873 /* XPSessionFindNewViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A30BE228534A28003B4873 /* XPSessionFindNewViewController.m */; }; E8A30BE328534A28003B4873 /* XPSessionFindNewViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A30BE228534A28003B4873 /* XPSessionFindNewViewController.m */; };
E8A30BE828534A63003B4873 /* XPSessionFindNewTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A30BE728534A63003B4873 /* XPSessionFindNewTableViewCell.m */; }; E8A30BE828534A63003B4873 /* XPSessionFindNewTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A30BE728534A63003B4873 /* XPSessionFindNewTableViewCell.m */; };
E8A30BEB28534A96003B4873 /* XPSessionFindNewFiltrateView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A30BEA28534A96003B4873 /* XPSessionFindNewFiltrateView.m */; }; E8A30BEB28534A96003B4873 /* XPSessionFindNewFiltrateView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A30BEA28534A96003B4873 /* XPSessionFindNewFiltrateView.m */; };
@@ -2077,10 +2080,28 @@
23B2AEC02A64E9C200543D17 /* LoginForgetEditView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginForgetEditView.m; sourceTree = "<group>"; }; 23B2AEC02A64E9C200543D17 /* LoginForgetEditView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginForgetEditView.m; sourceTree = "<group>"; };
23B2AEC22A6516C200543D17 /* LoginForgetPasswordViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginForgetPasswordViewController.m; sourceTree = "<group>"; }; 23B2AEC22A6516C200543D17 /* LoginForgetPasswordViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginForgetPasswordViewController.m; sourceTree = "<group>"; };
23B2AEC32A6516C200543D17 /* LoginForgetPasswordViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginForgetPasswordViewController.h; sourceTree = "<group>"; }; 23B2AEC32A6516C200543D17 /* LoginForgetPasswordViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginForgetPasswordViewController.h; sourceTree = "<group>"; };
23B8D8D62B85F8B900CA472F /* PIHoemCategoryTitleCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIHoemCategoryTitleCell.h; sourceTree = "<group>"; };
23B8D8D72B85F8B900CA472F /* PIHoemCategoryTitleCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIHoemCategoryTitleCell.m; sourceTree = "<group>"; };
23B8D8D92B85FDDD00CA472F /* PIHomeCategoryTitleModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIHomeCategoryTitleModel.h; sourceTree = "<group>"; };
23B8D8DA2B85FDDD00CA472F /* PIHomeCategoryTitleModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIHomeCategoryTitleModel.m; sourceTree = "<group>"; };
23B8D8DC2B860B8800CA472F /* PIHoemCategoryCollectionView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIHoemCategoryCollectionView.h; sourceTree = "<group>"; };
23B8D8DD2B860B8800CA472F /* PIHoemCategoryCollectionView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIHoemCategoryCollectionView.m; sourceTree = "<group>"; };
23B8D8DF2B87715100CA472F /* PIGeneralPublicScreenModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIGeneralPublicScreenModel.h; sourceTree = "<group>"; };
23B8D8E02B87715100CA472F /* PIGeneralPublicScreenModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIGeneralPublicScreenModel.m; sourceTree = "<group>"; };
23BA16592A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIBaseAnimationViewModel.h; sourceTree = "<group>"; }; 23BA16592A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIBaseAnimationViewModel.h; sourceTree = "<group>"; };
23BA165A2A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIBaseAnimationViewModel.m; sourceTree = "<group>"; }; 23BA165A2A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIBaseAnimationViewModel.m; sourceTree = "<group>"; };
23C7C0B52A7CD7B000802205 /* XPNewMineGuildItemView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNewMineGuildItemView.h; sourceTree = "<group>"; }; 23C7C0B52A7CD7B000802205 /* XPNewMineGuildItemView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNewMineGuildItemView.h; sourceTree = "<group>"; };
23C7C0B62A7CD7B000802205 /* XPNewMineGuildItemView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNewMineGuildItemView.m; sourceTree = "<group>"; }; 23C7C0B62A7CD7B000802205 /* XPNewMineGuildItemView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNewMineGuildItemView.m; sourceTree = "<group>"; };
23C9DFC12B84807A00B51558 /* PIRoomActivityClickView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIRoomActivityClickView.h; sourceTree = "<group>"; };
23C9DFC22B84807A00B51558 /* PIRoomActivityClickView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIRoomActivityClickView.m; sourceTree = "<group>"; };
23C9DFC42B84903500B51558 /* PIRoomActivityChoosePlayView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIRoomActivityChoosePlayView.h; sourceTree = "<group>"; };
23C9DFC52B84903500B51558 /* PIRoomActivityChoosePlayView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIRoomActivityChoosePlayView.m; sourceTree = "<group>"; };
23C9DFC72B84917B00B51558 /* PIRoomActivityChoosePlayCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIRoomActivityChoosePlayCell.h; sourceTree = "<group>"; };
23C9DFC82B84917B00B51558 /* PIRoomActivityChoosePlayCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIRoomActivityChoosePlayCell.m; sourceTree = "<group>"; };
23C9DFCA2B85DD8B00B51558 /* PIGuildAnchorIncomeSectionView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIGuildAnchorIncomeSectionView.h; sourceTree = "<group>"; };
23C9DFCB2B85DD8B00B51558 /* PIGuildAnchorIncomeSectionView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIGuildAnchorIncomeSectionView.m; sourceTree = "<group>"; };
23C9DFCD2B85E21E00B51558 /* PIGuildSingleRoomIncomeCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIGuildSingleRoomIncomeCell.h; sourceTree = "<group>"; };
23C9DFCE2B85E21E00B51558 /* PIGuildSingleRoomIncomeCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIGuildSingleRoomIncomeCell.m; sourceTree = "<group>"; };
23CEFB6A2AFB803B00576D89 /* PISwitchingEnvironmentVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PISwitchingEnvironmentVC.h; sourceTree = "<group>"; }; 23CEFB6A2AFB803B00576D89 /* PISwitchingEnvironmentVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PISwitchingEnvironmentVC.h; sourceTree = "<group>"; };
23CEFB6B2AFB803B00576D89 /* PISwitchingEnvironmentVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PISwitchingEnvironmentVC.m; sourceTree = "<group>"; }; 23CEFB6B2AFB803B00576D89 /* PISwitchingEnvironmentVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PISwitchingEnvironmentVC.m; sourceTree = "<group>"; };
23CEFC0B2AFB8FC100576D89 /* BSXWDateUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSXWDateUtil.h; sourceTree = "<group>"; }; 23CEFC0B2AFB8FC100576D89 /* BSXWDateUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSXWDateUtil.h; sourceTree = "<group>"; };
@@ -2440,10 +2461,6 @@
9BAA5FEC277A1BBE007453F3 /* XPPrivacyViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPPrivacyViewController.m; sourceTree = "<group>"; }; 9BAA5FEC277A1BBE007453F3 /* XPPrivacyViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPPrivacyViewController.m; sourceTree = "<group>"; };
9BAA5FEE277A23F4007453F3 /* XPPermissionsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPPermissionsViewController.h; sourceTree = "<group>"; }; 9BAA5FEE277A23F4007453F3 /* XPPermissionsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPPermissionsViewController.h; sourceTree = "<group>"; };
9BAA5FEF277A23F4007453F3 /* XPPermissionsViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPPermissionsViewController.m; sourceTree = "<group>"; }; 9BAA5FEF277A23F4007453F3 /* XPPermissionsViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPPermissionsViewController.m; sourceTree = "<group>"; };
9BAC92EC28E6989400147DD8 /* XPRoomActivityPlayView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomActivityPlayView.h; sourceTree = "<group>"; };
9BAC92ED28E6989400147DD8 /* XPRoomActivityPlayView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomActivityPlayView.m; sourceTree = "<group>"; };
9BAC92F028E6A05600147DD8 /* XPRoomActivityPlayModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomActivityPlayModel.h; sourceTree = "<group>"; };
9BAC92F128E6A05600147DD8 /* XPRoomActivityPlayModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomActivityPlayModel.m; sourceTree = "<group>"; };
9BAC92F328E6E63000147DD8 /* XPRoomInsideOperationCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomInsideOperationCell.h; sourceTree = "<group>"; }; 9BAC92F328E6E63000147DD8 /* XPRoomInsideOperationCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomInsideOperationCell.h; sourceTree = "<group>"; };
9BAC92F428E6E63000147DD8 /* XPRoomInsideOperationCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomInsideOperationCell.m; sourceTree = "<group>"; }; 9BAC92F428E6E63000147DD8 /* XPRoomInsideOperationCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomInsideOperationCell.m; sourceTree = "<group>"; };
9BAD41AD28C6ECBA005E47B3 /* XPInRoomRecordProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPInRoomRecordProtocol.h; sourceTree = "<group>"; }; 9BAD41AD28C6ECBA005E47B3 /* XPInRoomRecordProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPInRoomRecordProtocol.h; sourceTree = "<group>"; };
@@ -3256,7 +3273,6 @@
E85E7A842A4EB0D200B6D00A /* GuildSearchUserInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuildSearchUserInfoModel.h; sourceTree = "<group>"; }; E85E7A842A4EB0D200B6D00A /* GuildSearchUserInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuildSearchUserInfoModel.h; sourceTree = "<group>"; };
E85E7A872A4EB0D200B6D00A /* XPMineGuildIncomeStatisViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineGuildIncomeStatisViewController.h; sourceTree = "<group>"; }; E85E7A872A4EB0D200B6D00A /* XPMineGuildIncomeStatisViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineGuildIncomeStatisViewController.h; sourceTree = "<group>"; };
E85E7A882A4EB0D200B6D00A /* XPMineGoldIncomeRecordVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineGoldIncomeRecordVC.m; sourceTree = "<group>"; }; E85E7A882A4EB0D200B6D00A /* XPMineGoldIncomeRecordVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineGoldIncomeRecordVC.m; sourceTree = "<group>"; };
E85E7A892A4EB0D200B6D00A /* XPMineAnchorIncomeStatisViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineAnchorIncomeStatisViewController.h; sourceTree = "<group>"; };
E85E7A8A2A4EB0D200B6D00A /* XPMineMainIncomeStatisViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineMainIncomeStatisViewController.m; sourceTree = "<group>"; }; E85E7A8A2A4EB0D200B6D00A /* XPMineMainIncomeStatisViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineMainIncomeStatisViewController.m; sourceTree = "<group>"; };
E85E7A8B2A4EB0D200B6D00A /* XPMineHallAnchorIncomeStatisViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineHallAnchorIncomeStatisViewController.m; sourceTree = "<group>"; }; E85E7A8B2A4EB0D200B6D00A /* XPMineHallAnchorIncomeStatisViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineHallAnchorIncomeStatisViewController.m; sourceTree = "<group>"; };
E85E7A8C2A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineClanIncomeStatisViewController.m; sourceTree = "<group>"; }; E85E7A8C2A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineClanIncomeStatisViewController.m; sourceTree = "<group>"; };
@@ -3264,7 +3280,6 @@
E85E7A8E2A4EB0D200B6D00A /* XPMineGuildIncomeDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineGuildIncomeDetailViewController.h; sourceTree = "<group>"; }; E85E7A8E2A4EB0D200B6D00A /* XPMineGuildIncomeDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineGuildIncomeDetailViewController.h; sourceTree = "<group>"; };
E85E7A8F2A4EB0D200B6D00A /* XPMineGuildIncomeRecordViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineGuildIncomeRecordViewController.h; sourceTree = "<group>"; }; E85E7A8F2A4EB0D200B6D00A /* XPMineGuildIncomeRecordViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineGuildIncomeRecordViewController.h; sourceTree = "<group>"; };
E85E7A902A4EB0D200B6D00A /* XPMineMainIncomeStatisViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineMainIncomeStatisViewController.h; sourceTree = "<group>"; }; E85E7A902A4EB0D200B6D00A /* XPMineMainIncomeStatisViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineMainIncomeStatisViewController.h; sourceTree = "<group>"; };
E85E7A912A4EB0D200B6D00A /* XPMineAnchorIncomeStatisViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineAnchorIncomeStatisViewController.m; sourceTree = "<group>"; };
E85E7A922A4EB0D200B6D00A /* XPMineGoldIncomeRecordVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineGoldIncomeRecordVC.h; sourceTree = "<group>"; }; E85E7A922A4EB0D200B6D00A /* XPMineGoldIncomeRecordVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineGoldIncomeRecordVC.h; sourceTree = "<group>"; };
E85E7A932A4EB0D200B6D00A /* XPMineGuildIncomeStatisViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineGuildIncomeStatisViewController.m; sourceTree = "<group>"; }; E85E7A932A4EB0D200B6D00A /* XPMineGuildIncomeStatisViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineGuildIncomeStatisViewController.m; sourceTree = "<group>"; };
E85E7A942A4EB0D200B6D00A /* XPMineGuildIncomeDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineGuildIncomeDetailViewController.m; sourceTree = "<group>"; }; E85E7A942A4EB0D200B6D00A /* XPMineGuildIncomeDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineGuildIncomeDetailViewController.m; sourceTree = "<group>"; };
@@ -3843,13 +3858,6 @@
E89DCF5F2900F4FB001647EC /* XPWishGiftEnterView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftEnterView.m; sourceTree = "<group>"; }; E89DCF5F2900F4FB001647EC /* XPWishGiftEnterView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftEnterView.m; sourceTree = "<group>"; };
E8A03DFD27635F960098D9EA /* XPRoomCandyGiftView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomCandyGiftView.h; sourceTree = "<group>"; }; E8A03DFD27635F960098D9EA /* XPRoomCandyGiftView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomCandyGiftView.h; sourceTree = "<group>"; };
E8A03DFE27635F960098D9EA /* XPRoomCandyGiftView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomCandyGiftView.m; sourceTree = "<group>"; }; E8A03DFE27635F960098D9EA /* XPRoomCandyGiftView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomCandyGiftView.m; sourceTree = "<group>"; };
E8A1F792290642500099C952 /* XPRoomMorePlayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMorePlayViewController.h; sourceTree = "<group>"; };
E8A1F793290642500099C952 /* XPRoomMorePlayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMorePlayViewController.m; sourceTree = "<group>"; };
E8A1F7952906426B0099C952 /* XPRoomMorePlayPresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMorePlayPresenter.h; sourceTree = "<group>"; };
E8A1F7962906426B0099C952 /* XPRoomMorePlayPresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMorePlayPresenter.m; sourceTree = "<group>"; };
E8A1F7982906427D0099C952 /* XPRoomMorePlayProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMorePlayProtocol.h; sourceTree = "<group>"; };
E8A1F79A290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMorePlayCollectionViewCell.h; sourceTree = "<group>"; };
E8A1F79B290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMorePlayCollectionViewCell.m; sourceTree = "<group>"; };
E8A30BE128534A28003B4873 /* XPSessionFindNewViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPSessionFindNewViewController.h; sourceTree = "<group>"; }; E8A30BE128534A28003B4873 /* XPSessionFindNewViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPSessionFindNewViewController.h; sourceTree = "<group>"; };
E8A30BE228534A28003B4873 /* XPSessionFindNewViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPSessionFindNewViewController.m; sourceTree = "<group>"; }; E8A30BE228534A28003B4873 /* XPSessionFindNewViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPSessionFindNewViewController.m; sourceTree = "<group>"; };
E8A30BE628534A63003B4873 /* XPSessionFindNewTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPSessionFindNewTableViewCell.h; sourceTree = "<group>"; }; E8A30BE628534A63003B4873 /* XPSessionFindNewTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPSessionFindNewTableViewCell.h; sourceTree = "<group>"; };
@@ -7906,6 +7914,8 @@
E87A24F0272935920086A794 /* XPMessageRemoteExtModel.m */, E87A24F0272935920086A794 /* XPMessageRemoteExtModel.m */,
E8398069290288660084BFC8 /* XPMessageInfoModel.h */, E8398069290288660084BFC8 /* XPMessageInfoModel.h */,
E839806A290288660084BFC8 /* XPMessageInfoModel.m */, E839806A290288660084BFC8 /* XPMessageInfoModel.m */,
23B8D8DF2B87715100CA472F /* PIGeneralPublicScreenModel.h */,
23B8D8E02B87715100CA472F /* PIGeneralPublicScreenModel.m */,
); );
path = Model; path = Model;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -8113,8 +8123,6 @@
E85E7A862A4EB0D200B6D00A /* IncomeStatis */ = { E85E7A862A4EB0D200B6D00A /* IncomeStatis */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
E85E7A892A4EB0D200B6D00A /* XPMineAnchorIncomeStatisViewController.h */,
E85E7A912A4EB0D200B6D00A /* XPMineAnchorIncomeStatisViewController.m */,
E85E7A962A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.h */, E85E7A962A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.h */,
E85E7A8C2A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.m */, E85E7A8C2A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.m */,
E85E7A922A4EB0D200B6D00A /* XPMineGoldIncomeRecordVC.h */, E85E7A922A4EB0D200B6D00A /* XPMineGoldIncomeRecordVC.h */,
@@ -8163,6 +8171,8 @@
E85E7AB82A4EB0D200B6D00A /* XPGoldIncomeSectionView.m */, E85E7AB82A4EB0D200B6D00A /* XPGoldIncomeSectionView.m */,
E85E7AB02A4EB0D200B6D00A /* XPGuildAnchorIncomeSectionView.h */, E85E7AB02A4EB0D200B6D00A /* XPGuildAnchorIncomeSectionView.h */,
E85E7ABC2A4EB0D200B6D00A /* XPGuildAnchorIncomeSectionView.m */, E85E7ABC2A4EB0D200B6D00A /* XPGuildAnchorIncomeSectionView.m */,
23C9DFCA2B85DD8B00B51558 /* PIGuildAnchorIncomeSectionView.h */,
23C9DFCB2B85DD8B00B51558 /* PIGuildAnchorIncomeSectionView.m */,
E85E7AA52A4EB0D200B6D00A /* XPGuildHeaderView.h */, E85E7AA52A4EB0D200B6D00A /* XPGuildHeaderView.h */,
E85E7AB22A4EB0D200B6D00A /* XPGuildHeaderView.m */, E85E7AB22A4EB0D200B6D00A /* XPGuildHeaderView.m */,
E85E7AA92A4EB0D200B6D00A /* XPGuildIncomeHeaderView.h */, E85E7AA92A4EB0D200B6D00A /* XPGuildIncomeHeaderView.h */,
@@ -8254,6 +8264,8 @@
E85E7AD72A4EB0D200B6D00A /* XPGuildPersonIncomeTableViewCell.m */, E85E7AD72A4EB0D200B6D00A /* XPGuildPersonIncomeTableViewCell.m */,
E85E7AD92A4EB0D200B6D00A /* XPGuildSingleRoomIncomeTableViewCell.h */, E85E7AD92A4EB0D200B6D00A /* XPGuildSingleRoomIncomeTableViewCell.h */,
E85E7AD52A4EB0D200B6D00A /* XPGuildSingleRoomIncomeTableViewCell.m */, E85E7AD52A4EB0D200B6D00A /* XPGuildSingleRoomIncomeTableViewCell.m */,
23C9DFCD2B85E21E00B51558 /* PIGuildSingleRoomIncomeCell.h */,
23C9DFCE2B85E21E00B51558 /* PIGuildSingleRoomIncomeCell.m */,
); );
path = Income; path = Income;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -8964,6 +8976,10 @@
E87E625C2A3F5622002F68C9 /* XPNewHomeViewController.m */, E87E625C2A3F5622002F68C9 /* XPNewHomeViewController.m */,
239BEED92AA1E058005CDA94 /* PIHoemCategoryTitleView.h */, 239BEED92AA1E058005CDA94 /* PIHoemCategoryTitleView.h */,
239BEEDA2AA1E058005CDA94 /* PIHoemCategoryTitleView.m */, 239BEEDA2AA1E058005CDA94 /* PIHoemCategoryTitleView.m */,
23B8D8DC2B860B8800CA472F /* PIHoemCategoryCollectionView.h */,
23B8D8DD2B860B8800CA472F /* PIHoemCategoryCollectionView.m */,
23B8D8D62B85F8B900CA472F /* PIHoemCategoryTitleCell.h */,
23B8D8D72B85F8B900CA472F /* PIHoemCategoryTitleCell.m */,
); );
path = View; path = View;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -8998,6 +9014,8 @@
E87DF4BE2A42C8C1009C1185 /* HomeTagModel.m */, E87DF4BE2A42C8C1009C1185 /* HomeTagModel.m */,
23FF42712AA6CC480055733C /* PIHomeItemModel.h */, 23FF42712AA6CC480055733C /* PIHomeItemModel.h */,
23FF42722AA6CC480055733C /* PIHomeItemModel.m */, 23FF42722AA6CC480055733C /* PIHomeItemModel.m */,
23B8D8D92B85FDDD00CA472F /* PIHomeCategoryTitleModel.h */,
23B8D8DA2B85FDDD00CA472F /* PIHomeCategoryTitleModel.m */,
); );
path = Model; path = Model;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -9394,62 +9412,6 @@
path = Resources; path = Resources;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
E8A1F78D290641D80099C952 /* MorePlay */ = {
isa = PBXGroup;
children = (
E8A1F791290642040099C952 /* Model */,
E8A1F790290641FB0099C952 /* View */,
E8A1F78F290641EB0099C952 /* Presenter */,
E8A1F78E290641E50099C952 /* Protocol */,
);
path = MorePlay;
sourceTree = "<group>";
};
E8A1F78E290641E50099C952 /* Protocol */ = {
isa = PBXGroup;
children = (
E8A1F7982906427D0099C952 /* XPRoomMorePlayProtocol.h */,
);
path = Protocol;
sourceTree = "<group>";
};
E8A1F78F290641EB0099C952 /* Presenter */ = {
isa = PBXGroup;
children = (
E8A1F7952906426B0099C952 /* XPRoomMorePlayPresenter.h */,
E8A1F7962906426B0099C952 /* XPRoomMorePlayPresenter.m */,
);
path = Presenter;
sourceTree = "<group>";
};
E8A1F790290641FB0099C952 /* View */ = {
isa = PBXGroup;
children = (
E8A1F799290644C20099C952 /* Cell */,
E8A1F792290642500099C952 /* XPRoomMorePlayViewController.h */,
E8A1F793290642500099C952 /* XPRoomMorePlayViewController.m */,
);
path = View;
sourceTree = "<group>";
};
E8A1F791290642040099C952 /* Model */ = {
isa = PBXGroup;
children = (
9BAC92F028E6A05600147DD8 /* XPRoomActivityPlayModel.h */,
9BAC92F128E6A05600147DD8 /* XPRoomActivityPlayModel.m */,
);
path = Model;
sourceTree = "<group>";
};
E8A1F799290644C20099C952 /* Cell */ = {
isa = PBXGroup;
children = (
E8A1F79A290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.h */,
E8A1F79B290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.m */,
);
path = Cell;
sourceTree = "<group>";
};
E8A30BDB28534667003B4873 /* FindNew */ = { E8A30BDB28534667003B4873 /* FindNew */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@@ -9681,7 +9643,6 @@
E8AEAEE927141ACC0017FCE0 /* MenuContainerView */, E8AEAEE927141ACC0017FCE0 /* MenuContainerView */,
E8AEAEE627141ACC0017FCE0 /* MessageContainerView */, E8AEAEE627141ACC0017FCE0 /* MessageContainerView */,
186F8B472733F2AE007A17BC /* MicroQueueProtocol.h */, 186F8B472733F2AE007A17BC /* MicroQueueProtocol.h */,
E8A1F78D290641D80099C952 /* MorePlay */,
E8DEC9962764A51F0078CB70 /* MoreView */, E8DEC9962764A51F0078CB70 /* MoreView */,
9B9BBF80288FBF93004E2E74 /* NewUserGift */, 9B9BBF80288FBF93004E2E74 /* NewUserGift */,
E87AE8C2284E1A6B00CAFBB3 /* NewUserGreet */, E87AE8C2284E1A6B00CAFBB3 /* NewUserGreet */,
@@ -9721,8 +9682,12 @@
children = ( children = (
E8AE427127153A3500BEEBB2 /* XPRoomActivityContainerView.h */, E8AE427127153A3500BEEBB2 /* XPRoomActivityContainerView.h */,
E8AE427227153A3500BEEBB2 /* XPRoomActivityContainerView.m */, E8AE427227153A3500BEEBB2 /* XPRoomActivityContainerView.m */,
9BAC92EC28E6989400147DD8 /* XPRoomActivityPlayView.h */, 23C9DFC12B84807A00B51558 /* PIRoomActivityClickView.h */,
9BAC92ED28E6989400147DD8 /* XPRoomActivityPlayView.m */, 23C9DFC22B84807A00B51558 /* PIRoomActivityClickView.m */,
23C9DFC42B84903500B51558 /* PIRoomActivityChoosePlayView.h */,
23C9DFC52B84903500B51558 /* PIRoomActivityChoosePlayView.m */,
23C9DFC72B84917B00B51558 /* PIRoomActivityChoosePlayCell.h */,
23C9DFC82B84917B00B51558 /* PIRoomActivityChoosePlayCell.m */,
235A45182B04A352009753F5 /* PIRoomActivityWebView.h */, 235A45182B04A352009753F5 /* PIRoomActivityWebView.h */,
235A45192B04A352009753F5 /* PIRoomActivityWebView.m */, 235A45192B04A352009753F5 /* PIRoomActivityWebView.m */,
235A451B2B04A452009753F5 /* PIRoomActivityWebCell.h */, 235A451B2B04A452009753F5 /* PIRoomActivityWebCell.h */,
@@ -10884,6 +10849,7 @@
E87C0AA027D9DE6400CB2241 /* RoomFaceSendInfoModel.m in Sources */, E87C0AA027D9DE6400CB2241 /* RoomFaceSendInfoModel.m in Sources */,
1464C5F629A4CA8C00AF7C94 /* XPIAPRechargeCollectionViewCell.m in Sources */, 1464C5F629A4CA8C00AF7C94 /* XPIAPRechargeCollectionViewCell.m in Sources */,
E8751E6328A646400056EF44 /* XPSailingRankView.m in Sources */, E8751E6328A646400056EF44 /* XPSailingRankView.m in Sources */,
23C9DFCC2B85DD8B00B51558 /* PIGuildAnchorIncomeSectionView.m in Sources */,
9BD9A18027A0EFC7004186FE /* XPMineVisitorTableViewCell.m in Sources */, 9BD9A18027A0EFC7004186FE /* XPMineVisitorTableViewCell.m in Sources */,
233423D02AAEFBC300B1253F /* PICandyTreeSetModel.m in Sources */, 233423D02AAEFBC300B1253F /* PICandyTreeSetModel.m in Sources */,
E85E7B112A4EB0D200B6D00A /* GuildPersonIncomeRecordModel.m in Sources */, E85E7B112A4EB0D200B6D00A /* GuildPersonIncomeRecordModel.m in Sources */,
@@ -10989,7 +10955,6 @@
E80E900C27E0358900434B90 /* XPRoomTopicAlertView.m in Sources */, E80E900C27E0358900434B90 /* XPRoomTopicAlertView.m in Sources */,
9BDA3E7A27FD43EF00517FE6 /* XPAnchorFansTeamEntranceView.m in Sources */, 9BDA3E7A27FD43EF00517FE6 /* XPAnchorFansTeamEntranceView.m in Sources */,
E81C279826EB3AC40031E639 /* LoginForgetPasswordProtocol.h in Sources */, E81C279826EB3AC40031E639 /* LoginForgetPasswordProtocol.h in Sources */,
9BAC92F228E6A05600147DD8 /* XPRoomActivityPlayModel.m in Sources */,
9BD8D4E328911E9900AE03FF /* XPMineCollectRoomListViewController.m in Sources */, 9BD8D4E328911E9900AE03FF /* XPMineCollectRoomListViewController.m in Sources */,
2331C1732A5EB71000E1D940 /* XPNoblePrivilegeCell.m in Sources */, 2331C1732A5EB71000E1D940 /* XPNoblePrivilegeCell.m in Sources */,
9B2EA7C628041EFC00ED17BF /* XPAnchorPkPanelView.m in Sources */, 9B2EA7C628041EFC00ED17BF /* XPAnchorPkPanelView.m in Sources */,
@@ -11052,7 +11017,6 @@
9BD9A17927A0EC57004186FE /* XPMineVisitorPresenter.m in Sources */, 9BD9A17927A0EC57004186FE /* XPMineVisitorPresenter.m in Sources */,
E8BD0F8828A9E9E400DE050D /* RoomSailingPrizeModel.m in Sources */, E8BD0F8828A9E9E400DE050D /* RoomSailingPrizeModel.m in Sources */,
238B37B32AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordCell.m in Sources */, 238B37B32AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordCell.m in Sources */,
E8A1F79C290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.m in Sources */,
23CEFC512AFB8FC100576D89 /* SystemUtil.m in Sources */, 23CEFC512AFB8FC100576D89 /* SystemUtil.m in Sources */,
E8659909273E800D00EE349D /* XPGiftCollectionViewFlowLayout.m in Sources */, E8659909273E800D00EE349D /* XPGiftCollectionViewFlowLayout.m in Sources */,
238B37BD2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsContentView.m in Sources */, 238B37BD2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsContentView.m in Sources */,
@@ -11132,7 +11096,9 @@
E8998D8B2859CB6A00C68558 /* XPMineUserInfoGiftWallSubViewController.m in Sources */, E8998D8B2859CB6A00C68558 /* XPMineUserInfoGiftWallSubViewController.m in Sources */,
E8DEC9A42764A6600078CB70 /* XPMoreMenuPresenter.m in Sources */, E8DEC9A42764A6600078CB70 /* XPMoreMenuPresenter.m in Sources */,
189DD53426DE255300AB55B1 /* TabbarViewController.m in Sources */, 189DD53426DE255300AB55B1 /* TabbarViewController.m in Sources */,
23C9DFC92B84917B00B51558 /* PIRoomActivityChoosePlayCell.m in Sources */,
9BA3B40B293DCDFD0071DF1C /* XPVersionUpdateModel.m in Sources */, 9BA3B40B293DCDFD0071DF1C /* XPVersionUpdateModel.m in Sources */,
23C9DFCF2B85E21E00B51558 /* PIGuildSingleRoomIncomeCell.m in Sources */,
18EE401A2754BA9F00A452BF /* NIMMessageMaker.m in Sources */, 18EE401A2754BA9F00A452BF /* NIMMessageMaker.m in Sources */,
E8EEB91D26FC9D58007C6EBA /* XPMineUserInfoDateView.m in Sources */, E8EEB91D26FC9D58007C6EBA /* XPMineUserInfoDateView.m in Sources */,
E82325E9274CE56A003A3332 /* XPShareItem.m in Sources */, E82325E9274CE56A003A3332 /* XPShareItem.m in Sources */,
@@ -11191,6 +11157,7 @@
E81C27AB26EF2D920031E639 /* ThirdUserInfo.m in Sources */, E81C27AB26EF2D920031E639 /* ThirdUserInfo.m in Sources */,
23FF25682ABC3BC00064E904 /* XPHomeGameCell.m in Sources */, 23FF25682ABC3BC00064E904 /* XPHomeGameCell.m in Sources */,
E8788950273A699900BF1D57 /* ThemeColor+SendGift.m in Sources */, E8788950273A699900BF1D57 /* ThemeColor+SendGift.m in Sources */,
23B8D8D82B85F8B900CA472F /* PIHoemCategoryTitleCell.m in Sources */,
E81C279D26EEEC620031E639 /* YUMIConstant.m in Sources */, E81C279D26EEEC620031E639 /* YUMIConstant.m in Sources */,
238B37AF2AC55A2C00BFC9D5 /* XPTreasureFairyViewController.m in Sources */, 238B37AF2AC55A2C00BFC9D5 /* XPTreasureFairyViewController.m in Sources */,
238B37DB2AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardSuccessView.m in Sources */, 238B37DB2AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardSuccessView.m in Sources */,
@@ -11336,7 +11303,6 @@
9B0E1C5926E77022005D4442 /* BaseNavigationController.m in Sources */, 9B0E1C5926E77022005D4442 /* BaseNavigationController.m in Sources */,
E8664ED927E4355C000171BA /* XPRoomPKRecordTableViewCell.m in Sources */, E8664ED927E4355C000171BA /* XPRoomPKRecordTableViewCell.m in Sources */,
238B37AB2AC55A2C00BFC9D5 /* TreasureFairyConvertRecordModel.m in Sources */, 238B37AB2AC55A2C00BFC9D5 /* TreasureFairyConvertRecordModel.m in Sources */,
E8A1F794290642500099C952 /* XPRoomMorePlayViewController.m in Sources */,
23FF42762AA6E1480055733C /* XPHomeRecommendOtherRoomView.m in Sources */, 23FF42762AA6E1480055733C /* XPHomeRecommendOtherRoomView.m in Sources */,
142721B229A7647F00C7C423 /* XPBlankViewController.m in Sources */, 142721B229A7647F00C7C423 /* XPBlankViewController.m in Sources */,
E85E7B6B2A4EC39400B6D00A /* XPMineExchangeAuthorityModel.m in Sources */, E85E7B6B2A4EC39400B6D00A /* XPMineExchangeAuthorityModel.m in Sources */,
@@ -11350,7 +11316,6 @@
2305EF0D2AD7CC9A00AD403C /* PIRoomPhotoAlbumChooseGiftCell.m in Sources */, 2305EF0D2AD7CC9A00AD403C /* PIRoomPhotoAlbumChooseGiftCell.m in Sources */,
E84BF7DD277C765400EF8877 /* XPRoomRoleEmptyTableViewCell.m in Sources */, E84BF7DD277C765400EF8877 /* XPRoomRoleEmptyTableViewCell.m in Sources */,
E8F6135C291E26BD00E12650 /* NSMutableDictionary+Saft.m in Sources */, E8F6135C291E26BD00E12650 /* NSMutableDictionary+Saft.m in Sources */,
9BAC92EE28E6989400147DD8 /* XPRoomActivityPlayView.m in Sources */,
1427213429A75A2600C7C423 /* XPMonentsLatestPresenter.m in Sources */, 1427213429A75A2600C7C423 /* XPMonentsLatestPresenter.m in Sources */,
E83ABEFD280EB5E200322EE4 /* ContentOpenLiveInfoModel.m in Sources */, E83ABEFD280EB5E200322EE4 /* ContentOpenLiveInfoModel.m in Sources */,
E85E7BAF2A4EC99300B6D00A /* XPMineChooseGiveDiamondVC.m in Sources */, E85E7BAF2A4EC99300B6D00A /* XPMineChooseGiveDiamondVC.m in Sources */,
@@ -11384,7 +11349,6 @@
E82325F2274E2DE6003A3332 /* XPUserCardViewController.m in Sources */, E82325F2274E2DE6003A3332 /* XPUserCardViewController.m in Sources */,
E85E7B512A4EB0D300B6D00A /* Api+Guild.m in Sources */, E85E7B512A4EB0D300B6D00A /* Api+Guild.m in Sources */,
E83645682A40A2DC00E0DBE4 /* XPSkillCardPlayerManager.m in Sources */, E83645682A40A2DC00E0DBE4 /* XPSkillCardPlayerManager.m in Sources */,
E8A1F7972906426B0099C952 /* XPRoomMorePlayPresenter.m in Sources */,
E8F65C222869A36F009BB5B9 /* ContentShareMonentsModel.m in Sources */, E8F65C222869A36F009BB5B9 /* ContentShareMonentsModel.m in Sources */,
9B6E856E281AABAB0041A321 /* XPRoomRecommendModel.m in Sources */, 9B6E856E281AABAB0041A321 /* XPRoomRecommendModel.m in Sources */,
E84A2E992A52817E00D6AF8A /* XPIncomeRecordView.m in Sources */, E84A2E992A52817E00D6AF8A /* XPIncomeRecordView.m in Sources */,
@@ -11397,6 +11361,7 @@
E8998D8028597B0300C68558 /* XPRoomLuckyBigPrizeView.m in Sources */, E8998D8028597B0300C68558 /* XPRoomLuckyBigPrizeView.m in Sources */,
E88E4A80297673DC00019A50 /* SessionNavLiveView.m in Sources */, E88E4A80297673DC00019A50 /* SessionNavLiveView.m in Sources */,
E81060DC298761F100B772F0 /* MessageTextModel.m in Sources */, E81060DC298761F100B772F0 /* MessageTextModel.m in Sources */,
23C9DFC62B84903500B51558 /* PIRoomActivityChoosePlayView.m in Sources */,
235A45232B04BEB6009753F5 /* PIBaseModel.m in Sources */, 235A45232B04BEB6009753F5 /* PIBaseModel.m in Sources */,
E8DEC9A82764A68B0078CB70 /* Api+MoreMenu.m in Sources */, E8DEC9A82764A68B0078CB70 /* Api+MoreMenu.m in Sources */,
9B86D87A2817DD8400494FCD /* XPRoomEnterHideTipView.m in Sources */, 9B86D87A2817DD8400494FCD /* XPRoomEnterHideTipView.m in Sources */,
@@ -11469,6 +11434,7 @@
18F403EE2758CF2F00A6C548 /* MessageContentImage.m in Sources */, 18F403EE2758CF2F00A6C548 /* MessageContentImage.m in Sources */,
238B37A32AC55A2C00BFC9D5 /* XPTreasureFailyPresenter.m in Sources */, 238B37A32AC55A2C00BFC9D5 /* XPTreasureFailyPresenter.m in Sources */,
18E7B31E26F0984C0064BC9B /* UserLevelVo.m in Sources */, 18E7B31E26F0984C0064BC9B /* UserLevelVo.m in Sources */,
23B8D8DB2B85FDDD00CA472F /* PIHomeCategoryTitleModel.m in Sources */,
2331C1762A5EB71000E1D940 /* ThemeColor+NobleCenter.m in Sources */, 2331C1762A5EB71000E1D940 /* ThemeColor+NobleCenter.m in Sources */,
1427218C29A75F6F00C7C423 /* HTTPAsyncFileResponse.m in Sources */, 1427218C29A75F6F00C7C423 /* HTTPAsyncFileResponse.m in Sources */,
E8DD25DA295583920043C7D5 /* XPAnchorRandomPKRuleView.m in Sources */, E8DD25DA295583920043C7D5 /* XPAnchorRandomPKRuleView.m in Sources */,
@@ -11628,6 +11594,7 @@
E84150C227747BF700A7F548 /* FirstRechargeModel.m in Sources */, E84150C227747BF700A7F548 /* FirstRechargeModel.m in Sources */,
9B1EF3D227E81C0600554295 /* XPMineDressUpBubbleViewController.m in Sources */, 9B1EF3D227E81C0600554295 /* XPMineDressUpBubbleViewController.m in Sources */,
2331C1AB2A60F32D00E1D940 /* CandyTreeResultModel.m in Sources */, 2331C1AB2A60F32D00E1D940 /* CandyTreeResultModel.m in Sources */,
23C9DFC32B84807A00B51558 /* PIRoomActivityClickView.m in Sources */,
1427218B29A75F6F00C7C423 /* HTTPFileResponse.m in Sources */, 1427218B29A75F6F00C7C423 /* HTTPFileResponse.m in Sources */,
E839533C276A0CCD00CF2F24 /* XPMineCarTableViewCell.m in Sources */, E839533C276A0CCD00CF2F24 /* XPMineCarTableViewCell.m in Sources */,
2331C1B62A60F32D00E1D940 /* XPCandyTreeInsufficientBalanceView.m in Sources */, 2331C1B62A60F32D00E1D940 /* XPCandyTreeInsufficientBalanceView.m in Sources */,
@@ -11671,7 +11638,6 @@
E8098CAA282E03B40090B9F0 /* XPMonentsRecommendPresenter.m in Sources */, E8098CAA282E03B40090B9F0 /* XPMonentsRecommendPresenter.m in Sources */,
E8F63CBB298B648300B338BA /* SessionSayHelloListModel.m in Sources */, E8F63CBB298B648300B338BA /* SessionSayHelloListModel.m in Sources */,
9B1B729828002147003FACE9 /* XPMineFansTeamPresenter.m in Sources */, 9B1B729828002147003FACE9 /* XPMineFansTeamPresenter.m in Sources */,
E85E7B1E2A4EB0D200B6D00A /* XPMineAnchorIncomeStatisViewController.m in Sources */,
23FF42702AA6C7CF0055733C /* XPNewHomeItemCell.m in Sources */, 23FF42702AA6C7CF0055733C /* XPNewHomeItemCell.m in Sources */,
E87DF4DA2A42C9D9009C1185 /* HomeCollectRoomModel.m in Sources */, E87DF4DA2A42C9D9009C1185 /* HomeCollectRoomModel.m in Sources */,
E86507E8281A8212006951B0 /* ContentTweetModel.m in Sources */, E86507E8281A8212006951B0 /* ContentTweetModel.m in Sources */,
@@ -11703,6 +11669,7 @@
E81A6546283519CA00F55894 /* MonentsTopicModel.m in Sources */, E81A6546283519CA00F55894 /* MonentsTopicModel.m in Sources */,
E86E79D028A4E0B2006DAF48 /* ContentRistAlertModel.m in Sources */, E86E79D028A4E0B2006DAF48 /* ContentRistAlertModel.m in Sources */,
9BFE0D922899042600F53C24 /* XPTaskCompleteTipView.m in Sources */, 9BFE0D922899042600F53C24 /* XPTaskCompleteTipView.m in Sources */,
23B8D8DE2B860B8800CA472F /* PIHoemCategoryCollectionView.m in Sources */,
9BE01AE728938AB600B50299 /* XPDressUpShopCardTableViewCell.m in Sources */, 9BE01AE728938AB600B50299 /* XPDressUpShopCardTableViewCell.m in Sources */,
E82E75062828E76400C25EF7 /* XPCoreDataManager.m in Sources */, E82E75062828E76400C25EF7 /* XPCoreDataManager.m in Sources */,
9B8DE0E4289CF7AA00FB6EC2 /* XPRoomGiftCompoundView.m in Sources */, 9B8DE0E4289CF7AA00FB6EC2 /* XPRoomGiftCompoundView.m in Sources */,
@@ -11784,6 +11751,7 @@
E873EB02280922720071030D /* XPMineUserInfoEmptyCollectionViewCell.m in Sources */, E873EB02280922720071030D /* XPMineUserInfoEmptyCollectionViewCell.m in Sources */,
E872309326E8D31500B90D4F /* LoginVerifCodeView.m in Sources */, E872309326E8D31500B90D4F /* LoginVerifCodeView.m in Sources */,
E82107872987E49100DE7040 /* MessageRedPacketModel.m in Sources */, E82107872987E49100DE7040 /* MessageRedPacketModel.m in Sources */,
23B8D8E12B87715100CA472F /* PIGeneralPublicScreenModel.m in Sources */,
23194DD52AD292F200649F51 /* PIPageControl.m in Sources */, 23194DD52AD292F200649F51 /* PIPageControl.m in Sources */,
23E9EA9E2A84C42B00B792F2 /* SGYProgressView.m in Sources */, 23E9EA9E2A84C42B00B792F2 /* SGYProgressView.m in Sources */,
E87E91552796B6DE00A7B3F2 /* XPRoomInviteUserViewController.m in Sources */, E87E91552796B6DE00A7B3F2 /* XPRoomInviteUserViewController.m in Sources */,
@@ -12217,7 +12185,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 20.20.7; MARKETING_VERSION = 20.20.10;
PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios; PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@@ -12253,7 +12221,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 20.20.7; MARKETING_VERSION = 20.20.10;
PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios; PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";

View File

@@ -10,6 +10,8 @@
#import <NIMSDK/NIMSDK.h> #import <NIMSDK/NIMSDK.h>
#import <ShareSDK/ShareSDK.h> #import <ShareSDK/ShareSDK.h>
#import <UserNotifications/UNUserNotificationCenter.h> #import <UserNotifications/UNUserNotificationCenter.h>
#import <UserNotifications/UserNotifications.h>
///Tool ///Tool
#import "YUMIConstant.h" #import "YUMIConstant.h"
#import "CustomAttachmentDecoder.h" #import "CustomAttachmentDecoder.h"
@@ -23,6 +25,8 @@
#import "XCCurrentVCStackManager.h" #import "XCCurrentVCStackManager.h"
#import "ClientConfig.h" #import "ClientConfig.h"
#import <Adjust/Adjust.h> #import <Adjust/Adjust.h>
#import <UserNotifications/UserNotifications.h>
#import <Bugly/Bugly.h> #import <Bugly/Bugly.h>
@@ -44,6 +48,24 @@ UIKIT_EXTERN NSString * adImageName;
[self initEmojiData]; [self initEmojiData];
[self configAdjust]; [self configAdjust];
[self configBugly]; [self configBugly];
[self registerNot];
}
-(void)registerNot{
if (@available(iOS 10.0, *)) {
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
[center requestAuthorizationWithOptions:(UNAuthorizationOptionAlert | UNAuthorizationOptionBadge | UNAuthorizationOptionSound) completionHandler:^(BOOL granted, NSError * _Nullable error) {
if (granted) {
[center getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {
if (settings.authorizationStatus == UNAuthorizationStatusAuthorized){
dispatch_async(dispatch_get_main_queue(), ^{
[[UIApplication sharedApplication] registerForRemoteNotifications];
});
}
}];
}
}];
}
} }
/** /**
Bugly Bugly
@@ -73,7 +95,12 @@ UIKIT_EXTERN NSString * adImageName;
// NIMSDK // NIMSDK
NSString *appKey = KeyWithType(KeyType_NetEase); NSString *appKey = KeyWithType(KeyType_NetEase);
NIMSDKOption *option = [NIMSDKOption optionWithAppKey:appKey]; NIMSDKOption *option = [NIMSDKOption optionWithAppKey:appKey];
#ifdef DEBUG
option.apnsCername = @"pikoDevelopPush";
#else
option.apnsCername = @"newPiko"; option.apnsCername = @"newPiko";
#endif
[[NIMSDK sharedSDK] registerWithOption:option]; [[NIMSDK sharedSDK] registerWithOption:option];
// NIM SDK // NIM SDK

View File

@@ -20,6 +20,7 @@
#import "XPLoginViewController.h" #import "XPLoginViewController.h"
#import "AccountModel.h" #import "AccountModel.h"
#import "YuMi-swift.h" #import "YuMi-swift.h"
#import "SessionViewController.h"
@import Firebase; @import Firebase;
UIKIT_EXTERN NSString * const kOpenRoomNotification; UIKIT_EXTERN NSString * const kOpenRoomNotification;
@@ -102,7 +103,37 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
// devicetoken // devicetoken
[[NIMSDK sharedSDK] updateApnsToken:deviceToken]; [[NIMSDK sharedSDK] updateApnsToken:deviceToken ];
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{
NSString *data = userInfo[@"data"];
if(data){
NSDictionary *dataDic = [data mj_JSONObject];
NSString *userId = dataDic[@"uid"];
if(userId){
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[[NSNotificationCenter defaultCenter]postNotificationName:kOpenRoomNotification object:nil userInfo:@{@"type":@"kOpenChat",@"uid":userId,@"isNoAttention":@(YES)}];
ClientConfig *config = [ClientConfig shareConfig];
config.chatId = userId;
});
return;
}
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSString *userId = userInfo[@"uid"];
if(userId){
[[NSNotificationCenter defaultCenter]postNotificationName:kOpenRoomNotification object:nil userInfo:@{@"type":@"kOpenChat",@"uid":userId}];
ClientConfig *config = [ClientConfig shareConfig];
config.chatId = userId;
}
});
} }
///URL Scheme ///URL Scheme

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "pi_room_activity_click_arrow@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "pi_room_activity_click_arrow@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "pi_room_activity_choose_play_arrow@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "pi_room_activity_choose_play_arrow@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 B

View File

@@ -1,16 +1,15 @@
{ {
"images" : [ "images" : [
{ {
"filename" : "pi_room_menu_bottom_send_bg.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "room_menu_send_bg@2x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "2x" "scale" : "2x"
}, },
{ {
"filename" : "room_menu_send_bg@3x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "3x" "scale" : "3x"
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -143,12 +143,6 @@
[TTPopup dismiss]; [TTPopup dismiss];
return; return;
}; };
if([self isInstallClient:[self getSharePlatformType:item.type]] == NO){
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPShareView9")];
[TTPopup dismiss];
return;
}
if (item.type == XPShareItemTagAppFriends) { if (item.type == XPShareItemTagAppFriends) {
[TTPopup dismiss]; [TTPopup dismiss];
XPMineShareViewController * shareVC = [[XPMineShareViewController alloc] init]; XPMineShareViewController * shareVC = [[XPMineShareViewController alloc] init];
@@ -165,7 +159,11 @@
[TTPopup dismiss]; [TTPopup dismiss];
return; return;
} }
if([self isInstallClient:[self getSharePlatformType:item.type]] == NO){
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPShareView9")];
[TTPopup dismiss];
return;
}
self.shareInfo.shareType = item.type; self.shareInfo.shareType = item.type;

View File

@@ -103,5 +103,6 @@
- (UIImage *)applyTintEffectWithColor:(UIColor *)tintColor; - (UIImage *)applyTintEffectWithColor:(UIColor *)tintColor;
- (UIImage *)applyBlurWithRadius:(CGFloat)blurRadius tintColor:(UIColor *)tintColor saturationDeltaFactor:(CGFloat)saturationDeltaFactor maskImage:(UIImage *)maskImage; - (UIImage *)applyBlurWithRadius:(CGFloat)blurRadius tintColor:(UIColor *)tintColor saturationDeltaFactor:(CGFloat)saturationDeltaFactor maskImage:(UIImage *)maskImage;
///为图片增加毛玻璃,value模糊程度
+(UIImage *)setBlurImage:(UIImage *)image value:(CGFloat)value;
@end @end

View File

@@ -273,6 +273,37 @@
return outputImage; return outputImage;
} }
+(UIImage *)setBlurImage:(UIImage *)image value:(CGFloat)value{
CIContext *context = [CIContext contextWithOptions:nil];
CIImage * sourceImage = [CIImage imageWithCGImage:image.CGImage];//CIImage
///仿
CIFilter * clamp = [CIFilter filterWithName:@"CIAffineClamp"];//
[clamp setValue:sourceImage forKey:kCIInputImageKey];//
CIImage *clampResult = [clamp valueForKey:kCIOutputImageKey];
///
CIFilter* gaussianBlur = [CIFilter filterWithName:@"CIGaussianBlur"];
[gaussianBlur setValue:clampResult forKey:kCIInputImageKey];
[gaussianBlur setValue:[NSNumber numberWithFloat:value] forKey:@"inputRadius"];//
CIImage * gaussianBlurResult = [gaussianBlur valueForKey:kCIOutputImageKey];
///
CGImageRef cgImage = [context createCGImage:gaussianBlurResult fromRect:[sourceImage extent]];
UIImage * resultImage = [UIImage imageWithCGImage:cgImage];
return resultImage;
}
@end @end

View File

@@ -49,7 +49,7 @@ isPhoneXSeries = [[UIApplication sharedApplication] delegate].window.safeAreaIns
///内置版本号 ///内置版本号
#define PI_App_Version @"2.5.0" #define PI_App_Version @"2.6.0"
///渠道 ///渠道
#define PI_App_Source @"appstore" #define PI_App_Source @"appstore"
//#define PI_App_Source @"pi_tf" //#define PI_App_Source @"pi_tf"

View File

@@ -110,6 +110,10 @@ typedef NS_ENUM(NSUInteger, CustomMessageType) {
CustomMessageType_Common_H5 = 100, CustomMessageType_Common_H5 = 100,
///房间相册 ///房间相册
CustomMessageType_Room_Album = 101, CustomMessageType_Room_Album = 101,
///守护星球
CustomMessageType_Guardian_Planet = 102,
///通用公屏信息
CustomMessageType_General_Public_Screen = 103,
}; };
@@ -616,6 +620,20 @@ typedef NS_ENUM(NSUInteger, CustomMessageTypeRoomAlbum) {
///所有房间 ///所有房间
Custom_Message_Sub_Room_Album = 1011, Custom_Message_Sub_Room_Album = 1011,
}; };
//CustomMessageType_Guardian_Planet = 102,
typedef NS_ENUM(NSUInteger, CustomMessageTypeGuardianPlanet) {
///所有房间
Custom_Message_Sub_Guardian_Planet_One_Room = 1021,//单房间
Custom_Message_Sub_Guardian_Planet_All_Room = 1022,///全部房间
};
///通用公屏信息
//CustomMessageType_General_Public_Screen = 10000,
typedef NS_ENUM(NSUInteger, CustomMessageTypeGeneralPublicScreen) {
///所有房间
Custom_Message_Sub_General_Public_Screen_One_Room = 1031,//单房间
Custom_Message_Sub_General_Public_Screen_All_Room = 1032,///全部房间
};
@interface AttachmentModel : PIBaseModel<NIMCustomAttachment> @interface AttachmentModel : PIBaseModel<NIMCustomAttachment>
@property (nonatomic,assign) int first; @property (nonatomic,assign) int first;
@property (nonatomic,assign) int second; @property (nonatomic,assign) int second;

View File

@@ -71,7 +71,7 @@
CGFloat desHeight = [model.desc boundingRectWithSize:CGSizeMake(240, CGFLOAT_MAX) options:NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin CGFloat desHeight = [model.desc boundingRectWithSize:CGSizeMake(240, CGFLOAT_MAX) options:NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin
attributes:[self messageTextAttibutes:[UIFont systemFontOfSize:13] color:[DJDKMIMOMColor mainTextColor]] context:nil].size.height; attributes:[self messageTextAttibutes:[UIFont systemFontOfSize:13] color:[DJDKMIMOMColor mainTextColor]] context:nil].size.height + 10;
[self.subTitleLabel mas_updateConstraints:^(MASConstraintMaker *make) { [self.subTitleLabel mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(desHeight); make.height.mas_equalTo(desHeight);
}]; }];

View File

@@ -203,7 +203,7 @@
- (void)loadAlbumPhotos { - (void)loadAlbumPhotos {
@kWeakify(self); @kWeakify(self);
[YYUtility checkAssetsLibrayAvailable:^{ [YYUtility checkAssetsLibrayAvailable:^{
@kStrongify(self);
} denied:^{ } denied:^{
@@ -764,6 +764,8 @@
[Api getPrivateChatCheck:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { [Api getPrivateChatCheck:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if(code == 200){ if(code == 200){
NIMMessage *message = [NIMMessageMaker msgWithText:text]; NIMMessage *message = [NIMMessageMaker msgWithText:text];
message.apnsPayload = @{@"uid": [AccountInfoStorage instance].getUid // ID
};
[[[NIMSDK sharedSDK] chatManager] sendMessage:message toSession:self.session error:nil]; [[[NIMSDK sharedSDK] chatManager] sendMessage:message toSession:self.session error:nil];
return; return;
} }
@@ -777,6 +779,8 @@
[Api getPrivateChatCheck:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { [Api getPrivateChatCheck:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if(code == 200){ if(code == 200){
NIMMessage *message = [NIMMessageMaker msgWithAudio:recordPath]; NIMMessage *message = [NIMMessageMaker msgWithAudio:recordPath];
message.apnsPayload = @{@"uid": [AccountInfoStorage instance].getUid // ID
};
[[[NIMSDK sharedSDK] chatManager] sendMessage:message toSession:self.session error:nil]; [[[NIMSDK sharedSDK] chatManager] sendMessage:message toSession:self.session error:nil];
return; return;
} }
@@ -793,6 +797,8 @@
if(code == 200){ if(code == 200){
// //
NIMMessage * message = [NIMMessageMaker msgWithImage:obj]; NIMMessage * message = [NIMMessageMaker msgWithImage:obj];
message.apnsPayload = @{@"uid": [AccountInfoStorage instance].getUid // ID
};
// //
[[NIMSDK sharedSDK].chatManager sendMessage:message toSession:self.session error:nil]; [[NIMSDK sharedSDK].chatManager sendMessage:message toSession:self.session error:nil];
return; return;
@@ -985,7 +991,9 @@
[TTPopup alertWithConfig:config confirmHandler:^{ [TTPopup alertWithConfig:config confirmHandler:^{
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication] canOpenURL:url]) { if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url]; [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
}];
} }
} cancelHandler:^{ } cancelHandler:^{
}]; }];
@@ -1057,6 +1065,8 @@
NIMMessage * message = [NIMMessageMaker msgWithImage:image]; NIMMessage * message = [NIMMessageMaker msgWithImage:image];
[Api getPrivateChatCheck:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { [Api getPrivateChatCheck:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if(code == 200){ if(code == 200){
message.apnsPayload = @{@"uid": [AccountInfoStorage instance].getUid // ID
};
[[NIMSDK sharedSDK].chatManager sendMessage:message toSession:self.session error:nil]; [[NIMSDK sharedSDK].chatManager sendMessage:message toSession:self.session error:nil];
[view resetChoosePhotos]; [view resetChoosePhotos];
return; return;
@@ -1091,6 +1101,8 @@
if(code == 200){ if(code == 200){
// //
NIMMessage * message = [NIMMessageMaker msgWithImage:selectedPhoto]; NIMMessage * message = [NIMMessageMaker msgWithImage:selectedPhoto];
message.apnsPayload = @{@"uid": [AccountInfoStorage instance].getUid // ID
};
// //
[[NIMSDK sharedSDK].chatManager sendMessage:message toSession:self.session error:nil]; [[NIMSDK sharedSDK].chatManager sendMessage:message toSession:self.session error:nil];
return; return;

View File

@@ -145,10 +145,10 @@ NS_ASSUME_NONNULL_BEGIN
/// 家族个播收入列表 /// 家族个播收入列表
/// @param completion 完成 /// @param completion 完成
/// @param uid 用户的uid /// @param uid 用户的uid
/// @param clanId 家族的id /// @param hallId 家族的id
/// @param startTime 开始时间 /// @param startTime 开始时间
/// @param endTime 结束时间 /// @param endTime 结束时间
+ (void)getClanSingleRoomIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid clanId:(NSString *)clanId startTime:(NSString *)startTime endTime:(NSString *)endTime; + (void)getClanSingleRoomIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid hallId:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime;
/// 公会个播收入列表 /// 公会个播收入列表
/// @param completion 完成 /// @param completion 完成

View File

@@ -183,8 +183,8 @@
/// @param clanId id /// @param clanId id
/// @param startTime /// @param startTime
/// @param endTime /// @param endTime
+ (void)getClanSingleRoomIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid clanId:(NSString *)clanId startTime:(NSString *)startTime endTime:(NSString *)endTime { + (void)getClanSingleRoomIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid hallId:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime {
[self makeRequest:@"income/singleroom/incomeTotalV2" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, clanId, startTime, endTime, nil]; [self makeRequest:@"income/singleroom/incomeTotalV2" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, hallId, startTime, endTime, nil];
} }
/// ///

View File

@@ -51,6 +51,8 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,copy) NSString *anchorDiamondNum; @property (nonatomic,copy) NSString *anchorDiamondNum;
///房间收入 ///房间收入
@property (nonatomic,copy) NSString *roomDiamondNum; @property (nonatomic,copy) NSString *roomDiamondNum;
@property(nonatomic,assign) NSInteger timeDuration;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

View File

@@ -55,7 +55,7 @@
[[self getView] getClanAnchorTotalIncomeSuccess:incomeModel]; [[self getView] getClanAnchorTotalIncomeSuccess:incomeModel];
} fail:^(NSInteger code, NSString * _Nullable msg) { } fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView] getClanAnchorTotalIncomeFail:msg]; [[self getView] getClanAnchorTotalIncomeFail:msg];
}] uid:uid clanId:clanId startTime:startTime endTime:endTime]; }] uid:uid hallId:clanId startTime:startTime endTime:endTime];
} }
/// ///

View File

@@ -0,0 +1,16 @@
//
// PIGuildSingleRoomIncomeCell.h
// YuMi
//
// Created by duoban on 2024/2/21.
//
#import <UIKit/UIKit.h>
#import "GuildPersonIncomeRecordModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface PIGuildSingleRoomIncomeCell : UITableViewCell
@property (nonatomic,strong) GuildPersonIncomeUserInfoModel *userInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,162 @@
//
// PIGuildSingleRoomIncomeCell.m
// YuMi
//
// Created by duoban on 2024/2/21.
//
#import "PIGuildSingleRoomIncomeCell.h"
@interface PIGuildSingleRoomIncomeCell()
@property(nonatomic,strong) NetImageView *headView;
@property(nonatomic,strong) UILabel *nameView;
@property(nonatomic,strong) UILabel *numberView;
@property(nonatomic,strong) UILabel *anchorNumView;
@property(nonatomic,strong) UILabel *roomNumView;
@property(nonatomic,strong) UILabel *timeView;
@property(nonatomic,strong) UIView *lineView;
@end
@implementation PIGuildSingleRoomIncomeCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
self.backgroundColor = [DJDKMIMOMColor appCellBackgroundColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.headView];
[self.contentView addSubview:self.nameView];
[self.contentView addSubview:self.numberView];
[self.contentView addSubview:self.anchorNumView];
[self.contentView addSubview:self.roomNumView];
[self.contentView addSubview:self.timeView];
[self.contentView addSubview:self.lineView];
}
-(void)installConstraints{
[self.headView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(44));
make.leading.mas_equalTo(kGetScaleWidth(17));
make.centerY.equalTo(self.contentView);
}];
CGFloat width = kGetScaleWidth(242) / 3;
[self.timeView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.mas_equalTo(0);
make.width.mas_equalTo(width);
make.centerY.equalTo(self.contentView);
}];
[self.roomNumView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(width);
make.centerY.equalTo(self.contentView);
make.trailing.equalTo(self.timeView.mas_leading).mas_offset(0);
}];
[self.anchorNumView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(width);
make.centerY.equalTo(self.contentView);
make.trailing.equalTo(self.roomNumView.mas_leading).mas_offset(0);
}];
[self.nameView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.headView.mas_top).mas_offset(kGetScaleWidth(4));
make.leading.equalTo(self.headView.mas_trailing).mas_offset(kGetScaleWidth(6));
make.trailing.equalTo(self.anchorNumView.mas_leading).mas_offset((0));
make.height.mas_equalTo(kGetScaleWidth(20));
}];
[self.numberView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.nameView.mas_bottom).mas_offset(kGetScaleWidth(0));
make.leading.equalTo(self.nameView);
make.trailing.equalTo(self.nameView);
}];
}
- (void)setUserInfo:(GuildPersonIncomeUserInfoModel *)userInfo {
_userInfo = userInfo;
if (_userInfo) {
self.headView.image = nil;
[self.headView loadImageWithUrl:_userInfo.avatar completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
self.headView.image = image;
}];
self.nameView.text = _userInfo.nick;
self.numberView.text = [NSString stringWithFormat:@"ID:%@",_userInfo.erbanNo];
self.anchorNumView.text = _userInfo.anchorDiamondNum;
self.roomNumView.text = _userInfo.roomDiamondNum;
NSInteger h = _userInfo.timeDuration / 60;
NSInteger min = _userInfo.timeDuration % 60;
if(h <= 0){
self.timeView.text = [NSString stringWithFormat:@"%ldmin",_userInfo.timeDuration];
}else if(min <= 0 && h > 0){
self.timeView.text = [NSString stringWithFormat:@"%ldh",h];
}else{
self.timeView.text = [NSString stringWithFormat:@"%ldh%ldmin",h,min];
}
}
}
#pragma mark -
- (NetImageView *)headView{
if(!_headView){
NetImageConfig *config = [NetImageConfig new];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_headView = [[NetImageView alloc]initWithConfig:config];
_headView.layer.cornerRadius = kGetScaleWidth(44)/2;
_headView.layer.masksToBounds = YES;
}
return _headView;
}
- (UILabel *)nameView{
if(!_nameView){
_nameView = [UILabel labelInitWithText:@"" font:[UIFont systemFontOfSize:14 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0x1F1B4F)];
}
return _nameView;
}
- (UILabel *)numberView{
if(!_numberView){
_numberView = [UILabel labelInitWithText:@"" font:[UIFont systemFontOfSize:11 weight:UIFontWeightRegular] textColor:UIColorFromRGB(0x8A8CAB)];
}
return _numberView;
}
- (UILabel *)anchorNumView{
if(!_anchorNumView){
_anchorNumView = [UILabel labelInitWithText:@"0" font:[UIFont systemFontOfSize:14 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0x1F1B4F)];
_anchorNumView.textAlignment = NSTextAlignmentCenter;
_anchorNumView.numberOfLines = 2;
}
return _anchorNumView;
}
- (UILabel *)roomNumView{
if(!_roomNumView){
_roomNumView = [UILabel labelInitWithText:@"0" font:[UIFont systemFontOfSize:14 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0x1F1B4F)];
_roomNumView.textAlignment = NSTextAlignmentCenter;
_roomNumView.numberOfLines = 2;
}
return _roomNumView;
}
- (UILabel *)timeView{
if(!_timeView){
_timeView = [UILabel labelInitWithText:@"0h0min" font:[UIFont systemFontOfSize:14 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0x1F1B4F)];
_timeView.textAlignment = NSTextAlignmentCenter;
_timeView.numberOfLines = 2;
}
return _timeView;
}
- (UIView *)lineView{
if(!_lineView){
_lineView = [UIView new];
_lineView.backgroundColor = UIColorFromRGB(0xF1F2F2);
}
return _lineView;
}
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end

View File

@@ -1,17 +0,0 @@
//
// XPMineAnchorIncomeStatisViewController.h
// YuMi
//
// Created by YuMi on 2022/4/11.
//
#import "BaseViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPMineAnchorIncomeStatisViewController : BaseViewController
///家族的id
@property (nonatomic,copy) NSString *clanId;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,148 +0,0 @@
//
// XPMineAnchorIncomeStatisViewController.m
// YuMi
//
// Created by YuMi on 2022/4/11.
//
#import "XPMineAnchorIncomeStatisViewController.h"
///Third
#import <Masonry/Masonry.h>
#import <JXCategoryView/JXCategoryView.h>
#import <JXCategoryView/JXCategoryIndicatorBackgroundView.h>
#import <JXCategoryView/JXCategoryListContainerView.h>
///Tool
#import "DJDKMIMOMColor.h"
///View
#import "XPMineGuildIncomeRecordViewController.h"
@interface XPMineAnchorIncomeStatisViewController ()<JXCategoryViewDelegate, JXCategoryListContainerViewDelegate>
///
@property (nonatomic, strong) NSArray<NSString *> *titles;
///
@property (nonatomic, strong) JXCategoryTitleView *titleView;
///lineView
@property (nonatomic, strong) JXCategoryListContainerView *contentView;
///
@property (nonatomic,strong) XPMineGuildIncomeRecordViewController *dayRecordVC;
///
@property (nonatomic,strong) XPMineGuildIncomeRecordViewController *weekRecordVC;
@end
@implementation XPMineAnchorIncomeStatisViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = YMLocalizedString(@"XPMineAnchorIncomeStatisViewController0");
[self initSubViews];
[self initSubViewConstraints];
}
#pragma mark - Private Method
- (void)initSubViews {
[self.view addSubview:self.titleView];
[self.view addSubview:self.contentView];
}
- (void)initSubViewConstraints {
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.view).offset(10);
make.left.right.mas_equalTo(self.view);
make.height.mas_equalTo(30);
}];
[self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.titleView.mas_bottom);
make.left.right.bottom.mas_equalTo(self.view);
}];
}
#pragma mark - JXCategoryViewDelegate
- (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView {
return self.titles.count;
}
- (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index {
if (index == 0) {
return self.dayRecordVC;
} else {
return self.weekRecordVC;
}
}
- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
if (index == 0) {
self.dayRecordVC.timeType = GuildIncomeRecrdTimeType_Day;
} else {
self.weekRecordVC.timeType = GuildIncomeRecrdTimeType_Week;
}
}
#pragma mark - Getters And Setters
- (void)setClanId:(NSString *)clanId {
_clanId = clanId;
self.dayRecordVC.clanId = _clanId;
self.weekRecordVC.clanId = _clanId;
self.dayRecordVC.timeType = GuildIncomeRecrdTimeType_Day;
}
- (JXCategoryTitleView *)titleView {
if (!_titleView) {
_titleView = [[JXCategoryTitleView alloc] init];
_titleView.delegate = self;
_titleView.titles = self.titles;
_titleView.backgroundColor = [DJDKMIMOMColor appBackgroundColor];
_titleView.titleColor = [DJDKMIMOMColor secondTextColor];
_titleView.titleSelectedColor = [DJDKMIMOMColor mainTextColor];
_titleView.titleFont = [UIFont fontWithName:@"PingFang-SC-Medium" size:16];
_titleView.titleSelectedFont = [UIFont fontWithName:@"PingFang-SC-Medium" size:16];
_titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter;
_titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
_titleView.defaultSelectedIndex = 0;
_titleView.cellSpacing = 5;
_titleView.cellWidthIncrement = 5;
_titleView.listContainer = self.contentView;
JXCategoryIndicatorLineView *lineView = [[JXCategoryIndicatorLineView alloc] init];
lineView.indicatorColor = [DJDKMIMOMColor appMainColor];
lineView.indicatorWidth = 8.f;
lineView.indicatorHeight = 4.f;
lineView.indicatorCornerRadius = 2.f;
_titleView.indicators = @[lineView];
}
return _titleView;
}
- (JXCategoryListContainerView *)contentView {
if (!_contentView) {
_contentView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_contentView.defaultSelectedIndex = 0;
}
return _contentView;
}
- (NSArray<NSString *> *)titles {
if (!_titles) {
_titles = @[YMLocalizedString(@"XPMineAnchorIncomeStatisViewController1"), YMLocalizedString(@"XPMineAnchorIncomeStatisViewController2")];
}
return _titles;
}
- (XPMineGuildIncomeRecordViewController *)dayRecordVC {
if (!_dayRecordVC) {
_dayRecordVC = [[XPMineGuildIncomeRecordViewController alloc] init];
_dayRecordVC.incomeType = GuildIncomeType_Anchor;
}
return _dayRecordVC;
}
- (XPMineGuildIncomeRecordViewController *)weekRecordVC {
if (!_weekRecordVC) {
_weekRecordVC = [[XPMineGuildIncomeRecordViewController alloc] init];
_weekRecordVC.incomeType = GuildIncomeType_Anchor;
}
return _weekRecordVC;
}
@end

View File

@@ -32,6 +32,8 @@
///P ///P
#import "XPGuildIncomePresenter.h" #import "XPGuildIncomePresenter.h"
#import "XPGuildIncomeProtocol.h" #import "XPGuildIncomeProtocol.h"
#import "PIGuildAnchorIncomeSectionView.h"
#import "PIGuildSingleRoomIncomeCell.h"
@interface XPMineGuildIncomeRecordViewController ()<UITableViewDelegate, UITableViewDataSource, XPGuildIncomeProtocol, XPGuildIncomeHeaderViewDelegate, XPGuildTimePickViewDelegate, XPGuildTimeMonthPickerViewDelegate> @interface XPMineGuildIncomeRecordViewController ()<UITableViewDelegate, UITableViewDataSource, XPGuildIncomeProtocol, XPGuildIncomeHeaderViewDelegate, XPGuildTimePickViewDelegate, XPGuildTimeMonthPickerViewDelegate>
/// ///
@property (nonatomic,strong) UITableView *tableView; @property (nonatomic,strong) UITableView *tableView;
@@ -86,11 +88,12 @@
} else if(self.incomeType == GuildIncomeType_Hall) { } else if(self.incomeType == GuildIncomeType_Hall) {
[self.presenter getHallTotalIncome:self.guidId startTime:self.pi_startTimeStr endTime:self.pi_endTimeStr]; [self.presenter getHallTotalIncome:self.guidId startTime:self.pi_startTimeStr endTime:self.pi_endTimeStr];
} else { } else {
if (self.clanId.length > 0) { // if (self.clanId.length > 0) {
[self.presenter getClanAnchorTotalIncome:self.clanId startTime:self.pi_startTimeStr endTime:self.pi_endTimeStr]; // [self.presenter getHallAnchorTotalIncome:self.guidId startTime:self.pi_startTimeStr endTime:self.pi_endTimeStr];
} else { // } else {
[self.presenter getHallAnchorTotalIncome:self.guidId startTime:self.pi_startTimeStr endTime:self.pi_endTimeStr]; [self.presenter getClanAnchorTotalIncome:self.guidId startTime:self.pi_startTimeStr endTime:self.pi_endTimeStr];
}
// }
} }
} }
#pragma mark - Private Method #pragma mark - Private Method
@@ -168,6 +171,9 @@
} }
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if(self.incomeType == GuildIncomeType_Anchor){
return self.datasource.count > 0 ? kGetScaleWidth(75) : 400;
}
return self.datasource.count > 0 ? kGetScaleWidth(71) : 400; return self.datasource.count > 0 ? kGetScaleWidth(71) : 400;
} }
@@ -189,13 +195,8 @@
cell.userInfo = [self.datasource safeObjectAtIndex1:indexPath.row]; cell.userInfo = [self.datasource safeObjectAtIndex1:indexPath.row];
return cell; return cell;
} else if(self.incomeType == GuildIncomeType_Anchor) { } else if(self.incomeType == GuildIncomeType_Anchor) {
XPGuildSingleRoomIncomeTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPGuildSingleRoomIncomeTableViewCell class])]; PIGuildSingleRoomIncomeCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([PIGuildSingleRoomIncomeCell class])];
if (cell == nil) {
cell = [[XPGuildSingleRoomIncomeTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPGuildSingleRoomIncomeTableViewCell class])];
}
cell.userInfo = [self.datasource safeObjectAtIndex1:indexPath.row]; cell.userInfo = [self.datasource safeObjectAtIndex1:indexPath.row];
cell.rankNumber = indexPath.row;
return cell; return cell;
} }
} }
@@ -217,7 +218,7 @@
sectionView.incomeType = self.incomeType; sectionView.incomeType = self.incomeType;
return sectionView; return sectionView;
} else { } else {
XPGuildAnchorIncomeSectionView * sectionView = [[XPGuildAnchorIncomeSectionView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 37)]; PIGuildAnchorIncomeSectionView * sectionView = [[PIGuildAnchorIncomeSectionView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 37)];
return sectionView; return sectionView;
} }
} }
@@ -328,7 +329,10 @@
- (void)getClanAnchorTotalIncomeSuccess:(GuildPersonIncomeRecordModel *)incomeInfo { - (void)getClanAnchorTotalIncomeSuccess:(GuildPersonIncomeRecordModel *)incomeInfo {
[self.tableView.mj_header endRefreshing]; [self.tableView.mj_header endRefreshing];
self.headerView.totalIncome = incomeInfo.totalDiamond; self.headerView.totalIncome = incomeInfo.totalDiamond;
self.datasource = incomeInfo.incomes; self.datasource = incomeInfo.incomes;
[self.tableView reloadData]; [self.tableView reloadData];
} }
@@ -405,6 +409,7 @@
[_tableView registerClass:[XPGuildPersonIncomeTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPGuildPersonIncomeTableViewCell class])]; [_tableView registerClass:[XPGuildPersonIncomeTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPGuildPersonIncomeTableViewCell class])];
[_tableView registerClass:[XPMineGuildEmptyTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMineGuildEmptyTableViewCell class])]; [_tableView registerClass:[XPMineGuildEmptyTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMineGuildEmptyTableViewCell class])];
[_tableView registerClass:[XPGuildSingleRoomIncomeTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPGuildSingleRoomIncomeTableViewCell class])]; [_tableView registerClass:[XPGuildSingleRoomIncomeTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPGuildSingleRoomIncomeTableViewCell class])];
[_tableView registerClass:[PIGuildSingleRoomIncomeCell class] forCellReuseIdentifier:NSStringFromClass([PIGuildSingleRoomIncomeCell class])];
} }
return _tableView; return _tableView;
} }

View File

@@ -0,0 +1,16 @@
//
// PIGuildAnchorIncomeSectionView.h
// YuMi
//
// Created by duoban on 2024/2/21.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface PIGuildAnchorIncomeSectionView : UIView
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,91 @@
//
// PIGuildAnchorIncomeSectionView.m
// YuMi
//
// Created by duoban on 2024/2/21.
//
#import "PIGuildAnchorIncomeSectionView.h"
@interface PIGuildAnchorIncomeSectionView()
@property(nonatomic,strong) UILabel *userInfoView;
@property(nonatomic,strong) UILabel *anchorView;
@property(nonatomic,strong) UILabel *roomView;
@property(nonatomic,strong) UILabel *timeView;
@end
@implementation PIGuildAnchorIncomeSectionView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = UIColorFromRGB(0xF1F2F2);
[self addSubview:self.userInfoView];
[self addSubview:self.anchorView];
[self addSubview:self.roomView];
[self addSubview:self.timeView];
}
- (void)initSubViewConstraints {
CGFloat width = kGetScaleWidth(242) / 3;
[self.userInfoView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(kGetScaleWidth(15));
make.centerY.equalTo(self);
}];
[self.timeView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.mas_equalTo(0);
make.centerY.equalTo(self);
make.width.mas_equalTo(width);
}];
[self.roomView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.equalTo(self.timeView.mas_leading).mas_offset(0);
make.centerY.equalTo(self);
make.width.mas_equalTo(width);
}];
[self.anchorView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self);
make.trailing.equalTo(self.roomView.mas_leading).mas_offset(0);
make.width.mas_equalTo(width);
}];
}
#pragma mark - Getters And Setters
- (UILabel *)userInfoView{
if(!_userInfoView){
_userInfoView = [UILabel labelInitWithText:YMLocalizedString(@"PIGuildAnchorIncomeSectionView0") font:[UIFont systemFontOfSize:13 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0xA7A7A8)];
}
return _userInfoView;
}
- (UILabel *)anchorView{
if(!_anchorView){
_anchorView = [UILabel labelInitWithText:YMLocalizedString(@"PIGuildAnchorIncomeSectionView1") font:[UIFont systemFontOfSize:13 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0xA7A7A8)];
_anchorView.textAlignment = NSTextAlignmentCenter;
}
return _anchorView;
}
- (UILabel *)roomView{
if(!_roomView){
_roomView = [UILabel labelInitWithText:YMLocalizedString(@"PIGuildAnchorIncomeSectionView2") font:[UIFont systemFontOfSize:13 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0xA7A7A8)];
_roomView.textAlignment = NSTextAlignmentCenter;
}
return _roomView;
}
- (UILabel *)timeView{
if(!_timeView){
_timeView = [UILabel labelInitWithText:YMLocalizedString(@"PIGuildAnchorIncomeSectionView3") font:[UIFont systemFontOfSize:13 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0xA7A7A8)];
_timeView.textAlignment = NSTextAlignmentCenter;
}
return _timeView;
}
@end

View File

@@ -23,7 +23,6 @@
#import "XPMineGuildViewController.h" #import "XPMineGuildViewController.h"
#import "XPMineGuildSearchViewController.h" #import "XPMineGuildSearchViewController.h"
#import "XPMineClanIncomeStatisViewController.h" #import "XPMineClanIncomeStatisViewController.h"
#import "XPMineAnchorIncomeStatisViewController.h"
#import "XPMineGuildSuperAdminSetViewController.h" #import "XPMineGuildSuperAdminSetViewController.h"
#import "XPMineUserInfoViewController.h" #import "XPMineUserInfoViewController.h"
#import "XPMineMainIncomeStatisViewController.h" #import "XPMineMainIncomeStatisViewController.h"

View File

@@ -476,7 +476,7 @@ UIKIT_EXTERN NSString *kInviteMemeberSuccess;
self.avatarImageView.imageUrl = clanDetailInfo.hall.ownerAvatar; self.avatarImageView.imageUrl = clanDetailInfo.hall.ownerAvatar;
self.idLabel.text = [NSString stringWithFormat:YMLocalizedString(@"XPMineGuildViewController6"),clanDetailInfo.hall.ownerErbanNo]; self.idLabel.text = [NSString stringWithFormat:YMLocalizedString(@"XPMineGuildViewController6"),clanDetailInfo.hall.ownerErbanNo];
[self.backImageView loadImageWithUrl:clanDetailInfo.hall.ownerAvatar completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) { [self.backImageView loadImageWithUrl:clanDetailInfo.hall.ownerAvatar completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
self.backImageView.image = [self setBlurImage:image]; self.backImageView.image = [UIImage setBlurImage:image value:1];
}]; }];
self.titleLabel.text = clanDetailInfo.hall.hallName; self.titleLabel.text = clanDetailInfo.hall.hallName;
if (clanDetailInfo.manageHall) { if (clanDetailInfo.manageHall) {
@@ -675,38 +675,7 @@ UIKIT_EXTERN NSString *kInviteMemeberSuccess;
managerList.guildId = self.clanDetailInfo.hall.hallId; managerList.guildId = self.clanDetailInfo.hall.hallId;
[self.navigationController pushViewController:managerList animated:YES]; [self.navigationController pushViewController:managerList animated:YES];
} }
-(UIImage *)setBlurImage:(UIImage *)image{
CIContext *context = [CIContext contextWithOptions:nil];
CIImage * sourceImage = [CIImage imageWithCGImage:image.CGImage];//CIImage
///仿
CIFilter * clamp = [CIFilter filterWithName:@"CIAffineClamp"];//
[clamp setValue:sourceImage forKey:kCIInputImageKey];//
CIImage *clampResult = [clamp valueForKey:kCIOutputImageKey];
///
CIFilter* gaussianBlur = [CIFilter filterWithName:@"CIGaussianBlur"];
[gaussianBlur setValue:clampResult forKey:kCIInputImageKey];
[gaussianBlur setValue:[NSNumber numberWithFloat:1] forKey:@"inputRadius"];//
CIImage * gaussianBlurResult = [gaussianBlur valueForKey:kCIOutputImageKey];
///
CGImageRef cgImage = [context createCGImage:gaussianBlurResult fromRect:[sourceImage extent]];
UIImage * resultImage = [UIImage imageWithCGImage:cgImage];
return resultImage;
}
#pragma mark - Getters And Setters #pragma mark - Getters And Setters
- (UIView *)navView { - (UIView *)navView {

View File

@@ -32,7 +32,13 @@ NS_ASSUME_NONNULL_BEGIN
tabId:(NSString *)tabId tabId:(NSString *)tabId
pageNum:(NSString *)pageNum pageNum:(NSString *)pageNum
pageSize:(NSString *)pageSize; pageSize:(NSString *)pageSize;
/// 查看推荐列表
/// @param complection 完成
/// @param uid 用户的uid
/// @param tabId tabid
/// @param pageNum 当前的页数
/// @param pageSize 一页有多少个
+ (void)getNewRecommendListComplection:(HttpRequestHelperCompletion)complection uid:(NSString *)uid tabId:(NSString *)tabId pageNum:(NSString *)pageNum pageSize:(NSString *)pageSize;
/// 搜索 /// 搜索
/// @param complection 完成 /// @param complection 完成
/// @param key 关键字 /// @param key 关键字

View File

@@ -15,7 +15,7 @@
/// @param complection /// @param complection
/// @param uid uid /// @param uid uid
+ (void)homeTagComplection:(HttpRequestHelperCompletion)complection uid:(NSString *)uid { + (void)homeTagComplection:(HttpRequestHelperCompletion)complection uid:(NSString *)uid {
[self makeRequest:@"home/tagV2" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, uid, nil]; [self makeRequest:@"home/tag" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, uid, nil];
} }
/// tag /// tag
@@ -33,7 +33,15 @@
+ (void)getRecommendListComplection:(HttpRequestHelperCompletion)complection uid:(NSString *)uid tabId:(NSString *)tabId pageNum:(NSString *)pageNum pageSize:(NSString *)pageSize { + (void)getRecommendListComplection:(HttpRequestHelperCompletion)complection uid:(NSString *)uid tabId:(NSString *)tabId pageNum:(NSString *)pageNum pageSize:(NSString *)pageSize {
[self makeRequest:@"home/tab/mapV2" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, uid, tabId, pageNum, pageSize, nil]; [self makeRequest:@"home/tab/mapV2" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, uid, tabId, pageNum, pageSize, nil];
} }
///
/// @param complection
/// @param uid uid
/// @param tabId tabid
/// @param pageNum
/// @param pageSize
+ (void)getNewRecommendListComplection:(HttpRequestHelperCompletion)complection uid:(NSString *)uid tabId:(NSString *)tabId pageNum:(NSString *)pageNum pageSize:(NSString *)pageSize {
[self makeRequest:@"home/tab/homeV2" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, uid, tabId, pageNum, pageSize, nil];
}
/// ///
/// @param complection /// @param complection
/// @param key /// @param key

View File

@@ -46,7 +46,6 @@ NS_ASSUME_NONNULL_BEGIN
//是否为周榜top1 //是否为周榜top1
@property(nonatomic,assign) BOOL isWeekTop1; @property(nonatomic,assign) BOOL isWeekTop1;
@property(nonatomic,copy) NSString *inRoomUid; @property(nonatomic,copy) NSString *inRoomUid;
//是否在麦位 //是否在麦位
@property(nonatomic,assign) BOOL inMic; @property(nonatomic,assign) BOOL inMic;
///是否在线 ///是否在线

View File

@@ -0,0 +1,20 @@
//
// PIHomeCategoryTitleModel.h
// YuMi
//
// Created by duoban on 2024/2/21.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface PIHomeCategoryTitleModel : NSObject
@property(nonatomic,assign) BOOL isChecked;
@property(nonatomic,assign) CGFloat checkedWidth;
@property(nonatomic,assign) CGFloat noCheckedWidth;
@property(nonatomic,copy) NSString *name;
@property(nonatomic,copy) NSString *id;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,12 @@
//
// PIHomeCategoryTitleModel.m
// YuMi
//
// Created by duoban on 2024/2/21.
//
#import "PIHomeCategoryTitleModel.h"
@implementation PIHomeCategoryTitleModel
@end

View File

@@ -19,6 +19,7 @@ NS_ASSUME_NONNULL_BEGIN
- (void)homeChatPick; - (void)homeChatPick;
///ip检测 ///ip检测
-(void)checkIpRegionAction; -(void)checkIpRegionAction;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

View File

@@ -13,6 +13,7 @@
#import "AccountInfoStorage.h" #import "AccountInfoStorage.h"
#import "HomeBannerInfoModel.h" #import "HomeBannerInfoModel.h"
#import "PIHomeItemModel.h" #import "PIHomeItemModel.h"
#import "PIHomeCategoryTitleModel.h"
@implementation XPHomeContainerPresenter @implementation XPHomeContainerPresenter
/// ///
- (void)getHomeTopBannerList{ - (void)getHomeTopBannerList{
@@ -27,17 +28,15 @@
/// tag /// tag
- (void)getHomeTagList { - (void)getHomeTagList {
NSString * uid = [[AccountInfoStorage instance] getUid]; NSString * uid = [AccountInfoStorage instance].getUid;
NSArray<HomeTagModel *> *list = [[AccountInfoStorage instance]getCurrentTagList];
if(list.count > 0){
[[self getView] getHomeTagListSuccess:list];
}
[Api homeTagComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) { [Api homeTagComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray * array = [HomeTagModel modelsWithArray:data.data]; NSArray * array = [PIHomeCategoryTitleModel modelsWithArray:data.data];
[[AccountInfoStorage instance]saveTagList:array]; for (PIHomeCategoryTitleModel *model in array) {
if(list.count == 0 || list.count != array.count){ model.checkedWidth = [UILabel getWidthWithText:model.name height:kGetScaleWidth(44) font:kFontSemibold(16)];
[[self getView] getHomeTagListSuccess:array]; model.noCheckedWidth = [UILabel getWidthWithText:model.name height:kGetScaleWidth(44) font:kFontRegular(14)];
} }
[[self getView] getHomeTagListSuccess:array];
}] uid:uid]; }] uid:uid];
} }
/// ///

View File

@@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN
/// @param tabId id /// @param tabId id
/// @param page 当前的页数 /// @param page 当前的页数
/// @param pageSize 一页有多少个 /// @param pageSize 一页有多少个
- (void)getRecommendRoomList:(NSString *)tabId page:(int)page pageSize:(int)pageSize state:(BOOL)state; - (void)getRecommendRoomList:(NSString *)tabId page:(int)page pageSize:(int)pageSize ;
/// 获取更多的个播房间 /// 获取更多的个播房间

View File

@@ -20,15 +20,15 @@
/// @param tabId id /// @param tabId id
/// @param page /// @param page
/// @param pageSize /// @param pageSize
- (void)getRecommendRoomList:(NSString *)tabId page:(int)page pageSize:(int)pageSize state:(BOOL)state { - (void)getRecommendRoomList:(NSString *)tabId page:(int)page pageSize:(int)pageSize {
NSString * uid = [AccountInfoStorage instance].getUid; NSString * uid = [AccountInfoStorage instance].getUid;
NSString * pageStr = [NSString stringWithFormat:@"%d", page]; NSString * pageStr = [NSString stringWithFormat:@"%d", page];
NSString * pageSizeStr = [NSString stringWithFormat:@"%d", pageSize]; NSString * pageSizeStr = [NSString stringWithFormat:@"%d", pageSize];
[Api getRecommendListComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) { [Api getNewRecommendListComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray * array = [HomeRecommendRoomModel modelsWithArray:data.data]; NSArray * array = [HomePlayRoomModel modelsWithArray:data.data];
[[self getView] getHomeRecommendRoomListSuccess:array state:state]; [[self getView] getHomeRecommendRoomListSuccess:array ];
}fail:^(NSInteger code, NSString * _Nullable msg) { }fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView] getHomeRecommendRoomListFail:msg state:state]; [[self getView] getHomeRecommendRoomListFail:msg ];
}] uid:uid tabId:tabId pageNum:pageStr pageSize:pageSizeStr]; }] uid:uid tabId:tabId pageNum:pageStr pageSize:pageSizeStr];
} }

View File

@@ -8,11 +8,11 @@
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@class HomeTagModel; @class PIHomeCategoryTitleModel;
@protocol XPHomeContainerProtocol <NSObject> @protocol XPHomeContainerProtocol <NSObject>
@optional @optional
///获取所有的tag成功 ///获取所有的tag成功
- (void)getHomeTagListSuccess:(NSArray<HomeTagModel *> *)array; - (void)getHomeTagListSuccess:(NSArray<PIHomeCategoryTitleModel *> *)array;
///获取首页轮播图列表成功 ///获取首页轮播图列表成功
- (void)getHomeTopBannerListSuccess:(NSArray*)list; - (void)getHomeTopBannerListSuccess:(NSArray*)list;
////首页改版资源位 ////首页改版资源位

View File

@@ -12,9 +12,9 @@ NS_ASSUME_NONNULL_BEGIN
@protocol XPHomeProtocol <NSObject> @protocol XPHomeProtocol <NSObject>
@optional @optional
///首页推荐房间的 ///首页推荐房间的
- (void)getHomeRecommendRoomListSuccess:(NSArray *)list state:(BOOL)state; - (void)getHomeRecommendRoomListSuccess:(NSArray *)list;
///首页推荐房间失败 ///首页推荐房间失败
- (void)getHomeRecommendRoomListFail:(NSString *)message state:(BOOL)state; - (void)getHomeRecommendRoomListFail:(NSString *)message;
///请求更多个播房成功 ///请求更多个播房成功
- (void)getHomeMoreAnchorRoomListSuccess:(NSArray *)list; - (void)getHomeMoreAnchorRoomListSuccess:(NSArray *)list;
///请求更多个播房失败 ///请求更多个播房失败

View File

@@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN
@interface XPNewHomePartyTableViewCell : UITableViewCell @interface XPNewHomePartyTableViewCell : UITableViewCell
@property (nonatomic,strong) HomePlayRoomModel *roomInfo; @property (nonatomic,strong) HomePlayRoomModel *roomInfo;
@property (nonatomic,strong) HomeRecommendRoomModel *roomInfo1;
@property(nonatomic,weak) id<XPNewHomePartyTableViewCellDelegate>delegate; @property(nonatomic,weak) id<XPNewHomePartyTableViewCellDelegate>delegate;
///声音卡时svga是否播放动画 ///声音卡时svga是否播放动画
-(void)setPlaySoundStatus:(BOOL)isPlay; -(void)setPlaySoundStatus:(BOOL)isPlay;

View File

@@ -243,14 +243,7 @@
-(void)setPlaySoundTime:(NSInteger)time{ -(void)setPlaySoundTime:(NSInteger)time{
_audioView.voiceDura = @(time).stringValue; _audioView.voiceDura = @(time).stringValue;
} }
- (void)setRoomInfo1:(HomeRecommendRoomModel *)roomInfo1 {
_roomInfo1 = roomInfo1;
if (_roomInfo1) {
}
}
-(void)didSelectItemAction{ -(void)didSelectItemAction{

View File

@@ -0,0 +1,25 @@
//
// PIHoemCategoryCollectionView.h
// YuMi
//
// Created by duoban on 2024/2/21.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@protocol PIHoemCategoryCollectionViewDelegate <NSObject>
-(void)didSelectItemAtIndex:(NSInteger)index;
@end
@interface PIHoemCategoryCollectionView : UIView
@property(nonatomic,strong) NSMutableArray *titleList;
@property(nonatomic,assign) NSInteger index;
@property(nonatomic,weak) id<PIHoemCategoryCollectionViewDelegate>delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,104 @@
//
// PIHoemCategoryCollectionView.m
// YuMi
//
// Created by duoban on 2024/2/21.
//
#import "PIHoemCategoryCollectionView.h"
#import "PIHomeCategoryTitleModel.h"
#import "PIHoemCategoryTitleCell.h"
@interface PIHoemCategoryCollectionView()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
@property(nonatomic,strong) UICollectionView *pi_collectionView;
@end
@implementation PIHoemCategoryCollectionView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self addSubview:self.pi_collectionView];
}
-(void)installConstraints{
[self.pi_collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
}
-(void)setTitleList:(NSMutableArray *)titleList{
_titleList = titleList;
[self.pi_collectionView reloadData];
}
#pragma mark- UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return self.titleList.count;
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
PIHomeCategoryTitleModel *model = [self.titleList safeObjectAtIndex1:indexPath.row];
CGFloat width = model.isChecked ? model.checkedWidth : model.noCheckedWidth;
return CGSizeMake(width + kGetScaleWidth(10), kGetScaleWidth(44));
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
PIHoemCategoryTitleCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([PIHoemCategoryTitleCell class]) forIndexPath:indexPath];
PIHomeCategoryTitleModel *model = [self.titleList safeObjectAtIndex1:indexPath.row];
cell.tagModel = model;
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
for (PIHomeCategoryTitleModel *model in self.titleList) {
model.isChecked = NO;
}
PIHomeCategoryTitleModel *selectModel = [self.titleList safeObjectAtIndex1:indexPath.row];
selectModel.isChecked = YES;
[self.pi_collectionView reloadData];
if(self.delegate && [self.delegate respondsToSelector:@selector(didSelectItemAtIndex:)]){
[self.delegate didSelectItemAtIndex:indexPath.row];
}
// int i = [selectModel.id isEqualToString:@"-1"] ? 0 : 1;
// if(self.scrolledHandle){
// self.scrolledHandle(i);
// }
}
- (void)setIndex:(NSInteger)index{
_index = index;
for (int i = 0; i < self.titleList.count; i++) {
PIHomeCategoryTitleModel *model = [self.titleList safeObjectAtIndex1:i];
model.isChecked = NO;
}
PIHomeCategoryTitleModel *curModel = [self.titleList safeObjectAtIndex1:_index];
curModel.isChecked = YES;
[self.pi_collectionView reloadData];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self.pi_collectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForRow:index inSection:0] atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:YES];
});
}
#pragma mark -
- (UICollectionView *)pi_collectionView{
if (!_pi_collectionView) {
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
layout.minimumLineSpacing = kGetScaleWidth(10);
layout.minimumInteritemSpacing = kGetScaleWidth(10);
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
layout.sectionInset = UIEdgeInsetsMake(0, kGetScaleWidth(10), 0, kGetScaleWidth(10));
_pi_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
_pi_collectionView.dataSource = self;
_pi_collectionView.delegate = self;
_pi_collectionView.tag = 98777;
_pi_collectionView.showsVerticalScrollIndicator = NO;
_pi_collectionView.showsHorizontalScrollIndicator = NO;
_pi_collectionView.backgroundColor = [UIColor clearColor];
[_pi_collectionView registerClass:[PIHoemCategoryTitleCell class] forCellWithReuseIdentifier:NSStringFromClass([PIHoemCategoryTitleCell class])];
}
return _pi_collectionView;
}
@end

View File

@@ -0,0 +1,18 @@
//
// PIHoemCategoryTitleCell.h
// YuMi
//
// Created by duoban on 2024/2/21.
//
#import <UIKit/UIKit.h>
#import "PIHomeCategoryTitleModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface PIHoemCategoryTitleCell : UICollectionViewCell
@property(nonatomic,strong) PIHomeCategoryTitleModel *tagModel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,67 @@
//
// PIHoemCategoryTitleCell.m
// YuMi
//
// Created by duoban on 2024/2/21.
//
#import "PIHoemCategoryTitleCell.h"
@interface PIHoemCategoryTitleCell()
@property(nonatomic,strong) UIButton *titleView;
@property(nonatomic,strong) UIImageView *lineVeiw;
@end
@implementation PIHoemCategoryTitleCell
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self.contentView addSubview:self.lineVeiw];
[self.contentView addSubview:self.titleView];
}
-(void)installConstraints{
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.centerY.trailing.equalTo(self.contentView);
make.height.mas_equalTo(kGetScaleWidth(22));
}];
[self.lineVeiw mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(36));
make.height.mas_equalTo(kGetScaleWidth(8));
make.bottom.equalTo(self.titleView.mas_bottom).mas_offset(-kGetScaleWidth(4));
make.trailing.equalTo(self.titleView.mas_trailing).mas_offset(-kGetScaleWidth(5));
}];
}
-(void)setTagModel:(PIHomeCategoryTitleModel *)tagModel{
_tagModel = tagModel;
[_titleView setTitle:_tagModel.name forState:UIControlStateNormal];
_titleView.selected = _tagModel.isChecked;
_titleView.titleLabel.font = _tagModel.isChecked ? kFontSemibold(16):kFontRegular(14);
_lineVeiw.hidden = !_tagModel.isChecked;
}
#pragma mark -
- (UIImageView *)lineVeiw{
if(!_lineVeiw){
_lineVeiw = [UIImageView new];
_lineVeiw.image = kImage(@"home_slider_bg");
}
return _lineVeiw;
}
- (UIButton *)titleView{
if(!_titleView){
_titleView = [UIButton new];
[_titleView setTitle:YMLocalizedString(@"XPNewHomeViewController1") forState:UIControlStateNormal];
[_titleView setTitleColor:UIColorFromRGB(0x1F1B4F) forState:UIControlStateSelected];
[_titleView setTitleColor:UIColorFromRGB(0x767585) forState:UIControlStateNormal];
_titleView.titleLabel.font = kFontRegular(14);
_titleView.userInteractionEnabled = NO;
}
return _titleView;
}
@end

View File

@@ -15,6 +15,7 @@ typedef void(^ScrolledHandle)(NSInteger type);
@interface PIHoemCategoryTitleView : JXCategoryTitleView @interface PIHoemCategoryTitleView : JXCategoryTitleView
@property(nonatomic,assign) NSInteger index; @property(nonatomic,assign) NSInteger index;
@property(nonatomic,copy) ScrolledHandle scrolledHandle; @property(nonatomic,copy) ScrolledHandle scrolledHandle;
@property(nonatomic,strong) NSMutableArray *titleList;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

View File

@@ -6,10 +6,11 @@
// //
#import "PIHoemCategoryTitleView.h" #import "PIHoemCategoryTitleView.h"
@interface PIHoemCategoryTitleView() #import "PIHoemCategoryTitleCell.h"
@property(nonatomic,strong) UIButton *fristBnt; #import "PIHoemCategoryCollectionView.h"
@property(nonatomic,strong) UIButton *secondBnt; @interface PIHoemCategoryTitleView()<PIHoemCategoryCollectionViewDelegate>
@property(nonatomic,strong) UIImageView *lineImage;
@property(nonatomic,strong) PIHoemCategoryCollectionView *pi_collectionView;
@end @end
@implementation PIHoemCategoryTitleView @implementation PIHoemCategoryTitleView
-(instancetype)initWithFrame:(CGRect)frame{ -(instancetype)initWithFrame:(CGRect)frame{
@@ -21,122 +22,40 @@
return self; return self;
} }
-(void)installUI{ -(void)installUI{
UIButton *b = [UIButton new]; [self addSubview:self.pi_collectionView];
[self addSubview:b];
[b mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self addSubview:self.lineImage];
[self addSubview:self.fristBnt];
[self addSubview:self.secondBnt];
} }
-(void)installConstraints{ -(void)installConstraints{
[self.fristBnt mas_makeConstraints:^(MASConstraintMaker *make) { [self.pi_collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(kGetScaleWidth(15)); make.edges.equalTo(self);
make.centerY.equalTo(self);
make.height.mas_equalTo(kGetScaleWidth(22));
}];
[self.secondBnt mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.equalTo(self.fristBnt.mas_trailing).mas_offset(kGetScaleWidth(24));
make.centerY.equalTo(self);
make.height.mas_equalTo(kGetScaleWidth(22));
}];
[self.lineImage mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(36));
make.height.mas_equalTo(kGetScaleWidth(8));
make.bottom.equalTo(self.fristBnt.mas_bottom).mas_offset(-kGetScaleWidth(4));
make.trailing.equalTo(self.fristBnt.mas_trailing);
}]; }];
} }
-(void)chooseItem:(UIButton *)sender{ -(void)setTitleList:(NSMutableArray *)titleList{
self.fristBnt.titleLabel.font = sender == self.fristBnt ? kFontSemibold(16):kFontRegular(14); _titleList = titleList;
self.secondBnt.titleLabel.font = sender != self.fristBnt ? kFontSemibold(16):kFontRegular(14); self.pi_collectionView.titleList = titleList;
self.fristBnt.selected = sender == self.fristBnt;
self.secondBnt.selected = sender != self.fristBnt;
if(self.fristBnt == sender){
if(self.scrolledHandle){
self.scrolledHandle(0);
}
[self.lineImage mas_remakeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(36));
make.height.mas_equalTo(kGetScaleWidth(8));
make.bottom.equalTo(self.fristBnt.mas_bottom).mas_offset(-kGetScaleWidth(4));
make.trailing.equalTo(self.fristBnt.mas_trailing);
}];
return;
}
if(self.scrolledHandle){
self.scrolledHandle(1);
}
[self.lineImage mas_remakeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(36));
make.height.mas_equalTo(kGetScaleWidth(8));
make.bottom.equalTo(self.secondBnt.mas_bottom).mas_offset(-kGetScaleWidth(4));
make.trailing.equalTo(self.secondBnt.mas_trailing);
}];
} }
- (void)setIndex:(NSInteger)index{ - (void)setIndex:(NSInteger)index{
_index = index; _index = index;
self.fristBnt.titleLabel.font = _index == 0 ? kFontSemibold(16):kFontRegular(14); self.pi_collectionView.index = _index;
self.secondBnt.titleLabel.font = _index == 1 ? kFontSemibold(16):kFontRegular(14); }
self.fristBnt.selected = _index == 0; #pragma mark - PIHoemCategoryCollectionViewDelegate
self.secondBnt.selected = _index == 1; - (void)didSelectItemAtIndex:(NSInteger)index{
if(_index == 0){ if(self.scrolledHandle){
[self.lineImage mas_remakeConstraints:^(MASConstraintMaker *make) { self.scrolledHandle(index);
make.width.mas_equalTo(kGetScaleWidth(36));
make.height.mas_equalTo(kGetScaleWidth(8));
make.bottom.equalTo(self.fristBnt.mas_bottom).mas_offset(-kGetScaleWidth(4));
make.trailing.equalTo(self.fristBnt.mas_trailing);
}];
return;
} }
[self.lineImage mas_remakeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(36));
make.height.mas_equalTo(kGetScaleWidth(8));
make.bottom.equalTo(self.secondBnt.mas_bottom).mas_offset(-kGetScaleWidth(4));
make.trailing.equalTo(self.secondBnt.mas_trailing);
}];
} }
#pragma mark - #pragma mark -
- (UIButton *)fristBnt{ - (PIHoemCategoryCollectionView *)pi_collectionView{
if(!_fristBnt){ if (!_pi_collectionView) {
_fristBnt = [UIButton new];
[_fristBnt setTitle:YMLocalizedString(@"XPNewHomeViewController0") forState:UIControlStateNormal]; _pi_collectionView = [[PIHoemCategoryCollectionView alloc] initWithFrame:CGRectZero ];
[_fristBnt setTitleColor:UIColorFromRGB(0x1F1B4F) forState:UIControlStateSelected]; _pi_collectionView.delegate = self;
[_fristBnt setTitleColor:UIColorFromRGB(0x767585) forState:UIControlStateNormal];
_fristBnt.selected = YES;
_fristBnt.titleLabel.font = kFontSemibold(16);
[_fristBnt addTarget:self action:@selector(chooseItem:) forControlEvents:UIControlEventTouchUpInside];
[_fristBnt setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
}
return _fristBnt;
}
- (UIButton *)secondBnt{
if(!_secondBnt){
_secondBnt = [UIButton new];
[_secondBnt setTitle:YMLocalizedString(@"XPNewHomeViewController1") forState:UIControlStateNormal];
[_secondBnt setTitleColor:UIColorFromRGB(0x1F1B4F) forState:UIControlStateSelected];
[_secondBnt setTitleColor:UIColorFromRGB(0x767585) forState:UIControlStateNormal];
_secondBnt.titleLabel.font = kFontRegular(14);
[_secondBnt addTarget:self action:@selector(chooseItem:) forControlEvents:UIControlEventTouchUpInside];
[_secondBnt setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
} }
return _secondBnt; return _pi_collectionView;
}
- (UIImageView *)lineImage{
if(!_lineImage){
_lineImage = [UIImageView new];
_lineImage.image = kImage(@"home_slider_bg");
}
return _lineImage;
} }
//- (void)layoutSubviews{ //- (void)layoutSubviews{
// [super layoutSubviews]; // [super layoutSubviews];
@@ -145,7 +64,7 @@
// //JXCategoryView // //JXCategoryView
// //
// CGRect targetFrame = CGRectMake(0, 0, self.bounds.size.width - kGetScaleWidth(159), floor(self.bounds.size.height)); // CGRect targetFrame = CGRectMake(0, 0, self.bounds.size.width - kGetScaleWidth(159), floor(self.bounds.size.height));
// self.collectionView.frame = targetFrame; // self.pi_collectionView.frame = targetFrame;
// //
// //
//} //}

View File

@@ -7,6 +7,7 @@
#import "MvpViewController.h" #import "MvpViewController.h"
#import <JXPagingView/JXPagerView.h> #import <JXPagingView/JXPagerView.h>
#import "PIHomeCategoryTitleModel.h"
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@@ -14,13 +15,12 @@ NS_ASSUME_NONNULL_BEGIN
@interface XPHomePartyViewController : MvpViewController<JXPagerViewListViewDelegate> @interface XPHomePartyViewController : MvpViewController<JXPagerViewListViewDelegate>
@property (nonatomic, copy) void(^scrollCallback)(UIScrollView *scrollView); @property (nonatomic, copy) void(^scrollCallback)(UIScrollView *scrollView);
///模块的 ID
@property (nonatomic,copy) NSString *pi_tabId;
///是否是个播
@property (nonatomic,assign) BOOL isAnchor;
@property(nonatomic,copy) HeaderRefreshComplete refreshComplete;
- (void)headerRefresh; @property(nonatomic,strong) PIHomeCategoryTitleModel *tagModel;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

View File

@@ -54,6 +54,7 @@
} }
#pragma mark - Private Method #pragma mark - Private Method
- (void)initSubViews { - (void)initSubViews {
self.view.backgroundColor = [UIColor clearColor]; self.view.backgroundColor = [UIColor clearColor];
@@ -64,6 +65,11 @@
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) { [self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.view); make.edges.mas_equalTo(self.view);
}]; }];
MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(fooderRefresh)];
footer.stateLabel.textColor = [DJDKMIMOMColor secondTextColor];
footer.stateLabel.font = [UIFont systemFontOfSize:10.0];
self.collectionView.mj_footer = footer;
} }
@@ -71,12 +77,23 @@
#pragma mark - fangfa #pragma mark - fangfa
- (void)headerRefresh { - (void)headerRefresh {
if([self.tagModel.id isEqualToString:@"-1"]){
[self.presenter getHomePersonalRoomList]; [self.presenter getHomePersonalRoomList];
}else{
self.page = 1;
[self.presenter getRecommendRoomList:self.tagModel.id page:self.page pageSize:20];
}
} }
-(void)fooderRefresh{
if([self.tagModel.id isEqualToString:@"-1"]){
[self.collectionView.mj_footer endRefreshing];
}else{
self.page++;
[self.presenter getRecommendRoomList:self.tagModel.id page:self.page pageSize:20];
}
}
#pragma mark - UICollectionViewDelegate And UICollectionViewDataSource #pragma mark - UICollectionViewDelegate And UICollectionViewDataSource
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ - (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
@@ -116,9 +133,7 @@
#pragma mark - XPHomeProtocol #pragma mark - XPHomeProtocol
- (void)getHomePersonalRoomListSuccess:(NSArray *)list{ - (void)getHomePersonalRoomListSuccess:(NSArray *)list{
if(self.refreshComplete){ [[NSNotificationCenter defaultCenter]postNotificationName:@"khomeVCRefreshComplete" object:nil];
self.refreshComplete();
}
for (HomePlayRoomModel *model in list) { for (HomePlayRoomModel *model in list) {
model.width = [UILabel getWidthWithText:@(model.onlineNum).stringValue height:kGetScaleWidth(12) font:kFontBold(10)]+1; model.width = [UILabel getWidthWithText:@(model.onlineNum).stringValue height:kGetScaleWidth(12) font:kFontBold(10)]+1;
} }
@@ -126,11 +141,27 @@
[self.collectionView reloadData]; [self.collectionView reloadData];
} }
- (void)getHomePersonalRoomListFail{ - (void)getHomePersonalRoomListFail{
if(self.refreshComplete){ [[NSNotificationCenter defaultCenter]postNotificationName:@"khomeVCRefreshComplete" object:nil];
self.refreshComplete();
}
} }
- (void)getHomeRecommendRoomListSuccess:(NSArray *)list{
[self.collectionView.mj_footer endRefreshing];
for (HomePlayRoomModel *model in list) {
model.width = [UILabel getWidthWithText:@(model.onlineNum).stringValue height:kGetScaleWidth(12) font:kFontBold(10)]+1;
}
if(self.page == 1){
self.datasource = [NSMutableArray arrayWithArray:list];
}else{
[self.datasource addObjectsFromArray:list];
}
[self.collectionView reloadData];
[[NSNotificationCenter defaultCenter]postNotificationName:@"khomeVCRefreshComplete" object:nil];
}
- (void)getHomeRecommendRoomListFail:(NSString *)message{
[self.collectionView.mj_footer endRefreshing];
[[NSNotificationCenter defaultCenter]postNotificationName:@"khomeVCRefreshComplete" object:nil];
}
#pragma mark - JXPagingViewListViewDelegate #pragma mark - JXPagingViewListViewDelegate
- (UIScrollView *)listScrollView { - (UIScrollView *)listScrollView {
return self.collectionView; return self.collectionView;
@@ -152,16 +183,8 @@
#pragma mark - Getters And Setters #pragma mark - Getters And Setters
- (void)setIsAnchor:(BOOL)isAnchor { -(void)setTagModel:(PIHomeCategoryTitleModel *)tagModel{
_isAnchor = isAnchor; _tagModel = tagModel;
if (_isAnchor) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self headerRefresh];
});
}
}
- (void)setPi_tabId:(NSString *)pi_tabId{
_pi_tabId = pi_tabId;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self headerRefresh]; [self headerRefresh];
}); });
@@ -169,6 +192,7 @@
- (UICollectionView *)collectionView{ - (UICollectionView *)collectionView{
if (!_collectionView) { if (!_collectionView) {
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
@@ -179,6 +203,7 @@
_collectionView.backgroundColor = [UIColor clearColor]; _collectionView.backgroundColor = [UIColor clearColor];
_collectionView.dataSource = self; _collectionView.dataSource = self;
_collectionView.delegate = self; _collectionView.delegate = self;
_collectionView.tag = 78574;
[_collectionView registerClass:[XPNewHomePartyCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPNewHomePartyCollectionViewCell class])]; [_collectionView registerClass:[XPNewHomePartyCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPNewHomePartyCollectionViewCell class])];
[_collectionView registerClass:[XPGuildEmptyCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPGuildEmptyCollectionViewCell class])]; [_collectionView registerClass:[XPGuildEmptyCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPGuildEmptyCollectionViewCell class])];
} }

View File

@@ -7,6 +7,7 @@
#import "MvpViewController.h" #import "MvpViewController.h"
#import <JXPagingView/JXPagerView.h> #import <JXPagingView/JXPagerView.h>
#import "PIHomeCategoryTitleModel.h"
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@protocol XPHomeRecommendViewControllerDelegate <NSObject> @protocol XPHomeRecommendViewControllerDelegate <NSObject>
@@ -19,6 +20,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, copy) void(^scrollCallback)(UIScrollView *scrollView); @property (nonatomic, copy) void(^scrollCallback)(UIScrollView *scrollView);
@property(nonatomic,weak) id<XPHomeRecommendViewControllerDelegate>delegate; @property(nonatomic,weak) id<XPHomeRecommendViewControllerDelegate>delegate;
@property(nonatomic,copy) HeaderRefreshComplete refreshComplete; @property(nonatomic,copy) HeaderRefreshComplete refreshComplete;
@property(nonatomic,strong) PIHomeCategoryTitleModel *tagModel;
- (void)headerRefresh; - (void)headerRefresh;
@end @end

View File

@@ -431,6 +431,7 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
-(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didSelectChat:(HomePlayRoomModel *_Nonnull)roomModel{ -(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didSelectChat:(HomePlayRoomModel *_Nonnull)roomModel{
if(roomModel.inMic == YES){ if(roomModel.inMic == YES){
[XPRoomViewController openRoom:roomModel.inRoomUid fromNick:roomModel.nick fromType:UserEnterRoomFromType_Follow_User fromUid:roomModel.uid viewController:self]; [XPRoomViewController openRoom:roomModel.inRoomUid fromNick:roomModel.nick fromType:UserEnterRoomFromType_Follow_User fromUid:roomModel.uid viewController:self];
return; return;
} }

View File

@@ -51,7 +51,7 @@
#import "XPLoginViewController.h" #import "XPLoginViewController.h"
#import "BaseNavigationController.h" #import "BaseNavigationController.h"
#import "XPAdImageTool.h" #import "XPAdImageTool.h"
#import "PIHomeCategoryTitleModel.h"
UIKIT_EXTERN NSString * kHomeMoreScrollPageKey; UIKIT_EXTERN NSString * kHomeMoreScrollPageKey;
UIKIT_EXTERN NSString * const kOpenRoomNotification; UIKIT_EXTERN NSString * const kOpenRoomNotification;
@@ -66,20 +66,19 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
/// ///
@property(nonatomic,strong) XPNewHomeHeadView *headView; @property(nonatomic,strong) XPNewHomeHeadView *headView;
/// ///
@property (nonatomic, strong) NSArray<NSString *> *titles; @property (nonatomic, strong) NSMutableArray<PIHomeCategoryTitleModel *> *tagModelList;
/// ///
@property (nonatomic, strong) PIHoemCategoryTitleView *titleView; @property (nonatomic, strong) PIHoemCategoryTitleView *titleView;
///lineView ///lineView
@property (nonatomic, strong) JXPagerView *pagingView; @property (nonatomic, strong) JXPagerView *pagingView;
///tag
@property (nonatomic,copy) NSMutableArray<HomeTagModel *> *tagList;
@property (nonatomic,strong) HomeTagModel *recommendItem; @property (nonatomic,strong) HomeTagModel *recommendItem;
///bug ///bug
@property (nonatomic,assign) BOOL isEmpty; @property (nonatomic,assign) BOOL isEmpty;
@property(nonatomic,strong) XPHomePartyViewController * homeVC;
@property(nonatomic,strong) XPHomeRecommendViewController * recommendVC; @property(nonatomic,strong) XPHomeRecommendViewController * recommendVC;
@property(nonatomic,assign) NSInteger type;
@property(nonatomic,assign) BOOL isCheckIp; @property(nonatomic,assign) BOOL isCheckIp;
@property(nonatomic,assign) NSInteger type;
@property(nonatomic,strong) NSMutableDictionary *validListDict;
@end @end
@implementation XPNewHomeViewController @implementation XPNewHomeViewController
@@ -106,6 +105,7 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
- (void)viewDidLoad { - (void)viewDidLoad {
[super viewDidLoad]; [super viewDidLoad];
if(self.isEmpty == NO){ if(self.isEmpty == NO){
[self.presenter getHomeTagList];
[self initHttp]; [self initHttp];
[self initSubViews]; [self initSubViews];
[self initSubViewConstraints]; [self initSubViewConstraints];
@@ -148,8 +148,10 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
@kWeakify(self); @kWeakify(self);
timer = [XPWeakTimer scheduledTimerWithTimeInterval:15 block:^(id userInfo) { timer = [XPWeakTimer scheduledTimerWithTimeInterval:15 block:^(id userInfo) {
@kStrongify(self); @kStrongify(self);
[self.homeVC headerRefresh]; PIHomeCategoryTitleModel *tagModel = [self.tagModelList safeObjectAtIndex1:self.type];
[self.recommendVC headerRefresh]; XPHomePartyViewController *homeVC = [self.validListDict objectForKey:[NSNumber numberWithInteger:self.type]];
homeVC.tagModel = tagModel;
[self.recommendVC headerRefresh];
} userInfo:nil repeats:YES]; } userInfo:nil repeats:YES];
} }
- (void)initSubViews { - (void)initSubViews {
@@ -181,56 +183,64 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
header.stateLabel.textColor = [DJDKMIMOMColor secondTextColor]; header.stateLabel.textColor = [DJDKMIMOMColor secondTextColor];
header.lastUpdatedTimeLabel.textColor = [DJDKMIMOMColor secondTextColor]; header.lastUpdatedTimeLabel.textColor = [DJDKMIMOMColor secondTextColor];
self.pagingView.mainTableView.mj_header = header; self.pagingView.mainTableView.mj_header = header;
[self.pagingView.mainTableView.mj_header beginRefreshing]; [self.pagingView.mainTableView.mj_header beginRefreshing];
@kWeakify(self); @kWeakify(self);
self.homeVC.refreshComplete = ^{
@kStrongify(self);
if(self.type == 0){
[self.pagingView.mainTableView.mj_header endRefreshing];
}
};
self.recommendVC.refreshComplete = ^{ self.recommendVC.refreshComplete = ^{
@kStrongify(self); @kStrongify(self);
if(self.type == 1){
[self.pagingView.mainTableView.mj_header endRefreshing]; [self.pagingView.mainTableView.mj_header endRefreshing];
}
}; };
self.titleView.scrolledHandle = ^(NSInteger type) { self.titleView.scrolledHandle = ^(NSInteger type) {
@kStrongify(self); @kStrongify(self);
[self.titleView.listContainer didClickSelectedItemAtIndex:type]; [self.titleView.listContainer didClickSelectedItemAtIndex:type];
[UIView animateWithDuration:0.3 animations:^{ self.pagingView.listContainerView.scrollView.contentOffset = CGPointMake(type * KScreenWidth, 0);
self.pagingView.listContainerView.scrollView.contentOffset = CGPointMake(type * KScreenWidth, 0); self.type = type;
} ];
}; };
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(homeVCRefreshComplete) name:@"khomeVCRefreshComplete" object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(logOut) name:@"kInLoginVC" object:nil]; [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(logOut) name:@"kInLoginVC" object:nil];
}
-(void)homeVCRefreshComplete{
[self.pagingView.mainTableView.mj_header endRefreshing];
[self.pagingView.mainTableView.mj_footer endRefreshing];
} }
-(void)logOut{ -(void)logOut{
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(requestCheckIp) object:nil]; [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(requestCheckIp) object:nil];
} }
-(void)headerRefresh{ -(void)headerRefresh{
[self initHttp]; [self initHttp];
if(self.type == 0){ if(self.titleView.index == self.tagModelList.count - 1){
[self.homeVC headerRefresh];
}else{
[self.recommendVC headerRefresh]; [self.recommendVC headerRefresh];
}else{
PIHomeCategoryTitleModel *tagModel = [self.tagModelList safeObjectAtIndex1:self.type];
XPHomePartyViewController *homeVC = [self.validListDict objectForKey:[NSNumber numberWithInteger:self.type]];
homeVC.tagModel = tagModel;
} }
} }
-(void)openRoomNotification:(NSNotification *)notification{ -(void)openRoomNotification:(NSNotification *)notification{
if([[AccountInfoStorage instance] getUid].length == 0){ if([[AccountInfoStorage instance] getUid].length == 0){
return; return;
} }
NSString *uid = notification.userInfo[@"uid"]; NSString *uid = notification.userInfo[@"uid"];
NSString *type = notification.userInfo[@"type"]; NSString *type = notification.userInfo[@"type"];
BOOL isNoAttention = [notification.userInfo[@"isNoAttention"] boolValue];
if([type isEqualToString:@"kOpenChat"]){ if([type isEqualToString:@"kOpenChat"]){
if (uid.length > 0) { if (uid.length > 0) {
NIMSession * session = [NIMSession session:uid type:NIMSessionTypeP2P]; NIMSession * session = [NIMSession session:uid type:NIMSessionTypeP2P];
SessionViewController * sessionVC = [[SessionViewController alloc] initWithSession:session]; SessionViewController * sessionVC = [[SessionViewController alloc] initWithSession:session];
sessionVC.isAttention = YES; sessionVC.isAttention = !isNoAttention;
[self.navigationController pushViewController:sessionVC animated:YES]; [self.navigationController pushViewController:sessionVC animated:YES];
[ClientConfig shareConfig].chatId = nil; [ClientConfig shareConfig].chatId = nil;
} }
@@ -265,6 +275,7 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
} }
- (void)initHttp { - (void)initHttp {
[self.presenter getHomeTopBannerList]; [self.presenter getHomeTopBannerList];
[self.presenter getCurrentResourceList]; [self.presenter getCurrentResourceList];
[self requestCheckIp]; [self requestCheckIp];
@@ -340,22 +351,25 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
} }
- (NSInteger)numberOfListsInPagerView:(JXPagerView *)pagerView { - (NSInteger)numberOfListsInPagerView:(JXPagerView *)pagerView {
return self.titles.count; return self.tagModelList.count;
} }
- (id<JXPagerViewListViewDelegate>)pagerView:(JXPagerView *)pagerView initListAtIndex:(NSInteger)index { - (id<JXPagerViewListViewDelegate>)pagerView:(JXPagerView *)pagerView initListAtIndex:(NSInteger)index {
XPHomeRecommendViewController<JXPagerViewListViewDelegate> * homeV = (XPHomeRecommendViewController<JXPagerViewListViewDelegate> *)[self.pagingView.validListDict objectForKey:[NSNumber numberWithInteger:index]];
if (homeV) {
return homeV; if (index == self.tagModelList.count - 1) {
} self.recommendVC.tagModel = [self.tagModelList safeObjectAtIndex1:index];
if (index == 0) {
return self.homeVC;
} else {
return self.recommendVC; return self.recommendVC;
} else {
id homeV = [self.validListDict objectForKey:[NSNumber numberWithInteger:index]];
if (homeV) {
return homeV;
}
XPHomePartyViewController *homeVC = [[XPHomePartyViewController alloc] init];
homeVC.tagModel = [self.tagModelList safeObjectAtIndex1:index];
[self.validListDict setObject:homeVC forKey:@(index)];
return homeVC;
} }
} }
@@ -378,6 +392,10 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
if(otherGestureRecognizer.view.tag == 9000002){ if(otherGestureRecognizer.view.tag == 9000002){
return NO; return NO;
} }
if(otherGestureRecognizer.view.tag == 98777){
return NO;
}
return [gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] && [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]; return [gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] && [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]];
} }
@@ -390,7 +408,21 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
- (void)getCurrentResourceListSuccess:(NSArray *)list{ - (void)getCurrentResourceListSuccess:(NSArray *)list{
self.headView.itemList = list; self.headView.itemList = list;
} }
///tag
- (void)getHomeTagListSuccess:(NSArray<PIHomeCategoryTitleModel *> *)array{
if(array.count == 0)return;
NSMutableArray *list = [NSMutableArray arrayWithArray:array];
[list addObject:self.tagModelList.lastObject];
[list insertObject:self.tagModelList.firstObject atIndex:0];
self.tagModelList = list;
self.titleView.titleList = self.tagModelList;
NSMutableArray *titleArray = [NSMutableArray array];
for (PIHomeCategoryTitleModel *model in self.tagModelList) {
[titleArray addObject:model.name];
}
self.titleView.titles = titleArray;
[self.titleView reloadData];
}
- (void)homeChatPickSuccess:(NSString *)uid { - (void)homeChatPickSuccess:(NSString *)uid {
/// ///
NSString *sessionId = uid; NSString *sessionId = uid;
@@ -404,8 +436,9 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
} }
- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index{ - (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index{
self.type = index;
self.titleView.index = index; self.titleView.index = index;
self.type = index;
} }
@@ -488,7 +521,8 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
if (!_titleView) { if (!_titleView) {
_titleView = [[PIHoemCategoryTitleView alloc] initWithFrame:CGRectZero]; _titleView = [[PIHoemCategoryTitleView alloc] initWithFrame:CGRectZero];
_titleView.delegate = self; _titleView.delegate = self;
_titleView.titles = self.titles; _titleView.titles = @[YMLocalizedString(@"XPNewHomeViewController0"),YMLocalizedString(@"XPNewHomeViewController1")];
_titleView.titleList = self.tagModelList;
_titleView.backgroundColor = [UIColor clearColor]; _titleView.backgroundColor = [UIColor clearColor];
_titleView.titleColor = [UIColor clearColor]; _titleView.titleColor = [UIColor clearColor];
_titleView.titleSelectedColor = [UIColor clearColor]; _titleView.titleSelectedColor = [UIColor clearColor];
@@ -511,11 +545,26 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
} }
return _titleView; return _titleView;
} }
- (NSArray<NSString *> *)titles{
if(!_titles){ - (NSMutableArray<PIHomeCategoryTitleModel *> *)tagModelList{
_titles = @[YMLocalizedString(@"XPNewHomeViewController0"),YMLocalizedString(@"XPNewHomeViewController1")]; if(!_tagModelList){
_tagModelList = [NSMutableArray array];
PIHomeCategoryTitleModel *recommendModel = [PIHomeCategoryTitleModel new];
recommendModel.id = @"-1";
recommendModel.name = YMLocalizedString(@"XPNewHomeViewController0");
recommendModel.checkedWidth = [UILabel getWidthWithText:recommendModel.name height:kGetScaleWidth(44) font:kFontSemibold(16)];
recommendModel.noCheckedWidth = [UILabel getWidthWithText:recommendModel.name height:kGetScaleWidth(44) font:kFontRegular(14)];
recommendModel.isChecked = YES;
PIHomeCategoryTitleModel *hotModel = [PIHomeCategoryTitleModel new];
hotModel.id = @"-2";
hotModel.name = YMLocalizedString(@"XPNewHomeViewController1");
hotModel.checkedWidth = [UILabel getWidthWithText:recommendModel.name height:kGetScaleWidth(44) font:kFontSemibold(16)];
hotModel.noCheckedWidth = [UILabel getWidthWithText:recommendModel.name height:kGetScaleWidth(44) font:kFontRegular(14)];
[_tagModelList addObject:recommendModel];
[_tagModelList addObject:hotModel];
} }
return _titles; return _tagModelList;
} }
- (JXPagerView *)pagingView { - (JXPagerView *)pagingView {
if (!_pagingView) { if (!_pagingView) {
@@ -536,12 +585,7 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
return _recommendItem; return _recommendItem;
} }
- (NSMutableArray<HomeTagModel *> *)tagList {
if (!_tagList) {
_tagList = [NSMutableArray array];
}
return _tagList;
}
- (XPNewHomeNavView *)navView { - (XPNewHomeNavView *)navView {
if (!_navView) { if (!_navView) {
@@ -567,12 +611,7 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
} }
return _headView; return _headView;
} }
- (XPHomePartyViewController *)homeVC{
if(!_homeVC){
_homeVC = [[XPHomePartyViewController alloc] init];
}
return _homeVC;
}
- (XPHomeRecommendViewController *)recommendVC{ - (XPHomeRecommendViewController *)recommendVC{
if(!_recommendVC){ if(!_recommendVC){
_recommendVC = [[XPHomeRecommendViewController alloc] init]; _recommendVC = [[XPHomeRecommendViewController alloc] init];
@@ -580,4 +619,10 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
} }
return _recommendVC; return _recommendVC;
} }
- (NSMutableDictionary *)validListDict{
if(!_validListDict){
_validListDict = [NSMutableDictionary dictionary];
}
return _validListDict;
}
@end @end

View File

@@ -86,10 +86,10 @@ NS_ASSUME_NONNULL_BEGIN
/// 房间活动页的列表 /// 房间活动页的列表
/// @param completion 完成 /// @param completion 完成
/// @param roomId 房间的id /// @param roomId 房间的id
/// @param type 类型 2 房间的 1 首页的
+ (void)roomActivityList:(HttpRequestHelperCompletion)completion + (void)roomActivityList:(HttpRequestHelperCompletion)completion
roomId:(NSString *)roomId roomId:(NSString *)roomId;
type:(NSString *)type; +(void)getPlayList:(HttpRequestHelperCompletion)completion roomId:(NSString *)roomId;
/// 收藏房间 /// 收藏房间
/// @param completion 完成 /// @param completion 完成

View File

@@ -103,12 +103,14 @@
/// ///
/// @param completion /// @param completion
/// @param roomId id /// @param roomId id
/// @param type 2 1
+ (void)roomActivityList:(HttpRequestHelperCompletion)completion roomId:(NSString *)roomId type:(NSString *)type {
NSString * fang = [NSString stringFromBase64String:@"aG9tZS9iYW5uZXI="];///home/banner
[self makeRequest:fang method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, roomId, type, nil];
}
+ (void)roomActivityList:(HttpRequestHelperCompletion)completion roomId:(NSString *)roomId {
[self makeRequest:@"resource/list" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, roomId, nil];
}
+(void)getPlayList:(HttpRequestHelperCompletion)completion roomId:(NSString *)roomId{
[self makeRequest:@"resource/gamePlay" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__,roomId, nil];
}
/// ///
/// @param completion /// @param completion

View File

@@ -28,6 +28,9 @@ typedef NS_ENUM(NSInteger, ActivityType) {
}; };
@interface ActivityInfoModel : PIBaseModel @interface ActivityInfoModel : PIBaseModel
@property(nonatomic,copy) NSString *code;
@property(nonatomic,copy) NSString *icon;
@property(nonatomic,copy) NSString *skipContent;
///名称 ///名称
@property (nonatomic,copy) NSString *bannerName; @property (nonatomic,copy) NSString *bannerName;
///外面的活动的图片 ///外面的活动的图片

View File

@@ -0,0 +1,16 @@
//
// PIRoomActivityChoosePlayCell.h
// YuMi
//
// Created by duoban on 2024/2/20.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface PIRoomActivityChoosePlayCell : UICollectionViewCell
@property(nonatomic,copy) NSString *imageUrl;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,47 @@
//
// PIRoomActivityChoosePlayCell.m
// YuMi
//
// Created by duoban on 2024/2/20.
//
#import "PIRoomActivityChoosePlayCell.h"
@interface PIRoomActivityChoosePlayCell()
@property(nonatomic,strong) NetImageView *playIconView;
@end
@implementation PIRoomActivityChoosePlayCell
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
- (void)setImageUrl:(NSString *)imageUrl{
_imageUrl = imageUrl;
_playIconView.image = nil;
[_playIconView loadImageWithUrl:_imageUrl completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
self.playIconView.image = image;
}];
}
-(void)installUI{
self.contentView.backgroundColor = UIColorRGBAlpha(0x727272, 0.6);
self.contentView.layer.cornerRadius = 7;
self.contentView.layer.masksToBounds = YES;
[self.contentView addSubview:self.playIconView];
}
-(void)installConstraints{
[self.playIconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(43);
make.center.equalTo(self.contentView);
}];
}
#pragma mark -
- (NetImageView *)playIconView{
if(!_playIconView){
_playIconView = [NetImageView new];
}
return _playIconView;
}
@end

View File

@@ -0,0 +1,26 @@
//
// PIRoomActivityChoosePlayView.h
// YuMi
//
// Created by duoban on 2024/2/20.
//
#import <UIKit/UIKit.h>
#import "ActivityInfoModel.h"
NS_ASSUME_NONNULL_BEGIN
@class PIRoomActivityChoosePlayView;
@protocol PIRoomActivityChoosePlayViewDelegate <NSObject>
-(void)hiddenViewActionWithView:(PIRoomActivityChoosePlayView *)view;
-(void)choosePlayTypeWithView:(PIRoomActivityChoosePlayView *)view model:(ActivityInfoModel *)model;
@end
@interface PIRoomActivityChoosePlayView : UIView
@property(nonatomic,strong) NSMutableArray *playList;
@property(nonatomic,weak) id<PIRoomActivityChoosePlayViewDelegate>delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,129 @@
//
// PIRoomActivityChoosePlayView.m
// YuMi
//
// Created by duoban on 2024/2/20.
//
#import "PIRoomActivityChoosePlayView.h"
#import "PIRoomActivityChoosePlayCell.h"
#import "ActivityInfoModel.h"
@interface PIRoomActivityChoosePlayView ()<UICollectionViewDelegate,UICollectionViewDataSource>
@property(nonatomic,strong) UIButton *clickBtn;
@property(nonatomic,strong) UICollectionView *collectionView;
@property(nonatomic,strong) UIImageView *bgImageView;
@property (nonatomic, strong) UIVisualEffectView *effectView;
@end
@implementation PIRoomActivityChoosePlayView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
self.backgroundColor = [UIColor clearColor];
[self addSubview:self.clickBtn];
[self addSubview:self.bgImageView];
[self.bgImageView addSubview:self.effectView];
[self.bgImageView addSubview:self.collectionView];
}
-(void)installConstraints{
[self.clickBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(14);
make.leading.equalTo(self);
make.centerY.equalTo(self);
}];
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.mas_equalTo(-6);
make.top.bottom.equalTo(self);
make.width.mas_equalTo(180);
}];
[self.effectView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.bgImageView);
}];
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.bgImageView);
}];
}
-(void)setPlayList:(NSMutableArray *)playList{
_playList = playList;
[self.collectionView reloadData];
}
#pragma mark - UICollectionViewDelegate,UICollectionViewDataSource
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return self.playList.count;
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
PIRoomActivityChoosePlayCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([PIRoomActivityChoosePlayCell class]) forIndexPath:indexPath];
ActivityInfoModel *model = [self.playList safeObjectAtIndex1:indexPath.row];
cell.imageUrl = model.icon;
return cell;
}
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
ActivityInfoModel *model = [self.playList safeObjectAtIndex1:indexPath.row];
if(self.delegate && [self.delegate respondsToSelector:@selector(choosePlayTypeWithView:model:)]){
[self.delegate choosePlayTypeWithView:self model:model];
}
}
-(void)clickBtnAction{
if(self.delegate && [self.delegate respondsToSelector:@selector(hiddenViewActionWithView:)]){
[self.delegate hiddenViewActionWithView:self];
}
}
#pragma mark -
- (UICollectionView *)collectionView{
if(!_collectionView){
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
layout.minimumLineSpacing = 8;
layout.minimumInteritemSpacing = 8;
layout.itemSize = CGSizeMake(48, 48);
layout.scrollDirection = UICollectionViewScrollDirectionVertical;
layout.sectionInset = UIEdgeInsetsMake(10, 10, 10, 10);
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
_collectionView.dataSource = self;
_collectionView.delegate = self;
_collectionView.backgroundColor = [UIColor clearColor];
[_collectionView registerClass:[ PIRoomActivityChoosePlayCell class] forCellWithReuseIdentifier:NSStringFromClass([ PIRoomActivityChoosePlayCell class])];
}
return _collectionView;
}
- (UIButton *)clickBtn{
if(!_clickBtn){
_clickBtn = [UIButton new];
[_clickBtn setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
[_clickBtn setImage:kImage(@"pi_room_activity_choose_play_arrow") forState:UIControlStateNormal];
[_clickBtn addTarget:self action:@selector(clickBtnAction) forControlEvents:UIControlEventTouchUpInside];
}
return _clickBtn;
}
- (UIImageView *)bgImageView{
if(!_bgImageView){
_bgImageView = [UIImageView new];
_bgImageView.layer.cornerRadius = 12;
_bgImageView.layer.masksToBounds = YES;
_bgImageView.layer.borderColor = [UIColor colorWithWhite:1 alpha:0.8].CGColor;
_bgImageView.layer.borderWidth = 1;
_bgImageView.userInteractionEnabled = YES;
}
return _bgImageView;
}
- (UIVisualEffectView *)effectView {
if (!_effectView) {
UIBlurEffect *beffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
_effectView = [[UIVisualEffectView alloc] initWithEffect:beffect];
_effectView.alpha = 0.8;
}
return _effectView;
}
@end

View File

@@ -0,0 +1,25 @@
//
// PIRoomActivityClickView.h
// YuMi
//
// Created by duoban on 2024/2/20.
//
#import <UIKit/UIKit.h>
#import "ActivityInfoModel.h"
NS_ASSUME_NONNULL_BEGIN
@protocol PIRoomActivityClickViewDelegate <NSObject>
-(void)showChoosePlayViewAction;
-(void)clickPlayTypeWithModel:(ActivityInfoModel *)model;
@end
@interface PIRoomActivityClickView : UIView
@property(nonatomic,strong) ActivityInfoModel *model;
@property(nonatomic,weak) id<PIRoomActivityClickViewDelegate>delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,108 @@
//
// PIRoomActivityClickView.m
// YuMi
//
// Created by duoban on 2024/2/20.
//
#import "PIRoomActivityClickView.h"
@interface PIRoomActivityClickView()
@property(nonatomic,strong) UIButton *clickBtn;
@property(nonatomic,strong) UIImageView *bgImageView;
@property(nonatomic,strong) NetImageView *playIconView;
@property (nonatomic, strong) UIVisualEffectView *effectView;
@end
@implementation PIRoomActivityClickView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self addSubview:self.clickBtn];
[self addSubview:self.bgImageView];
[self.bgImageView addSubview:self.effectView];
[self.bgImageView addSubview:self.playIconView];
}
-(void)installConstraints{
[self.clickBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(14);
make.leading.centerY.equalTo(self);
}];
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(66);
make.centerY.equalTo(self);
make.leading.mas_equalTo(15);
}];
[self.effectView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.bgImageView);
}];
[self.playIconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(58);
make.center.equalTo(self.bgImageView);
}];
}
- (void)setModel:(ActivityInfoModel *)model{
_model = model;
[_playIconView loadImageWithUrl:_model.icon completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
self.playIconView.image = image;
}];
}
-(void)clickBtnAction{
if(self.delegate && [self.delegate respondsToSelector:@selector(showChoosePlayViewAction)]){
[self.delegate showChoosePlayViewAction];
}
}
-(void)clickPlayImageAction{
if(self.delegate && [self.delegate respondsToSelector:@selector(clickPlayTypeWithModel:)]){
[self.delegate clickPlayTypeWithModel:self.model];
}
}
#pragma mark -
- (UIButton *)clickBtn{
if(!_clickBtn){
_clickBtn = [UIButton new];
[_clickBtn setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
[_clickBtn setImage:kImage(@"pi_room_activity_click_arrow") forState:UIControlStateNormal];
[_clickBtn addTarget:self action:@selector(clickBtnAction) forControlEvents:UIControlEventTouchUpInside];
}
return _clickBtn;
}
- (UIImageView *)bgImageView{
if(!_bgImageView){
_bgImageView = [UIImageView new];
_bgImageView.layer.cornerRadius = 7;
_bgImageView.layer.masksToBounds = YES;
_bgImageView.layer.borderColor = [UIColor colorWithWhite:1 alpha:0.8].CGColor;
_bgImageView.layer.borderWidth = 1;
_bgImageView.userInteractionEnabled = YES;
}
return _bgImageView;
}
- (UIVisualEffectView *)effectView {
if (!_effectView) {
UIBlurEffect *beffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
_effectView = [[UIVisualEffectView alloc] initWithEffect:beffect];
_effectView.alpha = 0.8;
}
return _effectView;
}
- (NetImageView *)playIconView{
if(!_playIconView){
_playIconView = [NetImageView new];
_playIconView.userInteractionEnabled = YES;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(clickPlayImageAction)];
[_playIconView addGestureRecognizer:tap];
}
return _playIconView;
}
@end

View File

@@ -34,7 +34,7 @@
} }
-(void)setInfoModel:(ActivityInfoModel *)infoModel{ -(void)setInfoModel:(ActivityInfoModel *)infoModel{
_infoModel = infoModel; _infoModel = infoModel;
_bgImageView.imageUrl = _infoModel.bannerUrl; _bgImageView.imageUrl = _infoModel.icon;
} }
#pragma mark - #pragma mark -
- (NetImageView *)bgImageView{ - (NetImageView *)bgImageView{

View File

@@ -8,7 +8,7 @@
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
#define kWebViewScale ((CGFloat)KScreenHeight / (CGFloat)812)
@interface PIRoomActivityWebView : UIView @interface PIRoomActivityWebView : UIView
@property(nonatomic,strong) NSMutableArray *infoList; @property(nonatomic,strong) NSMutableArray *infoList;
///地址 ///地址

View File

@@ -8,7 +8,7 @@
#import "PIRoomActivityWebView.h" #import "PIRoomActivityWebView.h"
#import "PIRoomActivityWebCell.h" #import "PIRoomActivityWebCell.h"
#import "XPWebViewController.h" #import "XPWebViewController.h"
#define kWebViewScale ((CGFloat)KScreenHeight / (CGFloat)812)
@interface PIRoomActivityWebView ()<UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout> @interface PIRoomActivityWebView ()<UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
@property(nonatomic,strong) UIButton *pi_backBtn; @property(nonatomic,strong) UIButton *pi_backBtn;
@property(nonatomic,strong) UIView *bgView; @property(nonatomic,strong) UIView *bgView;
@@ -69,7 +69,7 @@
} }
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{ - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
ActivityInfoModel *model = [_infoList safeObjectAtIndex1:indexPath.row]; ActivityInfoModel *model = [_infoList safeObjectAtIndex1:indexPath.row];
self.webVC.url = model.skipUri; self.webVC.url = model.skipContent;
self.path = indexPath.row; self.path = indexPath.row;
[self.collectionView reloadData]; [self.collectionView reloadData];
} }
@@ -92,7 +92,7 @@
_infoList = infoList; _infoList = infoList;
for (int i = 0; i < _infoList.count; i++) { for (int i = 0; i < _infoList.count; i++) {
ActivityInfoModel *model = _infoList[i]; ActivityInfoModel *model = _infoList[i];
if([model.skipUri isEqualToString:_url]){ if([model.skipContent isEqualToString:_url]){
self.path = i; self.path = i;
break; break;
} }

View File

@@ -6,6 +6,7 @@
// //
#import "XPRoomActivityContainerView.h" #import "XPRoomActivityContainerView.h"
#import <ReactiveObjC/ReactiveObjC.h>
///Third ///Third
#import <Masonry/Masonry.h> #import <Masonry/Masonry.h>
#import <SDCycleScrollView/SDCycleScrollView.h> #import <SDCycleScrollView/SDCycleScrollView.h>
@@ -38,37 +39,30 @@
#import "PIRoomEnterRedPacketView.h" #import "PIRoomEnterRedPacketView.h"
#import "BaseNavigationController.h" #import "BaseNavigationController.h"
#import "PIRoomActivityWebView.h" #import "PIRoomActivityWebView.h"
#import "PIRoomActivityClickView.h"
#import "PIRoomActivityChoosePlayView.h"
UIKIT_EXTERN NSString *kShowFirstRechargeView; UIKIT_EXTERN NSString *kShowFirstRechargeView;
@interface XPRoomActivityContainerView ()<SDCycleScrollViewDelegate,PIRoomEnterRedPacketViewDelegate> @interface XPRoomActivityContainerView ()<SDCycleScrollViewDelegate,PIRoomEnterRedPacketViewDelegate,PIRoomActivityClickViewDelegate,PIRoomActivityChoosePlayViewDelegate>
/// ///
@property (nonatomic,strong) UIStackView *stackView; @property (nonatomic,strong) UIStackView *stackView;
/// ///
@property (nonatomic,strong) SDCycleScrollView *pi_cycleScrollView; @property (nonatomic,strong) SDCycleScrollView *pi_cycleScrollView;
///
@property (nonatomic,strong) NetImageView *lookLoveImageView;
/// ///
@property(nonatomic,strong) PIRoomEnterRedPacketView *redPacketView; @property(nonatomic,strong) PIRoomEnterRedPacketView *redPacketView;
/// ///
@property (nonatomic,strong) TreasureFairyLimitModel *fairyModel; @property(nonatomic,strong) PIRoomActivityClickView *clickPlayView;
/// ///
@property (nonatomic,strong) UIImageView *joinDatingView; @property (nonatomic,strong) UIImageView *joinDatingView;
///host ///host
@property (nonatomic,weak) id<RoomHostDelegate>hostDelegate; @property (nonatomic,weak) id<RoomHostDelegate>hostDelegate;
/// ///
@property (nonatomic,copy) NSMutableArray<ActivityInfoModel *> *activityList; @property (nonatomic,strong) NSMutableArray<ActivityInfoModel *> *activityList;
@property(nonatomic,strong) NSMutableArray<ActivityInfoModel *> *playList;
///
@property (nonatomic,strong) UIImageView *sailingImageView;
/// ///
@property (nonatomic,assign) BOOL isLoadActivity; @property (nonatomic,assign) BOOL isLoadActivity;
/// @property(nonatomic,assign) BOOL isShowChoosePlayView;
@property (nonatomic,strong) ActivityInfoModel *fairyActivityModel;
///
@property (nonatomic,strong) ActivityInfoModel * firstRechargeModel;
///
@property (nonatomic,strong) ActivityInfoModel * lookLoveModel;
@end @end
@implementation XPRoomActivityContainerView @implementation XPRoomActivityContainerView
@@ -82,7 +76,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
[self initSubViews]; [self initSubViews];
[self initSubViewConstraints]; [self initSubViewConstraints];
[self requestActivityList]; [self requestActivityList];
[self configLookLove];
} }
return self; return self;
} }
@@ -94,8 +88,9 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
[self.stackView addArrangedSubview:self.pi_cycleScrollView]; [self.stackView addArrangedSubview:self.pi_cycleScrollView];
[self.stackView addArrangedSubview:emptyView]; [self.stackView addArrangedSubview:emptyView];
[self.stackView addArrangedSubview:self.redPacketView]; [self.stackView addArrangedSubview:self.redPacketView];
[self.stackView addArrangedSubview:self.lookLoveImageView];
[self.stackView addArrangedSubview:self.joinDatingView]; [self.stackView addArrangedSubview:self.joinDatingView];
[self.stackView addArrangedSubview:self.clickPlayView];
} }
@@ -113,127 +108,99 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
}]; }];
[self.lookLoveImageView mas_makeConstraints:^(MASConstraintMaker *make) { [self.clickPlayView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(itemWidth, itemWidth)); make.left.mas_equalTo(0);
make.size.mas_equalTo(CGSizeMake(81, 66));
}]; }];
[self.joinDatingView mas_makeConstraints:^(MASConstraintMaker *make) { [self.joinDatingView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(35* kScreenHeightScale); make.height.mas_equalTo(35 * kScreenHeightScale);
}]; }];
} }
- (void)requestActivityList { - (void)requestActivityList {
///
dispatch_group_t group =dispatch_group_create();
//
dispatch_queue_t queue =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);
dispatch_group_enter(group);
dispatch_group_async(group, queue, ^{ RACSubject* list = [RACSubject subject];
RACSubject* play = [RACSubject subject];
[[RACSignal combineLatest:@[list, play] reduce:^id(NSArray<ActivityInfoModel*> * listModel, NSArray<ActivityInfoModel*> * playModel){
self.activityList = [NSMutableArray arrayWithArray:listModel];
self.playList = [NSMutableArray arrayWithArray:playModel];
[self dealWithData];
return nil;
}] subscribeError:^(NSError * _Nullable error) {
}];
NSString * roomId = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.roomId]; NSString * roomId = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.roomId];
[Api roomActivityList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { [Api roomActivityList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) { if (code == 200) {
NSArray <ActivityInfoModel *>* array = [ActivityInfoModel modelsWithArray:data.data]; NSArray <ActivityInfoModel *>* array = [ActivityInfoModel modelsWithArray:data.data];
[self.activityList addObjectsFromArray:array]; [list sendNext:array];
[list sendCompleted];
return;
} }
dispatch_group_leave(group); [list sendError:nil];
} roomId:roomId type:@"2"]; } roomId:roomId];
});
[Api getPlayList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
dispatch_group_enter(group); if (code == 200) {
dispatch_group_async(group, queue, ^{ NSArray <ActivityInfoModel *>* array = [ActivityInfoModel modelsWithArray:data.data];
[play sendNext:array];
[Api treasureFailyLimitInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { [play sendCompleted];
if(code == 200){ return;
TreasureFairyLimitModel * info =[TreasureFairyLimitModel modelWithDictionary:data.data]; }
self.fairyModel = info; [play sendError:nil];
} } roomId:roomId];
dispatch_group_leave(group);
}];
});
dispatch_group_notify(group,dispatch_get_main_queue(), ^{
self.isLoadActivity = YES;
self.pi_cycleScrollView.hidden = NO;
if (self.hostDelegate.getRoomInfo.type == RoomType_MiniGame) {
[self configLittleGameActivity];
} else {
///
[self configFairy];
[self configfirstRecharge];
NSMutableArray *picArray = [NSMutableArray array];
for (ActivityInfoModel *model in self.activityList) {
[picArray addObject:model.bannerPic];
}
self.pi_cycleScrollView.imageURLStringsGroup = picArray;
if (self.activityList.count > 1) {
[self.pi_cycleScrollView setAutoScroll:YES];
self.pi_cycleScrollView.autoScrollTimeInterval = 3;
} else {
[self.pi_cycleScrollView setAutoScroll:NO];
}
}
});
} }
/// -(void)dealWithData{
-(void)configfirstRecharge{ self.isLoadActivity = YES;
UserInfoModel * userInfo = self.hostDelegate.getUserInfo; self.pi_cycleScrollView.hidden = NO;
if (userInfo.isFirstCharge == YES) { if (self.hostDelegate.getRoomInfo.type == RoomType_MiniGame) {
if(![self.activityList containsObject:self.firstRechargeModel]){ [self configLittleGameActivity];
[self.activityList insertObject:self.firstRechargeModel atIndex:0]; } else {
NSMutableArray *picArray = [NSMutableArray array];
for (ActivityInfoModel *model in self.activityList) {
[picArray addObject:model.icon];
} }
}else{ self.pi_cycleScrollView.imageURLStringsGroup = picArray;
if([self.activityList containsObject:self.firstRechargeModel]){ if (self.activityList.count > 1) {
[self.activityList removeObject:self.firstRechargeModel]; [self.pi_cycleScrollView setAutoScroll:YES];
self.pi_cycleScrollView.autoScrollTimeInterval = 3;
} else {
[self.pi_cycleScrollView setAutoScroll:NO];
} }
} if(self.playList.count > 0){
} ActivityInfoModel *playModel = self.playList.firstObject;
/// self.clickPlayView.model = playModel;
-(void)configFairy{ if(self.isShowChoosePlayView == NO){
if (self.fairyModel.open == YES) { self.clickPlayView.hidden = NO;
if(![self.activityList containsObject:self.fairyActivityModel]){ }
[self.activityList insertObject:self.fairyActivityModel atIndex:0]; }else{
} self.clickPlayView.hidden = YES;
}else{
if([self.activityList containsObject:self.fairyActivityModel]){
[self.activityList removeObject:self.fairyActivityModel];
} }
} }
} }
///
- (void)configLookLove {
UserInfoModel * userInfo = self.hostDelegate.getUserInfo;
RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo;
if (userInfo.userLevelVo.experLevelSeq >= roomInfo.findLoveDrawSwitchVo.openLevel && roomInfo.findLoveDrawSwitchVo.open == YES) {
self.lookLoveImageView.hidden = NO;
self.lookLoveImageView.image = [UIImage imageNamed:@"room_candy_tree_enter"];
} else {
self.lookLoveImageView.hidden = YES;
}
}
- (void)configLittleGameActivity { - (void)configLittleGameActivity {
RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo;
UserInfoModel * userInfo = self.hostDelegate.getUserInfo; NSMutableArray *list = [NSMutableArray array];
if (userInfo.userLevelVo.experLevelSeq >= roomInfo.findLoveDrawSwitchVo.openLevel && roomInfo.findLoveDrawSwitchVo.open == YES) { [list addObjectsFromArray:self.playList];
self.lookLoveModel.bannerPic = @"room_candy_tree_enter"; [list addObjectsFromArray:self.activityList];
if(![self.activityList containsObject:self.lookLoveModel]){
[self.activityList insertObject:self.lookLoveModel atIndex:0];
}
}
NSMutableArray *picArray = [NSMutableArray array]; NSMutableArray *picArray = [NSMutableArray array];
for (ActivityInfoModel *model in self.activityList) { for (ActivityInfoModel *model in list) {
[picArray addObject:model.bannerPic]; [picArray addObject:model.icon];
} }
self.pi_cycleScrollView.imageURLStringsGroup = picArray; self.pi_cycleScrollView.imageURLStringsGroup = picArray;
if (self.activityList.count > 1) { if (self.activityList.count > 1) {
@@ -255,9 +222,19 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo; RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo;
self.redPacketView.type = roomInfo.type; self.redPacketView.type = roomInfo.type;
if (roomInfo.type == RoomType_MiniGame) { if (roomInfo.type == RoomType_MiniGame) {
if(self.isShowChoosePlayView == YES){
PIRoomActivityChoosePlayView *choosePlayView = [self.hostDelegate.getSuperView viewWithTag:98021];
self.isShowChoosePlayView = NO;
CGFloat y = self.frame.size.height + self.frame.origin.y - 124;
[UIView animateWithDuration:0.1 animations:^{
choosePlayView.frame = CGRectMake(KScreenWidth, y, 201, 124);
}completion:^(BOOL finished) {
[choosePlayView removeFromSuperview];
}];
}
self.redPacketView.hidden = YES; self.redPacketView.hidden = YES;
self.lookLoveImageView.hidden = YES; self.clickPlayView.hidden = YES;
self.sailingImageView.hidden = YES;
if (self.isLoadActivity) { if (self.isLoadActivity) {
[self configLittleGameActivity]; [self configLittleGameActivity];
} else { } else {
@@ -265,16 +242,9 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
} }
} else { } else {
self.redPacketView.redPacketList = self.redPacketList; self.redPacketView.redPacketList = self.redPacketList;
if([self.activityList containsObject:self.lookLoveModel]){
[self.activityList removeObject:self.lookLoveModel];
}
[self configLookLove];
[self configFairy];
[self configfirstRecharge];
NSMutableArray *picArray = [NSMutableArray array]; NSMutableArray *picArray = [NSMutableArray array];
for (ActivityInfoModel *model in self.activityList) { for (ActivityInfoModel *model in self.activityList) {
[picArray addObject:model.bannerPic]; [picArray addObject:model.icon];
} }
self.pi_cycleScrollView.imageURLStringsGroup = picArray; self.pi_cycleScrollView.imageURLStringsGroup = picArray;
if (self.activityList.count > 1) { if (self.activityList.count > 1) {
@@ -283,6 +253,16 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
} else { } else {
[self.pi_cycleScrollView setAutoScroll:NO]; [self.pi_cycleScrollView setAutoScroll:NO];
} }
if(self.playList.count > 0){
ActivityInfoModel *playModel = self.playList.firstObject;
self.clickPlayView.model = playModel;
if(self.isShowChoosePlayView == NO){
self.clickPlayView.hidden = NO;
}
}else{
self.clickPlayView.hidden = YES;
}
if (roomInfo.roomModeType == RoomModeType_Open_Blind || roomInfo.roomModeType == RoomModeType_Open_PK_Mode || roomInfo.roomModeType == RoomModeType_Open_Micro_Mode) { if (roomInfo.roomModeType == RoomModeType_Open_Blind || roomInfo.roomModeType == RoomModeType_Open_PK_Mode || roomInfo.roomModeType == RoomModeType_Open_Micro_Mode) {
if (roomInfo.roomModeType == RoomModeType_Open_PK_Mode ) { if (roomInfo.roomModeType == RoomModeType_Open_PK_Mode ) {
self.joinDatingView.image = [UIImage imageNamed:@"room_pk_normal_member_enter"]; self.joinDatingView.image = [UIImage imageNamed:@"room_pk_normal_member_enter"];
@@ -306,11 +286,8 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
self.joinDatingView.hidden = YES; self.joinDatingView.hidden = YES;
} }
if ([ClientConfig shareConfig].configInfo.linearlyPoolOpenLevel <= self.hostDelegate.getUserInfo.userLevelVo.experLevelSeq) {
self.sailingImageView.hidden = NO;
} else {
self.sailingImageView.hidden = YES;
}
} }
if(self.openRedPacketHandle){ if(self.openRedPacketHandle){
@@ -374,22 +351,27 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
if (imageUrlList.count > index) { if (imageUrlList.count > index) {
NSString *pic = imageUrlList[index]; NSString *pic = imageUrlList[index];
NSMutableArray *inftList = [NSMutableArray array]; NSMutableArray *inftList = [NSMutableArray array];
if (self.hostDelegate.getRoomInfo.type == RoomType_MiniGame) {
[self jumpPlayActionWithIndex:index imageUrlList:imageUrlList];
return;
}
ActivityInfoModel * info; ActivityInfoModel * info;
for (ActivityInfoModel * getInfo in self.activityList) { for (ActivityInfoModel * getInfo in self.activityList) {
if([getInfo.bannerPic isEqualToString:pic]){ if([getInfo.icon isEqualToString:pic]){
info = getInfo; info = getInfo;
} }
if(getInfo.skipType == 3){ if(getInfo.skipType == 3 ){
[inftList addObject:getInfo]; [inftList addObject:getInfo];
} }
} }
if(info == nil)return; if(info == nil)return;
if (info.activityType == ActivityType_Love) { if([info.code isEqualToString:@"FIRST_CHARGE"]) {
[self lookLoveTapRecognizer];
} else if(info.activityType == ActivityType_First) {
[self firstRechargeTapRecognizer]; [self firstRechargeTapRecognizer];
}else if(info.activityType == ActivityType_Fairy){ }else if ([info.code isEqualToString:@"FIND_LOVE"]) {
[self lookLoveTapRecognizer];
} else if([info.code isEqualToString:@"NAUTICAL_ADVENTURE"]) {
[self sailTapRecognizer];
}else if([info.code isEqualToString:@"SEIZE_TREASURE"]){
XPTreasureFairyViewController * fairyVC = [[XPTreasureFairyViewController alloc] initWithdelegate:self.hostDelegate]; XPTreasureFairyViewController * fairyVC = [[XPTreasureFairyViewController alloc] initWithdelegate:self.hostDelegate];
fairyVC.roomUid =[NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid]; fairyVC.roomUid =[NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
fairyVC.view.frame = CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight); fairyVC.view.frame = CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight);
@@ -407,24 +389,110 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
if (info.skipType == ActivitySkipType_Room) { if (info.skipType == ActivitySkipType_Room) {
[self.hostDelegate exitRoom]; [self.hostDelegate exitRoom];
[XPRoomViewController openRoom:info.skipUri viewController:kWindow.rootViewController]; [XPRoomViewController openRoom:info.skipContent viewController:kWindow.rootViewController];
} else if(info.skipType == ActivitySkipType_Web) { } else if(info.skipType == ActivitySkipType_Web) {
PIRoomActivityWebView * webView = [[PIRoomActivityWebView alloc]initWithFrame:CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight)];
webView.roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
webView.url = info.skipContent;
webView.infoList = inftList;
[kWindow addSubview:webView];
[UIView animateWithDuration:0.2 animations:^{
webView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
}];
PIRoomActivityWebView * webView = [[PIRoomActivityWebView alloc]initWithFrame:CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight)];
webView.roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
webView.url = info.skipUri;
webView.infoList = inftList;
[kWindow addSubview:webView];
[UIView animateWithDuration:0.2 animations:^{
webView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
}];
} }
} }
} }
} }
-(void)jumpPlayActionWithIndex:(NSInteger)index imageUrlList:(NSArray *)imageUrlList{
if (imageUrlList.count > index) {
NSString *pic = imageUrlList[index];
NSMutableArray *inftList = [NSMutableArray array];
NSMutableArray *modelList = [NSMutableArray array];
[modelList addObjectsFromArray:self.playList];
[modelList addObjectsFromArray:self.activityList];
ActivityInfoModel * info;
for (int i = 0 ; i < modelList.count; i++) {
ActivityInfoModel * getInfo = modelList[i];
if([getInfo.icon isEqualToString:pic]){
info = getInfo;
}
if(getInfo.skipType == 3 && i > self.playList.count){
[inftList addObject:getInfo];
}
}
if(info == nil)return;
if([info.code isEqualToString:@"FIRST_CHARGE"]) {
[self firstRechargeTapRecognizer];
}else if ([info.code isEqualToString:@"FIND_LOVE"]) {
[self lookLoveTapRecognizer];
} else if([info.code isEqualToString:@"NAUTICAL_ADVENTURE"]) {
[self sailTapRecognizer];
}else if([info.code isEqualToString:@"SEIZE_TREASURE"]){
XPTreasureFairyViewController * fairyVC = [[XPTreasureFairyViewController alloc] initWithdelegate:self.hostDelegate];
fairyVC.roomUid =[NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
fairyVC.view.frame = CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight);
[[XCCurrentVCStackManager shareManager].getCurrentVC addChildViewController:fairyVC];
[fairyVC.navigationController setNavigationBarHidden:YES animated:NO];
[[XCCurrentVCStackManager shareManager].getCurrentVC.view addSubview:fairyVC.view];
[UIView animateWithDuration:0.2 animations:^{
fairyVC.view.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
}completion:^(BOOL finished) {
}];
}else {
if(index < self.playList.count){
if(info.showType == ActivityShowType_Half){
XPRoomHalfWebView * webView = [[XPRoomHalfWebView alloc] init];
webView.isPlayView = YES;
webView.roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
webView.url = info.skipContent;
[TTPopup popupView:webView style:TTPopupStyleActionSheet];
return;
}
XPWebViewController * webVC = [[XPWebViewController alloc] init];
webVC.roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
webVC.url = info.skipContent;
[self.hostDelegate.getCurrentNav pushViewController:webVC animated:YES];
return;
}
if (info.skipType == ActivitySkipType_Room) {
[self.hostDelegate exitRoom];
[XPRoomViewController openRoom:info.skipContent viewController:kWindow.rootViewController];
} else if(info.skipType == ActivitySkipType_Web) {
PIRoomActivityWebView * webView = [[PIRoomActivityWebView alloc]initWithFrame:CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight)];
webView.roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
webView.url = info.skipContent;
webView.infoList = inftList;
[kWindow addSubview:webView];
[UIView animateWithDuration:0.2 animations:^{
webView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
}];
}
}
}
}
#pragma mark - Event Response #pragma mark - Event Response
- (void)lookLoveTapRecognizer { - (void)lookLoveTapRecognizer {
XPCandyTreeViewController * candyTreeVC = [[XPCandyTreeViewController alloc] initWithDelegate:self.hostDelegate]; XPCandyTreeViewController * candyTreeVC = [[XPCandyTreeViewController alloc] initWithDelegate:self.hostDelegate];
@@ -478,6 +546,72 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
self.openRedPacketHandle(redModel,self.hostDelegate.getRoomInfo.type,NO); self.openRedPacketHandle(redModel,self.hostDelegate.getRoomInfo.type,NO);
} }
} }
#pragma mark - PIRoomActivityClickViewDelegate
- (void)showChoosePlayViewAction{
self.clickPlayView.hidden = YES;
self.isShowChoosePlayView = YES;
PIRoomActivityChoosePlayView *choosePlayView = [[PIRoomActivityChoosePlayView alloc]initWithFrame:CGRectZero];
choosePlayView.delegate = self;
choosePlayView.playList = self.playList;
CGFloat y = self.frame.size.height + self.frame.origin.y - 124;
choosePlayView.tag = 98021;
[self.hostDelegate.getSuperView addSubview:choosePlayView];
choosePlayView.frame = CGRectMake(KScreenWidth, y, 201, 124);
[UIView animateWithDuration:0.1 animations:^{
choosePlayView.frame = CGRectMake(KScreenWidth - 201, y, 201, 124);
}];
}
-(void)clickPlayTypeWithModel:(ActivityInfoModel *)model{
if ([model.code isEqualToString:@"FIND_LOVE"]) {
[self lookLoveTapRecognizer];
} else if([model.code isEqualToString:@"NAUTICAL_ADVENTURE"]) {
[self sailTapRecognizer];
}else if([model.code isEqualToString:@"SEIZE_TREASURE"]){
XPTreasureFairyViewController * fairyVC = [[XPTreasureFairyViewController alloc] initWithdelegate:self.hostDelegate];
fairyVC.roomUid =[NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
fairyVC.view.frame = CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight);
[[XCCurrentVCStackManager shareManager].getCurrentVC addChildViewController:fairyVC];
[fairyVC.navigationController setNavigationBarHidden:YES animated:NO];
[[XCCurrentVCStackManager shareManager].getCurrentVC.view addSubview:fairyVC.view];
[UIView animateWithDuration:0.2 animations:^{
fairyVC.view.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
}completion:^(BOOL finished) {
}];
} else if(model.skipType == ActivitySkipType_Web) {
if(model.showType == ActivityShowType_Half){
XPRoomHalfWebView * webView = [[XPRoomHalfWebView alloc] init];
webView.isPlayView = YES;
webView.roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
webView.url = model.skipContent;
[TTPopup popupView:webView style:TTPopupStyleActionSheet];
return;
}
XPWebViewController * webVC = [[XPWebViewController alloc] init];
webVC.roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
webVC.url = model.skipContent;
[self.hostDelegate.getCurrentNav pushViewController:webVC animated:YES];
}
}
#pragma mark- PIRoomActivityChoosePlayViewDelegate
-(void)choosePlayTypeWithView:(PIRoomActivityChoosePlayView *)view model:(ActivityInfoModel *)model{
[self clickPlayTypeWithModel:model];
}
-(void)hiddenViewActionWithView:(PIRoomActivityChoosePlayView *)view{
self.isShowChoosePlayView = NO;
CGFloat y = self.frame.size.height + self.frame.origin.y - 124;
[UIView animateWithDuration:0.1 animations:^{
view.frame = CGRectMake(KScreenWidth, y, 201, 124);
}completion:^(BOOL finished) {
self.clickPlayView.hidden = NO;
[view removeFromSuperview];
}];
}
#pragma mark - Getters And Setters #pragma mark - Getters And Setters
- (SDCycleScrollView *)pi_cycleScrollView { - (SDCycleScrollView *)pi_cycleScrollView {
if (!_pi_cycleScrollView) { if (!_pi_cycleScrollView) {
@@ -509,24 +643,11 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
_stackView.distribution = UIStackViewDistributionFill; _stackView.distribution = UIStackViewDistributionFill;
_stackView.alignment = UIStackViewAlignmentCenter; _stackView.alignment = UIStackViewAlignmentCenter;
_stackView.spacing = 0; _stackView.spacing = 0;
} }
return _stackView; return _stackView;
} }
- (UIImageView *)lookLoveImageView {
if (!_lookLoveImageView) {
NetImageConfig * config = [[NetImageConfig alloc] init];
config.placeHolder = [UIImage imageNamed:@"room_candy_tree_enter"];
config.imageType = ImageTypeUserIcon;
_lookLoveImageView = [[NetImageView alloc] initWithConfig:config];
_lookLoveImageView.userInteractionEnabled = YES;
_lookLoveImageView.hidden = YES;
_lookLoveImageView.image = [UIImage imageNamed:@"room_candy_tree_enter"];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(lookLoveTapRecognizer)];
[_lookLoveImageView addGestureRecognizer:tap];
}
return _lookLoveImageView;
}
@@ -550,46 +671,10 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
return _activityList; return _activityList;
} }
- (UIImageView *)sailingImageView {
if (!_sailingImageView) {
_sailingImageView = [[UIImageView alloc] init];
_sailingImageView.image = [UIImage imageNamed:@"room_sailiing_enter"];
_sailingImageView.userInteractionEnabled = YES;
_sailingImageView.hidden = YES;
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(sailTapRecognizer)];
[_sailingImageView addGestureRecognizer:tap];
}
return _sailingImageView;
}
- (ActivityInfoModel *)fairyActivityModel{
if (!_fairyActivityModel){
ActivityInfoModel *fairyModel = [ActivityInfoModel new];
fairyModel.bannerName = YMLocalizedString(@"XPRoomActivityContainerView3");
fairyModel.bannerPic = @"room_treasure_fairy_enter";
_fairyActivityModel = fairyModel;
_fairyActivityModel.activityType = ActivityType_Fairy;
}
return _fairyActivityModel;
}
- (ActivityInfoModel *)firstRechargeModel{
if (!_firstRechargeModel){
ActivityInfoModel * activityInfo = [[ActivityInfoModel alloc] init];
activityInfo.bannerPic = @"room_first_recharge_enter";
activityInfo.bannerName = YMLocalizedString(@"XPRoomActivityContainerView0");
_firstRechargeModel = activityInfo;
_firstRechargeModel.activityType = ActivityType_First;
}
return _firstRechargeModel;
}
-(ActivityInfoModel *)lookLoveModel{
if (!_lookLoveModel){
ActivityInfoModel * activityInfo = [[ActivityInfoModel alloc] init];
activityInfo.bannerName = YMLocalizedString(@"XPRoomActivityContainerView1");
_lookLoveModel = activityInfo;
_lookLoveModel.activityType = ActivityType_Love;
}
return _lookLoveModel;
}
- (PIRoomEnterRedPacketView *)redPacketView{ - (PIRoomEnterRedPacketView *)redPacketView{
if(!_redPacketView){ if(!_redPacketView){
_redPacketView = [[PIRoomEnterRedPacketView alloc]initWithFrame:CGRectZero]; _redPacketView = [[PIRoomEnterRedPacketView alloc]initWithFrame:CGRectZero];
@@ -598,4 +683,13 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
} }
return _redPacketView; return _redPacketView;
} }
- (PIRoomActivityClickView *)clickPlayView{
if(!_clickPlayView){
_clickPlayView = [[PIRoomActivityClickView alloc]initWithFrame:CGRectZero];
_clickPlayView.hidden = YES;
_clickPlayView.delegate = self;
}
return _clickPlayView;
}
@end @end

View File

@@ -1,32 +0,0 @@
//
// YMRoomActivityPlayView.h
// YUMI
//
// Created by YUMI on 2022/9/30.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class XPRoomActivityPlayModel;
@protocol XPRoomActivityPlayViewDelegate <NSObject>
///展示更多玩法
- (void)xPRoomActivityPlayViewShowMorePlay;
///隐藏更多玩法
- (void)xPRoomActivityPlayViewHideMorePlay;
///点击了某个玩法
- (void)xPRoomActivityPlayViewDidClickPlay:(XPRoomActivityPlayModel *)model;
@end
@interface XPRoomActivityPlayView : UIView
@property (nonatomic, strong) NSMutableArray *playArray;
@property (nonatomic, weak) id<XPRoomActivityPlayViewDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,126 +0,0 @@
//
// YMRoomActivityPlayView.m
// YUMI
//
// Created by YUMI on 2022/9/30.
//
#import "XPRoomActivityPlayView.h"
///Third
#import <Masonry/Masonry.h>
#import "YUMIMacroUitls.h"
#import "DJDKMIMOMColor.h"
#import "UIImage+Utils.h"
///Model
#import "XPRoomActivityPlayModel.h"
#import "NetImageView.h"
@interface XPRoomActivityPlayView()
@property (nonatomic, strong) UIButton *moreButton;
@end
@implementation XPRoomActivityPlayView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
- (void)layoutSubviews {
[super layoutSubviews];
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.moreButton.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerBottomLeft cornerRadii:CGSizeMake(8, 8)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = self.moreButton.bounds;
maskLayer.path = maskPath.CGPath;
self.moreButton.layer.mask = maskLayer;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.moreButton];
}
- (void)initSubViewConstraints {
[self.moreButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.top.bottom.mas_equalTo(self);
make.width.mas_equalTo(18);
}];
}
- (void)moreButtonAction:(UIButton *)sender {
if (self.frame.size.width > 18) {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomActivityPlayViewHideMorePlay)]) {
[self.delegate xPRoomActivityPlayViewHideMorePlay];
}
} else {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomActivityPlayViewShowMorePlay)]) {
[self.delegate xPRoomActivityPlayViewShowMorePlay];
}
}
}
- (void)imageTapRecognizer:(UITapGestureRecognizer *)ges {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomActivityPlayViewDidClickPlay:)]) {
XPRoomActivityPlayModel *model = self.playArray[ges.view.tag];
[self.delegate xPRoomActivityPlayViewDidClickPlay:model];
}
}
- (void)setPlayArray:(NSMutableArray *)playArray {
_playArray = playArray;
if (playArray.count) {
CGFloat itemWidth = 45;
for (int i = 0; i<playArray.count; i++) {
XPRoomActivityPlayModel *model = playArray[i];
NetImageView *imageView = [[NetImageView alloc] init];
if (model.playType == RoomActivityPlayTypeCandyTree) {
imageView.imageUrl = model.imageName;
} else {
imageView.image = [UIImage imageNamed:model.imageName];
}
imageView.tag = i;
if (i == 0) {
imageView.frame = CGRectMake(18, (53 - itemWidth ) * 0.5, itemWidth, itemWidth);
} else {
imageView.frame = CGRectMake(18 + i * (itemWidth+2), (53 - itemWidth ) * 0.5, itemWidth, itemWidth);
}
imageView.backgroundColor = UIColorRGBAlpha(0xD7D7D7, 0.2);
imageView.userInteractionEnabled = YES;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapRecognizer:)];
[imageView addGestureRecognizer:tap];
[self addSubview:imageView];
}
} else {
for (UIView *view in self.subviews) {
if (view != self.moreButton) {
[view removeFromSuperview];
}
}
}
}
- (UIButton *)moreButton {
if (!_moreButton) {
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.titleLabel.font = [UIFont systemFontOfSize:10];
[button addTarget:self action:@selector(moreButtonAction:) forControlEvents:UIControlEventTouchUpInside];
[button setTitle:YMLocalizedString(@"XPRoomActivityPlayView0") forState:UIControlStateNormal];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;//
button.titleLabel.numberOfLines = 0;
button.titleLabel.textAlignment = NSTextAlignmentCenter;
[button setBackgroundImage:[UIImage gradientColorImageFromColors:@[UIColorFromRGB(0x6E36FF), UIColorFromRGB(0x31EBF7)] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(18, 53)] forState:UIControlStateNormal];
_moreButton = button;
}
return _moreButton;
}
@end

View File

@@ -175,7 +175,7 @@ UIKIT_EXTERN NSString * const kRoomReceivedCandyNotificationKey;
self.isPicking = NO; self.isPicking = NO;
[self.presenter getLoveSettingInfo]; [self.presenter getLoveSettingInfo];
[result enumerateObjectsUsingBlock:^(CandyTreeGiftInfoModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { [result enumerateObjectsUsingBlock:^(CandyTreeGiftInfoModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if (obj.level > 0) { if (obj.level > 2) {
/// ///
[NSObject cancelPreviousPerformRequestsWithTarget:self]; [NSObject cancelPreviousPerformRequestsWithTarget:self];

View File

@@ -18,8 +18,9 @@ NS_ASSUME_NONNULL_BEGIN
///房间uid ///房间uid
@property (nonatomic,copy) NSString *roomUid; @property (nonatomic,copy) NSString *roomUid;
///是否是航海 ///资源位玩法
@property (nonatomic,assign) BOOL isSailing; @property (nonatomic,assign) BOOL isPlayView;
@property(nonatomic,assign) BOOL isSailing;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

View File

@@ -11,7 +11,7 @@
#import "XPWebViewController.h" #import "XPWebViewController.h"
#import "XPSkillCardPlayerManager.h" #import "XPSkillCardPlayerManager.h"
///Tool ///Tool
#import "PIRoomActivityWebView.h"
#import "TTPopup.h" #import "TTPopup.h"
@@ -102,6 +102,14 @@
make.top.bottom.mas_equalTo(self.toolView); make.top.bottom.mas_equalTo(self.toolView);
}]; }];
} }
-(void)setIsPlayView:(BOOL)isPlayView{
_isPlayView = isPlayView;
[self.stackView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.bottom.mas_equalTo(self);
make.height.mas_equalTo(643 * kWebViewScale);
}];
}
#pragma mark - Event Response #pragma mark - Event Response
- (void)didClickCloseButton:(UIButton *)sender { - (void)didClickCloseButton:(UIButton *)sender {
[TTPopup dismiss]; [TTPopup dismiss];

View File

@@ -104,9 +104,6 @@
#else #else
isTestEnv = NO; isTestEnv = NO;
#endif #endif
if(isEnterprise == NO){
[[SudMGP getCfg]setBackgroundMode:NO];
}
[SudMGP initSDK:KeyWithType(KeyType_SudGameAppID) appKey:KeyWithType(KeyType_SudGameAppKey) isTestEnv:isTestEnv listener:^(int retCode, const NSString *retMsg) { [SudMGP initSDK:KeyWithType(KeyType_SudGameAppID) appKey:KeyWithType(KeyType_SudGameAppKey) isTestEnv:isTestEnv listener:^(int retCode, const NSString *retMsg) {
if (retCode == 0) { if (retCode == 0) {
if (!self.currentmgId) { if (!self.currentmgId) {

View File

@@ -463,7 +463,7 @@
_inputButton.titleLabel.font = [UIFont systemFontOfSize:12]; _inputButton.titleLabel.font = [UIFont systemFontOfSize:12];
_inputButton.layer.masksToBounds = YES; _inputButton.layer.masksToBounds = YES;
_inputButton.layer.cornerRadius = 15; _inputButton.layer.cornerRadius = 15;
[_inputButton setBackgroundImage:[UIImage imageNamed:@"room_menu_send_bg"] forState:UIControlStateNormal]; [_inputButton setBackgroundImage:[UIImage imageNamed:@"pi_room_menu_bottom_send_bg"] forState:UIControlStateNormal];
_inputButton.tag = XPRoomMenuItemType_Input; _inputButton.tag = XPRoomMenuItemType_Input;
[_inputButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside]; [_inputButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside];
} }

View File

@@ -0,0 +1,28 @@
//
// PIGeneralPublicScreenModel.h
// YuMi
//
// Created by duoban on 2024/2/22.
//
#import <Foundation/Foundation.h>
@class PIGeneralPublicScreenItemModel;
NS_ASSUME_NONNULL_BEGIN
@interface PIGeneralPublicScreenModel : NSObject
@property(nonatomic,copy) NSDictionary *template;
@property(nonatomic,copy) NSString *textColor;
@property(nonatomic,copy) NSArray<PIGeneralPublicScreenItemModel *> *contents;
@end
@interface PIGeneralPublicScreenItemModel : NSObject
@property(nonatomic,copy) NSString *type;
@property(nonatomic,copy) NSString *key;
@property(nonatomic,copy) NSDictionary *text;
@property(nonatomic,copy) NSString *textColor;
@property(nonatomic,assign) int skipType;
@property(nonatomic,assign) NSString *skipContent;
@property(nonatomic,copy) NSString *image;
@property(nonatomic,assign) CGFloat width;
@property(nonatomic,assign) CGFloat height;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,17 @@
//
// PIGeneralPublicScreenModel.m
// YuMi
//
// Created by duoban on 2024/2/22.
//
#import "PIGeneralPublicScreenModel.h"
@implementation PIGeneralPublicScreenModel
+ (NSDictionary *)objectClassInArray {
return @{@"contents":PIGeneralPublicScreenItemModel.class};
}
@end
@implementation PIGeneralPublicScreenItemModel
@end

View File

@@ -52,6 +52,7 @@
#import "XPWebViewController.h" #import "XPWebViewController.h"
#import "XCCurrentVCStackManager.h" #import "XCCurrentVCStackManager.h"
#import "XPTreasureFairyViewController.h" #import "XPTreasureFairyViewController.h"
#import "PIGeneralPublicScreenModel.h"
@implementation XPRoomMessageParser @implementation XPRoomMessageParser
@@ -179,6 +180,10 @@
messageInfo.nameText = nick; messageInfo.nameText = nick;
messageInfo.albumModel = albumModel; messageInfo.albumModel = albumModel;
return messageInfo; return messageInfo;
}else if(first == CustomMessageType_Guardian_Planet){
return [self createGuardianPlanetAttribute:attachment messageInfo:messageInfo];
}else if(first == CustomMessageType_General_Public_Screen){
return [self createGeneralPublicScreenAttribute:attachment messageInfo:messageInfo];
} }
return nil; return nil;
} }
@@ -460,6 +465,60 @@
// return attribute; // return attribute;
//} //}
- (XPMessageInfoModel *)createGeneralPublicScreenAttribute:(AttachmentModel *)attachment messageInfo:(XPMessageInfoModel *)messageInfo{
PIGeneralPublicScreenModel *screenModel = [PIGeneralPublicScreenModel modelWithDictionary:attachment.data];
NSDictionary *textDic = screenModel.template;
if(textDic.allKeys.count == 0)return messageInfo;
NSString *title = textDic[@"zh-CHT"] == nil ? textDic[textDic.allKeys.firstObject] : textDic[@"zh-CHT"];
if(title.length == 0)return messageInfo;
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:kRoomMessageDefalutFont],NSForegroundColorAttributeName:[DJDKMIMOMColor colorWithHexString:screenModel.textColor]}];
for (PIGeneralPublicScreenItemModel *model in screenModel.contents) {
if([model.type isEqualToString:@"TEXT"]){
NSDictionary *subTextDic = model.text;
if(subTextDic.allKeys.count > 0){
NSString *subText = subTextDic[@"zh-CHT"] == nil ? subTextDic[subTextDic.allKeys.firstObject] : subTextDic[@"zh-CHT"];
NSAttributedString *attText = [[NSAttributedString alloc]initWithString:subText attributes:@{NSForegroundColorAttributeName:[DJDKMIMOMColor colorWithHexString:model.textColor]}];
[attribute replaceCharactersInRange:[attribute.string rangeOfString:[NSString stringWithFormat:@"{%@}",model.key]] withAttributedString:attText];
@kWeakify(self)
[attribute yy_setTextHighlightRange:[attribute.string rangeOfString:subText] color:nil backgroundColor:nil tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
@kStrongify(self);
if(model.skipType == 6){
if(model.skipContent.length == 0)return;
[self showUserCard:model.skipContent.integerValue];
}
}];
}
}else if ([model.type isEqualToString:@"IMAGE"]){
NSMutableAttributedString *attImage = [self createUrlImageAttribute:model.image size:CGSizeMake(model.width, model.height)];
[attImage appendAttributedString:[self createSapceAttribute:2]];
[attribute replaceCharactersInRange:[attribute.string rangeOfString:[NSString stringWithFormat:@"{%@}",model.key]] withAttributedString:attImage];
}
}
messageInfo.content = attribute;
return messageInfo;
}
- (XPMessageInfoModel *)createGuardianPlanetAttribute:(AttachmentModel *)attachment messageInfo:(XPMessageInfoModel *)messageInfo{
XPRoomStarKitchenModel *starModel = [XPRoomStarKitchenModel modelWithDictionary:attachment.data];
NSString *title = [NSString stringWithFormat:YMLocalizedString(@"XPRoomMessageParser1033334"),starModel.nick,starModel.diamonds];
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:kRoomMessageDefalutFont],NSForegroundColorAttributeName:[DJDKMIMOMColor messageDefaultTextColor]}];
[attribute addAttributes:@{NSForegroundColorAttributeName:[DJDKMIMOMColor messageNickColor]} range:[title rangeOfString:starModel.nick]];
[attribute addAttributes:@{NSForegroundColorAttributeName:[DJDKMIMOMColor messageTextColor]} range:[title rangeOfString:[NSString stringWithFormat:@"%@",starModel.diamonds]]];
@kWeakify(self)
[attribute yy_setTextHighlightRange:[title rangeOfString:starModel.nick] color:nil backgroundColor:nil tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
@kStrongify(self);
if (starModel.uid.integerValue <= 0) {return;}
[self showUserCard:starModel.uid.integerValue];
}];
messageInfo.content = attribute;
return messageInfo;
}
- (XPMessageInfoModel *)createStarredKitchenAttribute:(AttachmentModel *)attachment messageInfo:(XPMessageInfoModel *)messageInfo{ - (XPMessageInfoModel *)createStarredKitchenAttribute:(AttachmentModel *)attachment messageInfo:(XPMessageInfoModel *)messageInfo{
XPRoomStarKitchenModel *starModel = [XPRoomStarKitchenModel modelWithDictionary:attachment.data]; XPRoomStarKitchenModel *starModel = [XPRoomStarKitchenModel modelWithDictionary:attachment.data];
NSString *title = [NSString stringWithFormat:YMLocalizedString(@"XPRoomMessageParser1033333"),starModel.nick,starModel.itemMultiple,starModel.diamonds]; NSString *title = [NSString stringWithFormat:YMLocalizedString(@"XPRoomMessageParser1033333"),starModel.nick,starModel.itemMultiple,starModel.diamonds];
@@ -1282,7 +1341,20 @@
NSMutableAttributedString * attrString = [NSMutableAttributedString yy_attachmentStringWithContent:imageView contentMode:UIViewContentModeScaleAspectFit attachmentSize:CGSizeMake(imageView.bounds.size.width, imageView.bounds.size.height) alignToFont:[UIFont systemFontOfSize:15.0] alignment:YYTextVerticalAlignmentCenter]; NSMutableAttributedString * attrString = [NSMutableAttributedString yy_attachmentStringWithContent:imageView contentMode:UIViewContentModeScaleAspectFit attachmentSize:CGSizeMake(imageView.bounds.size.width, imageView.bounds.size.height) alignToFont:[UIFont systemFontOfSize:15.0] alignment:YYTextVerticalAlignmentCenter];
return attrString; return attrString;
} }
///
/// @param imageUrl
- (NSMutableAttributedString *)createUrlImageAttribute:(NSString *)imageUrl size:(CGSize)size {
NetImageConfig *config = [[NetImageConfig alloc]init];
///
config.autoLoad = YES;
NetImageView *imageView = [[NetImageView alloc]initWithUrl:imageUrl config:config];
imageView.bounds = CGRectMake(0, 0, size.width, size.height);
imageView.layer.masksToBounds = YES;
imageView.contentMode = UIViewContentModeScaleAspectFit;
NSMutableAttributedString * attrString = [NSMutableAttributedString yy_attachmentStringWithContent:imageView contentMode:UIViewContentModeScaleAspectFit attachmentSize:CGSizeMake(imageView.bounds.size.width, imageView.bounds.size.height) alignToFont:[UIFont systemFontOfSize:15.0] alignment:YYTextVerticalAlignmentCenter];
return attrString;
}
/// ///
/// @param imageName /// @param imageName

View File

@@ -108,7 +108,7 @@
@kStrongify(self); @kStrongify(self);
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
// UI // UI
self.unlockPhotoView.image = [self setBlurImage:image]; self.unlockPhotoView.image = [UIImage setBlurImage:image value:30];
}); });
}]; }];
@@ -124,38 +124,7 @@
} }
} }
-(UIImage *)setBlurImage:(UIImage *)image{
CIContext *context = [CIContext contextWithOptions:nil];
CIImage * sourceImage = [CIImage imageWithCGImage:image.CGImage];//CIImage
///仿
CIFilter * clamp = [CIFilter filterWithName:@"CIAffineClamp"];//
[clamp setValue:sourceImage forKey:kCIInputImageKey];//
CIImage *clampResult = [clamp valueForKey:kCIOutputImageKey];
///
CIFilter* gaussianBlur = [CIFilter filterWithName:@"CIGaussianBlur"];
[gaussianBlur setValue:clampResult forKey:kCIInputImageKey];
[gaussianBlur setValue:[NSNumber numberWithFloat:30] forKey:@"inputRadius"];//
CIImage * gaussianBlurResult = [gaussianBlur valueForKey:kCIOutputImageKey];
///
CGImageRef cgImage = [context createCGImage:gaussianBlurResult fromRect:[sourceImage extent]];
UIImage * resultImage = [UIImage imageWithCGImage:cgImage];
return resultImage;
}
-(void)unlockAction{ -(void)unlockAction{
if(self.delegate && [self.delegate respondsToSelector:@selector(unlockAlbumHandle)]){ if(self.delegate && [self.delegate respondsToSelector:@selector(unlockAlbumHandle)]){
[self.delegate unlockAlbumHandle]; [self.delegate unlockAlbumHandle];

View File

@@ -529,7 +529,17 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
@(Custom_Message_Sub_Treasure_Fairy_Convert_L1), @(Custom_Message_Sub_Treasure_Fairy_Convert_L1),
@(Custom_Message_Sub_Treasure_Fairy_Convert_L2), @(Custom_Message_Sub_Treasure_Fairy_Convert_L2),
@(Custom_Message_Sub_Treasure_Fairy_Convert_L3), @(Custom_Message_Sub_Treasure_Fairy_Convert_L3),
nil] nil],
@(CustomMessageType_Guardian_Planet):
[NSSet setWithObjects:
@(Custom_Message_Sub_Guardian_Planet_One_Room),
@(Custom_Message_Sub_Guardian_Planet_All_Room),
nil],
@(CustomMessageType_General_Public_Screen):
[NSSet setWithObjects:
@(Custom_Message_Sub_General_Public_Screen_One_Room),
@(Custom_Message_Sub_General_Public_Screen_All_Room),
nil],
}; };
} }

View File

@@ -1,27 +0,0 @@
//
// YMRoomActivityPlayModel.h
// YUMI
//
// Created by YUMI on 2022/9/30.
//
#import <Foundation/Foundation.h>
typedef NS_ENUM(NSUInteger, RoomActivityPlayType) {
RoomActivityPlayTypeSailing,//航海
RoomActivityPlayTypeCandyTree,//糖果树
};
NS_ASSUME_NONNULL_BEGIN
@interface XPRoomActivityPlayModel : PIBaseModel
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *imageName;
@property (nonatomic, assign) RoomActivityPlayType playType;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,12 +0,0 @@
//
// YMRoomActivityPlayModel.m
// YUMI
//
// Created by YUMI on 2022/9/30.
//
#import "XPRoomActivityPlayModel.h"
@implementation XPRoomActivityPlayModel
@end

View File

@@ -1,18 +0,0 @@
//
// YMRoomMorePlayPresenter.h
// YUMI
//
// Created by YUMI on 2022/10/24.
//
#import "BaseMvpPresenter.h"
NS_ASSUME_NONNULL_BEGIN
@class RoomInfoModel, UserInfoModel;
@interface XPRoomMorePlayPresenter : BaseMvpPresenter
- (void)getRoomMorePlayData:(RoomInfoModel *)roomInfo userInfo:(UserInfoModel *)userInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,31 +0,0 @@
//
// YMRoomMorePlayPresenter.m
// YUMI
//
// Created by YUMI on 2022/10/24.
//
#import "XPRoomMorePlayPresenter.h"
#import "RoomInfoModel.h"
#import "UserInfoModel.h"
#import "XPRoomActivityPlayModel.h"
#import "ClientConfig.h"
#import "XPRoomMorePlayProtocol.h"
@implementation XPRoomMorePlayPresenter
- (void)getRoomMorePlayData:(RoomInfoModel *)roomInfo userInfo:(UserInfoModel *)userInfo {
NSMutableArray * data = [NSMutableArray array];
///
XPRoomActivityPlayModel *sailingModel = [[XPRoomActivityPlayModel alloc] init];
sailingModel.name = YMLocalizedString(@"XPRoomMorePlayPresenter0");
sailingModel.imageName = @"room_sailiing_enter";
sailingModel.playType = RoomActivityPlayTypeSailing;
if ([ClientConfig shareConfig].configInfo.linearlyPoolOpenLevel <= userInfo.userLevelVo.experLevelSeq) {
[data addObject:sailingModel];
}
[[self getView] getMorePlaysSuccess:data];
}
@end

View File

@@ -1,19 +0,0 @@
//
// YMRoomMorePlayProtocol.h
// YUMI
//
// Created by YUMI on 2022/10/24.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol XPRoomMorePlayProtocol <NSObject>
///获取更多玩法成功
- (void)getMorePlaysSuccess:(NSArray *)list;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,16 +0,0 @@
//
// YMRoomMorePlayCollectionViewCell.h
// YUMI
//
// Created by YUMI on 2022/10/24.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class XPRoomActivityPlayModel;
@interface XPRoomMorePlayCollectionViewCell : UICollectionViewCell
@property (nonatomic,strong) XPRoomActivityPlayModel *playModel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,87 +0,0 @@
//
// YMRoomMorePlayCollectionViewCell.m
// YUMI
//
// Created by YUMI on 2022/10/24.
//
#import "XPRoomMorePlayCollectionViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "DJDKMIMOMColor.h"
#import "NetImageView.h"
///Model
#import "XPRoomActivityPlayModel.h"
@interface XPRoomMorePlayCollectionViewCell ()
///logo
@property (nonatomic,strong) NetImageView *logoImageView;
///
@property (nonatomic,strong) UILabel *titleLabel;
@end
@implementation XPRoomMorePlayCollectionViewCell
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self.contentView addSubview:self.logoImageView];
[self.contentView addSubview:self.titleLabel];
}
- (void)initSubViewConstraints {
[self.logoImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(64, 64));
make.centerX.mas_equalTo(self.contentView);
make.top.mas_equalTo(self.contentView);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.contentView);
make.top.mas_equalTo(self.logoImageView.mas_bottom).offset(7);
}];
}
#pragma mark - Getters And Setters
- (void)setPlayModel:(XPRoomActivityPlayModel *)playModel {
_playModel = playModel;
if (_playModel) {
if ([_playModel.imageName hasPrefix:@"http"]) {
self.logoImageView.imageUrl = _playModel.imageName;
} else {
self.logoImageView.image = [UIImage imageNamed:_playModel.imageName];
}
self.titleLabel.text = _playModel.name;
}
}
- (NetImageView *)logoImageView {
if (!_logoImageView) {
_logoImageView = [[NetImageView alloc] init];
_logoImageView.userInteractionEnabled = YES;
}
return _logoImageView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:10];
_titleLabel.textColor = [UIColor whiteColor];
_titleLabel.textAlignment = NSTextAlignmentCenter;
}
return _titleLabel;
}
@end

View File

@@ -1,16 +0,0 @@
//
// YMRoomMorePlayViewController.h
// YUMI
//
// Created by YUMI on 2022/10/24.
//
#import "MvpViewController.h"
#import "RoomHostDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPRoomMorePlayViewController : MvpViewController
- (instancetype)initWithdelegate:(id<RoomHostDelegate>)delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,196 +0,0 @@
//
// YMRoomMorePlayViewController.m
// YUMI
//
// Created by YUMI on 2022/10/24.
//
#import "XPRoomMorePlayViewController.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "YUMIMacroUitls.h"
#import "UIView+Corner.h"
#import "StatisticsServiceHelper.h"
#import "NSArray+Safe.h"
///Model
#import "XPRoomActivityPlayModel.h"
#import "RoomInfoModel.h"
///View
#import "XPRoomMorePlayCollectionViewCell.h"
#import "XPCandyTreeViewController.h"
#import "XPSailingViewController.h"
///P
#import "XPRoomMorePlayPresenter.h"
#import "XPRoomMorePlayProtocol.h"
@interface XPRoomMorePlayViewController ()<UICollectionViewDelegate, UICollectionViewDataSource, XPRoomMorePlayProtocol>
///
@property (nonatomic,strong) UIView *topView;
///
@property (nonatomic,strong) UICollectionView *collectionView;
///
@property (nonatomic,strong) NSArray<XPRoomActivityPlayModel *> *datasource;
///
@property (nonatomic,strong) UIVisualEffectView *effectView;
///host
@property (nonatomic,weak) id<RoomHostDelegate>hostDelegate;
@end
@implementation XPRoomMorePlayViewController
- (instancetype)initWithdelegate:(id<RoomHostDelegate>)delegate {
if (self = [super init]) {
self.hostDelegate = delegate;
self.modalPresentationStyle = UIModalPresentationOverFullScreen;
}
return self;
}
- (__kindof id)createPresenter {
return [[XPRoomMorePlayPresenter alloc] init];
}
- (void)viewDidLoad {
[super viewDidLoad];
[self initSubViews];
[self initSubViewConstraints];
[self.presenter getRoomMorePlayData:self.hostDelegate.getRoomInfo userInfo:self.hostDelegate.getUserInfo];
}
#pragma mark - Private Method
- (void)initSubViews {
self.view.backgroundColor = [UIColor clearColor];
[self.view addSubview:self.topView];
[self.view addSubview:self.effectView];
[self.view addSubview:self.collectionView];
}
- (void)initSubViewConstraints {
[self.topView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.mas_equalTo(self.view);
make.bottom.mas_equalTo(self.collectionView.mas_top);
}];
[self.effectView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.collectionView);
}];
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.mas_equalTo(self.view);
make.height.mas_equalTo(81 + 16 + kSafeAreaBottomHeight + 10);
}];
}
- (void)dismissVC {
[self dismissViewControllerAnimated:YES completion:nil];
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.datasource.count;
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
XPRoomMorePlayCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPRoomMorePlayCollectionViewCell class]) forIndexPath:indexPath];
cell.playModel = [self.datasource safeObjectAtIndex1:indexPath.row];
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
[collectionView deselectItemAtIndexPath:indexPath animated:YES];
if (self.datasource.count > 0) {
XPRoomActivityPlayModel * info = [self.datasource safeObjectAtIndex1:indexPath.row];
switch (info.playType) {
case RoomActivityPlayTypeCandyTree:
{
[self dismissVC];
[StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventroom_pop_click eventAttributes:@{@"bannerName": YMLocalizedString(@"XPRoomMorePlayViewController0")}];
XPCandyTreeViewController * candyTreeVC = [[XPCandyTreeViewController alloc] initWithDelegate:self.hostDelegate];
candyTreeVC.modalPresentationStyle = UIModalPresentationOverFullScreen;
[self.hostDelegate.getCurrentNav presentViewController:candyTreeVC animated:YES completion:nil];
}
break;
case RoomActivityPlayTypeSailing:
{
[self dismissVC];
[StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventroom_pop_click eventAttributes:@{@"bannerName": YMLocalizedString(@"XPRoomMorePlayViewController1")}];
NSString * roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
XPSailingViewController * sailingVC = [[XPSailingViewController alloc] initWithRoomUid:roomUid];
[self.hostDelegate.getCurrentNav presentViewController:sailingVC animated:YES completion:nil];
}
break;
default:
break;
}
}
}
#pragma mark - XPRoomMorePlayProtocol
- (void)getMorePlaysSuccess:(NSArray *)list {
self.datasource = list;
CGFloat contentHeight= 24 + kSafeAreaBottomHeight + 10;
CGFloat itemHeight = 81;
int page = list.count % 3;
int scale = (int)list.count / (int)3;
if (page == 0) {
contentHeight += (scale *itemHeight);
} else {
contentHeight += ((scale+1) *itemHeight + scale * 12);
}
CAShapeLayer * layer = [CAShapeLayer layer];
UIBezierPath * path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, KScreenWidth, contentHeight) byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(8, 8)];
layer.path = path.CGPath;
self.collectionView.layer.mask = layer;
[self.collectionView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(contentHeight);
}];
[self.collectionView reloadData];
}
#pragma mark - Getters And Setters
- (UIView *)topView {
if (!_topView) {
_topView = [[UIView alloc] init];
_topView.backgroundColor = [UIColor clearColor];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissVC)];
[_topView addGestureRecognizer:tap];
}
return _topView;
}
- (UICollectionView *)collectionView{
if (!_collectionView) {
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
layout.itemSize = CGSizeMake(KScreenWidth / 3.0, 81);
layout.sectionInset = UIEdgeInsetsMake(16, 0, 0, 0);
layout.minimumLineSpacing = 10;
layout.minimumInteritemSpacing = 0;
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
_collectionView.dataSource = self;
_collectionView.delegate = self;
_collectionView.backgroundColor = [UIColor clearColor];
[_collectionView registerClass:[XPRoomMorePlayCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPRoomMorePlayCollectionViewCell class])];
}
return _collectionView;
}
- (UIVisualEffectView *)effectView {
if (!_effectView) {
UIBlurEffect *beffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
_effectView = [[UIVisualEffectView alloc] initWithEffect:beffect];
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, KScreenWidth, KScreenHeight) byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(8, 8)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
maskLayer.path = maskPath.CGPath;
_effectView.layer.mask = maskLayer;
}
return _effectView;
}
@end

View File

@@ -31,6 +31,7 @@ NS_ASSUME_NONNULL_BEGIN
- (void)exitRoom; - (void)exitRoom;
- (void)miniRoom; - (void)miniRoom;
- (UINavigationController *)getCurrentNav; - (UINavigationController *)getCurrentNav;
-(UIView *)getSuperView;
- (NSArray *)getRoomSuperAdminList; - (NSArray *)getRoomSuperAdminList;
///获取房间PK队伍的 ///获取房间PK队伍的
- (NSArray *)getRoomPKGroupTeamList; - (NSArray *)getRoomPKGroupTeamList;

View File

@@ -93,7 +93,7 @@
@kStrongify(self); @kStrongify(self);
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
// UI // UI
self.bgImageView.image = [self setBlurImage:image]; self.bgImageView.image = [UIImage setBlurImage:image value:30];
}); });
}]; }];
}else{ }else{
@@ -116,38 +116,7 @@
} }
} }
-(UIImage *)setBlurImage:(UIImage *)image{
CIContext *context = [CIContext contextWithOptions:nil];
CIImage * sourceImage = [CIImage imageWithCGImage:image.CGImage];//CIImage
///仿
CIFilter * clamp = [CIFilter filterWithName:@"CIAffineClamp"];//
[clamp setValue:sourceImage forKey:kCIInputImageKey];//
CIImage *clampResult = [clamp valueForKey:kCIOutputImageKey];
///
CIFilter* gaussianBlur = [CIFilter filterWithName:@"CIGaussianBlur"];
[gaussianBlur setValue:clampResult forKey:kCIInputImageKey];
[gaussianBlur setValue:[NSNumber numberWithFloat:30] forKey:@"inputRadius"];//
CIImage * gaussianBlurResult = [gaussianBlur valueForKey:kCIOutputImageKey];
///
CGImageRef cgImage = [context createCGImage:gaussianBlurResult fromRect:[sourceImage extent]];
UIImage * resultImage = [UIImage imageWithCGImage:cgImage];
return resultImage;
}
-(void)operateAction{ -(void)operateAction{
if(self.delegate && [self.delegate respondsToSelector:@selector(pIRoomPhotoAlbumItemCell:clickMornWithModel:)]){ if(self.delegate && [self.delegate respondsToSelector:@selector(pIRoomPhotoAlbumItemCell:clickMornWithModel:)]){
[self.delegate pIRoomPhotoAlbumItemCell:self clickMornWithModel:self.albumModel]; [self.delegate pIRoomPhotoAlbumItemCell:self clickMornWithModel:self.albumModel];

View File

@@ -280,7 +280,8 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
[self initSubViews]; [self initSubViews];
[self initSubViewConstraints]; [self initSubViewConstraints];
if (self.isMiniEnter) { if (self.isMiniEnter) {
[self initEnterRoomSuccess:[XPRoomMiniManager shareManager].getRoomInfo user:[XPRoomMiniManager shareManager].getUserInfo]; [XNDJTDDLoadingTool showAnchorLoading:self.navigationController.view];
[self.presenter initEnterRoom:self.roomUid user:[AccountInfoStorage instance].getUid];
} else { } else {
[XNDJTDDLoadingTool showAnchorLoading:self.navigationController.view]; [XNDJTDDLoadingTool showAnchorLoading:self.navigationController.view];
[self.presenter initEnterRoom:self.roomUid user:[AccountInfoStorage instance].getUid]; [self.presenter initEnterRoom:self.roomUid user:[AccountInfoStorage instance].getUid];
@@ -366,6 +367,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
[self.view addSubview:self.littleGameView]; [self.view addSubview:self.littleGameView];
[self.view addSubview:self.stageView]; [self.view addSubview:self.stageView];
[self.view addSubview:self.messageContainerView]; [self.view addSubview:self.messageContainerView];
[self.view addSubview:self.quickMessageContainerView]; [self.view addSubview:self.quickMessageContainerView];
[self.view addSubview:self.menuContainerView]; [self.view addSubview:self.menuContainerView];
[self.view addSubview:self.activityContainerView]; [self.view addSubview:self.activityContainerView];
@@ -451,7 +453,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
make.top.mas_equalTo(self.messageContainerView); make.top.mas_equalTo(self.messageContainerView);
make.right.mas_equalTo(self.view); make.right.mas_equalTo(self.view);
make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).offset(-5); make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).offset(-5);
make.width.mas_equalTo(80); make.width.mas_equalTo(87);
}]; }];
[self.redPacketView mas_makeConstraints:^(MASConstraintMaker *make) { [self.redPacketView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(58)); make.width.height.mas_equalTo(kGetScaleWidth(58));
@@ -503,7 +505,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
make.top.mas_equalTo(self.messageContainerView); make.top.mas_equalTo(self.messageContainerView);
make.right.mas_equalTo(self.anchorScrollView.middleImageView); make.right.mas_equalTo(self.anchorScrollView.middleImageView);
make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).mas_offset(-5); make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).mas_offset(-5);
make.width.mas_equalTo(80); make.width.mas_equalTo(87);
}]; }];
@@ -622,7 +624,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
make.height.mas_equalTo(65); make.height.mas_equalTo(65);
make.right.mas_equalTo(self.view); make.right.mas_equalTo(self.view);
make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).offset(-5); make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).offset(-5);
make.width.mas_equalTo(80); make.width.mas_equalTo(87);
}]; }];
} else { } else {
@@ -648,7 +650,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
make.top.mas_equalTo(self.messageContainerView); make.top.mas_equalTo(self.messageContainerView);
make.right.mas_equalTo(self.view); make.right.mas_equalTo(self.view);
make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).offset(-5); make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).offset(-5);
make.width.mas_equalTo(80); make.width.mas_equalTo(87);
}]; }];
} }
@@ -699,7 +701,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
make.top.mas_equalTo(self.messageContainerView); make.top.mas_equalTo(self.messageContainerView);
make.right.mas_equalTo(self.anchorScrollView.middleImageView); make.right.mas_equalTo(self.anchorScrollView.middleImageView);
make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).mas_offset(-5); make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).mas_offset(-5);
make.width.mas_equalTo(80); make.width.mas_equalTo(87);
}]; }];
} }
@@ -1675,9 +1677,13 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
if(attachment.first == CustomMessageType_Graffiti_Star_Kitchen && attachment.second == Custom_Message_Sub_Star_Kitchen_FullScreen){ if(attachment.first == CustomMessageType_Graffiti_Star_Kitchen && attachment.second == Custom_Message_Sub_Star_Kitchen_FullScreen){
isHave = YES; isHave = YES;
}else if(attachment.first == CustomMessageType_Look_Love && attachment.second == Custom_Message_Sub_Look_Love_InRoom_NeedAllMicSend){ }else if(attachment.first == CustomMessageType_Look_Love && attachment.second == Custom_Message_Sub_Look_Love_InRoom_NeedAllMicSend){
isHave = YES;
}else if(attachment.first == CustomMessageType_Guardian_Planet && attachment.second == Custom_Message_Sub_Guardian_Planet_All_Room){
isHave = YES;
}else if(attachment.first == CustomMessageType_General_Public_Screen && attachment.second == Custom_Message_Sub_General_Public_Screen_All_Room){
isHave = YES;
}else if (attachment.first == CustomMessageType_Treasure_Fairy && (attachment.second == Custom_Message_Sub_Treasure_Fairy_Draw_Gift_L4 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Draw_Gift_L5 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Convert_L1 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Convert_L2 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Convert_L3)) { // }else if (attachment.first == CustomMessageType_Treasure_Fairy && (attachment.second == Custom_Message_Sub_Treasure_Fairy_Draw_Gift_L4 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Draw_Gift_L5 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Convert_L1 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Convert_L2 || attachment.second == Custom_Message_Sub_Treasure_Fairy_Convert_L3)) { //
isHave = YES;
}else if (attachment.first == CustomMessageType_Tarot && (attachment.second == Custom_Message_Sub_Tarot_Advanced || attachment.second == Custom_Message_Sub_Tarot_Intermediate)){ }else if (attachment.first == CustomMessageType_Tarot && (attachment.second == Custom_Message_Sub_Tarot_Advanced || attachment.second == Custom_Message_Sub_Tarot_Intermediate)){
isHave = YES; isHave = YES;
}if (attachment.first == CustomMessageType_RedPacket && attachment.second == Custom_Message_Sub_AllDiamandRedPacket) { }if (attachment.first == CustomMessageType_RedPacket && attachment.second == Custom_Message_Sub_AllDiamandRedPacket) {
@@ -1949,7 +1955,9 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
- (UINavigationController *)getCurrentNav { - (UINavigationController *)getCurrentNav {
return self.navigationController; return self.navigationController;
} }
-(UIView *)getSuperView{
return self.view;
}
- (NSMutableDictionary<NSString *,MicroQueueModel *> *)getMicroQueue { - (NSMutableDictionary<NSString *,MicroQueueModel *> *)getMicroQueue {
return [self.stageView getMicroQueue]; return [self.stageView getMicroQueue];
} }

View File

@@ -57,5 +57,5 @@ isEnterprise = [bundleID isEqualToString:@"com.hflighting.yumi"];\
#import "BSNetListenModel.h" #import "BSNetListenModel.h"
#import "PIBaseModel.h" #import "PIBaseModel.h"
#import "PLTimeUtil.h" #import "PLTimeUtil.h"
#import "UIImage+ImageEffects.h"
#endif /* PrefixHeader_pch */ #endif /* PrefixHeader_pch */

View File

@@ -138,7 +138,7 @@ static NSString *_from = nil;
if (isEnterprise == NO) { if (isEnterprise == NO) {
_from = @"piko_Enterprise"; // _from = @"piko_Enterprise"; //
}else { }else {
_from = PI_App_Source; // App Store _from = PI_App_Source; //appstore App Store
} }
} }
} }

View File

@@ -49,6 +49,7 @@
"LoginPresenter1" = "登录失败,请重试"; "LoginPresenter1" = "登录失败,请重试";
"XPRoomStarKitchenBannerView0"="恭喜%@在星级厨房抽中%@倍奖励,获得 %@钻石!"; "XPRoomStarKitchenBannerView0"="恭喜%@在星级厨房抽中%@倍奖励,获得 %@钻石!";
"XPRoomMessageParser1033333"="恭喜%@在星级厨房抽中 %@倍奖励,获得 %@钻石!"; "XPRoomMessageParser1033333"="恭喜%@在星级厨房抽中 %@倍奖励,获得 %@钻石!";
"XPRoomMessageParser1033334"="恭喜 %@ 在守护星球中成功击败怪兽,获得%@钻石奖励";
///XPShareView.m ///XPShareView.m
"XPShareView0" = "拷贝成功"; "XPShareView0" = "拷贝成功";
"XPShareView1" = "来玩奥"; "XPShareView1" = "来玩奥";
@@ -541,7 +542,7 @@
"XPIAPRechargeViewController7" = "提示"; "XPIAPRechargeViewController7" = "提示";
"XPIAPRechargeViewController8" = "储值失败,请联系客服处理~"; "XPIAPRechargeViewController8" = "储值失败,请联系客服处理~";
"XPIAPRechargeViewController9" = "联系客服"; "XPIAPRechargeViewController9" = "联系客服";
"XPIAPRechargeViewController10" = "值失敗。當前僅支持行iOS15及以上系的手機進行儲值,請升級系統版本後重試。"; "XPIAPRechargeViewController10" = "值失败。当前仅支持行iOS15及以上系的手机进行储值,请升级系统版本后重试。";
"XPIAPRechargeViewController11" = "请选择需要储值钻石的数量"; "XPIAPRechargeViewController11" = "请选择需要储值钻石的数量";
@@ -732,8 +733,8 @@
"XPNewHomePlayEmptyTableViewCell0" = "快来创建房间一起交友吧"; "XPNewHomePlayEmptyTableViewCell0" = "快来创建房间一起交友吧";
"XPNewHomeViewController0" = "推荐";
"XPNewHomeViewController1" = "推荐";
"XPNewHomeViewController2" = "推荐"; "XPNewHomeViewController2" = "推荐";
"XPNewHomeViewController3" = "推荐"; "XPNewHomeViewController3" = "推荐";
@@ -1152,7 +1153,7 @@
"XPRoomMenuContainerView0" = "房间公屏已关闭"; "XPRoomMenuContainerView0" = "房间公屏已关闭";
"XPRoomMenuContainerView1" = "PK已开始暂时无法排麦"; "XPRoomMenuContainerView1" = "PK已开始暂时无法排麦";
"XPRoomMenuContainerView2" = "说点什..."; "XPRoomMenuContainerView2" = "说点什...";
"XPRoomMenuContainerView3" = "快给大家打个招呼吧"; "XPRoomMenuContainerView3" = "快给大家打个招呼吧";
"XPRoomSendTextView0" = "请输入消息..."; "XPRoomSendTextView0" = "请输入消息...";
@@ -1260,8 +1261,7 @@
"XPRoomMorePlayPresenter0" = "航海"; "XPRoomMorePlayPresenter0" = "航海";
"XPRoomMorePlayViewController0" = "糖果树";
"XPRoomMorePlayViewController1" = "航海";
"XPReleaseRadioViewController0" = "发佈成功"; "XPReleaseRadioViewController0" = "发佈成功";
"XPReleaseRadioViewController1" = "发佈后,%zd分钟内不可再发佈广播"; "XPReleaseRadioViewController1" = "发佈后,%zd分钟内不可再发佈广播";
@@ -1631,7 +1631,7 @@
"XPRoomActivityPlayView0" = "更多玩法";
"XPRoomQuickMessageContainView0" = "你发送的太频繁啦,请稍后再试"; "XPRoomQuickMessageContainView0" = "你发送的太频繁啦,请稍后再试";
@@ -2333,10 +2333,7 @@
"XPMineClanIncomeStatisViewController2" = "每周统计"; "XPMineClanIncomeStatisViewController2" = "每周统计";
"XPMineClanIncomeStatisViewController3" = "每月统计"; "XPMineClanIncomeStatisViewController3" = "每月统计";
///XPMineAnchorIncomeStatisViewController.m
"XPMineAnchorIncomeStatisViewController0" = "主播收入";
"XPMineAnchorIncomeStatisViewController1" = "按日统计";
"XPMineAnchorIncomeStatisViewController2" = "每周统计";
///XPMineGuildIncomeStatisViewController.m ///XPMineGuildIncomeStatisViewController.m
"XPMineGuildIncomeStatisViewController0" = "收入统计"; "XPMineGuildIncomeStatisViewController0" = "收入统计";
@@ -3097,8 +3094,8 @@
///SessionDiscoverNewTableViewCell.m ///SessionDiscoverNewTableViewCell.m
"SessionDiscoverNewTableViewCell0" = "发现萌新"; "SessionDiscoverNewTableViewCell0" = "发现萌新";
///XPMineSimpleUserInfoHeaderView ///XPMineSimpleUserInfoHeaderView
"XPMineSimpleUserInfoHeaderView0"="這個人很懶,還沒有簽名嗷~"; "XPMineSimpleUserInfoHeaderView0"="这个人很懒,还没有签名嗷~";
"XPMineSimpleUserInfoHeaderView1"="這個人很懶,還沒有簽名嗷~"; "XPMineSimpleUserInfoHeaderView1"="这个人很懒,还没有签名嗷~";
"XPMineSimpleUserInfoHeaderView2"="直播中"; "XPMineSimpleUserInfoHeaderView2"="直播中";
"XPMineSimpleUserInfoHeaderView3"="礼物墙"; "XPMineSimpleUserInfoHeaderView3"="礼物墙";
"XPMineSimpleUserInfoHeaderView4"="礼物墙"; "XPMineSimpleUserInfoHeaderView4"="礼物墙";
@@ -3108,7 +3105,7 @@
"PIRoomPhotoAlbumVC0"="房间相册"; "PIRoomPhotoAlbumVC0"="房间相册";
"PIRoomPhotoAlbumVC1"="我的照片"; "PIRoomPhotoAlbumVC1"="我的照片";
"PIRoomPhotoAlbumVC2"="普通照片"; "PIRoomPhotoAlbumVC2"="普通照片";
"PIRoomPhotoAlbumVC3"="解照片"; "PIRoomPhotoAlbumVC3"="解照片";
///PIRoomPhotoAlbumItemVC ///PIRoomPhotoAlbumItemVC
"PIRoomPhotoAlbumItemVC0"="上传照片"; "PIRoomPhotoAlbumItemVC0"="上传照片";
"PIRoomPhotoAlbumItemVC1"="上传失败,请重新上传"; "PIRoomPhotoAlbumItemVC1"="上传失败,请重新上传";
@@ -3156,7 +3153,7 @@
"PIRedPacketChooseTypeView4"="所有人均可参与"; "PIRedPacketChooseTypeView4"="所有人均可参与";
"PIRedPacketChooseTypeView5"="关注主播可参与"; "PIRedPacketChooseTypeView5"="关注主播可参与";
"PIRedPacketChooseTypeView6"="分享房间可参与"; "PIRedPacketChooseTypeView6"="分享房间可参与";
"PIRedPacketChooseTypeView7"="指定彈幕內容"; "PIRedPacketChooseTypeView7"="指定弹幕内容";
"PIRedPacketChooseTypeView8"="抢红包条件"; "PIRedPacketChooseTypeView8"="抢红包条件";
///PIRoomSendRedPacketVC ///PIRoomSendRedPacketVC
"PIRoomSendRedPacketVC0"="厅内红包"; "PIRoomSendRedPacketVC0"="厅内红包";
@@ -3182,6 +3179,11 @@
"PIRoomGiftBroadcastWindow2"="下次不再出现此提示"; "PIRoomGiftBroadcastWindow2"="下次不再出现此提示";
"PIRoomGiftBroadcastWindow3"="留在这"; "PIRoomGiftBroadcastWindow3"="留在这";
"PIRoomGiftBroadcastWindow4"="立即前往"; "PIRoomGiftBroadcastWindow4"="立即前往";
///PIGuildAnchorIncomeSectionView
"PIGuildAnchorIncomeSectionView0"="个人信息";
"PIGuildAnchorIncomeSectionView1"="主播(钻石)";
"PIGuildAnchorIncomeSectionView2"="房间(钻石)";
"PIGuildAnchorIncomeSectionView3"="直播时长";
///不能脚本生成的 ///不能脚本生成的
"App_Common_And" = "和"; "App_Common_And" = "和";
"App_Common_Male" = "男"; "App_Common_Male" = "男";

View File

@@ -49,6 +49,7 @@
"LoginPresenter1" = "登錄失敗,請重試"; "LoginPresenter1" = "登錄失敗,請重試";
"XPRoomStarKitchenBannerView0"="恭喜%@在星級廚房抽中%@倍獎勵,獲得 %@鉆石!"; "XPRoomStarKitchenBannerView0"="恭喜%@在星級廚房抽中%@倍獎勵,獲得 %@鉆石!";
"XPRoomMessageParser1033333"="恭喜%@在星級廚房抽中 %@倍獎勵,獲得 %@鉆石!"; "XPRoomMessageParser1033333"="恭喜%@在星級廚房抽中 %@倍獎勵,獲得 %@鉆石!";
"XPRoomMessageParser1033334"="恭喜 %@ 在守護星球中成功擊敗怪獸,獲得%@鉆石獎勵";
///XPShareView.m ///XPShareView.m
"XPShareView0" = "拷貝成功"; "XPShareView0" = "拷貝成功";
"XPShareView1" = "來玩奧"; "XPShareView1" = "來玩奧";
@@ -734,8 +735,8 @@
"XPNewHomePlayEmptyTableViewCell0" = "快來創建房間一起交友吧"; "XPNewHomePlayEmptyTableViewCell0" = "快來創建房間一起交友吧";
"XPNewHomeViewController0" = "推薦";
"XPNewHomeViewController1" = "推薦";
"XPNewHomeViewController2" = "推薦"; "XPNewHomeViewController2" = "推薦";
"XPNewHomeViewController3" = "推薦"; "XPNewHomeViewController3" = "推薦";
@@ -1262,8 +1263,7 @@
"XPRoomMorePlayPresenter0" = "航海"; "XPRoomMorePlayPresenter0" = "航海";
"XPRoomMorePlayViewController0" = "糖果樹";
"XPRoomMorePlayViewController1" = "航海";
"XPReleaseRadioViewController0" = "發佈成功"; "XPReleaseRadioViewController0" = "發佈成功";
"XPReleaseRadioViewController1" = "發佈後,%zd分鐘內不可再發佈廣播"; "XPReleaseRadioViewController1" = "發佈後,%zd分鐘內不可再發佈廣播";
@@ -1628,7 +1628,7 @@
"XPRoomLuckyBigPrizeView0" = "%@運氣爆表!在%@ 中開出了價值 %@鉆 的 %@"; "XPRoomLuckyBigPrizeView0" = "%@運氣爆表!在%@ 中開出了價值 %@鉆 的 %@";
"XPRoomActivityPlayView0" = "更多玩法";
"XPRoomQuickMessageContainView0" = "你發送的太頻繁啦,請稍後再試"; "XPRoomQuickMessageContainView0" = "你發送的太頻繁啦,請稍後再試";
@@ -2327,10 +2327,7 @@
"XPMineClanIncomeStatisViewController2" = "每周統計"; "XPMineClanIncomeStatisViewController2" = "每周統計";
"XPMineClanIncomeStatisViewController3" = "每月統計"; "XPMineClanIncomeStatisViewController3" = "每月統計";
///XPMineAnchorIncomeStatisViewController.m
"XPMineAnchorIncomeStatisViewController0" = "主播收入";
"XPMineAnchorIncomeStatisViewController1" = "按日統計";
"XPMineAnchorIncomeStatisViewController2" = "每周統計";
///XPMineGuildIncomeStatisViewController.m ///XPMineGuildIncomeStatisViewController.m
"XPMineGuildIncomeStatisViewController0" = "收入統計"; "XPMineGuildIncomeStatisViewController0" = "收入統計";
@@ -3180,7 +3177,11 @@
"PIRoomGiftBroadcastWindow2"="下次不再出現此提示"; "PIRoomGiftBroadcastWindow2"="下次不再出現此提示";
"PIRoomGiftBroadcastWindow3"="留在這"; "PIRoomGiftBroadcastWindow3"="留在這";
"PIRoomGiftBroadcastWindow4"="立即前往"; "PIRoomGiftBroadcastWindow4"="立即前往";
///PIGuildAnchorIncomeSectionView
"PIGuildAnchorIncomeSectionView0"="個人信息";
"PIGuildAnchorIncomeSectionView1"="主播(鉆石)";
"PIGuildAnchorIncomeSectionView2"="房間(鉆石)";
"PIGuildAnchorIncomeSectionView3"="直播時長";
///不能腳本生成的 ///不能腳本生成的
"App_Common_And" = "和"; "App_Common_And" = "和";
"App_Common_Male" = "男"; "App_Common_Male" = "男";