夺宝精灵改动
2
Podfile
@@ -41,7 +41,7 @@ target 'YuMi' do
|
|||||||
#上传音乐
|
#上传音乐
|
||||||
pod 'CocoaAsyncSocket',:modular_headers => true
|
pod 'CocoaAsyncSocket',:modular_headers => true
|
||||||
#声网
|
#声网
|
||||||
pod 'AgoraRtcEngine_iOS', '~> 3.2.2'
|
pod 'AgoraRtcEngine_iOS', '~> 4.2.2'
|
||||||
#上传图片
|
#上传图片
|
||||||
pod 'Qiniu'
|
pod 'Qiniu'
|
||||||
#内购
|
#内购
|
||||||
|
@@ -312,6 +312,12 @@
|
|||||||
23FF42732AA6CC480055733C /* PIHomeItemModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42722AA6CC480055733C /* PIHomeItemModel.m */; };
|
23FF42732AA6CC480055733C /* PIHomeItemModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42722AA6CC480055733C /* PIHomeItemModel.m */; };
|
||||||
23FF42762AA6E1480055733C /* XPHomeRecommendOtherRoomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42752AA6E1480055733C /* XPHomeRecommendOtherRoomView.m */; };
|
23FF42762AA6E1480055733C /* XPHomeRecommendOtherRoomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42752AA6E1480055733C /* XPHomeRecommendOtherRoomView.m */; };
|
||||||
23FF42792AA6E19C0055733C /* HomeMenuSourceModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42782AA6E19C0055733C /* HomeMenuSourceModel.m */; };
|
23FF42792AA6E19C0055733C /* HomeMenuSourceModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42782AA6E19C0055733C /* HomeMenuSourceModel.m */; };
|
||||||
|
23FF427C2AA71CFA0055733C /* XPTreasureFairyBottomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF427B2AA71CFA0055733C /* XPTreasureFairyBottomView.m */; };
|
||||||
|
23FF427F2AA86E360055733C /* XPTreasureFairyNewSummonView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF427E2AA86E360055733C /* XPTreasureFairyNewSummonView.m */; };
|
||||||
|
23FF42822AA86E830055733C /* XPTreasureFairyNewSummonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42812AA86E830055733C /* XPTreasureFairyNewSummonCell.m */; };
|
||||||
|
23FF42852AA9AC600055733C /* PITreasureFairyBuyElfShardSuccessView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42842AA9AC600055733C /* PITreasureFairyBuyElfShardSuccessView.m */; };
|
||||||
|
23FF42882AA9BEF40055733C /* PITreasureFairyBuyElfShardView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42872AA9BEF40055733C /* PITreasureFairyBuyElfShardView.m */; };
|
||||||
|
23FF428B2AA9C0DC0055733C /* PITreasureFairyBuyElfShardInputNumView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF428A2AA9C0DC0055733C /* PITreasureFairyBuyElfShardInputNumView.m */; };
|
||||||
73FFADDC93E195344047A2EC /* Pods_YuMi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CACF623970097D653132D69A /* Pods_YuMi.framework */; };
|
73FFADDC93E195344047A2EC /* Pods_YuMi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CACF623970097D653132D69A /* Pods_YuMi.framework */; };
|
||||||
9B0086C627BA392B0032BD2B /* AnchorStageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B0086C527BA392B0032BD2B /* AnchorStageView.m */; };
|
9B0086C627BA392B0032BD2B /* AnchorStageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B0086C527BA392B0032BD2B /* AnchorStageView.m */; };
|
||||||
9B0086CA27BA4F570032BD2B /* AnchorMicroView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B0086C927BA4F570032BD2B /* AnchorMicroView.m */; };
|
9B0086CA27BA4F570032BD2B /* AnchorMicroView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B0086C927BA4F570032BD2B /* AnchorMicroView.m */; };
|
||||||
@@ -1977,6 +1983,18 @@
|
|||||||
23FF42752AA6E1480055733C /* XPHomeRecommendOtherRoomView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPHomeRecommendOtherRoomView.m; sourceTree = "<group>"; };
|
23FF42752AA6E1480055733C /* XPHomeRecommendOtherRoomView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPHomeRecommendOtherRoomView.m; sourceTree = "<group>"; };
|
||||||
23FF42772AA6E19C0055733C /* HomeMenuSourceModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeMenuSourceModel.h; sourceTree = "<group>"; };
|
23FF42772AA6E19C0055733C /* HomeMenuSourceModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeMenuSourceModel.h; sourceTree = "<group>"; };
|
||||||
23FF42782AA6E19C0055733C /* HomeMenuSourceModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeMenuSourceModel.m; sourceTree = "<group>"; };
|
23FF42782AA6E19C0055733C /* HomeMenuSourceModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeMenuSourceModel.m; sourceTree = "<group>"; };
|
||||||
|
23FF427A2AA71CFA0055733C /* XPTreasureFairyBottomView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyBottomView.h; sourceTree = "<group>"; };
|
||||||
|
23FF427B2AA71CFA0055733C /* XPTreasureFairyBottomView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyBottomView.m; sourceTree = "<group>"; };
|
||||||
|
23FF427D2AA86E360055733C /* XPTreasureFairyNewSummonView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyNewSummonView.h; sourceTree = "<group>"; };
|
||||||
|
23FF427E2AA86E360055733C /* XPTreasureFairyNewSummonView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyNewSummonView.m; sourceTree = "<group>"; };
|
||||||
|
23FF42802AA86E830055733C /* XPTreasureFairyNewSummonCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPTreasureFairyNewSummonCell.h; sourceTree = "<group>"; };
|
||||||
|
23FF42812AA86E830055733C /* XPTreasureFairyNewSummonCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFairyNewSummonCell.m; sourceTree = "<group>"; };
|
||||||
|
23FF42832AA9AC600055733C /* PITreasureFairyBuyElfShardSuccessView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PITreasureFairyBuyElfShardSuccessView.h; sourceTree = "<group>"; };
|
||||||
|
23FF42842AA9AC600055733C /* PITreasureFairyBuyElfShardSuccessView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PITreasureFairyBuyElfShardSuccessView.m; sourceTree = "<group>"; };
|
||||||
|
23FF42862AA9BEF40055733C /* PITreasureFairyBuyElfShardView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PITreasureFairyBuyElfShardView.h; sourceTree = "<group>"; };
|
||||||
|
23FF42872AA9BEF40055733C /* PITreasureFairyBuyElfShardView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PITreasureFairyBuyElfShardView.m; sourceTree = "<group>"; };
|
||||||
|
23FF42892AA9C0DC0055733C /* PITreasureFairyBuyElfShardInputNumView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PITreasureFairyBuyElfShardInputNumView.h; sourceTree = "<group>"; };
|
||||||
|
23FF428A2AA9C0DC0055733C /* PITreasureFairyBuyElfShardInputNumView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PITreasureFairyBuyElfShardInputNumView.m; sourceTree = "<group>"; };
|
||||||
7DB00EC07F1D0ADFF900B38D /* Pods-YuMi.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YuMi.debug.xcconfig"; path = "Target Support Files/Pods-YuMi/Pods-YuMi.debug.xcconfig"; sourceTree = "<group>"; };
|
7DB00EC07F1D0ADFF900B38D /* Pods-YuMi.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YuMi.debug.xcconfig"; path = "Target Support Files/Pods-YuMi/Pods-YuMi.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
9B0086C427BA392B0032BD2B /* AnchorStageView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnchorStageView.h; sourceTree = "<group>"; };
|
9B0086C427BA392B0032BD2B /* AnchorStageView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnchorStageView.h; sourceTree = "<group>"; };
|
||||||
9B0086C527BA392B0032BD2B /* AnchorStageView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AnchorStageView.m; sourceTree = "<group>"; };
|
9B0086C527BA392B0032BD2B /* AnchorStageView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AnchorStageView.m; sourceTree = "<group>"; };
|
||||||
@@ -5206,23 +5224,25 @@
|
|||||||
23E9E9DD2A837BE300B792F2 /* Cell */ = {
|
23E9E9DD2A837BE300B792F2 /* Cell */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
23E9E9DE2A837BE300B792F2 /* XPTreasureFairyStoreResultCell.m */,
|
|
||||||
23E9E9DF2A837BE300B792F2 /* XPTreasureFairyShopingRecordCell.h */,
|
|
||||||
23E9E9E02A837BE300B792F2 /* XPTreasureFailyResultGiftCell.h */,
|
23E9E9E02A837BE300B792F2 /* XPTreasureFailyResultGiftCell.h */,
|
||||||
23E9E9E12A837BE300B792F2 /* XPTreasureFairySendRecordCell.h */,
|
|
||||||
23E9E9E22A837BE300B792F2 /* XPTreasureFairyFriendCell.m */,
|
|
||||||
23E9E9E32A837BE300B792F2 /* XPTreasureFairyPrizePoolCell.m */,
|
|
||||||
23E9E9E42A837BE300B792F2 /* XPTreasureFairyPrizeRecordCell.m */,
|
|
||||||
23E9E9E52A837BE300B792F2 /* XPTreasureFairyTrialsRecordCell.h */,
|
|
||||||
23E9E9E62A837BE300B792F2 /* XPTreasureFairyShopingExchangeCell.h */,
|
|
||||||
23E9E9E72A837BE300B792F2 /* XPTreasureFairyStoreResultCell.h */,
|
|
||||||
23E9E9E82A837BE300B792F2 /* XPTreasureFailyResultGiftCell.m */,
|
23E9E9E82A837BE300B792F2 /* XPTreasureFailyResultGiftCell.m */,
|
||||||
23E9E9E92A837BE300B792F2 /* XPTreasureFairyShopingRecordCell.m */,
|
|
||||||
23E9E9EA2A837BE300B792F2 /* XPTreasureFairyFriendCell.h */,
|
23E9E9EA2A837BE300B792F2 /* XPTreasureFairyFriendCell.h */,
|
||||||
23E9E9EB2A837BE300B792F2 /* XPTreasureFairySendRecordCell.m */,
|
23E9E9E22A837BE300B792F2 /* XPTreasureFairyFriendCell.m */,
|
||||||
23E9E9EC2A837BE300B792F2 /* XPTreasureFairyPrizeRecordCell.h */,
|
23FF42802AA86E830055733C /* XPTreasureFairyNewSummonCell.h */,
|
||||||
|
23FF42812AA86E830055733C /* XPTreasureFairyNewSummonCell.m */,
|
||||||
23E9E9ED2A837BE300B792F2 /* XPTreasureFairyPrizePoolCell.h */,
|
23E9E9ED2A837BE300B792F2 /* XPTreasureFairyPrizePoolCell.h */,
|
||||||
|
23E9E9E32A837BE300B792F2 /* XPTreasureFairyPrizePoolCell.m */,
|
||||||
|
23E9E9EC2A837BE300B792F2 /* XPTreasureFairyPrizeRecordCell.h */,
|
||||||
|
23E9E9E42A837BE300B792F2 /* XPTreasureFairyPrizeRecordCell.m */,
|
||||||
|
23E9E9E12A837BE300B792F2 /* XPTreasureFairySendRecordCell.h */,
|
||||||
|
23E9E9EB2A837BE300B792F2 /* XPTreasureFairySendRecordCell.m */,
|
||||||
|
23E9E9E62A837BE300B792F2 /* XPTreasureFairyShopingExchangeCell.h */,
|
||||||
23E9E9EE2A837BE300B792F2 /* XPTreasureFairyShopingExchangeCell.m */,
|
23E9E9EE2A837BE300B792F2 /* XPTreasureFairyShopingExchangeCell.m */,
|
||||||
|
23E9E9DF2A837BE300B792F2 /* XPTreasureFairyShopingRecordCell.h */,
|
||||||
|
23E9E9E92A837BE300B792F2 /* XPTreasureFairyShopingRecordCell.m */,
|
||||||
|
23E9E9E72A837BE300B792F2 /* XPTreasureFairyStoreResultCell.h */,
|
||||||
|
23E9E9DE2A837BE300B792F2 /* XPTreasureFairyStoreResultCell.m */,
|
||||||
|
23E9E9E52A837BE300B792F2 /* XPTreasureFairyTrialsRecordCell.h */,
|
||||||
23E9E9EF2A837BE300B792F2 /* XPTreasureFairyTrialsRecordCell.m */,
|
23E9E9EF2A837BE300B792F2 /* XPTreasureFairyTrialsRecordCell.m */,
|
||||||
);
|
);
|
||||||
path = Cell;
|
path = Cell;
|
||||||
@@ -5283,6 +5303,8 @@
|
|||||||
23E9EA122A837BE400B792F2 /* XPTreasureFairySummonGiftView.m */,
|
23E9EA122A837BE400B792F2 /* XPTreasureFairySummonGiftView.m */,
|
||||||
23E9EA142A837BE400B792F2 /* XPTreasureFairySummonView.h */,
|
23E9EA142A837BE400B792F2 /* XPTreasureFairySummonView.h */,
|
||||||
23E9E9F32A837BE300B792F2 /* XPTreasureFairySummonView.m */,
|
23E9E9F32A837BE300B792F2 /* XPTreasureFairySummonView.m */,
|
||||||
|
23FF427D2AA86E360055733C /* XPTreasureFairyNewSummonView.h */,
|
||||||
|
23FF427E2AA86E360055733C /* XPTreasureFairyNewSummonView.m */,
|
||||||
23E9E9FA2A837BE300B792F2 /* XPTreasureFairyTrialsBallView.h */,
|
23E9E9FA2A837BE300B792F2 /* XPTreasureFairyTrialsBallView.h */,
|
||||||
23E9EA1D2A837BE400B792F2 /* XPTreasureFairyTrialsBallView.m */,
|
23E9EA1D2A837BE400B792F2 /* XPTreasureFairyTrialsBallView.m */,
|
||||||
23E9EA1F2A837BE400B792F2 /* XPTreasureFairyTrialsContentView.h */,
|
23E9EA1F2A837BE400B792F2 /* XPTreasureFairyTrialsContentView.h */,
|
||||||
@@ -5293,6 +5315,14 @@
|
|||||||
23E9EA1C2A837BE400B792F2 /* XPTreasureFairyTrialsView.m */,
|
23E9EA1C2A837BE400B792F2 /* XPTreasureFairyTrialsView.m */,
|
||||||
23E9EA282A837BE400B792F2 /* XPTreasureFairyWebView.h */,
|
23E9EA282A837BE400B792F2 /* XPTreasureFairyWebView.h */,
|
||||||
23E9EA0D2A837BE300B792F2 /* XPTreasureFairyWebView.m */,
|
23E9EA0D2A837BE300B792F2 /* XPTreasureFairyWebView.m */,
|
||||||
|
23FF427A2AA71CFA0055733C /* XPTreasureFairyBottomView.h */,
|
||||||
|
23FF427B2AA71CFA0055733C /* XPTreasureFairyBottomView.m */,
|
||||||
|
23FF42832AA9AC600055733C /* PITreasureFairyBuyElfShardSuccessView.h */,
|
||||||
|
23FF42842AA9AC600055733C /* PITreasureFairyBuyElfShardSuccessView.m */,
|
||||||
|
23FF42862AA9BEF40055733C /* PITreasureFairyBuyElfShardView.h */,
|
||||||
|
23FF42872AA9BEF40055733C /* PITreasureFairyBuyElfShardView.m */,
|
||||||
|
23FF42892AA9C0DC0055733C /* PITreasureFairyBuyElfShardInputNumView.h */,
|
||||||
|
23FF428A2AA9C0DC0055733C /* PITreasureFairyBuyElfShardInputNumView.m */,
|
||||||
);
|
);
|
||||||
path = View;
|
path = View;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -10225,6 +10255,7 @@
|
|||||||
9B7D904D287BC5E20033A45E /* AnchorRoomScrollView.m in Sources */,
|
9B7D904D287BC5E20033A45E /* AnchorRoomScrollView.m in Sources */,
|
||||||
E80DE4072775665000BE5BCB /* XPFirstRechargeCollectionViewCell.m in Sources */,
|
E80DE4072775665000BE5BCB /* XPFirstRechargeCollectionViewCell.m in Sources */,
|
||||||
E8899C822785A694007944BE /* DatingInfoModel.m in Sources */,
|
E8899C822785A694007944BE /* DatingInfoModel.m in Sources */,
|
||||||
|
23FF428B2AA9C0DC0055733C /* PITreasureFairyBuyElfShardInputNumView.m in Sources */,
|
||||||
9BB89DC327FE7F3A00586A83 /* XPAnchorFansRelationModel.m in Sources */,
|
9BB89DC327FE7F3A00586A83 /* XPAnchorFansRelationModel.m in Sources */,
|
||||||
E8AC723226F49710007D6E91 /* XPMineNotificationTableViewCell.m in Sources */,
|
E8AC723226F49710007D6E91 /* XPMineNotificationTableViewCell.m in Sources */,
|
||||||
E87E62592A3F560B002F68C9 /* XPHomePartyViewController.m in Sources */,
|
E87E62592A3F560B002F68C9 /* XPHomePartyViewController.m in Sources */,
|
||||||
@@ -10539,6 +10570,7 @@
|
|||||||
E8AC722426F47E5E007D6E91 /* XPMineFeedbackViewController.m in Sources */,
|
E8AC722426F47E5E007D6E91 /* XPMineFeedbackViewController.m in Sources */,
|
||||||
E8664ED627E434D5000171BA /* XPRoomPKRecordViewController.m in Sources */,
|
E8664ED627E434D5000171BA /* XPRoomPKRecordViewController.m in Sources */,
|
||||||
E87E914E2796678D00A7B3F2 /* XPMineDressEmptyTableViewCell.m in Sources */,
|
E87E914E2796678D00A7B3F2 /* XPMineDressEmptyTableViewCell.m in Sources */,
|
||||||
|
23FF42822AA86E830055733C /* XPTreasureFairyNewSummonCell.m in Sources */,
|
||||||
9B7D804D27537950003DAC0C /* MessageCell.m in Sources */,
|
9B7D804D27537950003DAC0C /* MessageCell.m in Sources */,
|
||||||
23E9EAA62A84C97C00B792F2 /* XPMineUserInfoTagVC.m in Sources */,
|
23E9EAA62A84C97C00B792F2 /* XPMineUserInfoTagVC.m in Sources */,
|
||||||
9B044D9D282D2A6400DE4859 /* XPRoomAnchorRankEnterView.m in Sources */,
|
9B044D9D282D2A6400DE4859 /* XPRoomAnchorRankEnterView.m in Sources */,
|
||||||
@@ -10690,6 +10722,7 @@
|
|||||||
18A61BE8274F9CF000A09A54 /* SessionListViewController.m in Sources */,
|
18A61BE8274F9CF000A09A54 /* SessionListViewController.m in Sources */,
|
||||||
E8C1CD6A27D8937800376F83 /* XPRoomFaceCollectionViewCell.m in Sources */,
|
E8C1CD6A27D8937800376F83 /* XPRoomFaceCollectionViewCell.m in Sources */,
|
||||||
9B2EA7C02804037700ED17BF /* AnchorPKStageView.m in Sources */,
|
9B2EA7C02804037700ED17BF /* AnchorPKStageView.m in Sources */,
|
||||||
|
23FF427C2AA71CFA0055733C /* XPTreasureFairyBottomView.m in Sources */,
|
||||||
E811FFF72742367B00918544 /* XPGiftEmptyCollectionViewCell.m in Sources */,
|
E811FFF72742367B00918544 /* XPGiftEmptyCollectionViewCell.m in Sources */,
|
||||||
189DD67E26E1FD8900AB55B1 /* UIImage+Utils.m in Sources */,
|
189DD67E26E1FD8900AB55B1 /* UIImage+Utils.m in Sources */,
|
||||||
E82D5C73276AE94800858D6D /* CarModel.m in Sources */,
|
E82D5C73276AE94800858D6D /* CarModel.m in Sources */,
|
||||||
@@ -10705,6 +10738,7 @@
|
|||||||
E8DD25DA295583920043C7D5 /* XPAnchorRandomPKRuleView.m in Sources */,
|
E8DD25DA295583920043C7D5 /* XPAnchorRandomPKRuleView.m in Sources */,
|
||||||
E8664EDC27E43632000171BA /* XPRoomPKEmptyTableViewCell.m in Sources */,
|
E8664EDC27E43632000171BA /* XPRoomPKEmptyTableViewCell.m in Sources */,
|
||||||
E8778AE42988B57B00CF139B /* MessageContentRevokeView.m in Sources */,
|
E8778AE42988B57B00CF139B /* MessageContentRevokeView.m in Sources */,
|
||||||
|
23FF427F2AA86E360055733C /* XPTreasureFairyNewSummonView.m in Sources */,
|
||||||
E880B3A9278BD82300A83B0D /* AcrossRoomPKInfoModel.m in Sources */,
|
E880B3A9278BD82300A83B0D /* AcrossRoomPKInfoModel.m in Sources */,
|
||||||
23E9EA542A837BE400B792F2 /* XPTreasureFairyPrizeRecordView.m in Sources */,
|
23E9EA542A837BE400B792F2 /* XPTreasureFairyPrizeRecordView.m in Sources */,
|
||||||
9B88E20F28C6305400D26FBA /* XPRoomSearchRecordViewController.m in Sources */,
|
9B88E20F28C6305400D26FBA /* XPRoomSearchRecordViewController.m in Sources */,
|
||||||
@@ -10963,6 +10997,7 @@
|
|||||||
14DCAD0E299B6AD900A7DD31 /* XPForgetPwdViewController.m in Sources */,
|
14DCAD0E299B6AD900A7DD31 /* XPForgetPwdViewController.m in Sources */,
|
||||||
9BE9F0FF27FED76500667200 /* XPAnchorFansTaskModel.m in Sources */,
|
9BE9F0FF27FED76500667200 /* XPAnchorFansTaskModel.m in Sources */,
|
||||||
E85E7BAA2A4EC99300B6D00A /* XPMineGiveDiamondPwdView.m in Sources */,
|
E85E7BAA2A4EC99300B6D00A /* XPMineGiveDiamondPwdView.m in Sources */,
|
||||||
|
23FF42852AA9AC600055733C /* PITreasureFairyBuyElfShardSuccessView.m in Sources */,
|
||||||
E88C72922828EA4E0047FB2B /* Music+CoreDataClass.m in Sources */,
|
E88C72922828EA4E0047FB2B /* Music+CoreDataClass.m in Sources */,
|
||||||
E84A2EA52A5288CB00D6AF8A /* XPGoldDetailsChooseRoomView.m in Sources */,
|
E84A2EA52A5288CB00D6AF8A /* XPGoldDetailsChooseRoomView.m in Sources */,
|
||||||
E8E7DAE82744F5EF00C631CC /* XPGiftStorage.m in Sources */,
|
E8E7DAE82744F5EF00C631CC /* XPGiftStorage.m in Sources */,
|
||||||
@@ -10977,6 +11012,7 @@
|
|||||||
E8AB630D28ADD8C60023B0D2 /* XPMonentTopicContainerViewController.m in Sources */,
|
E8AB630D28ADD8C60023B0D2 /* XPMonentTopicContainerViewController.m in Sources */,
|
||||||
23E9EA7C2A83977400B792F2 /* MessageContentTreasureFairyView.m in Sources */,
|
23E9EA7C2A83977400B792F2 /* MessageContentTreasureFairyView.m in Sources */,
|
||||||
E8D4DE472940473500EC788D /* GiftTwelveStarFirstModel.m in Sources */,
|
E8D4DE472940473500EC788D /* GiftTwelveStarFirstModel.m in Sources */,
|
||||||
|
23FF42882AA9BEF40055733C /* PITreasureFairyBuyElfShardView.m in Sources */,
|
||||||
E87DF4FB2A42CCDE009C1185 /* XPHomeRedommendCollectionViewCell.m in Sources */,
|
E87DF4FB2A42CCDE009C1185 /* XPHomeRedommendCollectionViewCell.m in Sources */,
|
||||||
187EEEF026E89FE8002833B2 /* AccountInfoStorage.m in Sources */,
|
187EEEF026E89FE8002833B2 /* AccountInfoStorage.m in Sources */,
|
||||||
2331C1B82A60F32D00E1D940 /* XPRoomHalfWebView.m in Sources */,
|
2331C1B82A60F32D00E1D940 /* XPRoomHalfWebView.m in Sources */,
|
||||||
|
@@ -5,12 +5,12 @@
|
|||||||
"scale" : "1x"
|
"scale" : "1x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename" : "room_treasure_fairy_treasure_bg@2x.png",
|
"filename" : "room_treasure_fairy_bottom_bg@2x.png",
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename" : "room_treasure_fairy_treasure_bg@3x.png",
|
"filename" : "room_treasure_fairy_bottom_bg@3x.png",
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"scale" : "3x"
|
"scale" : "3x"
|
||||||
}
|
}
|
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 75 KiB |
@@ -5,12 +5,12 @@
|
|||||||
"scale" : "1x"
|
"scale" : "1x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename" : "room_treasure_fairy_my_middle_title_normal@2x.png",
|
"filename" : "room_treasure_fairy_bottom_buy@2x.png",
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename" : "room_treasure_fairy_my_middle_title_normal@3x.png",
|
"filename" : "room_treasure_fairy_bottom_buy@3x.png",
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"scale" : "3x"
|
"scale" : "3x"
|
||||||
}
|
}
|
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 3.5 KiB |
@@ -5,12 +5,12 @@
|
|||||||
"scale" : "1x"
|
"scale" : "1x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename" : "room_treasure_fairy_my_middle_title_select@2x.png",
|
"filename" : "room_treasure_fairy_bottom_icon@2x.png",
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename" : "room_treasure_fairy_my_middle_title_select@3x.png",
|
"filename" : "room_treasure_fairy_bottom_icon@3x.png",
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"scale" : "3x"
|
"scale" : "3x"
|
||||||
}
|
}
|
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 2.2 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_buy_elf_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_buy_elf_bg@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_buy_elf_bg@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 190 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_buy_elf_but_btn.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_buy_elf_but_btn@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_buy_elf_but_btn@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 10 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_buy_elf_choose.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_buy_elf_choose@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_buy_elf_choose@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 309 B |
After Width: | Height: | Size: 458 B |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_buy_elf_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_buy_elf_icon@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_buy_elf_icon@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 14 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_buy_elf_no_choose.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_buy_elf_no_choose@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_buy_elf_no_choose@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 251 B |
After Width: | Height: | Size: 368 B |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_buy_elf_price.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_buy_elf_price@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_buy_elf_price@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.8 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_buy_elf_title.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_buy_elf_title@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_buy_elf_title@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 9.4 KiB |
After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 31 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_new_buy_elf_add.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_new_buy_elf_add@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_new_buy_elf_add@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 5.6 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_new_buy_elf_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_new_buy_elf_bg@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_new_buy_elf_bg@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 153 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_new_buy_elf_subtract.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_new_buy_elf_subtract@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_new_buy_elf_subtract@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 5.2 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_new_buy_elf_title.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_new_buy_elf_title@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_new_buy_elf_title@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 9.0 KiB |
After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 18 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_shop_new_exchange_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_shop_new_exchange_bg@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "room_treasure_fairy_shop_new_exchange_bg@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 9.9 KiB |
@@ -5,7 +5,7 @@
|
|||||||
"scale" : "1x"
|
"scale" : "1x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename" : "room_treasure_fairy_trials_high_ball_bg.png",
|
"filename" : "room_treasure_fairy_trials_high_ball_bg@3x.png",
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
},
|
},
|
||||||
|
Before Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 131 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 18 KiB |
@@ -5,7 +5,7 @@
|
|||||||
"scale" : "1x"
|
"scale" : "1x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename" : "room_treasure_fairy_trials_middle_ball_bg.png",
|
"filename" : "room_treasure_fairy_trials_middle_ball_bg@3x.png",
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
},
|
},
|
||||||
|
Before Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 17 KiB |
@@ -99,7 +99,7 @@ UIKIT_EXTERN NSString * kUpdateSoundInfo;
|
|||||||
|
|
||||||
-(void)viewDidAppear:(BOOL)animated{
|
-(void)viewDidAppear:(BOOL)animated{
|
||||||
[super viewDidAppear:animated];
|
[super viewDidAppear:animated];
|
||||||
self.countDownHelper .delegate = self;
|
self.countDownHelper.delegate = self;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -8,6 +8,7 @@
|
|||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import "YUMINNNN.h"
|
#import "YUMINNNN.h"
|
||||||
#import "HomeBannerInfoModel.h"
|
#import "HomeBannerInfoModel.h"
|
||||||
|
#import "UserInfoModel.h"
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
@class HomePlayMicUserModel;
|
@class HomePlayMicUserModel;
|
||||||
@interface HomePlayRoomModel : NSObject
|
@interface HomePlayRoomModel : NSObject
|
||||||
@@ -57,11 +58,13 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property(nonatomic,copy) NSString *voiceDura;
|
@property(nonatomic,copy) NSString *voiceDura;
|
||||||
///标签
|
///标签
|
||||||
@property(nonatomic,copy) NSArray *labels;
|
@property(nonatomic,copy) NSArray *labels;
|
||||||
|
///标签宽度
|
||||||
|
@property(nonatomic,copy) NSArray *labelsWidthList;
|
||||||
///生日
|
///生日
|
||||||
@property(nonatomic,assign) long birth;
|
@property(nonatomic,assign) long birth;
|
||||||
///昵称
|
///昵称
|
||||||
@property(nonatomic,copy) NSString *nick;
|
@property(nonatomic,copy) NSString *nick;
|
||||||
|
@property(nonatomic,strong) UserLevelVo *userLevelVo;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface HomePlayMicUserModel : NSObject
|
@interface HomePlayMicUserModel : NSObject
|
||||||
|
@@ -10,6 +10,7 @@
|
|||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@protocol XPNewHomeRecommendProtocol <NSObject>
|
@protocol XPNewHomeRecommendProtocol <NSObject>
|
||||||
|
@optional
|
||||||
///获取首页轮播图列表成功
|
///获取首页轮播图列表成功
|
||||||
- (void)getHomeTopBannerListSuccess:(NSArray*)list menuList:(NSArray *)memuList withGroup:(dispatch_group_t)group;
|
- (void)getHomeTopBannerListSuccess:(NSArray*)list menuList:(NSArray *)memuList withGroup:(dispatch_group_t)group;
|
||||||
///获取首页推荐列表成功
|
///获取首页推荐列表成功
|
||||||
|
@@ -8,18 +8,22 @@
|
|||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
@class XPNewHomePartyAudioView;
|
||||||
@protocol XPNewHomePartyAudioViewDelegate <NSObject>
|
@protocol XPNewHomePartyAudioViewDelegate <NSObject>
|
||||||
|
|
||||||
-(void)playVoiceWithStop:(BOOL)isStop;
|
-(void)xPNewHomePartyAudioView:(XPNewHomePartyAudioView *)view didClickPlaySound:(BOOL)isPlay;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
@interface XPNewHomePartyAudioView : UIView
|
@interface XPNewHomePartyAudioView : UIView
|
||||||
|
|
||||||
///签名
|
///签名
|
||||||
@property(nonatomic,copy) NSString *userDesc;
|
@property(nonatomic,copy) NSString *userDesc;
|
||||||
///语音
|
///语音
|
||||||
@property(nonatomic,copy) NSString *userVoice;
|
@property(nonatomic,copy) NSString *userVoice;
|
||||||
///语音时长
|
///语音时长
|
||||||
@property(nonatomic,copy) NSString *voiceDura;
|
@property(nonatomic,copy) NSString *voiceDura;
|
||||||
|
@property(nonatomic,assign) BOOL isPlay;
|
||||||
|
@property(nonatomic,assign) BOOL isHiddenVew;
|
||||||
@property(nonatomic,weak) id<XPNewHomePartyAudioViewDelegate>delegate;
|
@property(nonatomic,weak) id<XPNewHomePartyAudioViewDelegate>delegate;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@@ -19,8 +19,7 @@
|
|||||||
@property(nonatomic,strong) UIImageView *audioBgView;
|
@property(nonatomic,strong) UIImageView *audioBgView;
|
||||||
///时间
|
///时间
|
||||||
@property(nonatomic,strong) UILabel *timeView;
|
@property(nonatomic,strong) UILabel *timeView;
|
||||||
///播放完成
|
|
||||||
@property (nonatomic,assign) BOOL isPlaying;
|
|
||||||
@end
|
@end
|
||||||
@implementation XPNewHomePartyAudioView
|
@implementation XPNewHomePartyAudioView
|
||||||
|
|
||||||
@@ -33,11 +32,17 @@
|
|||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
-(void)installUI{
|
-(void)installUI{
|
||||||
|
UIView *subView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 20, kGetScaleWidth(13))];
|
||||||
|
[self addSubview:subView];
|
||||||
|
subView.tag = 100001;
|
||||||
|
subView.backgroundColor = UIColorFromRGB(0xF5F6FA);
|
||||||
|
[subView setCornerWithLeftTopCorner:kGetScaleWidth(2) rightTopCorner:0 bottomLeftCorner:0 bottomRightCorner:0 size:CGSizeMake(20, kGetScaleWidth(13))];
|
||||||
[self addSubview:self.bgView];
|
[self addSubview:self.bgView];
|
||||||
[self.bgView addSubview:self.signatureView];
|
[self.bgView addSubview:self.signatureView];
|
||||||
[self.bgView addSubview:self.playBnt];
|
[self.bgView addSubview:self.playBnt];
|
||||||
[self.bgView addSubview:self.audioBgView];
|
[self.bgView addSubview:self.audioBgView];
|
||||||
[self.bgView addSubview:self.timeView];
|
[self.bgView addSubview:self.timeView];
|
||||||
|
|
||||||
}
|
}
|
||||||
-(void)installConstraints{
|
-(void)installConstraints{
|
||||||
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
@@ -66,70 +71,10 @@
|
|||||||
}
|
}
|
||||||
-(void)playAudioAction:(UIButton *)sender{
|
-(void)playAudioAction:(UIButton *)sender{
|
||||||
_playBnt.selected = !_playBnt.selected;
|
_playBnt.selected = !_playBnt.selected;
|
||||||
if (!self.isPlaying) {
|
if(self.delegate && [self.delegate respondsToSelector:@selector(xPNewHomePartyAudioView:didClickPlaySound:)]){
|
||||||
if(_userVoice.length > 0) {
|
[self.delegate xPNewHomePartyAudioView:self didClickPlaySound:_playBnt.selected];
|
||||||
// NSString *fileName = [[self.voiceInfo.name componentsSeparatedByString:@"/"] lastObject];
|
|
||||||
NSString * url = _userVoice;
|
|
||||||
NSArray * nameArray = [url componentsSeparatedByString:@"/"];
|
|
||||||
NSString * fileName = @"daeplay";
|
|
||||||
if (nameArray.count > 0) {
|
|
||||||
fileName = nameArray.lastObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"mineSkillCardVoice"];
|
|
||||||
NSString *fullPath = [filePath stringByAppendingPathComponent:fileName];
|
|
||||||
NSLog(@"下载的路径:%@", fullPath);
|
|
||||||
if ([[NSFileManager defaultManager] fileExistsAtPath:fullPath]) {
|
|
||||||
self.isPlaying = YES;
|
|
||||||
sender.selected = YES;
|
|
||||||
|
|
||||||
[[XPSkillCardPlayerManager shareInstance] playerVoiceWithPath:fullPath completionBlock:^{
|
|
||||||
self.isPlaying = NO;
|
|
||||||
sender.selected = NO;
|
|
||||||
[[XPSkillCardPlayerManager shareInstance] stopMusic];
|
|
||||||
}];
|
|
||||||
} else {
|
|
||||||
if (![[NSFileManager defaultManager] fileExistsAtPath:fullPath]) {
|
|
||||||
NSFileManager *fileMgr = [[NSFileManager alloc] init];
|
|
||||||
NSError * error;
|
|
||||||
[fileMgr createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:&error];
|
|
||||||
NSLog(@"%@", error.description);
|
|
||||||
}
|
|
||||||
[self downloadAudioWithFileName:fileName musicUrl:url completion:^(BOOL isSuccess, NSString *editAudioPath) {
|
|
||||||
self.isPlaying = YES;
|
|
||||||
sender.selected = YES;
|
|
||||||
|
|
||||||
[[XPSkillCardPlayerManager shareInstance] playerVoiceWithPath:editAudioPath completionBlock:^{
|
|
||||||
self.isPlaying = NO;
|
|
||||||
sender.selected = NO;
|
|
||||||
|
|
||||||
[[XPSkillCardPlayerManager shareInstance] stopMusic];
|
|
||||||
}];
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
self.isPlaying = NO;
|
|
||||||
sender.selected = NO;
|
|
||||||
[[XPSkillCardPlayerManager shareInstance] stopMusic];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
- (void)downloadAudioWithFileName:(NSString *)fileName musicUrl:(NSString *)musicUrl completion:(void (^) (BOOL isSuccess, NSString *editAudioPath))completion {
|
|
||||||
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
|
|
||||||
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:musicUrl]];
|
|
||||||
NSURLSessionDownloadTask *download = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {
|
|
||||||
} destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
|
|
||||||
NSString *filePath = [[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"mineSkillCardVoice"] stringByAppendingPathComponent:fileName];
|
|
||||||
return [NSURL fileURLWithPath:filePath];
|
|
||||||
} completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
|
|
||||||
if (!error) {
|
|
||||||
completion(YES, filePath.path);
|
|
||||||
} else {
|
|
||||||
completion(NO, nil);
|
|
||||||
}
|
|
||||||
}];
|
|
||||||
[download resume];
|
|
||||||
}
|
|
||||||
-(void)setUserVoice:(NSString *)userVoice{
|
-(void)setUserVoice:(NSString *)userVoice{
|
||||||
_userVoice = userVoice;
|
_userVoice = userVoice;
|
||||||
_playBnt.hidden = NO;
|
_playBnt.hidden = NO;
|
||||||
@@ -137,7 +82,11 @@
|
|||||||
_timeView.hidden = NO;
|
_timeView.hidden = NO;
|
||||||
_signatureView.hidden = YES;
|
_signatureView.hidden = YES;
|
||||||
_signatureView.text = @"";
|
_signatureView.text = @"";
|
||||||
_timeView.text = [NSString stringWithFormat:@"%@\"",_voiceDura];
|
|
||||||
|
[self.bgView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.leading.top.bottom.equalTo(self);
|
||||||
|
make.width.mas_equalTo(kGetScaleWidth(85));
|
||||||
|
}];
|
||||||
}
|
}
|
||||||
-(void)setUserDesc:(NSString *)userDesc{
|
-(void)setUserDesc:(NSString *)userDesc{
|
||||||
_userDesc = userDesc;
|
_userDesc = userDesc;
|
||||||
@@ -146,6 +95,24 @@
|
|||||||
_timeView.hidden = YES;
|
_timeView.hidden = YES;
|
||||||
_signatureView.hidden = NO;
|
_signatureView.hidden = NO;
|
||||||
_signatureView.text = _userDesc;
|
_signatureView.text = _userDesc;
|
||||||
|
[self.bgView mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.leading.top.bottom.equalTo(self);
|
||||||
|
make.width.mas_lessThanOrEqualTo(kGetScaleWidth(192));
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
-(void)setVoiceDura:(NSString *)voiceDura{
|
||||||
|
_voiceDura = voiceDura;
|
||||||
|
_timeView.text = [NSString stringWithFormat:@"%@\"",_voiceDura];
|
||||||
|
}
|
||||||
|
- (void)setIsHiddenVew:(BOOL)isHiddenVew{
|
||||||
|
_isHiddenVew = isHiddenVew;
|
||||||
|
UIView *view = [self viewWithTag:100001];
|
||||||
|
view.hidden = _isHiddenVew;
|
||||||
|
_bgView.hidden = _isHiddenVew;
|
||||||
|
}
|
||||||
|
- (void)setIsPlay:(BOOL)isPlay{
|
||||||
|
_isPlay = isPlay;
|
||||||
|
_playBnt.selected = _isPlay;
|
||||||
}
|
}
|
||||||
#pragma mark - 懒加载
|
#pragma mark - 懒加载
|
||||||
- (UIView *)bgView{
|
- (UIView *)bgView{
|
||||||
@@ -154,9 +121,7 @@
|
|||||||
_bgView.backgroundColor = UIColorFromRGB(0xF5F6FA);
|
_bgView.backgroundColor = UIColorFromRGB(0xF5F6FA);
|
||||||
_bgView.layer.cornerRadius = kGetScaleWidth(26)/2;
|
_bgView.layer.cornerRadius = kGetScaleWidth(26)/2;
|
||||||
_bgView.layer.masksToBounds = YES;
|
_bgView.layer.masksToBounds = YES;
|
||||||
UIView *subView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 20, kGetScaleWidth(13))];
|
|
||||||
[_bgView addSubview:subView];
|
|
||||||
[subView setCornerWithLeftTopCorner:kGetScaleWidth(2) rightTopCorner:0 bottomLeftCorner:0 bottomRightCorner:0 size:CGSizeMake(20, kGetScaleWidth(12))];
|
|
||||||
}
|
}
|
||||||
return _bgView;
|
return _bgView;
|
||||||
}
|
}
|
||||||
@@ -171,7 +136,7 @@
|
|||||||
_playBnt = [UIButton new];
|
_playBnt = [UIButton new];
|
||||||
[_playBnt setImage:kImage(@"home_audio_play_play") forState:UIControlStateNormal];
|
[_playBnt setImage:kImage(@"home_audio_play_play") forState:UIControlStateNormal];
|
||||||
[_playBnt setImage:kImage(@"home_audio_stop") forState:UIControlStateSelected];
|
[_playBnt setImage:kImage(@"home_audio_stop") forState:UIControlStateSelected];
|
||||||
[_playBnt addTarget:self action:@selector(playAudioAction) forControlEvents:UIControlEventTouchUpInside];
|
[_playBnt addTarget:self action:@selector(playAudioAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||||
}
|
}
|
||||||
return _playBnt;
|
return _playBnt;
|
||||||
}
|
}
|
||||||
|
@@ -15,16 +15,21 @@
|
|||||||
///点击聊天
|
///点击聊天
|
||||||
-(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didSelectChat:(HomePlayRoomModel *_Nonnull)roomModel;
|
-(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didSelectChat:(HomePlayRoomModel *_Nonnull)roomModel;
|
||||||
///播放音乐
|
///播放音乐
|
||||||
-(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didPlayVoice:(HomePlayRoomModel *_Nonnull)roomModel isStop:(BOOL)isStop;
|
-(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didPlayVoice:(HomePlayRoomModel *_Nonnull)roomModel didClickPlaySound:(BOOL)isPlay;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
@class HomePlayRoomModel, HomeRecommendRoomModel;
|
@class HomePlayRoomModel, HomeRecommendRoomModel;
|
||||||
@interface XPNewHomePartyTableViewCell : UITableViewCell
|
@interface XPNewHomePartyTableViewCell : UITableViewCell
|
||||||
|
|
||||||
@property (nonatomic,strong) HomePlayRoomModel *roomInfo;
|
@property (nonatomic,strong) HomePlayRoomModel *roomInfo;
|
||||||
@property (nonatomic,strong) HomeRecommendRoomModel *roomInfo1;
|
@property (nonatomic,strong) HomeRecommendRoomModel *roomInfo1;
|
||||||
@property(nonatomic,weak) id<XPNewHomePartyTableViewCellDelegate>delegate;
|
@property(nonatomic,weak) id<XPNewHomePartyTableViewCellDelegate>delegate;
|
||||||
|
///声音卡时,svga是否播放动画
|
||||||
|
-(void)setPlaySoundStatus:(BOOL)isPlay;
|
||||||
|
///声音卡倒计时
|
||||||
|
-(void)setPlaySoundTime:(NSInteger)time;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
@@ -19,15 +19,15 @@
|
|||||||
#import "XPNewHomePartyAudioView.h"
|
#import "XPNewHomePartyAudioView.h"
|
||||||
|
|
||||||
|
|
||||||
@interface XPNewHomePartyTableViewCell ()
|
@interface XPNewHomePartyTableViewCell ()<XPNewHomePartyAudioViewDelegate>
|
||||||
///容器
|
|
||||||
@property(nonatomic,strong) UIStackView *stackView;
|
|
||||||
///头像
|
///头像
|
||||||
@property (nonatomic,strong) NetImageView *avatarImageView;
|
@property (nonatomic,strong) NetImageView *avatarImageView;
|
||||||
///背景
|
///背景
|
||||||
@property (nonatomic,strong) UIView *bgView;
|
@property (nonatomic,strong) UIView *bgView;
|
||||||
///房间标题
|
///房间标题
|
||||||
@property (nonatomic,strong) UILabel *titleLabel;
|
@property (nonatomic,strong) UILabel *titleLabel;
|
||||||
|
///点击房间标题
|
||||||
|
@property(nonatomic,strong) UIButton *nameTapBtn;
|
||||||
///标签
|
///标签
|
||||||
@property(nonatomic,strong) XPNewHomePartyTagView *tagView;
|
@property(nonatomic,strong) XPNewHomePartyTagView *tagView;
|
||||||
///小绿点
|
///小绿点
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
[self.bgView addSubview:self.gameBgView];
|
[self.bgView addSubview:self.gameBgView];
|
||||||
[self.bgView addSubview:self.gameIconView];
|
[self.bgView addSubview:self.gameIconView];
|
||||||
[self.bgView addSubview:self.greenView];
|
[self.bgView addSubview:self.greenView];
|
||||||
[self.bgView addSubview:self.stackView];
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -82,12 +82,12 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
[self.stackView addArrangedSubview:self.titleLabel];
|
[self.bgView addSubview:self.titleLabel];
|
||||||
[self.stackView addArrangedSubview:self.birthdayView];
|
[self.bgView addSubview:self.birthdayView];
|
||||||
[self.stackView addArrangedSubview:self.wealthView];
|
[self.bgView addSubview:self.wealthView];
|
||||||
[self.stackView addArrangedSubview:self.charmView];
|
[self.bgView addSubview:self.charmView];
|
||||||
|
|
||||||
|
|
||||||
|
[self.bgView addSubview:self.nameTapBtn];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)initSubViewConstraints {
|
- (void)initSubViewConstraints {
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
make.leading.mas_equalTo(kGetScaleWidth(60));
|
make.leading.mas_equalTo(kGetScaleWidth(60));
|
||||||
make.top.mas_equalTo(kGetScaleWidth(64));
|
make.top.mas_equalTo(kGetScaleWidth(64));
|
||||||
}];
|
}];
|
||||||
[self.greenView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.gameBgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.top.mas_equalTo(kGetScaleWidth(48));
|
make.top.mas_equalTo(kGetScaleWidth(48));
|
||||||
make.leading.mas_equalTo(kGetScaleWidth(14));
|
make.leading.mas_equalTo(kGetScaleWidth(14));
|
||||||
make.width.mas_equalTo(kGetScaleWidth(60));
|
make.width.mas_equalTo(kGetScaleWidth(60));
|
||||||
@@ -126,22 +126,29 @@
|
|||||||
make.height.mas_equalTo(kGetScaleWidth(17));
|
make.height.mas_equalTo(kGetScaleWidth(17));
|
||||||
}];
|
}];
|
||||||
|
|
||||||
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.leading.mas_equalTo(kGetScaleWidth(84));
|
|
||||||
make.top.mas_equalTo(kGetScaleWidth(10));
|
make.top.mas_equalTo(kGetScaleWidth(10));
|
||||||
make.trailing.mas_equalTo(-kGetScaleWidth(10));
|
make.leading.mas_equalTo(kGetScaleWidth(84));
|
||||||
|
make.height.mas_equalTo(kGetScaleWidth(20));
|
||||||
}];
|
}];
|
||||||
|
|
||||||
[self.birthdayView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.birthdayView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.width.mas_equalTo(kGetScaleWidth(28));
|
make.width.mas_equalTo(kGetScaleWidth(28));
|
||||||
make.height.mas_equalTo(kGetScaleWidth(14));
|
make.height.mas_equalTo(kGetScaleWidth(14));
|
||||||
|
make.leading.equalTo(self.titleLabel.mas_trailing).mas_offset(kGetScaleWidth(4));
|
||||||
|
make.centerY.equalTo(self.titleLabel);
|
||||||
}];
|
}];
|
||||||
[self.wealthView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.wealthView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.width.height.mas_equalTo(kGetScaleWidth(36));
|
make.width.height.mas_equalTo(kGetScaleWidth(36));
|
||||||
make.height.mas_equalTo(kGetScaleWidth(18));
|
make.height.mas_equalTo(kGetScaleWidth(18));
|
||||||
|
make.leading.equalTo(self.birthdayView.mas_trailing).mas_offset(kGetScaleWidth(4));
|
||||||
|
make.centerY.equalTo(self.titleLabel);
|
||||||
}];
|
}];
|
||||||
[self.charmView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.charmView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.width.height.mas_equalTo(kGetScaleWidth(36));
|
make.width.height.mas_equalTo(kGetScaleWidth(36));
|
||||||
make.height.mas_equalTo(kGetScaleWidth(18));
|
make.height.mas_equalTo(kGetScaleWidth(18));
|
||||||
|
make.leading.equalTo(self.wealthView.mas_trailing).mas_offset(kGetScaleWidth(4));
|
||||||
|
make.centerY.equalTo(self.titleLabel);
|
||||||
}];
|
}];
|
||||||
[self.chatBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.chatBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.top.mas_equalTo(kGetScaleWidth(34));
|
make.top.mas_equalTo(kGetScaleWidth(34));
|
||||||
@@ -161,6 +168,11 @@
|
|||||||
make.top.equalTo(self.tagView.mas_bottom).mas_offset(kGetScaleWidth(6));
|
make.top.equalTo(self.tagView.mas_bottom).mas_offset(kGetScaleWidth(6));
|
||||||
make.trailing.equalTo(self.tagView);
|
make.trailing.equalTo(self.tagView);
|
||||||
}];
|
}];
|
||||||
|
[self.nameTapBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.bottom.leading.equalTo(self.titleLabel);
|
||||||
|
make.trailing.equalTo(self.charmView);
|
||||||
|
|
||||||
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - Getters And Setters
|
#pragma mark - Getters And Setters
|
||||||
@@ -168,10 +180,16 @@
|
|||||||
_roomInfo = roomInfo;
|
_roomInfo = roomInfo;
|
||||||
if (_roomInfo) {
|
if (_roomInfo) {
|
||||||
self.avatarImageView.imageUrl = _roomInfo.avatar;
|
self.avatarImageView.imageUrl = _roomInfo.avatar;
|
||||||
self.titleLabel.text = _roomInfo.nick;
|
NSString *nick = _roomInfo.nick;
|
||||||
|
if(nick.length > 7){
|
||||||
|
nick = [NSString stringWithFormat:@"%@...",[_roomInfo.nick substringToIndex:7]];
|
||||||
|
}
|
||||||
|
self.titleLabel.text = nick;
|
||||||
|
_tagView.itemWidthist = _roomInfo.labelsWidthList;
|
||||||
_tagView.itemList = [NSMutableArray arrayWithArray:_roomInfo.labels];
|
_tagView.itemList = [NSMutableArray arrayWithArray:_roomInfo.labels];
|
||||||
NSString *dateStr = [self.dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSince1970:_roomInfo.birth/1000]];
|
|
||||||
[_birthdayView setTitle:dateStr forState:UIControlStateNormal];
|
[_birthdayView setTitle:[self getAge] forState:UIControlStateNormal];
|
||||||
|
_birthdayView.backgroundColor = _roomInfo.gender == GenderType_Male ? UIColorFromRGB(0x6BB3FF) :UIColorFromRGB(0xFF80CC);
|
||||||
_gameBgView.hidden = YES;
|
_gameBgView.hidden = YES;
|
||||||
_gameIconView.hidden = YES;
|
_gameIconView.hidden = YES;
|
||||||
_borderImageView.hidden = YES;
|
_borderImageView.hidden = YES;
|
||||||
@@ -186,18 +204,50 @@
|
|||||||
if(_roomInfo.inOnline == YES){
|
if(_roomInfo.inOnline == YES){
|
||||||
_greenView.hidden = NO;
|
_greenView.hidden = NO;
|
||||||
}
|
}
|
||||||
|
_wealthView.imageUrl = _roomInfo.userLevelVo.experUrl;
|
||||||
|
_charmView.imageUrl = _roomInfo.userLevelVo.charmUrl;
|
||||||
if(_roomInfo.userVoice.length > 0){
|
if(_roomInfo.userVoice.length > 0){
|
||||||
_audioView.voiceDura = _roomInfo.voiceDura;
|
_audioView.voiceDura = _roomInfo.voiceDura;
|
||||||
_audioView.userVoice = _roomInfo.userVoice;
|
_audioView.userVoice = _roomInfo.userVoice;
|
||||||
|
_audioView.isHiddenVew = NO;
|
||||||
}else{
|
}else{
|
||||||
_audioView.userDesc = _roomInfo.userDesc;
|
if(_roomInfo.userDesc.length > 0){
|
||||||
|
_audioView.isHiddenVew = NO;
|
||||||
|
_audioView.userDesc = _roomInfo.userDesc;
|
||||||
|
}else{
|
||||||
|
_audioView.isHiddenVew = YES;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
-(NSString *)getAge{
|
||||||
|
NSDateComponents *components1 = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:[NSDate dateWithTimeIntervalSince1970:_roomInfo.birth/1000]];
|
||||||
|
NSInteger brithDateYear = [components1 year];
|
||||||
|
NSInteger brithDateDay = [components1 day];
|
||||||
|
NSInteger brithDateMonth = [components1 month];
|
||||||
|
// 获取系统当前 年月日
|
||||||
|
NSDateComponents *components2 = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:[NSDate date]]; NSInteger currentDateYear = [components2 year];
|
||||||
|
NSInteger currentDateDay = [components2 day]; NSInteger currentDateMonth = [components2 month]; // 计算年龄
|
||||||
|
NSInteger iAge = currentDateYear - brithDateYear - 1;
|
||||||
|
if ((currentDateMonth > brithDateMonth) || (currentDateMonth == brithDateMonth && currentDateDay >= brithDateDay)) {
|
||||||
|
iAge++;
|
||||||
|
|
||||||
|
}
|
||||||
|
return @(iAge).stringValue;
|
||||||
|
}
|
||||||
|
///声音卡时,svga是否播放动画
|
||||||
|
-(void)setPlaySoundStatus:(BOOL)isPlay{
|
||||||
|
_audioView.isPlay = isPlay;
|
||||||
|
if(isPlay == NO){
|
||||||
|
_audioView.voiceDura = _roomInfo.voiceDura;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
///声音卡倒计时
|
||||||
|
-(void)setPlaySoundTime:(NSInteger)time{
|
||||||
|
_audioView.voiceDura = @(time).stringValue;
|
||||||
|
}
|
||||||
- (void)setRoomInfo1:(HomeRecommendRoomModel *)roomInfo1 {
|
- (void)setRoomInfo1:(HomeRecommendRoomModel *)roomInfo1 {
|
||||||
_roomInfo1 = roomInfo1;
|
_roomInfo1 = roomInfo1;
|
||||||
if (_roomInfo1) {
|
if (_roomInfo1) {
|
||||||
@@ -218,7 +268,12 @@
|
|||||||
[self.delegate xPNewHomePartyTableViewCell:self didSelectChat:self.roomInfo];
|
[self.delegate xPNewHomePartyTableViewCell:self didSelectChat:self.roomInfo];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#pragma mark - XPNewHomePartyAudioViewDelegate
|
||||||
|
- (void)xPNewHomePartyAudioView:(XPNewHomePartyAudioView *)view didClickPlaySound:(BOOL)isPlay{
|
||||||
|
if(self.delegate && [self.delegate respondsToSelector:@selector(xPNewHomePartyTableViewCell:didPlayVoice:didClickPlaySound:)]){
|
||||||
|
[self.delegate xPNewHomePartyTableViewCell:self didPlayVoice:self.roomInfo didClickPlaySound:isPlay];
|
||||||
|
}
|
||||||
|
}
|
||||||
- (NetImageView *)avatarImageView {
|
- (NetImageView *)avatarImageView {
|
||||||
if (!_avatarImageView) {
|
if (!_avatarImageView) {
|
||||||
NetImageConfig * config = [[NetImageConfig alloc]init];
|
NetImageConfig * config = [[NetImageConfig alloc]init];
|
||||||
@@ -247,7 +302,7 @@
|
|||||||
- (UILabel *)titleLabel {
|
- (UILabel *)titleLabel {
|
||||||
if (!_titleLabel) {
|
if (!_titleLabel) {
|
||||||
_titleLabel = [[UILabel alloc] init];
|
_titleLabel = [[UILabel alloc] init];
|
||||||
_titleLabel.font = [UIFont systemFontOfSize:15];
|
_titleLabel.font = kFontMedium(14);
|
||||||
_titleLabel.textColor = [DJDKMIMOMColor mainTextColor];
|
_titleLabel.textColor = [DJDKMIMOMColor mainTextColor];
|
||||||
}
|
}
|
||||||
return _titleLabel;
|
return _titleLabel;
|
||||||
@@ -302,16 +357,7 @@
|
|||||||
}
|
}
|
||||||
return _chatBtn;
|
return _chatBtn;
|
||||||
}
|
}
|
||||||
- (UIStackView *)stackView {
|
|
||||||
if (!_stackView) {
|
|
||||||
_stackView = [[UIStackView alloc] init];
|
|
||||||
_stackView.axis = UILayoutConstraintAxisHorizontal;
|
|
||||||
_stackView.distribution = UIStackViewDistributionFill;
|
|
||||||
_stackView.alignment = UIStackViewAlignmentFill;
|
|
||||||
_stackView.spacing = kGetScaleWidth(4);
|
|
||||||
}
|
|
||||||
return _stackView;
|
|
||||||
}
|
|
||||||
- (UIButton *)birthdayView{
|
- (UIButton *)birthdayView{
|
||||||
if(!_birthdayView){
|
if(!_birthdayView){
|
||||||
_birthdayView = [UIButton new];
|
_birthdayView = [UIButton new];
|
||||||
@@ -319,7 +365,9 @@
|
|||||||
[_birthdayView setImage:kImage(@"home_age_girl_icon") forState:UIControlStateSelected];
|
[_birthdayView setImage:kImage(@"home_age_girl_icon") forState:UIControlStateSelected];
|
||||||
_birthdayView.titleLabel.font = kFontMedium(10);
|
_birthdayView.titleLabel.font = kFontMedium(10);
|
||||||
[_birthdayView setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
[_birthdayView setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||||
_birthdayView.imageEdgeInsets = UIEdgeInsetsMake(0, kGetScaleWidth(10), 0, 0);
|
_birthdayView.imageEdgeInsets = UIEdgeInsetsMake(0, -kGetScaleWidth(2), 0, 0);
|
||||||
|
_birthdayView.layer.cornerRadius = kGetScaleWidth(14)/2;
|
||||||
|
_birthdayView.layer.masksToBounds = YES;
|
||||||
}
|
}
|
||||||
return _birthdayView;
|
return _birthdayView;
|
||||||
}
|
}
|
||||||
@@ -343,5 +391,24 @@
|
|||||||
}
|
}
|
||||||
return _dateFormatter;
|
return _dateFormatter;
|
||||||
}
|
}
|
||||||
|
- (XPNewHomePartyTagView *)tagView{
|
||||||
|
if(!_tagView){
|
||||||
|
_tagView = [[XPNewHomePartyTagView alloc]initWithFrame:CGRectZero];
|
||||||
|
}
|
||||||
|
return _tagView;
|
||||||
|
}
|
||||||
|
- (XPNewHomePartyAudioView *)audioView{
|
||||||
|
if(!_audioView){
|
||||||
|
_audioView = [[XPNewHomePartyAudioView alloc]initWithFrame:CGRectZero];
|
||||||
|
_audioView.delegate = self;
|
||||||
|
}
|
||||||
|
return _audioView;
|
||||||
|
}
|
||||||
|
- (UIButton *)nameTapBtn{
|
||||||
|
if(!_nameTapBtn){
|
||||||
|
_nameTapBtn = [UIButton new];
|
||||||
|
[_nameTapBtn addTarget:self action:@selector(didSelectItemAction) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
}
|
||||||
|
return _nameTapBtn;
|
||||||
|
}
|
||||||
@end
|
@end
|
||||||
|
@@ -11,8 +11,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
@interface XPNewHomePartyTagView : UIView
|
@interface XPNewHomePartyTagView : UIView
|
||||||
@property (nonatomic,strong) NSMutableArray *itemList;
|
@property (nonatomic,strong) NSMutableArray *itemList;
|
||||||
|
@property (nonatomic,copy) NSArray *itemWidthist;
|
||||||
@end
|
@end
|
||||||
@interface XPNewHomePartyTagItemView : UICollectionViewCell
|
@interface XPNewHomePartyTagItemView : UICollectionViewCell
|
||||||
|
@property(nonatomic,copy) NSString *title;
|
||||||
|
@property(nonatomic,strong) NSIndexPath *path;
|
||||||
@end
|
@end
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
@@ -29,7 +29,9 @@
|
|||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
|
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
|
||||||
return CGSizeMake(100, 18);
|
NSNumber *width = [self.itemWidthist safeObjectAtIndex1:indexPath.row];
|
||||||
|
if(width != nil)return CGSizeMake([width floatValue], kGetScaleWidth(18));;
|
||||||
|
return CGSizeMake(kGetScaleWidth(46), kGetScaleWidth(18));
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
|
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
|
||||||
@@ -40,11 +42,13 @@
|
|||||||
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
|
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
|
||||||
|
|
||||||
XPNewHomePartyTagItemView *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPNewHomePartyTagItemView class]) forIndexPath:indexPath];
|
XPNewHomePartyTagItemView *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPNewHomePartyTagItemView class]) forIndexPath:indexPath];
|
||||||
|
cell.path = indexPath;
|
||||||
|
cell.title = [self.itemList safeObjectAtIndex1:indexPath.row];
|
||||||
return cell;
|
return cell;
|
||||||
}
|
}
|
||||||
-(void)setItemList:(NSMutableArray *)itemList{
|
-(void)setItemList:(NSMutableArray *)itemList{
|
||||||
_itemList = itemList;
|
_itemList = itemList;
|
||||||
|
[_collectionView reloadData];
|
||||||
}
|
}
|
||||||
#pragma mark - 懒加载
|
#pragma mark - 懒加载
|
||||||
- (UICollectionView *)collectionView{
|
- (UICollectionView *)collectionView{
|
||||||
@@ -52,9 +56,9 @@
|
|||||||
XPMineUserInfoTagFlowLayout *layout = [[XPMineUserInfoTagFlowLayout alloc] init];
|
XPMineUserInfoTagFlowLayout *layout = [[XPMineUserInfoTagFlowLayout alloc] init];
|
||||||
layout.delegate = self;
|
layout.delegate = self;
|
||||||
layout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0);
|
layout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0);
|
||||||
|
layout.itemSize = CGSizeMake(kGetScaleWidth(46), kGetScaleWidth(18));
|
||||||
layout.minimumLineSpacing = 0;
|
layout.minimumLineSpacing = 0;
|
||||||
layout.minimumInteritemSpacing = 5;
|
layout.minimumInteritemSpacing = kGetScaleWidth(4);
|
||||||
layout.estimatedItemSize = UICollectionViewFlowLayoutAutomaticSize;// 自适应
|
|
||||||
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
|
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
|
||||||
_collectionView.dataSource = self;
|
_collectionView.dataSource = self;
|
||||||
_collectionView.delegate = self;
|
_collectionView.delegate = self;
|
||||||
@@ -83,14 +87,23 @@
|
|||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
-(void)installUI{
|
-(void)installUI{
|
||||||
self.contentView.layer.cornerRadius = kGetScaleWidth(16)/2;
|
self.contentView.layer.cornerRadius = kGetScaleWidth(18)/2;
|
||||||
self.contentView.layer.masksToBounds = YES;
|
self.contentView.layer.masksToBounds = YES;
|
||||||
[self.contentView addSubview:self.titleView];
|
[self.contentView addSubview:self.titleView];
|
||||||
}
|
}
|
||||||
|
- (void)setPath:(NSIndexPath *)path{
|
||||||
|
_path = path;
|
||||||
|
self.contentView.backgroundColor = _path.row == 0 ? UIColorRGBAlpha(0x9168FA, 0.2) :UIColorFromRGB(0xF5F6FA);
|
||||||
|
_titleView.textColor = _path.row == 0 ? UIColorFromRGB(0x9168FA) :UIColorFromRGB(0x8A8CAB);
|
||||||
|
}
|
||||||
|
-(void)setTitle:(NSString *)title{
|
||||||
|
_title = title;
|
||||||
|
_titleView.text = _title;
|
||||||
|
}
|
||||||
-(void)installConstraints{
|
-(void)installConstraints{
|
||||||
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.top.bottom.equalTo(self.contentView);
|
make.top.bottom.equalTo(self.contentView);
|
||||||
make.leading.trailing.equalTo(self.contentView).inset(kGetScaleWidth(16));
|
make.leading.trailing.equalTo(self.contentView).inset(kGetScaleWidth(8));
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
#pragma mark - 懒加载
|
#pragma mark - 懒加载
|
||||||
|
@@ -35,6 +35,7 @@
|
|||||||
- (void)initSubViews {
|
- (void)initSubViews {
|
||||||
self.backgroundColor = [UIColor clearColor];
|
self.backgroundColor = [UIColor clearColor];
|
||||||
self.contentView.backgroundColor =[UIColor clearColor];
|
self.contentView.backgroundColor =[UIColor clearColor];
|
||||||
|
self.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||||
[self.contentView addSubview:self.emptyImageView];
|
[self.contentView addSubview:self.emptyImageView];
|
||||||
[self.contentView addSubview:self.titleLabel];
|
[self.contentView addSubview:self.titleLabel];
|
||||||
}
|
}
|
||||||
|
@@ -100,6 +100,9 @@
|
|||||||
if (_roomInfo != nil) {
|
if (_roomInfo != nil) {
|
||||||
self.avatarImageView.imageUrl = _roomInfo.avatar;
|
self.avatarImageView.imageUrl = _roomInfo.avatar;
|
||||||
self.nameView.text = _roomInfo.title;
|
self.nameView.text = _roomInfo.title;
|
||||||
|
self.gameBgView.hidden = _roomInfo.mgId.length == 0 ;
|
||||||
|
self.gameIconView.hidden = _roomInfo.mgId.length == 0 ;
|
||||||
|
self.borderImageView.hidden = _roomInfo.mgId.length == 0 ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
- (UIView *)bgView{
|
- (UIView *)bgView{
|
||||||
|
@@ -111,6 +111,7 @@
|
|||||||
_fristBnt.selected = YES;
|
_fristBnt.selected = YES;
|
||||||
_fristBnt.titleLabel.font = kFontSemibold(16);
|
_fristBnt.titleLabel.font = kFontSemibold(16);
|
||||||
[_fristBnt addTarget:self action:@selector(chooseItem:) forControlEvents:UIControlEventTouchUpInside];
|
[_fristBnt addTarget:self action:@selector(chooseItem:) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
[_fristBnt setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
||||||
}
|
}
|
||||||
return _fristBnt;
|
return _fristBnt;
|
||||||
}
|
}
|
||||||
@@ -123,6 +124,7 @@
|
|||||||
[_secondBnt setTitleColor:UIColorFromRGB(0x767585) forState:UIControlStateNormal];
|
[_secondBnt setTitleColor:UIColorFromRGB(0x767585) forState:UIControlStateNormal];
|
||||||
_secondBnt.titleLabel.font = kFontRegular(14);
|
_secondBnt.titleLabel.font = kFontRegular(14);
|
||||||
[_secondBnt addTarget:self action:@selector(chooseItem:) forControlEvents:UIControlEventTouchUpInside];
|
[_secondBnt addTarget:self action:@selector(chooseItem:) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
[_secondBnt setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
||||||
|
|
||||||
}
|
}
|
||||||
return _secondBnt;
|
return _secondBnt;
|
||||||
|
@@ -34,7 +34,7 @@
|
|||||||
@property (nonatomic,assign) int page;
|
@property (nonatomic,assign) int page;
|
||||||
///没有新的数据了
|
///没有新的数据了
|
||||||
@property (nonatomic,assign) BOOL hasNoMoreData;
|
@property (nonatomic,assign) BOOL hasNoMoreData;
|
||||||
@property(nonatomic,strong) NSTimer *timer;
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation XPHomePartyViewController
|
@implementation XPHomePartyViewController
|
||||||
@@ -46,25 +46,12 @@
|
|||||||
- (XPHomePresenter *)createPresenter {
|
- (XPHomePresenter *)createPresenter {
|
||||||
return [[XPHomePresenter alloc] init];
|
return [[XPHomePresenter alloc] init];
|
||||||
}
|
}
|
||||||
- (void)viewWillAppear:(BOOL)animated {
|
|
||||||
[super viewWillAppear:animated];
|
|
||||||
if (self.timer) {
|
|
||||||
[self.timer setFireDate:[NSDate distantPast]]; //很远的过去
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)viewWillDisappear:(BOOL)animated {
|
|
||||||
[super viewWillDisappear:animated];
|
|
||||||
if (self.timer) {
|
|
||||||
//关闭定时器
|
|
||||||
[self.timer setFireDate:[NSDate distantFuture]]; //很远的将来
|
|
||||||
}
|
|
||||||
}
|
|
||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
[self initSubViews];
|
[self initSubViews];
|
||||||
[self initSubViewConstraints];
|
[self initSubViewConstraints];
|
||||||
[self initHeaderAndFooterRrfresh];
|
|
||||||
|
|
||||||
}
|
}
|
||||||
#pragma mark - Private Method
|
#pragma mark - Private Method
|
||||||
@@ -80,12 +67,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
- (void)initHeaderAndFooterRrfresh {
|
|
||||||
self.timer = [XPWeakTimer scheduledTimerWithTimeInterval:15 block:^(id userInfo) {
|
|
||||||
[self headerRefresh];
|
|
||||||
} userInfo:nil repeats:YES];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark - 刷新的fangfa
|
#pragma mark - 刷新的fangfa
|
||||||
- (void)headerRefresh {
|
- (void)headerRefresh {
|
||||||
|
@@ -22,6 +22,9 @@
|
|||||||
#import "AccountInfoStorage.h"
|
#import "AccountInfoStorage.h"
|
||||||
#import "TTPopup.h"
|
#import "TTPopup.h"
|
||||||
#import "NSArray+Safe.h"
|
#import "NSArray+Safe.h"
|
||||||
|
#import "CountDownHelper.h"
|
||||||
|
#import "XPSkillCardPlayerManager.h"
|
||||||
|
#import "UploadFile.h"
|
||||||
///View
|
///View
|
||||||
#import "XPNewHomePlayTableViewCell.h"
|
#import "XPNewHomePlayTableViewCell.h"
|
||||||
#import "XPNewHomeRecommendTableViewCell.h"
|
#import "XPNewHomeRecommendTableViewCell.h"
|
||||||
@@ -30,7 +33,8 @@
|
|||||||
#import "XPNewHomePartyTableViewCell.h"
|
#import "XPNewHomePartyTableViewCell.h"
|
||||||
#import "XPRoomViewController.h"
|
#import "XPRoomViewController.h"
|
||||||
#import "XPWebViewController.h"
|
#import "XPWebViewController.h"
|
||||||
|
#import "XPMineUserInfoViewController.h"
|
||||||
|
#import "SessionViewController.h"
|
||||||
///Model
|
///Model
|
||||||
#import "HomePlayRoomModel.h"
|
#import "HomePlayRoomModel.h"
|
||||||
#import "HomeBannerInfoModel.h"
|
#import "HomeBannerInfoModel.h"
|
||||||
@@ -40,24 +44,25 @@
|
|||||||
#import "XPNewHomeRecommendPresenter.h"
|
#import "XPNewHomeRecommendPresenter.h"
|
||||||
#import "XPNewHomeRecommendProtocol.h"
|
#import "XPNewHomeRecommendProtocol.h"
|
||||||
UIKIT_EXTERN NSString * const kShieldingNotification;
|
UIKIT_EXTERN NSString * const kShieldingNotification;
|
||||||
@interface XPHomeRecommendViewController ()<UITableViewDelegate, UITableViewDataSource, XPNewHomePlayTableViewCellDelegate, XPHomeBannerTableViewCellDelegate,XPNewHomeRecommendTableViewCellDelegate,XPNewHomeRecommendProtocol>
|
@interface XPHomeRecommendViewController ()<UITableViewDelegate, UITableViewDataSource, XPNewHomePlayTableViewCellDelegate, XPHomeBannerTableViewCellDelegate,XPNewHomeRecommendTableViewCellDelegate,XPNewHomeRecommendProtocol,XPNewHomePartyTableViewCellDelegate,CountDownHelperDelegate>
|
||||||
{
|
|
||||||
NSTimer * timer;
|
|
||||||
}
|
|
||||||
///列表
|
///列表
|
||||||
@property (nonatomic,strong) UITableView *tableView;
|
@property (nonatomic,strong) UITableView *tableView;
|
||||||
|
|
||||||
|
|
||||||
///组队开黑
|
///组队开黑
|
||||||
@property (nonatomic,strong) NSArray<HomePlayRoomModel *> *playTeamList;
|
@property (nonatomic,copy) NSArray<HomePlayRoomModel *> *playTeamList;
|
||||||
///个人房列表数据
|
///个人房列表数据
|
||||||
@property (nonatomic,strong) NSArray<HomePlayRoomModel *> *personalRoomList;
|
@property (nonatomic,strong) NSMutableArray<HomePlayRoomModel *> *personalRoomList;
|
||||||
///房间信息
|
///房间信息
|
||||||
@property (nonatomic,strong) RoomInfoModel * roomInfo;
|
@property (nonatomic,strong) RoomInfoModel * roomInfo;
|
||||||
///是否正在请示数据,防止过多请求
|
///是否正在请示数据,防止过多请求
|
||||||
@property (nonatomic,assign) BOOL isRequestData;
|
@property (nonatomic,assign) BOOL isRequestData;
|
||||||
|
///倒计时
|
||||||
|
@property (nonatomic,strong) CountDownHelper *countDownHelper;
|
||||||
|
///正在播放声音的cell
|
||||||
|
@property(nonatomic,strong)XPNewHomePartyTableViewCell *cell;
|
||||||
|
///正在播放声音的cell在UITableView的Y坐标
|
||||||
|
@property(nonatomic,assign) CGFloat cellY;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@implementation XPHomeRecommendViewController
|
@implementation XPHomeRecommendViewController
|
||||||
@@ -71,70 +76,79 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
|||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
[self initSubViews];
|
[self initSubViews];
|
||||||
|
|
||||||
[self addTimer];
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
-(void)viewDidAppear:(BOOL)animated{
|
||||||
- (void)viewWillAppear:(BOOL)animated {
|
[super viewDidAppear:animated];
|
||||||
[super viewWillAppear:animated];
|
self.countDownHelper.delegate = self;
|
||||||
if (timer) {
|
|
||||||
[timer setFireDate:[NSDate distantPast]]; //很远的过去
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)viewWillDisappear:(BOOL)animated {
|
|
||||||
[super viewWillDisappear:animated];
|
|
||||||
if (timer) {
|
-(void)viewDidDisappear:(BOOL)animated{
|
||||||
//关闭定时器
|
[super viewDidAppear:animated];
|
||||||
[timer setFireDate:[NSDate distantFuture]]; //很远的将来
|
[self.countDownHelper stopCountDown];
|
||||||
|
self.countDownHelper.delegate = nil;
|
||||||
|
[[XPSkillCardPlayerManager shareInstance] stopMusic];
|
||||||
|
if(self.cell != nil){
|
||||||
|
[self.cell setPlaySoundStatus:NO];
|
||||||
|
self.cell = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
-(void)dealloc{
|
-(void)dealloc{
|
||||||
[[NSNotificationCenter defaultCenter]removeObserver:self];
|
[[NSNotificationCenter defaultCenter]removeObserver:self];
|
||||||
}
|
}
|
||||||
#pragma mark - InitHttp
|
#pragma mark - InitHttp
|
||||||
- (void)addTimer {
|
|
||||||
timer = [XPWeakTimer scheduledTimerWithTimeInterval:15 block:^(id userInfo) {
|
|
||||||
[self requestData];
|
|
||||||
} userInfo:nil repeats:YES];
|
|
||||||
}
|
|
||||||
-(void)requestData{
|
-(void)requestData{
|
||||||
///加锁,防止测试发现偶尔会出现闪退bug
|
if(self.cell != nil){
|
||||||
@synchronized (self.presenter) {
|
|
||||||
if(self.isRequestData == YES)return;
|
|
||||||
self.isRequestData = YES;
|
|
||||||
|
|
||||||
///网络请求异步加载
|
|
||||||
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, ^{
|
|
||||||
|
|
||||||
[self.presenter getPlayGameWithTeam:1 withGroup:group];
|
|
||||||
|
|
||||||
});
|
|
||||||
dispatch_group_enter(group);
|
|
||||||
dispatch_group_async(group, queue, ^{
|
|
||||||
|
|
||||||
[self.presenter getFriendListWithGroup:group];
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dispatch_group_notify(group,dispatch_get_main_queue(), ^{
|
|
||||||
self.isRequestData = NO;
|
|
||||||
[self.tableView reloadData];
|
|
||||||
if(self.refreshComplete){
|
if(self.refreshComplete){
|
||||||
self.refreshComplete();
|
self.refreshComplete();
|
||||||
}
|
}
|
||||||
});
|
return;
|
||||||
|
}///正在播放声音,不能刷新数据
|
||||||
|
///加锁,防止测试发现偶尔会出现闪退bug
|
||||||
|
@synchronized (self.presenter) {
|
||||||
|
if(self.isRequestData == YES){
|
||||||
|
if(self.refreshComplete){
|
||||||
|
self.refreshComplete();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
self.isRequestData = YES;
|
||||||
|
///网络请求异步加载
|
||||||
|
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, ^{
|
||||||
|
|
||||||
|
[self.presenter getPlayGameWithTeam:1 withGroup:group];
|
||||||
|
|
||||||
|
});
|
||||||
|
dispatch_group_enter(group);
|
||||||
|
dispatch_group_async(group, queue, ^{
|
||||||
|
|
||||||
|
[self.presenter getFriendListWithGroup:group];
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
dispatch_group_notify(group,dispatch_get_main_queue(), ^{
|
||||||
|
self.isRequestData = NO;
|
||||||
|
if(self.refreshComplete){
|
||||||
|
self.refreshComplete();
|
||||||
|
}
|
||||||
|
[self.tableView reloadData];
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
- (void)headerRefresh {
|
- (void)headerRefresh {
|
||||||
@@ -176,20 +190,20 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||||
if(indexPath.section == 0) {
|
if(indexPath.section == 0) {
|
||||||
XPNewHomePlayTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNewHomePlayTableViewCell class])];
|
XPNewHomePlayTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNewHomePlayTableViewCell class])];
|
||||||
if (cell == nil) {
|
if (cell == nil) {
|
||||||
cell = [[XPNewHomePlayTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPNewHomePlayTableViewCell class])];
|
cell = [[XPNewHomePlayTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPNewHomePlayTableViewCell class])];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
cell.playRoomList = self.playTeamList;
|
|
||||||
|
|
||||||
cell.delegate = self;
|
|
||||||
return cell;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
cell.playRoomList = self.playTeamList;
|
||||||
|
|
||||||
|
cell.delegate = self;
|
||||||
|
return cell;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if(self.personalRoomList.count == 0){
|
if(self.personalRoomList.count == 0){
|
||||||
XPNewHomePlayEmptyTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNewHomePlayEmptyTableViewCell class])];
|
XPNewHomePlayEmptyTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNewHomePlayEmptyTableViewCell class])];
|
||||||
if (cell == nil) {
|
if (cell == nil) {
|
||||||
@@ -200,26 +214,29 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
|||||||
[cell setTitle:YMLocalizedString(@"XPGuildEmptyCollectionViewCell0")];
|
[cell setTitle:YMLocalizedString(@"XPGuildEmptyCollectionViewCell0")];
|
||||||
return cell;
|
return cell;
|
||||||
}
|
}
|
||||||
|
|
||||||
XPNewHomePartyTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNewHomePartyTableViewCell class])];
|
XPNewHomePartyTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNewHomePartyTableViewCell class])];
|
||||||
if (cell == nil) {
|
if (cell == nil) {
|
||||||
cell = [[XPNewHomePartyTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPNewHomePartyTableViewCell class])];
|
cell = [[XPNewHomePartyTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPNewHomePartyTableViewCell class])];
|
||||||
}
|
}
|
||||||
cell.roomInfo = [self.personalRoomList safeObjectAtIndex1:indexPath.row];
|
|
||||||
return cell;
|
cell.roomInfo = [self.personalRoomList safeObjectAtIndex1:indexPath.row];
|
||||||
|
cell.delegate = self;
|
||||||
|
return cell;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
|
|
||||||
|
|
||||||
return 0.01;
|
|
||||||
|
|
||||||
}
|
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
|
||||||
|
|
||||||
|
return 0.01;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
|
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
|
||||||
return 0.01;
|
return 0.01;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -237,6 +254,21 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
|
||||||
|
if(self.cell != nil){
|
||||||
|
if(scrollView.contentOffset.y > self.cellY){
|
||||||
|
[self.countDownHelper stopCountDown];
|
||||||
|
self.countDownHelper .delegate = nil;
|
||||||
|
[[XPSkillCardPlayerManager shareInstance] stopMusic];
|
||||||
|
[self.cell setPlaySoundStatus:NO];
|
||||||
|
self.cell = nil;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(self.scrollCallback){
|
||||||
|
self.scrollCallback(scrollView);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#pragma mark - XPNewHomeRecommendTableViewCellDelegate
|
#pragma mark - XPNewHomeRecommendTableViewCellDelegate
|
||||||
- (void)xPNewHomeRecommendTableViewCell:(XPNewHomeRecommendTableViewCell *)view didSelectItem:(HomeRecommendRoomModel *)info {
|
- (void)xPNewHomeRecommendTableViewCell:(XPNewHomeRecommendTableViewCell *)view didSelectItem:(HomeRecommendRoomModel *)info {
|
||||||
if (info.roomUid.length > 0) {
|
if (info.roomUid.length > 0) {
|
||||||
@@ -251,19 +283,19 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
- (void)chooseGameAction{
|
- (void)chooseGameAction{
|
||||||
// XPHomeGameView *gameView = [XPHomeGameView new];
|
// XPHomeGameView *gameView = [XPHomeGameView new];
|
||||||
// gameView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
|
// gameView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
|
||||||
// gameView.playGameList = self.littleGameArray;
|
// gameView.playGameList = self.littleGameArray;
|
||||||
// gameView.delegate = self;
|
// gameView.delegate = self;
|
||||||
// [kWindow addSubview:gameView];
|
// [kWindow addSubview:gameView];
|
||||||
}
|
}
|
||||||
#pragma mark - XPNewHomePlayEmptyTableViewCellDelegate
|
#pragma mark - XPNewHomePlayEmptyTableViewCellDelegate
|
||||||
- (void)emptyCellChooseGameAction{
|
- (void)emptyCellChooseGameAction{
|
||||||
// XPHomeGameView *gameView = [XPHomeGameView new];
|
// XPHomeGameView *gameView = [XPHomeGameView new];
|
||||||
// gameView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
|
// gameView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
|
||||||
// gameView.playGameList = self.littleGameArray;
|
// gameView.playGameList = self.littleGameArray;
|
||||||
// gameView.delegate = self;
|
// gameView.delegate = self;
|
||||||
// [kWindow addSubview:gameView];
|
// [kWindow addSubview:gameView];
|
||||||
}
|
}
|
||||||
#pragma mark - XPHomeBannerTableViewCell
|
#pragma mark - XPHomeBannerTableViewCell
|
||||||
- (void)xPHomeBannerTableViewCell:(XPHomeBannerTableViewCell *)view didClickBanner:(HomeBannerInfoModel *)info {
|
- (void)xPHomeBannerTableViewCell:(XPHomeBannerTableViewCell *)view didClickBanner:(HomeBannerInfoModel *)info {
|
||||||
@@ -301,6 +333,21 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
|||||||
dispatch_group_leave(group);
|
dispatch_group_leave(group);
|
||||||
}
|
}
|
||||||
- (void)getFriendListSuccess:(NSArray *)list withGroup:(dispatch_group_t)group{
|
- (void)getFriendListSuccess:(NSArray *)list withGroup:(dispatch_group_t)group{
|
||||||
|
|
||||||
|
for (int i = 0;i < list.count;i++) {
|
||||||
|
HomePlayRoomModel *model = list[i];
|
||||||
|
NSMutableArray *labels = [NSMutableArray array];
|
||||||
|
[labels addObject:[NSString calculateConstellationWithMonth:model.birth] ?: @""];
|
||||||
|
[labels addObjectsFromArray:model.labels];
|
||||||
|
model.labels = labels;
|
||||||
|
|
||||||
|
NSMutableArray *widthList = [NSMutableArray array];
|
||||||
|
for (NSString *text in model.labels) {
|
||||||
|
CGFloat width = [UILabel getWidthWithText:text height:kGetScaleWidth(18) font:kFontRegular(10)] + kGetScaleWidth(16) + 1;
|
||||||
|
[widthList addObject:@(width)];
|
||||||
|
}
|
||||||
|
model.labelsWidthList = widthList;
|
||||||
|
}
|
||||||
self.personalRoomList = [NSMutableArray arrayWithArray:list];
|
self.personalRoomList = [NSMutableArray arrayWithArray:list];
|
||||||
dispatch_group_leave(group);
|
dispatch_group_leave(group);
|
||||||
}
|
}
|
||||||
@@ -320,14 +367,106 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
|||||||
return self.view;
|
return self.view;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
|
|
||||||
if(self.scrollCallback){
|
#pragma mark- XPNewHomePartyTableViewCellDelegate
|
||||||
self.scrollCallback(scrollView);
|
///点击头像
|
||||||
|
|
||||||
|
-(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didSelectItem:(HomePlayRoomModel *_Nullable)roomModel{
|
||||||
|
XPMineUserInfoViewController *infoVC = [[XPMineUserInfoViewController alloc]init];
|
||||||
|
infoVC.uid = [roomModel.uid integerValue];
|
||||||
|
[self.navigationController pushViewController:infoVC animated:YES];
|
||||||
|
}
|
||||||
|
///点击聊天
|
||||||
|
-(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didSelectChat:(HomePlayRoomModel *_Nonnull)roomModel{
|
||||||
|
if(roomModel.inMic == YES){
|
||||||
|
[XPRoomViewController openRoom:roomModel.uid fromNick:nil fromType:UserEnterRoomFromType_Home_Recommend fromUid:nil viewController:self];
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NIMSession * session = [NIMSession session:roomModel.uid type:NIMSessionTypeP2P];
|
||||||
|
SessionViewController * sessionVC = [[SessionViewController alloc] initWithSession:session];
|
||||||
|
[self.navigationController pushViewController:sessionVC animated:YES];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///播放音乐
|
||||||
|
-(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didPlayVoice:(HomePlayRoomModel *_Nonnull)roomModel didClickPlaySound:(BOOL)isPlay{
|
||||||
|
if(isPlay == YES){
|
||||||
|
self.cell = cell;
|
||||||
|
CGRect cellRect = [self.tableView rectForRowAtIndexPath:[self.tableView indexPathForCell:self.cell]];
|
||||||
|
self.cellY = cellRect.origin.y;
|
||||||
|
NSString *fileName = [[roomModel.userVoice componentsSeparatedByString:@"/"] lastObject];
|
||||||
|
NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) safeObjectAtIndex1:0] stringByAppendingPathComponent:@"kMineSoundCard"];
|
||||||
|
NSString *fullPath = [filePath stringByAppendingPathComponent:fileName];
|
||||||
|
if ([[NSFileManager defaultManager] fileExistsAtPath:fullPath]) {
|
||||||
|
[self playAudioWithUrl:fullPath isDelay:[XPSkillCardPlayerManager shareInstance].isMineInMic];
|
||||||
|
}else{
|
||||||
|
if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
|
||||||
|
NSFileManager *fileMgr = [[NSFileManager alloc] init];
|
||||||
|
[fileMgr createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:nil];
|
||||||
|
}
|
||||||
|
[UploadFile downloadAudioWithFileName:fileName musicUrl:roomModel.userVoice mainFileName:@"kMineSoundCard" completion:^(BOOL isSuccess, NSString *editAudioPath) {
|
||||||
|
if(isSuccess){
|
||||||
|
[self playAudioWithUrl:editAudioPath isDelay:[XPSkillCardPlayerManager shareInstance].isMineInMic];
|
||||||
|
|
||||||
|
}else{
|
||||||
|
[self.cell setPlaySoundStatus:NO];
|
||||||
|
[[XPSkillCardPlayerManager shareInstance] stopMusic];
|
||||||
|
self.cell = nil;
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
[self.countDownHelper stopCountDown];
|
||||||
|
[self.cell setPlaySoundStatus:NO];
|
||||||
|
[[XPSkillCardPlayerManager shareInstance] stopMusic];
|
||||||
|
self.cell = nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
/// 播放录音
|
||||||
|
/// - Parameters:
|
||||||
|
/// - url: 录音链接
|
||||||
|
/// - isDelay: 是否延时0.5秒播放录音,因为如果在麦上的话,需要先关麦再播放,所以要延时0.5秒来关麦后再播放,不然会没声音
|
||||||
|
-(void)playAudioWithUrl:(NSString*)url isDelay:(BOOL)isDelay{
|
||||||
|
|
||||||
|
if(isDelay == YES){
|
||||||
|
[[XPSkillCardPlayerManager shareInstance] playerNewVoiceWithPath:url completionBlock:^{
|
||||||
|
[[XPSkillCardPlayerManager shareInstance] stopMusic];
|
||||||
|
|
||||||
|
}];
|
||||||
|
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC));
|
||||||
|
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
|
||||||
|
NSInteger getCurrentTime = ceil([self.cell.roomInfo.voiceDura integerValue]);
|
||||||
|
[self.countDownHelper openCountdownWithTime:(int)getCurrentTime];
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
NSInteger getCurrentTime = ceil([self.cell.roomInfo.voiceDura integerValue]);
|
||||||
|
[self.countDownHelper openCountdownWithTime:(int)getCurrentTime];
|
||||||
|
[[XPSkillCardPlayerManager shareInstance] playerVoiceWithPath:url completionBlock:^{
|
||||||
|
|
||||||
|
[[XPSkillCardPlayerManager shareInstance] stopMusic];
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
///倒计时结束
|
||||||
|
- (void)onCountdownFinish{
|
||||||
|
if(self.cell != nil){
|
||||||
|
[self.cell setPlaySoundTime:0];
|
||||||
|
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC));
|
||||||
|
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
|
||||||
|
[self.cell setPlaySoundStatus:NO];
|
||||||
|
self.cell = nil;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
///倒计时进行
|
||||||
|
- (void)onCountdownOpen:(int)time{
|
||||||
|
if(self.cell != nil){
|
||||||
|
[self.cell setPlaySoundTime:(int)time + 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
- (UITableView *)tableView {
|
- (UITableView *)tableView {
|
||||||
if (!_tableView) {
|
if (!_tableView) {
|
||||||
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
|
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
|
||||||
@@ -345,4 +484,10 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
|||||||
}
|
}
|
||||||
return _tableView;
|
return _tableView;
|
||||||
}
|
}
|
||||||
|
- (CountDownHelper *)countDownHelper{
|
||||||
|
if (!_countDownHelper){
|
||||||
|
_countDownHelper = [[CountDownHelper alloc]init];
|
||||||
|
}
|
||||||
|
return _countDownHelper;
|
||||||
|
}
|
||||||
@end
|
@end
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
#import "Api+Room.h"
|
#import "Api+Room.h"
|
||||||
#import "TTPopup.h"
|
#import "TTPopup.h"
|
||||||
#import "NSArray+Safe.h"
|
#import "NSArray+Safe.h"
|
||||||
|
#import "XPWeakTimer.h"
|
||||||
///Model
|
///Model
|
||||||
#import "HomeTagModel.h"
|
#import "HomeTagModel.h"
|
||||||
|
|
||||||
@@ -47,10 +48,14 @@
|
|||||||
#import "ClientConfig.h"
|
#import "ClientConfig.h"
|
||||||
#import "SessionViewController.h"
|
#import "SessionViewController.h"
|
||||||
|
|
||||||
|
|
||||||
UIKIT_EXTERN NSString * kHomeMoreScrollPageKey;
|
UIKIT_EXTERN NSString * kHomeMoreScrollPageKey;
|
||||||
UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
||||||
|
|
||||||
@interface XPNewHomeViewController ()<JXPagerViewDelegate,JXPagerMainTableViewGestureDelegate,JXCategoryViewDelegate, XPHomeContainerProtocol, XPNewHomeNavViewDelegate,XPNewHomeHeadViewDelegate,XPHomeRecommendOtherRoomViewDelegate>
|
@interface XPNewHomeViewController ()<JXPagerViewDelegate,JXPagerMainTableViewGestureDelegate,JXCategoryViewDelegate, XPHomeContainerProtocol, XPNewHomeNavViewDelegate,XPNewHomeHeadViewDelegate,XPHomeRecommendOtherRoomViewDelegate>
|
||||||
|
{
|
||||||
|
NSTimer * timer;
|
||||||
|
}
|
||||||
///背景
|
///背景
|
||||||
@property (nonatomic,strong) UIImageView *backImageView;
|
@property (nonatomic,strong) UIImageView *backImageView;
|
||||||
///导航
|
///导航
|
||||||
@@ -83,6 +88,8 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
|||||||
}
|
}
|
||||||
-(void)dealloc{
|
-(void)dealloc{
|
||||||
[[NSNotificationCenter defaultCenter]removeObserver:self];
|
[[NSNotificationCenter defaultCenter]removeObserver:self];
|
||||||
|
[timer fire];
|
||||||
|
timer = nil;
|
||||||
}
|
}
|
||||||
- (BOOL)isHiddenNavBar {
|
- (BOOL)isHiddenNavBar {
|
||||||
return YES;
|
return YES;
|
||||||
@@ -97,12 +104,32 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
|||||||
[self initHttp];
|
[self initHttp];
|
||||||
[self initSubViews];
|
[self initSubViews];
|
||||||
[self initSubViewConstraints];
|
[self initSubViewConstraints];
|
||||||
|
[self addTimer];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
- (void)viewWillAppear:(BOOL)animated {
|
||||||
|
[super viewWillAppear:animated];
|
||||||
|
if (timer) {
|
||||||
|
[timer setFireDate:[NSDate distantPast]]; //很远的过去
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewWillDisappear:(BOOL)animated {
|
||||||
|
[super viewWillDisappear:animated];
|
||||||
|
if (timer) {
|
||||||
|
//关闭定时器
|
||||||
|
[timer setFireDate:[NSDate distantFuture]]; //很远的将来
|
||||||
|
}
|
||||||
|
}
|
||||||
#pragma mark - Private Method
|
#pragma mark - Private Method
|
||||||
|
- (void)addTimer {
|
||||||
|
timer = [XPWeakTimer scheduledTimerWithTimeInterval:15 block:^(id userInfo) {
|
||||||
|
[self.homeVC headerRefresh];
|
||||||
|
[self.recommendVC headerRefresh];
|
||||||
|
} userInfo:nil repeats:YES];
|
||||||
|
}
|
||||||
- (void)initSubViews {
|
- (void)initSubViews {
|
||||||
self.type = 0;
|
self.type = 0;
|
||||||
self.view.backgroundColor = [DJDKMIMOMColor colorWithHexString:@"#F3F5FA"];
|
self.view.backgroundColor = [DJDKMIMOMColor colorWithHexString:@"#F3F5FA"];
|
||||||
|