首页派对页面改造

This commit is contained in:
liyuhua
2023-12-21 18:42:16 +08:00
parent 1a56664568
commit 59ac91c69c
83 changed files with 2438 additions and 263 deletions

View File

@@ -161,7 +161,23 @@
2304974D2A739ECD006D1F0C /* XPMineGuildPersonalBillRecordModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 2304974C2A739ECD006D1F0C /* XPMineGuildPersonalBillRecordModel.m */; };
231EBB042B301D9C006F782E /* SudMGP.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 231EBB032B301D9B006F782E /* SudMGP.xcframework */; };
231EBB062B3021E4006F782E /* SudMGP.xcframework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 231EBB032B301D9B006F782E /* SudMGP.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
231EBB092B3034A6006F782E /* LVMainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB082B3034A6006F782E /* LVMainViewController.m */; };
231EBB172B3298B8006F782E /* MewMainHomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB132B3298B7006F782E /* MewMainHomeViewController.m */; };
231EBB1A2B329B10006F782E /* MewHomeManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB192B329B10006F782E /* MewHomeManager.m */; };
231EBB202B32D160006F782E /* Api+MewHomeApi.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB1F2B32D160006F782E /* Api+MewHomeApi.m */; };
231EBB232B32D9B0006F782E /* MewMainHomeNavView.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB222B32D9B0006F782E /* MewMainHomeNavView.m */; };
231EBB262B32E291006F782E /* MewMainHomePartyVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB252B32E291006F782E /* MewMainHomePartyVC.m */; };
231EBB292B32E380006F782E /* MewMainHomeMakeFriendVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB282B32E380006F782E /* MewMainHomeMakeFriendVC.m */; };
231EBB2C2B32EFE3006F782E /* MewMainHomePartyHeadView.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB2B2B32EFE3006F782E /* MewMainHomePartyHeadView.m */; };
231EBB2F2B32F0C7006F782E /* MewMainHomePartyHeadItemView.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB2E2B32F0C7006F782E /* MewMainHomePartyHeadItemView.m */; };
231EBB322B32F68E006F782E /* MewMainHomePartyHeadHotView.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB312B32F68E006F782E /* MewMainHomePartyHeadHotView.m */; };
231EBB352B330B24006F782E /* MewMainHomeBannerInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB342B330B24006F782E /* MewMainHomeBannerInfoModel.m */; };
231EBB382B33D825006F782E /* MewMainHomePartyCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB372B33D825006F782E /* MewMainHomePartyCell.m */; };
231EBB3E2B33DE0B006F782E /* mew_main_home_heat.gif in Resources */ = {isa = PBXBuildFile; fileRef = 231EBB3D2B33DE0B006F782E /* mew_main_home_heat.gif */; };
231EBB412B33E961006F782E /* MewMainHomeMenuInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB402B33E961006F782E /* MewMainHomeMenuInfoModel.m */; };
231EBB482B33ED65006F782E /* MewMainHomeGiftRecordModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB472B33ED65006F782E /* MewMainHomeGiftRecordModel.m */; };
231EBB4B2B34112C006F782E /* MewMainHomePartyHeadHotCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB4A2B34112C006F782E /* MewMainHomePartyHeadHotCell.m */; };
231EBB4E2B341DE0006F782E /* MewMainHomeHotRoomModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB4D2B341DE0006F782E /* MewMainHomeHotRoomModel.m */; };
231EBB512B3433B7006F782E /* MewMainHomeMenuDataModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 231EBB502B3433B7006F782E /* MewMainHomeMenuDataModel.m */; };
232153DD2AF381E400B2FBC0 /* MovEncodeToMpegTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 232153DC2AF381E400B2FBC0 /* MovEncodeToMpegTool.m */; };
232153E02AF394BF00B2FBC0 /* XPPrivilegeCardVideoItemModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 232153DF2AF394BF00B2FBC0 /* XPPrivilegeCardVideoItemModel.m */; };
236FF06C2AF8892400BEB6EC /* XPClientH5UresModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 236FF06B2AF8892400BEB6EC /* XPClientH5UresModel.m */; };
@@ -1673,8 +1689,40 @@
2304974B2A739ECD006D1F0C /* XPMineGuildPersonalBillRecordModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineGuildPersonalBillRecordModel.h; sourceTree = "<group>"; };
2304974C2A739ECD006D1F0C /* XPMineGuildPersonalBillRecordModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineGuildPersonalBillRecordModel.m; sourceTree = "<group>"; };
231EBB032B301D9B006F782E /* SudMGP.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = SudMGP.xcframework; sourceTree = "<group>"; };
231EBB072B3034A6006F782E /* LVMainViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LVMainViewController.h; sourceTree = "<group>"; };
231EBB082B3034A6006F782E /* LVMainViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LVMainViewController.m; sourceTree = "<group>"; };
231EBB132B3298B7006F782E /* MewMainHomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMainHomeViewController.m; sourceTree = "<group>"; };
231EBB152B3298B7006F782E /* MewMainHomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMainHomeViewController.h; sourceTree = "<group>"; };
231EBB182B329B10006F782E /* MewHomeManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewHomeManager.h; sourceTree = "<group>"; };
231EBB192B329B10006F782E /* MewHomeManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewHomeManager.m; sourceTree = "<group>"; };
231EBB1E2B32D160006F782E /* Api+MewHomeApi.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Api+MewHomeApi.h"; sourceTree = "<group>"; };
231EBB1F2B32D160006F782E /* Api+MewHomeApi.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "Api+MewHomeApi.m"; sourceTree = "<group>"; };
231EBB212B32D9B0006F782E /* MewMainHomeNavView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMainHomeNavView.h; sourceTree = "<group>"; };
231EBB222B32D9B0006F782E /* MewMainHomeNavView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewMainHomeNavView.m; sourceTree = "<group>"; };
231EBB242B32E291006F782E /* MewMainHomePartyVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMainHomePartyVC.h; sourceTree = "<group>"; };
231EBB252B32E291006F782E /* MewMainHomePartyVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewMainHomePartyVC.m; sourceTree = "<group>"; };
231EBB272B32E380006F782E /* MewMainHomeMakeFriendVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMainHomeMakeFriendVC.h; sourceTree = "<group>"; };
231EBB282B32E380006F782E /* MewMainHomeMakeFriendVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewMainHomeMakeFriendVC.m; sourceTree = "<group>"; };
231EBB2A2B32EFE3006F782E /* MewMainHomePartyHeadView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMainHomePartyHeadView.h; sourceTree = "<group>"; };
231EBB2B2B32EFE3006F782E /* MewMainHomePartyHeadView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewMainHomePartyHeadView.m; sourceTree = "<group>"; };
231EBB2D2B32F0C7006F782E /* MewMainHomePartyHeadItemView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMainHomePartyHeadItemView.h; sourceTree = "<group>"; };
231EBB2E2B32F0C7006F782E /* MewMainHomePartyHeadItemView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewMainHomePartyHeadItemView.m; sourceTree = "<group>"; };
231EBB302B32F68E006F782E /* MewMainHomePartyHeadHotView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMainHomePartyHeadHotView.h; sourceTree = "<group>"; };
231EBB312B32F68E006F782E /* MewMainHomePartyHeadHotView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewMainHomePartyHeadHotView.m; sourceTree = "<group>"; };
231EBB332B330B24006F782E /* MewMainHomeBannerInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMainHomeBannerInfoModel.h; sourceTree = "<group>"; };
231EBB342B330B24006F782E /* MewMainHomeBannerInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewMainHomeBannerInfoModel.m; sourceTree = "<group>"; };
231EBB362B33D825006F782E /* MewMainHomePartyCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMainHomePartyCell.h; sourceTree = "<group>"; };
231EBB372B33D825006F782E /* MewMainHomePartyCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewMainHomePartyCell.m; sourceTree = "<group>"; };
231EBB3D2B33DE0B006F782E /* mew_main_home_heat.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = mew_main_home_heat.gif; sourceTree = "<group>"; };
231EBB3F2B33E961006F782E /* MewMainHomeMenuInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMainHomeMenuInfoModel.h; sourceTree = "<group>"; };
231EBB402B33E961006F782E /* MewMainHomeMenuInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewMainHomeMenuInfoModel.m; sourceTree = "<group>"; };
231EBB452B33EA02006F782E /* MewMainHomeProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMainHomeProtocol.h; sourceTree = "<group>"; };
231EBB462B33ED65006F782E /* MewMainHomeGiftRecordModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMainHomeGiftRecordModel.h; sourceTree = "<group>"; };
231EBB472B33ED65006F782E /* MewMainHomeGiftRecordModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewMainHomeGiftRecordModel.m; sourceTree = "<group>"; };
231EBB492B34112C006F782E /* MewMainHomePartyHeadHotCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMainHomePartyHeadHotCell.h; sourceTree = "<group>"; };
231EBB4A2B34112C006F782E /* MewMainHomePartyHeadHotCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewMainHomePartyHeadHotCell.m; sourceTree = "<group>"; };
231EBB4C2B341DE0006F782E /* MewMainHomeHotRoomModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMainHomeHotRoomModel.h; sourceTree = "<group>"; };
231EBB4D2B341DE0006F782E /* MewMainHomeHotRoomModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewMainHomeHotRoomModel.m; sourceTree = "<group>"; };
231EBB4F2B3433B7006F782E /* MewMainHomeMenuDataModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewMainHomeMenuDataModel.h; sourceTree = "<group>"; };
231EBB502B3433B7006F782E /* MewMainHomeMenuDataModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewMainHomeMenuDataModel.m; sourceTree = "<group>"; };
232153DB2AF381E400B2FBC0 /* MovEncodeToMpegTool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MovEncodeToMpegTool.h; sourceTree = "<group>"; };
232153DC2AF381E400B2FBC0 /* MovEncodeToMpegTool.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MovEncodeToMpegTool.m; sourceTree = "<group>"; };
232153DE2AF394BF00B2FBC0 /* XPPrivilegeCardVideoItemModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPPrivilegeCardVideoItemModel.h; sourceTree = "<group>"; };
@@ -4718,6 +4766,103 @@
path = Api;
sourceTree = "<group>";
};
231EBB0A2B3186B6006F782E /* Mew */ = {
isa = PBXGroup;
children = (
231EBB3D2B33DE0B006F782E /* mew_main_home_heat.gif */,
231EBB112B3298B7006F782E /* MewHomeApi */,
231EBB0F2B3298B7006F782E /* MewHomeManager */,
231EBB102B3298B7006F782E /* MewHomeModel */,
231EBB0E2B3298B7006F782E /* MewHomeProtocol */,
231EBB122B3298B7006F782E /* MewHomeView */,
);
path = Mew;
sourceTree = "<group>";
};
231EBB0E2B3298B7006F782E /* MewHomeProtocol */ = {
isa = PBXGroup;
children = (
231EBB452B33EA02006F782E /* MewMainHomeProtocol.h */,
);
path = MewHomeProtocol;
sourceTree = "<group>";
};
231EBB0F2B3298B7006F782E /* MewHomeManager */ = {
isa = PBXGroup;
children = (
231EBB182B329B10006F782E /* MewHomeManager.h */,
231EBB192B329B10006F782E /* MewHomeManager.m */,
);
path = MewHomeManager;
sourceTree = "<group>";
};
231EBB102B3298B7006F782E /* MewHomeModel */ = {
isa = PBXGroup;
children = (
231EBB332B330B24006F782E /* MewMainHomeBannerInfoModel.h */,
231EBB342B330B24006F782E /* MewMainHomeBannerInfoModel.m */,
231EBB3F2B33E961006F782E /* MewMainHomeMenuInfoModel.h */,
231EBB402B33E961006F782E /* MewMainHomeMenuInfoModel.m */,
231EBB462B33ED65006F782E /* MewMainHomeGiftRecordModel.h */,
231EBB472B33ED65006F782E /* MewMainHomeGiftRecordModel.m */,
231EBB4C2B341DE0006F782E /* MewMainHomeHotRoomModel.h */,
231EBB4D2B341DE0006F782E /* MewMainHomeHotRoomModel.m */,
231EBB4F2B3433B7006F782E /* MewMainHomeMenuDataModel.h */,
231EBB502B3433B7006F782E /* MewMainHomeMenuDataModel.m */,
);
path = MewHomeModel;
sourceTree = "<group>";
};
231EBB112B3298B7006F782E /* MewHomeApi */ = {
isa = PBXGroup;
children = (
231EBB1E2B32D160006F782E /* Api+MewHomeApi.h */,
231EBB1F2B32D160006F782E /* Api+MewHomeApi.m */,
);
path = MewHomeApi;
sourceTree = "<group>";
};
231EBB122B3298B7006F782E /* MewHomeView */ = {
isa = PBXGroup;
children = (
231EBB162B3298B7006F782E /* MewHomeCell */,
231EBB142B3298B7006F782E /* MewHomeSubViews */,
231EBB152B3298B7006F782E /* MewMainHomeViewController.h */,
231EBB132B3298B7006F782E /* MewMainHomeViewController.m */,
231EBB242B32E291006F782E /* MewMainHomePartyVC.h */,
231EBB252B32E291006F782E /* MewMainHomePartyVC.m */,
231EBB272B32E380006F782E /* MewMainHomeMakeFriendVC.h */,
231EBB282B32E380006F782E /* MewMainHomeMakeFriendVC.m */,
);
path = MewHomeView;
sourceTree = "<group>";
};
231EBB142B3298B7006F782E /* MewHomeSubViews */ = {
isa = PBXGroup;
children = (
231EBB212B32D9B0006F782E /* MewMainHomeNavView.h */,
231EBB222B32D9B0006F782E /* MewMainHomeNavView.m */,
231EBB2A2B32EFE3006F782E /* MewMainHomePartyHeadView.h */,
231EBB2B2B32EFE3006F782E /* MewMainHomePartyHeadView.m */,
231EBB2D2B32F0C7006F782E /* MewMainHomePartyHeadItemView.h */,
231EBB2E2B32F0C7006F782E /* MewMainHomePartyHeadItemView.m */,
231EBB302B32F68E006F782E /* MewMainHomePartyHeadHotView.h */,
231EBB312B32F68E006F782E /* MewMainHomePartyHeadHotView.m */,
);
path = MewHomeSubViews;
sourceTree = "<group>";
};
231EBB162B3298B7006F782E /* MewHomeCell */ = {
isa = PBXGroup;
children = (
231EBB362B33D825006F782E /* MewMainHomePartyCell.h */,
231EBB372B33D825006F782E /* MewMainHomePartyCell.m */,
231EBB492B34112C006F782E /* MewMainHomePartyHeadHotCell.h */,
231EBB4A2B34112C006F782E /* MewMainHomePartyHeadHotCell.m */,
);
path = MewHomeCell;
sourceTree = "<group>";
};
232153DA2AF381D800B2FBC0 /* MovEncodeToMpegTool */ = {
isa = PBXGroup;
children = (
@@ -9021,6 +9166,7 @@
E8C6FFC427548120004DC9F0 /* View */ = {
isa = PBXGroup;
children = (
231EBB0A2B3186B6006F782E /* Mew */,
E8C6FFCD27548154004DC9F0 /* Cell */,
E8C6FFD12754AA6A004DC9F0 /* SubViews */,
E8C6FFC627548120004DC9F0 /* XPHomePartyViewController.h */,
@@ -9049,8 +9195,6 @@
9B88E20E28C6305400D26FBA /* XPRoomSearchRecordViewController.m */,
146567D729B1D62E00A1F5B9 /* XPNewHomeViewController.h */,
146567D829B1D62E00A1F5B9 /* XPNewHomeViewController.m */,
231EBB072B3034A6006F782E /* LVMainViewController.h */,
231EBB082B3034A6006F782E /* LVMainViewController.m */,
146567DA29B1D6A900A1F5B9 /* XPNewHomeNavView.h */,
146567DB29B1D6A900A1F5B9 /* XPNewHomeNavView.m */,
146567E029B1E1CF00A1F5B9 /* XPNewHomeHeaderView.h */,
@@ -9986,6 +10130,7 @@
E80EC85628ACD84000D133C5 /* emoji_106@2x.png in Resources */,
E8937ACD276C3EDE00B2C7E1 /* svga_member_in_lv30.svga in Resources */,
E80EC89728ACD84000D133C5 /* emoji_95@2x.png in Resources */,
231EBB3E2B33DE0B006F782E /* mew_main_home_heat.gif in Resources */,
E80EC88828ACD84000D133C5 /* emoji_54@2x.png in Resources */,
E80EC8A528ACD84100D133C5 /* emoji_40@2x.png in Resources */,
E8E859E528264D8800EE4857 /* upload.html in Resources */,
@@ -10324,6 +10469,7 @@
E8E859C828264C2300EE4857 /* HTTPMessage.m in Sources */,
9B7D80502753AA9D003DAC0C /* UITableView+NIMScrollToBottom.m in Sources */,
9BEE3D0E27853BD000C83219 /* ThemeColor+NobleCenter.m in Sources */,
231EBB1A2B329B10006F782E /* MewHomeManager.m in Sources */,
E8998D7A2859784200C68558 /* XPSVGAPlayer.m in Sources */,
9BD9A18427A0F128004186FE /* XPMineVisitorItemModel.m in Sources */,
E852D73E28631C18001465ED /* XPMonentsCommentTableViewCell.m in Sources */,
@@ -10333,6 +10479,7 @@
E8C219FC294852F900344FC5 /* AnchorLevelProgressView.m in Sources */,
230497042A6E5AA2006D1F0C /* XPPrivilegeCardProduceCell.m in Sources */,
E8DEC9A12764A5D20078CB70 /* XPRoomMoreItemModel.m in Sources */,
231EBB482B33ED65006F782E /* MewMainHomeGiftRecordModel.m in Sources */,
E80EC81028ACD84000D133C5 /* QExtendBoardView.m in Sources */,
9B87B3CD2926473D00085110 /* XPSessionListHeadFriendCell.m in Sources */,
9B86D88328192DC000494FCD /* XPRoomRankEntranceView.m in Sources */,
@@ -10347,6 +10494,7 @@
E8659909273E800D00EE349D /* XPGiftCollectionViewFlowLayout.m in Sources */,
E86596512701A1C000846EBD /* StatisticsService.m in Sources */,
E824544026F58F9400BE8163 /* XPMinePayPwdViewController.m in Sources */,
231EBB322B32F68E006F782E /* MewMainHomePartyHeadHotView.m in Sources */,
9BE01AED2893D0DF00B50299 /* XPDressShopSearchTableViewCell.m in Sources */,
9BA812D228BF145700783EA7 /* ClientRedPacketModel.m in Sources */,
E8C1670928067DAA00ECB15C /* XPMineGuildSuperAdminSetViewController.m in Sources */,
@@ -10359,7 +10507,9 @@
E8A3538528FD67320014A784 /* GiftLuckyBroadcastModel.m in Sources */,
9B4C5B86292F81FA00CEA41B /* XPSessionListFansPartyModel.m in Sources */,
E82325F5274E2E09003A3332 /* XPUserCardPresenter.m in Sources */,
231EBB512B3433B7006F782E /* MewMainHomeMenuDataModel.m in Sources */,
E80EC80B28ACD84000D133C5 /* QInputBarViewConfiguration.m in Sources */,
231EBB2C2B32EFE3006F782E /* MewMainHomePartyHeadView.m in Sources */,
E880B39E278BD49E00A83B0D /* XPAcrossRoomPKViewController.m in Sources */,
E8AC723D26F4B6AA007D6E91 /* XPLoginBindPhoneResultViewController.m in Sources */,
E800806527FD37A20055A8AB /* XPGuildHeaderView.m in Sources */,
@@ -10442,6 +10592,7 @@
E8A88D3027E85EEA00CA8837 /* RoomPKInfoModel.m in Sources */,
E8AB633328AE51470023B0D2 /* XPSailingPrizeView.m in Sources */,
9B2F72D328E45C5A0000E4FA /* XPRoomQuidkMessageCell.m in Sources */,
231EBB4B2B34112C006F782E /* MewMainHomePartyHeadHotCell.m in Sources */,
E83CD1982908D2FF00920A94 /* NobleRankListModel.m in Sources */,
E800162C2803FE4900D6D17A /* GuildIncomeRecordModel.m in Sources */,
9BE01ACE28925F7D00B50299 /* XPMineNewUserRechargeView.m in Sources */,
@@ -10527,6 +10678,7 @@
9BCB99A028F571B500466D64 /* XPMineCollectPartyRoomViewController.m in Sources */,
E81C27AE26EF39AB0031E639 /* AppDelegate+ThirdConfig.m in Sources */,
E8AB631028ADD92D0023B0D2 /* XPMonentsTopicRecommondViewController.m in Sources */,
231EBB172B3298B8006F782E /* MewMainHomeViewController.m in Sources */,
E877A7F127842B2F00EFACED /* XPRoomDatingWebAlertView.m in Sources */,
E80016382804140D00D6D17A /* XPMineGuildIncomeStatisViewController.m in Sources */,
E8E859C728264C2300EE4857 /* HTTPRedirectResponse.m in Sources */,
@@ -10575,6 +10727,7 @@
E81366E326F0A1FC0076364C /* LoginBindPhoneViewController.m in Sources */,
9B2EA7CC2804245500ED17BF /* XPAnchorPKPanelUserView.m in Sources */,
E851E46527FF1F53002F3ACB /* XPMineGuildSetNameViewController.m in Sources */,
231EBB4E2B341DE0006F782E /* MewMainHomeHotRoomModel.m in Sources */,
9B85B6DA279FDC5200A0A1AC /* XPUserCardSkillCollectionViewCell.m in Sources */,
189DD68426E1FDBB00AB55B1 /* XCHUDTool.m in Sources */,
E8A6C29B27CF53BF00AC7442 /* XPHomeLikePresenter.m in Sources */,
@@ -10584,6 +10737,7 @@
E83A2A55282F5C50002AD58F /* XPEnterpriseRechargeFootView.m in Sources */,
E87AE7F9277AABE50037823A /* XPRoomTagListViewController.m in Sources */,
18E7B26926E8D5D60064BC9B /* XCCurrentVCStackManager.m in Sources */,
231EBB412B33E961006F782E /* MewMainHomeMenuInfoModel.m in Sources */,
E824544326F58FCE00BE8163 /* XPMinePayPwdInputView.m in Sources */,
9B1B72A1280023F3003FACE9 /* XPMineAnchorFansTeamTableViewCell.m in Sources */,
1808073027315E8E001FD836 /* NetImageView.m in Sources */,
@@ -10669,7 +10823,6 @@
E8B846D326FDDBE600A777FE /* XPMineRechargeTableViewCell.m in Sources */,
E8D48256278D83AE003C1D08 /* XPAcrossRoomPKPanelUserView.m in Sources */,
E8D34D41280714F3009C4835 /* GuildSearchSuperAdminModel.m in Sources */,
231EBB092B3034A6006F782E /* LVMainViewController.m in Sources */,
E824546126F5F4E400BE8163 /* XPMineResetPayPwdViewController.m in Sources */,
E81D58822720082A003063FE /* MicroWaveView.m in Sources */,
E8A73F8728586A6F00FD9CBC /* XPGiftWeekStarCollectionViewCell.m in Sources */,
@@ -10679,6 +10832,7 @@
E88B5CB026FB1C6500DA9178 /* XPMineTeenagerPresenter.m in Sources */,
E800163B28041F7B00D6D17A /* XPGuildSingleRoomIncomeTableViewCell.m in Sources */,
9BCFB828289BAC7D0093D863 /* XPMineHeadFunctionItemLayout.m in Sources */,
231EBB2F2B32F0C7006F782E /* MewMainHomePartyHeadItemView.m in Sources */,
E8D34D6428084E40009C4835 /* XPMineUserInfoGiftWallViewController.m in Sources */,
E899C68927508F4E00E189E5 /* XPUserCardInfoModel.m in Sources */,
9B6B3AAB278C2EA7005551EC /* XPRoomNobleLevelUpView.m in Sources */,
@@ -10742,6 +10896,7 @@
E8B846D626FDE01B00A777FE /* XPMineRechargePresenter.m in Sources */,
E8834E53280052580029CCC1 /* XPMineGuildManagerPerTableViewCell.m in Sources */,
E8A30BF628534B35003B4873 /* FindNewUserInfoModel.m in Sources */,
231EBB292B32E380006F782E /* MewMainHomeMakeFriendVC.m in Sources */,
E801274027E323C800BAC3F2 /* XPRoomPKViewController.m in Sources */,
E8EEB91426FC7786007C6EBA /* XPMineUserInfoNickViewController.m in Sources */,
18E7B31B26F0982E0064BC9B /* UserExpand.m in Sources */,
@@ -10857,9 +11012,11 @@
9BE9F10527FF04CF00667200 /* XPAnchorFansTaskTableViewCell.m in Sources */,
E8E859D328264C2300EE4857 /* DDTTYLogger.m in Sources */,
9B92A33C2797E38100AD168F /* XPMineHeadItemTableViewCell.m in Sources */,
231EBB232B32D9B0006F782E /* MewMainHomeNavView.m in Sources */,
E854103928646A00005CFD9F /* XPMonentsReplyMoreTableViewCell.m in Sources */,
189DD56526DE465A00AB55B1 /* LoginViewController.m in Sources */,
2304970A2A6E7A40006D1F0C /* XPPrivilegeCardConfirmView.m in Sources */,
231EBB262B32E291006F782E /* MewMainHomePartyVC.m in Sources */,
9B8DE0E1289CF02900FB6EC2 /* XPGiftCompoundModel.m in Sources */,
E8950186282CAC80007E459A /* XPMonentsTooBarView.m in Sources */,
9B9DD94A281BC17600DBA903 /* XPCandyTreeMoreRuleCell.m in Sources */,
@@ -11069,6 +11226,7 @@
E83A2A3E282F4ED3002AD58F /* Api+EnterpriseRecharge.m in Sources */,
E8C1CD7627D8AE3D00376F83 /* XPRoomFacePresenter.m in Sources */,
18F4043A275E20D900A6C548 /* TRTCRtcImpl.m in Sources */,
231EBB202B32D160006F782E /* Api+MewHomeApi.m in Sources */,
E8899C7F27853B6A007944BE /* DatingMicroView.m in Sources */,
9BE01AD428927E9C00B50299 /* XPDressUpShopListViewController.m in Sources */,
9B41D36E282649230048C588 /* XPWeekStarRankUserModel.m in Sources */,
@@ -11218,10 +11376,12 @@
9BE2FA90288010D300EF3D83 /* AnchorRoomSrollTipView.m in Sources */,
E87E91522796A15500A7B3F2 /* MicroExtModel.m in Sources */,
E8788948273A55D000BF1D57 /* XPGiftBarView.m in Sources */,
231EBB382B33D825006F782E /* MewMainHomePartyCell.m in Sources */,
E89DCF5728FFF076001647EC /* XPWishGiftEmptyTableViewCell.m in Sources */,
E8D4DE442940462C00EC788D /* XPGiftTwelveStarBroadcastView.m in Sources */,
9BA8A47227C5D590000365A3 /* XPVoiceCardCircleLayer.m in Sources */,
E81A65422835120200F55894 /* XPMonentsInteractivePresenter.m in Sources */,
231EBB352B330B24006F782E /* MewMainHomeBannerInfoModel.m in Sources */,
9B33E3D427D8A1A4003B0E62 /* XPSkillCardPlayerManager.m in Sources */,
E80EC80C28ACD84000D133C5 /* UITextView+QEmotion.m in Sources */,
E8664EE627E482EF000171BA /* RoomPKTeamModel.m in Sources */,

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 864 B

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 849 B

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 969 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@@ -44,4 +44,5 @@ if (@available(iOS 11.0, *)) {\
#import "NSArray+Safe.h"
#import "NSString+Utils.h"
#import "YYUtility.h"
#import "XPHtmlUrl.h"
#endif /* Base_pch */

View File

@@ -1,16 +0,0 @@
//
// LVMainViewController.h
// xplan-ios
//
// Created by duoban on 2023/12/18.
//
#import "MvpViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface LVMainViewController : MvpViewController
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,107 +0,0 @@
//
// LVMainViewController.m
// xplan-ios
//
// Created by duoban on 2023/12/18.
//
#import "LVMainViewController.h"
#import <JXCategoryView.h>
#import <JXPagerView.h>
#import "XPNewHomeNavView.h"
@interface LVMainViewController ()<JXCategoryViewDelegate,JXPagerViewDelegate,JXPagerMainTableViewGestureDelegate,XPNewHomeNavViewDelegate>
@property (nonatomic, strong) JXCategoryTitleView *titleView;
@property (nonatomic, strong) JXPagerView *pagingView;
@property (nonatomic, strong) NSArray<NSString *> *titles;
@property (nonatomic, strong) UIStackView *stackView;
///
@property (nonatomic, strong) XPNewHomeNavView *homeNavView;
@end
@implementation LVMainViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self installUI];
[self installConstraints];
}
-(void)installUI{
[self.view addSubview:self.stackView];
[self.view addSubview:self.pagingView];
[self.stackView addArrangedSubview:self.titleView];
}
-(void)installConstraints{
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.top.right.mas_equalTo(0);
make.height.mas_equalTo(kNavigationHeight);
}];
[self.pagingView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.equalTo(self.view);
make.bottom.equalTo(self.stackView.mas_bottom);
}];
}
#pragma mark -
- (JXCategoryTitleView *)titleView {
if (!_titleView) {
_titleView = [[JXCategoryTitleView alloc] init];
_titleView.delegate = self;
_titleView.backgroundColor = [UIColor clearColor];
_titleView.titleColor = [ThemeColor textThirdColor];
_titleView.titleSelectedColor = [ThemeColor mainTextColor];
_titleView.titleFont = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
_titleView.titleSelectedFont = [UIFont systemFontOfSize:16 weight:UIFontWeightSemibold];
_titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter;
_titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
_titleView.defaultSelectedIndex = 0;
_titleView.averageCellSpacingEnabled = NO;
_titleView.titles = self.titles;
_titleView.cellSpacing = 20;
_titleView.listContainer = (id<JXCategoryViewListContainer>)self.pagingView.listContainerView;
JXCategoryIndicatorImageView *lineView = [[JXCategoryIndicatorImageView alloc] init];
lineView.indicatorImageViewSize = CGSizeMake(13, 4);
lineView.verticalMargin = 5;
lineView.indicatorImageView.image = [UIImage imageNamed:@"home_segment_indicator"];
_titleView.indicators = @[lineView];
}
return _titleView;
}
- (JXPagerView *)pagingView {
if (!_pagingView) {
_pagingView = [[JXPagerView alloc] initWithDelegate:self];
_pagingView.backgroundColor = [UIColor clearColor];
_pagingView.listContainerView.backgroundColor = [UIColor clearColor];
_pagingView.mainTableView.backgroundColor = [UIColor clearColor];
_pagingView.mainTableView.gestureDelegate = self;
_pagingView.listContainerView.listCellBackgroundColor = UIColor.clearColor;
}
return _pagingView;
}
- (NSArray<NSString *> *)titles {
if (!_titles) {
_titles = @[@"派对", @"交友"];
}
return _titles;
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisHorizontal;
_stackView.distribution = UIStackViewDistributionFill;
_stackView.alignment = UIStackViewAlignmentCenter;
_stackView.spacing = 6;
}
return _stackView;
}
- (XPNewHomeNavView *)homeNavView {
if (!_homeNavView) {
_homeNavView = [[XPNewHomeNavView alloc] init];
_homeNavView.delegate = self;
}
return _homeNavView;
}
@end

View File

@@ -0,0 +1,35 @@
//
// Api+MewHomeApi.h
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import "Api.h"
NS_ASSUME_NONNULL_BEGIN
@interface Api (MewHomeApi)
/// 首页推荐的轮播图
/// @param completion 完成
/// @param uid 用户的uid
/// @param type 类型 2 房间的 1 首页的 9推荐页下面的
+ (void)mew_RequestMainHomeBannerList:(HttpRequestHelperCompletion)completion uid:(NSString *)uid type:(NSString *)type;
/// 请求推荐页资源的列表
/// @param completion 完成
/// @param uid 用户的uid
+ (void)mew_RequestMainHomeMenuList:(HttpRequestHelperCompletion)completion uid:(NSString *)uid;
/// 请求首页全服礼物记录列表
/// @param completion 完成
+ (void)mew_RequestMainHomeGiftRecordList:(HttpRequestHelperCompletion)completion;
/// 请求热门房间列表
/// @param completion 完成
+ (void)mew_RequestMainHomePersonalRoomList:(HttpRequestHelperCompletion)completion uid:(NSString *)uid;
/// 首页资源位要进入的
/// @param completion 完成
/// @param uid 用户的uid
/// @param rid 进入的类型的id
+ (void)mew_RequestMainHomePickResource:(HttpRequestHelperCompletion)completion uid:(NSString *)uid rid:(NSString *)rid;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,44 @@
//
// Api+MewHomeApi.m
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import "Api+MewHomeApi.h"
#import "NSMutableDictionary+Saft.h"
@implementation Api (MewHomeApi)
///
/// @param completion
/// @param uid uid
/// @param type 2 1 9
+ (void)mew_RequestMainHomeBannerList:(HttpRequestHelperCompletion)completion uid:(NSString *)uid type:(NSString *)type {
[self makeRequest:@"home/banner" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, uid, type, nil];
}
///
/// @param completion
/// @param uid uid
+ (void)mew_RequestMainHomeMenuList:(HttpRequestHelperCompletion)completion uid:(NSString *)uid {
[self makeRequest:@"home/currentResource" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, uid, nil];
}
///
/// @param completion
+ (void)mew_RequestMainHomeGiftRecordList:(HttpRequestHelperCompletion)completion {
[self makeRequest:@"home/service/gift/record" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
}
///
/// @param completion
+ (void)mew_RequestMainHomePersonalRoomList:(HttpRequestHelperCompletion)completion uid:(NSString *)uid {
[self makeRequest:@"home/hotRoom" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__,uid, nil];
}
///
/// @param completion
/// @param uid uid
/// @param rid id
+ (void)mew_RequestMainHomePickResource:(HttpRequestHelperCompletion)completion uid:(NSString *)uid rid:(NSString *)rid {
NSMutableDictionary * pararms = [NSMutableDictionary dictionary];
[pararms safeSetObject:uid forKey:@"uid"];
[pararms safeSetObject:rid forKey:@"id"];
[HttpRequestHelper request:@"home/pickResource" method:HttpRequestHelperMethodGET params:pararms completion:completion];
}
@end

View File

@@ -0,0 +1,20 @@
//
// MewHomeManager.h
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import "BaseMvpPresenter.h"
NS_ASSUME_NONNULL_BEGIN
@interface MewHomeManager : BaseMvpPresenter
- (void)mew_requestMainHomeTopDataList;
/// 获取全服礼物记录列表
- (void)mew_requestMainHomeGiftRecordList;
//获取热门房间
-(void)mew_requestMainHomePersonalRoomList:(NSString *)uid;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,45 @@
//
// MewHomeManager.m
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import "MewHomeManager.h"
#import <ReactiveObjC/ReactiveObjC.h>
#import "MewMainHomeBannerInfoModel.h"
#import "Api+MewHomeApi.h"
#import "MewMainHomeMenuInfoModel.h"
#import "MewMainHomeProtocol.h"
#import "MewMainHomeGiftRecordModel.h"
#import "MewMainHomeHotRoomModel.h"
@implementation MewHomeManager
///
- (void)mew_requestMainHomeTopDataList {
NSString * uid = [AccountInfoStorage instance].getUid;
[Api mew_RequestMainHomeMenuList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray * array = [MewMainHomeMenuInfoModel modelsWithArray:data.data];
[[self getView] mew_getHomeTopDataSuccess:array];
} fail:^(NSInteger code, NSString * _Nullable msg) {
}] uid:uid];
}
///
- (void)mew_requestMainHomeGiftRecordList{
[Api mew_RequestMainHomeGiftRecordList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray * array = [MewMainHomeGiftRecordModel modelsWithArray:data.data];
[[self getView] mew_getHomeGiftRecordListSuccess:array];
}fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView] mew_getHomeGiftRecordListFail];
}]];
}
//
-(void)mew_requestMainHomePersonalRoomList:(NSString *)uid{
[Api mew_RequestMainHomePersonalRoomList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray * array = [MewMainHomeHotRoomModel modelsWithArray:data.data];
[[self getView]mew_getHomePersonalRoomListSuccess:array];
} fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView]mew_getHomePersonalRoomListFail];
} showLoading:NO errorToast:NO] uid:uid];
}
@end

View File

@@ -0,0 +1,30 @@
//
// MewMainHomeBannerInfoModel.h
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import <Foundation/Foundation.h>
typedef NS_ENUM(NSUInteger, MewMainHomeBannerInfoModelSkipType) {
///跳转房间
MewMainHomeBannerInfoModelSkipType_Room = 2,
///跳转h5
MewMainHomeBannerInfoModelSkipType_Web = 3,
};
NS_ASSUME_NONNULL_BEGIN
@interface MewMainHomeBannerInfoModel : NSObject
///ID
@property (nonatomic,copy)NSString *bannerId;
///名字
@property (nonatomic,copy)NSString *bannerName;
///图片
@property (nonatomic, copy)NSString *bannerPic;
///跳转的地址
@property (nonatomic, copy)NSString *skipUri;
///跳转的类型
@property (nonatomic, assign)MewMainHomeBannerInfoModelSkipType skipType;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,12 @@
//
// MewMainHomeBannerInfoModel.m
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import "MewMainHomeBannerInfoModel.h"
@implementation MewMainHomeBannerInfoModel
@end

View File

@@ -0,0 +1,32 @@
//
// MewMainHomeGiftRecordModel.h
// xplan-ios
//
// Created by duoban on 2023/12/21.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface MewMainHomeGiftRecordModel : NSObject
@property (nonatomic, copy) NSString *roomUid;
@property (nonatomic, copy) NSString *roomTitle;
@property (nonatomic, copy) NSString *senderUid;
@property (nonatomic, copy) NSString *senderErbanNo;
@property (nonatomic, copy) NSString *senderAvatar;
@property (nonatomic, copy) NSString *senderNick;
@property (nonatomic, copy) NSString *receiverUid;
@property (nonatomic, copy) NSString *receiverErbanNo;
@property (nonatomic, copy) NSString *receiverAvatar;
@property (nonatomic, copy) NSString *receiverNick;
@property (nonatomic, copy) NSString *giftName;
@property (nonatomic, copy) NSString *giftNum;
@property (nonatomic, copy) NSString *giftPicUrl;
/// 自定义字段
/// 是否是空占位模型
@property (nonatomic, assign) BOOL isEmpty;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,12 @@
//
// MewMainHomeGiftRecordModel.m
// xplan-ios
//
// Created by duoban on 2023/12/21.
//
#import "MewMainHomeGiftRecordModel.h"
@implementation MewMainHomeGiftRecordModel
@end

View File

@@ -0,0 +1,66 @@
//
// MewMainHomeHotRoomModel.h
// xplan-ios
//
// Created by duoban on 2023/12/21.
//
#import <Foundation/Foundation.h>
#import "XPEnum.h"
#import "MewMainHomeBannerInfoModel.h"
NS_ASSUME_NONNULL_BEGIN
@class MewMainHomeHotMicUserModel;
@interface MewMainHomeHotRoomModel : NSObject
///头像
@property (nonatomic,copy) NSString *avatar;
///在线人数
@property (nonatomic,assign) NSInteger onlineNum;
///房主的uid
@property (nonatomic,copy) NSString *roomUid;
///房间的tag
@property (nonatomic,copy) NSString *roomTag;
///标题
@property (nonatomic,copy) NSString *title;
///tag的图片
@property (nonatomic,copy) NSString *tagPict;
///性别
@property (nonatomic,assign) GenderType gender;
///房主的昵称
@property (nonatomic,copy) NSString *nick;
///房间的id
@property (nonatomic,copy) NSString *roomId;
///房主的uid
@property (nonatomic,copy) NSString *uid;
///房间简介
@property(nonatomic, copy) NSString *roomDesc;
///排列的顺序
@property (nonatomic,strong) NSNumber * seq;
///最新推荐上面的标签
@property (nonatomic,copy) NSString *iconContent;
///是否在跨房PK中
@property (nonatomic, assign) BOOL crossPking;
///是否是推荐房间
@property (nonatomic, assign) BOOL isRecommend;
///麦上用户
@property (nonatomic, strong) NSArray<MewMainHomeHotMicUserModel *> *micUsers;
@property(nonatomic,copy) NSString *backgroundPic;
@property (nonatomic, copy) NSString *erbanNo;
///列表中的banner信息
@property (nonatomic, strong) NSArray<MewMainHomeBannerInfoModel *> *bannerVoList;
@property(nonatomic,assign) BOOL isBanner;
@end
@interface MewMainHomeHotMicUserModel : NSObject
///头像
@property (nonatomic, copy) NSString *avatar;
///性别
@property (nonatomic,assign) GenderType gender;
///姓名
@property (nonatomic,copy) NSString *nick;
///用户的uid
@property (nonatomic,copy) NSString *uid;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,21 @@
//
// MewMainHomeHotRoomModel.m
// xplan-ios
//
// Created by duoban on 2023/12/21.
//
#import "MewMainHomeHotRoomModel.h"
@implementation MewMainHomeHotRoomModel
+ (NSDictionary *)objectClassInArray {
return @{
@"micUsers": [MewMainHomeHotMicUserModel class],
@"bannerVoList": [MewMainHomeBannerInfoModel class]
};
}
@end
@implementation MewMainHomeHotMicUserModel
@end

View File

@@ -0,0 +1,27 @@
//
// MewMainHomeMenuDataModel.h
// xplan-ios
//
// Created by duoban on 2023/12/21.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface MewMainHomeMenuDataModel : NSObject
///头像
@property (nonatomic,copy) NSString *avatar;
///是否是进入房间
@property (nonatomic,assign) BOOL isPick;
///房主的uid
@property (nonatomic,copy) NSString *uid;
///房间标题
@property (nonatomic,copy) NSString *title;
///房间tag
@property (nonatomic,copy) NSString *tagPict;
///平台id
@property (nonatomic,copy) NSString *erbanNo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,12 @@
//
// MewMainHomeMenuDataModel.m
// xplan-ios
//
// Created by duoban on 2023/12/21.
//
#import "MewMainHomeMenuDataModel.h"
@implementation MewMainHomeMenuDataModel
@end

View File

@@ -0,0 +1,41 @@
//
// MewMainHomeMenuInfoModel.h
// xplan-ios
//
// Created by duoban on 2023/12/21.
//
#import <Foundation/Foundation.h>
typedef NS_ENUM(NSInteger, MewMainHomeMenuInfoModelType) {
///进入牌照房
MewMainHomeMenuInfoModelType_Room_Licnese = 1,
///进入相亲房
MewMainHomeMenuInfoModeleType_Room_Dating,
///进入PK房
MewMainHomeMenuInfoModelType_Room_PK,
///进入Game房
MewMainHomeMenuInfoModelType_Room_Game,
///进入H5
MewMainHomeMenuInfoModelType_H5,
///进入自定义房
MewMainHomeMenuInfoModelType_Custom,
///一键匹配
MewMainHomeMenuInfoModelType_Match = 8,
};
NS_ASSUME_NONNULL_BEGIN
@interface MewMainHomeMenuInfoModel : NSObject
@property(nonatomic,assign) BOOL isMorn;
///ID 映射字段
@property (nonatomic,copy) NSString *hid;
///显示的图片
@property (nonatomic, copy)NSString *icon;
@property(nonatomic,assign) int posSeq;
///类型
@property (nonatomic, assign)MewMainHomeMenuInfoModelType resourceType;
///跳转h5的时候 跳转链接
@property (nonatomic, copy)NSString *resourceContent;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,15 @@
//
// MewMainHomeMenuInfoModel.m
// xplan-ios
//
// Created by duoban on 2023/12/21.
//
#import "MewMainHomeMenuInfoModel.h"
@implementation MewMainHomeMenuInfoModel
/// id -> ID name -> other.name
+ (NSDictionary *)replacedKeyFromPropertyName {
return @{@"hid":@"id"};
}
@end

View File

@@ -0,0 +1,27 @@
//
// MewMainHomeProtocol.h
// xplan-ios
//
// Created by duoban on 2023/12/21.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol MewMainHomeProtocol <NSObject>
///获取首页轮播图列表成功
-(void)mew_getHomeTopDataSuccess:(NSArray *)menuList;
///获取首页轮播图列表失败
-(void)mew_getHomeTopDataFail;
/// 获取全服礼物记录列表
-(void)mew_getHomeGiftRecordListSuccess:(NSArray *)list;
/// 获取全服礼物记录列表失败
-(void)mew_getHomeGiftRecordListFail;
//获取热门房间
-(void)mew_getHomePersonalRoomListSuccess:(NSArray *)list;
//获取热门房间失败
-(void)mew_getHomePersonalRoomListFail;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,16 @@
//
// MewMainHomePartyCell.h
// xplan-ios
//
// Created by duoban on 2023/12/21.
//
#import <UIKit/UIKit.h>
#import "MewMainHomeHotRoomModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface MewMainHomePartyCell : UICollectionViewCell
@property(nonatomic,strong) MewMainHomeHotRoomModel *roomModel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,218 @@
//
// MewMainHomePartyCell.m
// xplan-ios
//
// Created by duoban on 2023/12/21.
//
#import "MewMainHomePartyCell.h"
#import <SDWebImageFLPlugin/SDWebImageFLPlugin.h>
@interface MewMainHomePartyCell()
///
@property(nonatomic,strong) NetImageView *mewTopOneView;
///
@property(nonatomic,strong) NetImageView *mewBgImageView;
///
@property(nonatomic,strong) UIImageView *mewMaskView;
///
@property(nonatomic,strong) NetImageView *mewTagView;
///pk
@property(nonatomic,strong) UIImageView *mewPKImageView;
///
@property(nonatomic,strong) UILabel *mewTitleView;
///
@property(nonatomic,strong) UILabel *mewHotNumView;
///
@property(nonatomic,strong) UIImageView *mewHotImageView;
///
@property(nonatomic,strong) FLAnimatedImageView *mewHeatGifView;
@end
@implementation MewMainHomePartyCell
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
for (int i = 4; i >= 0; i--) {
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
NetImageView *imageView = [[NetImageView alloc]initWithConfig:config];
imageView.tag = 1000 + i;
imageView.layer.cornerRadius = kGetScaleWidth(18)/2;
imageView.layer.masksToBounds = YES;
imageView.layer.borderWidth = 1;
imageView.layer.borderColor = [UIColor whiteColor].CGColor;
[self.contentView addSubview:imageView];
imageView.hidden = YES;
CGFloat x = 8 + i * 12;
[imageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(kGetScaleWidth(x));
make.width.height.mas_equalTo(kGetScaleWidth(18));
make.bottom.mas_equalTo(-kGetScaleWidth(8));
}];
if(i == 4){
UIView *grayView = [UIView new];
grayView.backgroundColor = UIColorRGBAlpha(0xD8D8D8, 0.5);
[imageView addSubview:grayView];
[grayView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(imageView);
}];
}
}
}
return self;
}
-(void)installUI{
[self.contentView addSubview:self.mewBgImageView];
[self.mewBgImageView addSubview:self.mewMaskView];
[self.mewBgImageView addSubview:self.mewTopOneView];
[self.contentView addSubview:self.mewTagView];
[self.mewTagView addSubview:self.mewHeatGifView];
[self.contentView addSubview:self.mewPKImageView];
[self.contentView addSubview:self.mewTitleView];
[self.contentView addSubview:self.mewHotNumView];
[self.contentView addSubview:self.mewHotImageView];
}
-(void)setRoomModel:(MewMainHomeHotRoomModel *)roomModel{
_roomModel = roomModel;
self.mewBgImageView.image = nil;
[self.mewBgImageView loadImageWithUrl:_roomModel.avatar completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
self.mewBgImageView.image = image;
}];
self.mewTopOneView.image = nil;
[self.mewTopOneView loadImageWithUrl:_roomModel.backgroundPic completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
self.mewTopOneView.image = image;
}];
self.mewHeatGifView.hidden = YES;
self.mewTagView.image = nil;
[self.mewTagView loadImageWithUrl:_roomModel.tagPict completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
self.mewTagView.image = image;
self.mewHeatGifView.hidden = NO;
}];
self.mewPKImageView.hidden = _roomModel.crossPking == NO;
self.mewTitleView.text = _roomModel.title;
self.mewHotNumView.text = [NSString stringWithFormat:@"%ld",_roomModel.onlineNum];
for (int i = 4; i >= 0; i--) {
NetImageView *imageView = [self.contentView viewWithTag:1000+i];
imageView.hidden = YES;
if(i < _roomModel.micUsers.count){
MewMainHomeHotMicUserModel *micModel = [_roomModel.micUsers safeObjectAtIndex1:i];
imageView.image = nil;
imageView.hidden = NO;
[imageView loadImageWithUrl:micModel.avatar completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
imageView.image = image;
}];
}
}
}
-(void)installConstraints{
[self.mewBgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.contentView);
}];
[self.mewTopOneView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.mewBgImageView);
}];
[self.mewMaskView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.mewBgImageView);
}];
[self.mewTagView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(46));
make.height.mas_equalTo(kGetScaleWidth(18));
make.top.leading.mas_equalTo(kGetScaleWidth(6));
}];
[self.mewHeatGifView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(kGetScaleWidth(6));
make.width.mas_equalTo(kGetScaleWidth(10));
make.height.mas_equalTo(kGetScaleWidth(9));
make.centerY.equalTo(self.mewTagView);
}];
[self.mewPKImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(kGetScaleWidth(7));
make.width.mas_equalTo(kGetScaleWidth(40));
make.height.mas_equalTo(kGetScaleWidth(16));
make.bottom.mas_equalTo(-kGetScaleWidth(54));
}];
[self.mewTitleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.equalTo(self.contentView).inset(kGetScaleWidth(8));
make.height.mas_equalTo(kGetScaleWidth(20));
make.bottom.mas_equalTo(-kGetScaleWidth(30));
}];
[self.mewHotNumView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.mas_equalTo(-kGetScaleWidth(10));
make.height.mas_equalTo(kGetScaleWidth(14));
make.bottom.mas_equalTo(-kGetScaleWidth(8));
}];
[self.mewHotImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(12));
make.trailing.equalTo(self.mewHotNumView.mas_leading).mas_offset(-kGetScaleWidth(1));
make.centerY.equalTo(self.mewHotNumView);
}];
}
#pragma mark -
- (FLAnimatedImageView *)mewHeatGifView{
if(!_mewHeatGifView){
_mewHeatGifView = [FLAnimatedImageView new];
NSData *localData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"mew_main_home_heat.gif" ofType:nil]];
FLAnimatedImage *animatedImage = [FLAnimatedImage animatedImageWithGIFData:localData];
_mewHeatGifView.animatedImage = animatedImage;
}
return _mewHeatGifView;
}
- (NetImageView *)mewBgImageView{
if(!_mewBgImageView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_mewBgImageView = [[NetImageView alloc]initWithConfig:config];
_mewBgImageView.layer.cornerRadius = kGetScaleWidth(12);
_mewBgImageView.layer.masksToBounds = YES;
}
return _mewBgImageView;
}
- (UIImageView *)mewMaskView{
if(!_mewMaskView){
_mewMaskView = [UIImageView new];
_mewMaskView.image = kImage(@"mew_main_home_party_cell_mask");
}
return _mewMaskView;
}
- (NetImageView *)mewTagView{
if(!_mewTagView){
_mewTagView = [[NetImageView alloc]init];
}
return _mewTagView;
}
- (UILabel *)mewTitleView{
if(!_mewTitleView){
_mewTitleView = [UILabel labelInitWithText:@"" font:kFontMedium(14) textColor:[UIColor whiteColor]];
}
return _mewTitleView;
}
- (UIImageView *)mewHotImageView{
if(!_mewHotImageView){
_mewHotImageView = [UIImageView new];
_mewHotImageView.image = kImage(@"mew_main_home_party_cell_hot");
}
return _mewHotImageView;
}
- (UILabel *)mewHotNumView{
if(!_mewHotNumView){
_mewHotNumView = [UILabel labelInitWithText:@"0" font:kFontBold(11) textColor:[UIColor whiteColor]];
}
return _mewHotNumView;
}
- (UIImageView *)mewPKImageView{
if(!_mewPKImageView){
_mewPKImageView = [UIImageView new];
_mewPKImageView.image = kImage(@"mew_main_home_party_cell_pk");
}
return _mewPKImageView;
}
- (NetImageView *)mewTopOneView{
if(!_mewTopOneView){
_mewTopOneView = [NetImageView new];
}
return _mewTopOneView;
}
@end

View File

@@ -0,0 +1,16 @@
//
// MewMainHomePartyHeadHotCell.h
// xplan-ios
//
// Created by duoban on 2023/12/21.
//
#import <UIKit/UIKit.h>
#import "MewMainHomeGiftRecordModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface MewMainHomePartyHeadHotCell : UICollectionViewCell
@property(nonatomic,strong) MewMainHomeGiftRecordModel *mewGiftInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,192 @@
//
// MewMainHomePartyHeadHotCell.m
// xplan-ios
//
// Created by duoban on 2023/12/21.
//
#import "MewMainHomePartyHeadHotCell.h"
@interface MewMainHomePartyHeadHotCell()
///
@property(nonatomic,strong) UIImageView *mewBgImageView;
///
@property(nonatomic,strong) NetImageView *mewSendUserHeadView;
///
@property(nonatomic,strong) NetImageView *mewReceiverHeadView;
///
@property(nonatomic,strong) UILabel *mewSendUserTextView;
///
@property(nonatomic,strong) UILabel *mewReceiverTextView;
///
@property(nonatomic,strong) UILabel *mewSendTitleView;
///
@property(nonatomic,strong) UILabel *mewGiftView;
///
@property(nonatomic,strong) NetImageView *mewGiftImageView;
///
@property(nonatomic,strong) UILabel *mewGiftNumView;
///
@property(nonatomic,strong) UIImageView *mewArrowView;
@end
@implementation MewMainHomePartyHeadHotCell
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self.contentView addSubview:self.mewBgImageView];
[self.contentView addSubview:self.mewSendUserHeadView];
[self.contentView addSubview:self.mewSendUserTextView];
[self.contentView addSubview:self.mewSendTitleView];
[self.contentView addSubview:self.mewReceiverHeadView];
[self.contentView addSubview:self.mewReceiverTextView];
[self.contentView addSubview:self.mewGiftView];
[self.contentView addSubview:self.mewGiftImageView];
[self.contentView addSubview:self.mewGiftNumView];
[self.contentView addSubview:self.mewArrowView];
}
-(void)installConstraints{
[self.mewBgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.mewArrowView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(12));
make.trailing.mas_equalTo(-kGetScaleWidth(12));
make.centerY.equalTo(self);
}];
[self.mewSendUserHeadView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(22));
make.centerY.equalTo(self);
make.leading.mas_equalTo(kGetScaleWidth(12));
}];
[self.mewSendUserTextView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self);
make.leading.mas_equalTo(kGetScaleWidth(38));
}];
[self.mewSendTitleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.equalTo(self.mewSendUserTextView.mas_trailing).mas_offset(kGetScaleWidth(4));
make.width.mas_equalTo(kGetScaleWidth(25));
make.centerY.equalTo(self);
}];
[self.mewReceiverHeadView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.equalTo(self.mewSendTitleView.mas_trailing).mas_offset(kGetScaleWidth(6));
make.centerY.equalTo(self);
make.width.height.mas_equalTo(kGetScaleWidth(22));
}];
[self.mewReceiverTextView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.equalTo(self.mewReceiverHeadView.mas_trailing).mas_offset(kGetScaleWidth(4));
make.centerY.equalTo(self);
}];
[self.mewGiftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.equalTo(self.mewReceiverTextView.mas_trailing).mas_offset(kGetScaleWidth(4));
make.centerY.equalTo(self);
}];
[self.mewGiftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.equalTo(self.mewGiftView.mas_trailing).mas_offset(kGetScaleWidth(2));
make.centerY.equalTo(self);
make.width.height.mas_equalTo(kGetScaleWidth(28));
}];
[self.mewGiftNumView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.equalTo(self.mewGiftImageView.mas_trailing).mas_offset(kGetScaleWidth(2));
make.centerY.equalTo(self);
}];
}
-(void)setMewGiftInfo:(MewMainHomeGiftRecordModel *)mewGiftInfo{
_mewGiftInfo = mewGiftInfo;
_mewSendUserHeadView.imageUrl = _mewGiftInfo.senderAvatar;
NSString *senderNick = _mewGiftInfo.senderNick.length > 4 ? [NSString stringWithFormat:@"%@...",[_mewGiftInfo.senderNick substringToIndex:4]]:_mewGiftInfo.senderNick;
_mewSendUserTextView.text = senderNick;
_mewReceiverHeadView.imageUrl = _mewGiftInfo.receiverAvatar;
NSString *receiverNick = _mewGiftInfo.receiverNick.length > 4 ? [NSString stringWithFormat:@"%@...",[_mewGiftInfo.receiverNick substringToIndex:4]]:_mewGiftInfo.receiverNick;
_mewReceiverTextView.text = receiverNick;
_mewGiftView.text = _mewGiftInfo.giftName;
_mewGiftImageView.imageUrl = _mewGiftInfo.giftPicUrl;
_mewGiftNumView.text = [NSString stringWithFormat:@"x%@",_mewGiftInfo.giftNum];
}
#pragma mark -
- (UIImageView *)mewBgImageView{
if(!_mewBgImageView){
_mewBgImageView = [UIImageView new];
_mewBgImageView.image = kImage(@"mew_home_party_head_hot_bg");
}
return _mewBgImageView;
}
- (NetImageView *)mewSendUserHeadView{
if(!_mewSendUserHeadView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_mewSendUserHeadView = [[NetImageView alloc]initWithConfig:config];
_mewSendUserHeadView.layer.cornerRadius = kGetScaleWidth(22)/2;
_mewSendUserHeadView.layer.masksToBounds = YES;
}
return _mewSendUserHeadView;
}
- (UILabel *)mewSendUserTextView{
if(!_mewSendUserTextView){
_mewSendUserTextView = [UILabel labelInitWithText:@"" font:kFontRegular(12) textColor:UIColorFromRGB(0x2B2D33)];
}
return _mewSendUserTextView;
}
- (NetImageView *)mewReceiverHeadView{
if(!_mewReceiverHeadView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_mewReceiverHeadView = [[NetImageView alloc]initWithConfig:config];
_mewReceiverHeadView.layer.cornerRadius = kGetScaleWidth(22)/2;
_mewReceiverHeadView.layer.masksToBounds = YES;
}
return _mewReceiverHeadView;
}
- (UILabel *)mewReceiverTextView{
if(!_mewReceiverTextView){
_mewReceiverTextView = [UILabel labelInitWithText:@"" font:kFontRegular(12) textColor:UIColorFromRGB(0x2B2D33)];
}
return _mewReceiverTextView;
}
- (UILabel *)mewSendTitleView{
if(!_mewSendTitleView){
_mewSendTitleView = [UILabel labelInitWithText:@"赠送" font:kFontRegular(12) textColor:UIColorFromRGB(0x2B2D33)];
}
return _mewSendTitleView;
}
-(UILabel *)mewGiftView{
if(!_mewGiftView){
_mewGiftView = [UILabel labelInitWithText:@"" font:kFontRegular(12) textColor:UIColorFromRGB(0xFF9D24)];
}
return _mewGiftView;
}
- (NetImageView *)mewGiftImageView{
if(!_mewGiftImageView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_mewGiftImageView = [[NetImageView alloc]initWithConfig:config];
}
return _mewGiftImageView;
}
- (UILabel *)mewGiftNumView{
if(!_mewGiftNumView){
_mewGiftNumView = [UILabel labelInitWithText:@"x1" font:kFontMedium(14) textColor:UIColorFromRGB(0x2B2D33)];
}
return _mewGiftNumView;
}
- (UIImageView *)mewArrowView{
if(!_mewArrowView){
_mewArrowView = [UIImageView new];
_mewArrowView.image = kImage(@"mew_home_party_head_hot_arrow");
}
return _mewArrowView;
}
@end

View File

@@ -0,0 +1,24 @@
//
// MewMainNavView.h
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import <UIKit/UIKit.h>
@class MewMainHomeNavView;
@protocol MewMainHomeNavViewDelegate <NSObject>
///点击了搜索房间
- (void)mew_MainHomeNavView:(MewMainHomeNavView *_Nullable)view didClickSearch:(UIView *_Nullable)sender;
///点击了榜单按钮
- (void)mew_MainHomeNavView:(MewMainHomeNavView *_Nullable)view didClickRank:(UIButton *_Nullable)sender;
///点击了我的房间
- (void)mew_MainHomeNavView:(MewMainHomeNavView *_Nullable)view didClickRoom:(UIButton *_Nullable)sender;
@end
NS_ASSUME_NONNULL_BEGIN
@interface MewMainHomeNavView : UIView
@property(nonatomic,weak) id<MewMainHomeNavViewDelegate>delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,120 @@
//
// MewMainNavView.m
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import "MewMainHomeNavView.h"
@interface MewMainHomeNavView()
///
@property(nonatomic,strong) UIView *mewBgSearchView;
@property(nonatomic,strong) UIImageView *mewSearchIconView;
@property(nonatomic,strong) UILabel *mewSearchTextView;
///
@property(nonatomic,strong) UIButton *mewRoomBtn;
///
@property(nonatomic,strong) UIButton *mewRankBnt;
@end
@implementation MewMainHomeNavView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self addSubview:self.mewBgSearchView];
[self addSubview:self.mewRoomBtn];
[self addSubview:self.mewRankBnt];
[self.mewBgSearchView addSubview:self.mewSearchIconView];
[self.mewBgSearchView addSubview:self.mewSearchTextView];
}
-(void)installConstraints{
[self.mewBgSearchView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.leading.equalTo(self);
make.height.mas_equalTo(26);
make.width.mas_equalTo(136);
}];
[self.mewRoomBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(30);
make.leading.equalTo(self.mewBgSearchView.mas_trailing).mas_offset(8);
make.centerY.equalTo(self);
}];
[self.mewRankBnt mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(30);
make.leading.equalTo(self.mewRoomBtn.mas_trailing).mas_offset(8);
make.centerY.equalTo(self);
}];
[self.mewSearchIconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(16);
make.leading.mas_equalTo(9);
make.centerY.equalTo(self.mewBgSearchView);
}];
[self.mewSearchTextView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(32);
make.trailing.mas_equalTo(-5);
make.centerY.equalTo(self.mewBgSearchView);
}];
}
-(void)clickSearchViewAction{
if(self.delegate && [self.delegate respondsToSelector:@selector(mew_MainHomeNavView:didClickSearch:)]){
[self.delegate mew_MainHomeNavView:self didClickSearch:self.mewBgSearchView];
}
}
-(void)clickRoomAction{
if(self.delegate && [self.delegate respondsToSelector:@selector(mew_MainHomeNavView:didClickRoom:)]){
[self.delegate mew_MainHomeNavView:self didClickRoom:self.mewRoomBtn];
}
}
-(void)clickRankAction{
if(self.delegate && [self.delegate respondsToSelector:@selector(mew_MainHomeNavView:didClickRank:)]){
[self.delegate mew_MainHomeNavView:self didClickRank:self.mewRankBnt];
}
}
#pragma mark -
- (UIView *)mewBgSearchView{
if(!_mewBgSearchView){
_mewBgSearchView = [UIView new];
_mewBgSearchView.backgroundColor = [UIColor whiteColor];
_mewBgSearchView.layer.cornerRadius = kGetScaleWidth(26)/2;
_mewBgSearchView.layer.masksToBounds = YES;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(clickSearchViewAction)];
[_mewBgSearchView addGestureRecognizer:tap];
}
return _mewBgSearchView;
}
-(UIImageView *)mewSearchIconView{
if(!_mewSearchIconView){
_mewSearchIconView = [UIImageView new];
_mewSearchIconView.image = kImage(@"mew_home_nav_search_icon");
}
return _mewSearchIconView;
}
- (UILabel *)mewSearchTextView{
if(!_mewSearchTextView){
_mewSearchTextView = [UILabel labelInitWithText:@"搜索ID、房间" font:[UIFont systemFontOfSize:12 weight:UIFontWeightRegular] textColor:UIColorFromRGB(0xB8B7C7)];
}
return _mewSearchTextView;
}
- (UIButton *)mewRoomBtn{
if(!_mewRoomBtn){
_mewRoomBtn = [UIButton new];
[_mewRoomBtn setBackgroundImage:kImage(@"mew_home_nav_click_room") forState:UIControlStateNormal];
[_mewRoomBtn addTarget:self action:@selector(clickRoomAction) forControlEvents:UIControlEventTouchUpInside];
}
return _mewRoomBtn;
}
- (UIButton *)mewRankBnt{
if(!_mewRankBnt){
_mewRankBnt = [UIButton new];
[_mewRankBnt setBackgroundImage:kImage(@"mew_home_nav_click_rank") forState:UIControlStateNormal];
[_mewRankBnt addTarget:self action:@selector(clickRankAction) forControlEvents:UIControlEventTouchUpInside];
}
return _mewRankBnt;
}
@end

View File

@@ -0,0 +1,22 @@
//
// MewMainHomePartyHeadHotView.h
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import <UIKit/UIKit.h>
#import "MewMainHomeGiftRecordModel.h"
@protocol MewMainHomePartyHeadHotViewDelegate <NSObject>
- (void)mew_clickMainHomeHeadHotScrollView:(MewMainHomeGiftRecordModel *_Nullable)model;
@end
NS_ASSUME_NONNULL_BEGIN
@interface MewMainHomePartyHeadHotView : UIView
@property(nonatomic,copy) NSArray *mewGiftRecordList;
@property(nonatomic,weak) id<MewMainHomePartyHeadHotViewDelegate>delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,83 @@
//
// MewMainHomePartyHeadHotView.m
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import "MewMainHomePartyHeadHotView.h"
#import <SDCycleScrollView/SDCycleScrollView.h>
#import "MewMainHomePartyHeadHotCell.h"
#import "MewMainHomeGiftRecordModel.h"
@interface MewMainHomePartyHeadHotView()<SDCycleScrollViewDelegate>
///
@property (nonatomic, strong) SDCycleScrollView *mewHotScrollView;
@end
@implementation MewMainHomePartyHeadHotView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
self.backgroundColor = [UIColor clearColor];
[self addSubview:self.mewHotScrollView];
}
-(void)installConstraints{
[self.mewHotScrollView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
}
#pragma mark - SDCycleScrollViewDelegate
- (Class)customCollectionViewCellClassForCycleScrollView:(SDCycleScrollView *)view {
return MewMainHomePartyHeadHotCell.class;
}
- (void)setupCustomCell:(UICollectionViewCell *)cell forIndex:(NSInteger)index cycleScrollView:(SDCycleScrollView *)view {
MewMainHomePartyHeadHotCell *myCell = (MewMainHomePartyHeadHotCell *)cell;
MewMainHomeGiftRecordModel * info = [self.mewGiftRecordList safeObjectAtIndex1:index];
myCell.mewGiftInfo = info;
}
/** */
- (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index{
MewMainHomeGiftRecordModel * info = [self.mewGiftRecordList safeObjectAtIndex1:index];
if(self.delegate && [self.delegate respondsToSelector:@selector(mew_clickMainHomeHeadHotScrollView:)]){
[self.delegate mew_clickMainHomeHeadHotScrollView:info];
}
}
-(void)setMewGiftRecordList:(NSArray *)mewGiftRecordList{
_mewGiftRecordList = mewGiftRecordList;
if (_mewGiftRecordList.count > 0) {
NSMutableArray * array = [NSMutableArray array];
for (MewMainHomeGiftRecordModel * item in _mewGiftRecordList) {
[array addObject:item.giftName];
}
if (array.count > 0) {
self.mewHotScrollView.imageURLStringsGroup = array;
[self.mewHotScrollView autoScroll];
}
}
}
#pragma mark -
- (SDCycleScrollView *)mewHotScrollView {
if (!_mewHotScrollView) {
_mewHotScrollView = [[SDCycleScrollView alloc] init];
_mewHotScrollView.backgroundColor = [UIColor clearColor];
_mewHotScrollView.layer.masksToBounds = YES;
_mewHotScrollView.scrollDirection = UICollectionViewScrollDirectionVertical;
_mewHotScrollView.delegate = self;
_mewHotScrollView.showPageControl = NO;
_mewHotScrollView.autoScrollTimeInterval = 5.0;
[_mewHotScrollView disableScrollGesture];
}
return _mewHotScrollView;
}
@end

View File

@@ -0,0 +1,26 @@
//
// MewMainHomePartyHeadItemView.h
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import <UIKit/UIKit.h>
#import "MewMainHomeMenuInfoModel.h"
@protocol MewMainHomePartyHeadItemViewDelegate <NSObject>
- (void)mew_clickMainHomeHeadItemViewMenu:(MewMainHomeMenuInfoModel *_Nullable)info;
@end
NS_ASSUME_NONNULL_BEGIN
@interface MewMainHomePartyHeadItemView : UIView
@property(nonatomic,copy) NSArray *mewMenuList;
@property(nonatomic,weak) id<MewMainHomePartyHeadItemViewDelegate>delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,131 @@
//
// MewMainHomePartyHeadItemView.m
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import "MewMainHomePartyHeadItemView.h"
@interface MewMainHomePartyHeadItemView()
@end
@implementation MewMainHomePartyHeadItemView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
self.backgroundColor = [UIColor clearColor];
for (int i = 0; i < 5; i++) {
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defalutBannerPlaceholder];
NetImageView *imageView = [[NetImageView alloc]initWithConfig:config];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(clickBtnAction:)];
[imageView addGestureRecognizer:tap];
imageView.userInteractionEnabled = YES;
imageView.tag = i + 100;
imageView.hidden = YES;
if(i == 4){
imageView.hidden = NO;
imageView.image = kImage(@"mew_home_party_head_morn");
}
[self addSubview:imageView];
}
}
-(void)clickBtnAction:(UITapGestureRecognizer *)sender{
NetImageView *imageView = (NetImageView *)sender.view;
NSInteger index = imageView.tag - 100;
MewMainHomeMenuInfoModel *obj;
if(index == 4){
obj = [MewMainHomeMenuInfoModel new];
obj.isMorn = YES;
}else{
obj = [_mewMenuList safeObjectAtIndex1:index];
}
if(obj && self.delegate && [self.delegate respondsToSelector:@selector(mew_clickMainHomeHeadItemViewMenu:)]){
[self.delegate mew_clickMainHomeHeadItemViewMenu:obj];
}
}
-(void)installConstraints{
for (int i = 0; i < 5; i++) {
NetImageView *imageView = [self viewWithTag:100 + i];
if(i == 0){
[imageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(kGetScaleWidth(0));
make.leading.mas_equalTo(kGetScaleWidth(15));
make.width.mas_equalTo(kGetScaleWidth(171));
make.height.mas_equalTo(kGetScaleWidth(88));
}];
}else if(i == 1){
[imageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(kGetScaleWidth(0));
make.trailing.mas_equalTo(-kGetScaleWidth(15));
make.width.mas_equalTo(kGetScaleWidth(171));
make.height.mas_equalTo(kGetScaleWidth(88));
}];
}else if(i == 2){
[imageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(kGetScaleWidth(95));
make.leading.mas_equalTo(kGetScaleWidth(15));
make.width.mas_equalTo(kGetScaleWidth(113));
make.height.mas_equalTo(kGetScaleWidth(48));
}];
}else if(i == 3){
[imageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(kGetScaleWidth(95));
make.centerX.equalTo(self);
make.width.mas_equalTo(kGetScaleWidth(113));
make.height.mas_equalTo(kGetScaleWidth(48));
}];
}else{
[imageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(kGetScaleWidth(95));
make.trailing.mas_equalTo(-kGetScaleWidth(15));
make.width.mas_equalTo(kGetScaleWidth(113));
make.height.mas_equalTo(kGetScaleWidth(48));
}];
}
}
}
-(void)setMewMenuList:(NSArray *)mewMenuList{
_mewMenuList = mewMenuList;
if(_mewMenuList.count == 0){
return;
}
for (int i = 0; i < 4; i++) {
NetImageView *imageView = [self viewWithTag:100 + i];
imageView.hidden = YES;
MewMainHomeMenuInfoModel *obj = [_mewMenuList safeObjectAtIndex1:i];
if(obj != nil){
if(obj.posSeq == i+1){
imageView.hidden = NO;
imageView.imageUrl = obj.icon;
}
}
}
}
#pragma mark -
@end

View File

@@ -0,0 +1,29 @@
//
// MewMainHomePartyHeadView.h
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import <UIKit/UIKit.h>
#import "MewMainHomeBannerInfoModel.h"
#import "MewMainHomeMenuInfoModel.h"
#import "MewMainHomeGiftRecordModel.h"
@protocol MewMainHomePartyHeadViewDelegate <NSObject>
/// 点击banner
- (void)mewClickBannerAction:(MewMainHomeBannerInfoModel *_Nullable)info;
///点击顶部菜单
- (void)mew_clickMainHomeHeadViewMenu:(MewMainHomeMenuInfoModel *_Nullable)info;
///点击热说item
- (void)mew_clickMainHomeHeadScrollView:(MewMainHomeGiftRecordModel *_Nullable)model;
@end
NS_ASSUME_NONNULL_BEGIN
@interface MewMainHomePartyHeadView : UICollectionReusableView
@property(nonatomic,copy) NSArray *mewMenuList;
@property(nonatomic,copy) NSArray *mewGiftRecordList;
@property (nonatomic, copy) NSArray<MewMainHomeBannerInfoModel*> *mewBannerArray;
@property(nonatomic,weak) id<MewMainHomePartyHeadViewDelegate>delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,136 @@
//
// MewMainHomePartyHeadView.m
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import "MewMainHomePartyHeadView.h"
#import "MewMainHomePartyHeadItemView.h"
#import "MewMainHomePartyHeadHotView.h"
#import <SDCycleScrollView/SDCycleScrollView.h>
@interface MewMainHomePartyHeadView()<SDCycleScrollViewDelegate,MewMainHomePartyHeadItemViewDelegate,MewMainHomePartyHeadHotViewDelegate>
@property(nonatomic,strong) MewMainHomePartyHeadItemView *mewHeadItemView;
@property(nonatomic,strong) MewMainHomePartyHeadHotView *mewHeadHotView;
///
@property (nonatomic, strong) SDCycleScrollView *mewCycleScrollView;
@property(nonatomic,strong) UILabel *mewTitleView;
@end
@implementation MewMainHomePartyHeadView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
self.backgroundColor = [UIColor clearColor];
[self addSubview:self.mewHeadItemView];
[self addSubview:self.mewHeadHotView];
[self addSubview:self.mewCycleScrollView];
[self addSubview:self.mewTitleView];
}
-(void)installConstraints{
[self.mewHeadItemView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kGetScaleWidth(143));
make.leading.trailing.equalTo(self);
make.top.mas_equalTo(10);
}];
[self.mewHeadHotView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.mewHeadItemView.mas_bottom).mas_offset(kGetScaleWidth(12));
make.height.mas_equalTo(kGetScaleWidth(42));
make.leading.trailing.equalTo(self).inset(kGetScaleWidth(15));
}];
[self.mewCycleScrollView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.mewHeadHotView.mas_bottom).mas_offset(kGetScaleWidth(12));
make.leading.trailing.equalTo(self).inset(kGetScaleWidth(15));
make.height.mas_equalTo(kGetScaleWidth(80));
}];
[self.mewTitleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(kGetScaleWidth(19));
make.top.equalTo(self.mewCycleScrollView.mas_bottom).mas_offset(kGetScaleWidth(12));
}];
}
- (void)setMewMenuList:(NSArray *)mewMenuList{
_mewMenuList = mewMenuList;
self.mewHeadItemView.mewMenuList = mewMenuList;
}
-(void)setMewGiftRecordList:(NSArray *)mewGiftRecordList{
_mewGiftRecordList = mewGiftRecordList;
self.mewHeadHotView.mewGiftRecordList = _mewGiftRecordList;
}
-(void)setMewBannerArray:(NSArray<MewMainHomeBannerInfoModel *> *)mewBannerArray{
_mewBannerArray = mewBannerArray;
if (_mewBannerArray.count > 0) {
NSMutableArray * list = [NSMutableArray array];
[_mewBannerArray enumerateObjectsUsingBlock:^(MewMainHomeBannerInfoModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if (obj.bannerPic.length > 0) {
[list addObject:obj.bannerPic];
}
}];
if (list.count > 0) {
self.mewCycleScrollView.imageURLStringsGroup = list;
[self.mewCycleScrollView autoScroll];
}
}
}
#pragma mark- MewMainHomePartyHeadItemViewDelegate
- (void)mew_clickMainHomeHeadItemViewMenu:(MewMainHomeMenuInfoModel *_Nullable)info{
if(self.delegate && [self.delegate respondsToSelector:@selector(mew_clickMainHomeHeadViewMenu:)]){
[self.delegate mew_clickMainHomeHeadViewMenu:info];
};
}
#pragma mark- MewMainHomePartyHeadHotViewDelegate
- (void)mew_clickMainHomeHeadHotScrollView:(MewMainHomeGiftRecordModel *_Nullable)model{
if(self.delegate && [self.delegate respondsToSelector:@selector(mew_clickMainHomeHeadScrollView:)]){
[self.delegate mew_clickMainHomeHeadScrollView:model];
}
}
#pragma mark - SDCycleScrollViewDelegate
- (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index {
MewMainHomeBannerInfoModel * bannerInfo = [self.mewBannerArray safeObjectAtIndex1:index];
if (self.delegate && [self.delegate respondsToSelector:@selector(mewClickBannerAction:)]) {
[self.delegate mewClickBannerAction:bannerInfo];
}
}
#pragma mark -
- (MewMainHomePartyHeadItemView *)mewHeadItemView{
if(!_mewHeadItemView){
_mewHeadItemView = [[MewMainHomePartyHeadItemView alloc]initWithFrame:CGRectZero];
_mewHeadItemView.delegate = self;
}
return _mewHeadItemView;
}
- (MewMainHomePartyHeadHotView *)mewHeadHotView{
if(!_mewHeadHotView){
_mewHeadHotView = [[MewMainHomePartyHeadHotView alloc]initWithFrame:CGRectZero];
_mewHeadHotView.delegate = self;
}
return _mewHeadHotView;
}
- (SDCycleScrollView *)mewCycleScrollView {
if (!_mewCycleScrollView) {
_mewCycleScrollView = [[SDCycleScrollView alloc] init];
_mewCycleScrollView.backgroundColor = [UIColor clearColor];
_mewCycleScrollView.layer.cornerRadius = kGetScaleWidth(10);
_mewCycleScrollView.layer.masksToBounds = YES;
_mewCycleScrollView.bannerImageViewContentMode = UIViewContentModeScaleAspectFill;
_mewCycleScrollView.delegate = self;
_mewCycleScrollView.showPageControl = YES;
_mewCycleScrollView.autoScrollTimeInterval = 5.0;
_mewCycleScrollView.tag = 9999;
}
return _mewCycleScrollView;
}
- (UILabel *)mewTitleView{
if(!_mewTitleView){
_mewTitleView = [UILabel labelInitWithText:@"热门推荐" font:kFontMedium(16) textColor:UIColorFromRGB(0x2B2D33)];
}
return _mewTitleView;
}
@end

View File

@@ -0,0 +1,22 @@
//
// MewMainHomeMakeFriendVC.h
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import "MvpViewController.h"
#import <JXPagingView/JXPagerView.h>
@class MewMainHomeMakeFriendVC;
NS_ASSUME_NONNULL_BEGIN
@protocol MewMainHomeMakeFriendVCDelegate <NSObject>
-(void)mew_RefreshDataSucceed:(MewMainHomeMakeFriendVC*)VC;
@end
@interface MewMainHomeMakeFriendVC : MvpViewController<JXPagerViewListViewDelegate>
- (void)headerRefresh;
@property(nonatomic,weak) id<MewMainHomeMakeFriendVCDelegate>delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,54 @@
//
// MewMainHomeMakeFriendVC.m
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import "MewMainHomeMakeFriendVC.h"
@interface MewMainHomeMakeFriendVC ()
@property(nonatomic,strong) UICollectionView *mewCollectionView;
@property (nonatomic, copy) void(^scrollCallback)(UIScrollView *scrollView);
@end
@implementation MewMainHomeMakeFriendVC
- (BOOL)isHiddenNavBar {
return YES;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor clearColor];
[self installUI];
[self installConstraints];
}
-(void)installUI{
}
-(void)installConstraints{
}
- (void)headerRefresh{
}
#pragma mark - JXPagingViewListViewDelegate
- (UIView *)listView {
return self.view;
}
- (UIScrollView *)listScrollView {
return self.mewCollectionView;
}
- (void)listViewDidScrollCallback:(void (^)(UIScrollView *))callback {
self.scrollCallback = callback;
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if(self.scrollCallback){
self.scrollCallback(scrollView);
}
}
#pragma mark -
@end

View File

@@ -0,0 +1,25 @@
//
// MewMainHomePartyVC.h
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import "MvpViewController.h"
#import <JXPagingView/JXPagerView.h>
NS_ASSUME_NONNULL_BEGIN
@class MewMainHomePartyVC;
@protocol MewMainHomePartyVCDelegate <NSObject>
-(void)mew_RefreshSucceed:(MewMainHomePartyVC *)vc;
@end
@interface MewMainHomePartyVC : MvpViewController<JXPagerViewListViewDelegate>
- (void)headerRefresh;
@property(nonatomic,weak) id<MewMainHomePartyVCDelegate>delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,284 @@
//
// MewMainHomePartyVC.m
// xplan-ios
//
// Created by duoban on 2023/12/20.
//
#import "MewMainHomePartyVC.h"
#import "MewMainHomePartyHeadView.h"
#import "MewMainHomePartyCell.h"
#import "XPHomeListEmptyCollectionViewCell.h"
#import "MewHomeManager.h"
#import "MewMainHomeProtocol.h"
#import "XPWebViewController.h"
#import "XPRoomViewController.h"
#import "Api+MewHomeApi.h"
#import "MewMainHomeMenuDataModel.h"
#import "XPHomeRecommendOtherRoomView.h"
#import "Api+Room.h"
#import "XPLittleGameRoomOpenView.h"
@interface MewMainHomePartyVC ()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout,MewMainHomePartyHeadViewDelegate,XPHomeRecommendOtherRoomViewDelegate>
@property(nonatomic,strong) UICollectionView *mewCollectionView;
@property (nonatomic, copy) void(^scrollCallback)(UIScrollView *scrollView);
@property(nonatomic,strong) NSArray *mewDataList;
@property(nonatomic,copy) NSArray *mewMenuList;
@property (nonatomic, copy) NSArray*mewBannerArray;
@property(nonatomic,copy) NSArray *mewGiftRecordList;
@end
@implementation MewMainHomePartyVC
@synthesize parentMode = _parentMode;
- (BOOL)isHiddenNavBar {
return YES;
}
- (MewHomeManager *)createPresenter {
return [[MewHomeManager alloc] init];
}
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor clearColor];
[self installUI];
[self installConstraints];
[self headerRefresh];
}
-(void)installUI{
[self.view addSubview:self.mewCollectionView];
}
-(void)installConstraints{
[self.mewCollectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.view);
}];
}
- (void)headerRefresh {
if (_parentMode) return;
[self.presenter mew_requestMainHomeTopDataList];
[self.presenter mew_requestMainHomeGiftRecordList];
[self.presenter mew_requestMainHomePersonalRoomList:[AccountInfoStorage instance].getUid];
}
#pragma mark- MewMainHomeProtocol
///
-(void)mew_getHomeTopDataSuccess:(NSArray *)menuList{
self.mewMenuList = menuList;
[self.mewCollectionView reloadData];
}
///
-(void)mew_getHomeTopDataFail{
}
///
-(void)mew_getHomeGiftRecordListSuccess:(NSArray *)list{
self.mewGiftRecordList = list;
[self.mewCollectionView reloadData];
}
///
-(void)mew_getHomeGiftRecordListFail{
}
//
-(void)mew_getHomePersonalRoomListSuccess:(NSArray *)list{
self.mewDataList = list;
for (MewMainHomeHotRoomModel *obj in list) {
if(obj.isBanner){
self.mewBannerArray = obj.bannerVoList;
break;
}
}
if(self.delegate && [self.delegate respondsToSelector:@selector(mew_RefreshSucceed:)]){
[self.delegate mew_RefreshSucceed:self];
}
[self.mewCollectionView reloadData];
}
-(void)mew_getHomePersonalRoomListFail{
if(self.delegate && [self.delegate respondsToSelector:@selector(mew_RefreshSucceed:)]){
[self.delegate mew_RefreshSucceed:self];
}
}
#pragma mark - MewMainHomePartyHeadViewDelegate
/// banner
- (void)mewClickBannerAction:(MewMainHomeBannerInfoModel *_Nullable)info{
switch (info.skipType) {
case MewMainHomeBannerInfoModelSkipType_Room:
{
if (info.skipUri.length > 0) {
[XPRoomViewController openRoom:info.skipUri viewController:self];
}
}
break;
case MewMainHomeBannerInfoModelSkipType_Web:
{
XPWebViewController *vc = [[XPWebViewController alloc]init];
vc.url = info.skipUri;
[self.navigationController pushViewController:vc animated:YES];
}
break;
default:
break;
}
}
///item
- (void)mew_clickMainHomeHeadScrollView:(MewMainHomeGiftRecordModel *_Nullable)model{
if (model.roomUid.length > 0) {
[XPRoomViewController openRoom:model.roomUid fromNick:nil fromType:UserEnterRoomFromType_Home_Recommend fromUid:nil viewController:self];
}
}
///
- (void)mew_clickMainHomeHeadViewMenu:(MewMainHomeMenuInfoModel *_Nullable)info{
if(info.isMorn == YES){
return;
}
if (info.resourceType == MewMainHomeMenuInfoModelType_H5) {
XPWebViewController * webVC = [[ XPWebViewController alloc] init];
webVC.url = info.resourceContent;
[self.navigationController pushViewController:webVC animated:YES];
}else {
NSString * uid = [AccountInfoStorage instance].getUid;
if (info.hid.length > 0 && uid.length > 0) {
[Api mew_RequestMainHomePickResource:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
MewMainHomeMenuDataModel * sourceModel = [MewMainHomeMenuDataModel modelWithDictionary:data.data];
if (sourceModel.isPick) {
if([sourceModel.uid isEqualToString:[AccountInfoStorage instance].getUid]){
[self mew_clickMyRoom:sourceModel.uid];
return;
}
if (sourceModel.uid.integerValue > 0) {
[XPRoomViewController openRoom:sourceModel.uid fromNick:nil fromType:UserEnterRoomFromType_Home_Recommend fromUid:nil viewController:self];
}
} else {
XPHomeRecommendOtherRoomView * recommendView = [[XPHomeRecommendOtherRoomView alloc] init];
recommendView.delegate = self;
recommendView.roomInfo = sourceModel;
[TTPopup popupView:recommendView style:TTPopupStyleAlert];
}
} else {
[XCHUDTool showErrorWithMessage:msg];
}
} uid:uid rid:info.hid];
}
}
}
///
- (void)mew_clickMyRoom:(NSString *)roomUid{
[Api getRoomInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
RoomInfoModel * roomInfo = [RoomInfoModel modelWithJSON:data.data];
if (roomInfo.isReselect) {
XPLittleGameRoomOpenView * roomOpenView = [[XPLittleGameRoomOpenView alloc] init];
roomOpenView.roomInfo = roomInfo;
roomOpenView.currentVC = self;
[TTPopup popupView:roomOpenView style:TTPopupStyleActionSheet];
} else {
[XPRoomViewController openRoom:roomUid viewController:self];
}
} else {
[self showErrorToast:msg];
}
} uid:roomUid intoUid:roomUid];
}
#pragma mark - XPHomeRecommendOtherRoomViewDelegate
- (void)xPHomeRecommendOtherRoomView:(XPHomeRecommendOtherRoomView *)view didClickEnterRoom:(MewMainHomeMenuDataModel *)model {
if (model.uid.integerValue > 0) {
if([model.uid isEqualToString:[AccountInfoStorage instance].getUid]){
[self mew_clickMyRoom:model.uid];
return;
}
[XPRoomViewController openRoom:model.uid fromNick:nil fromType:UserEnterRoomFromType_Home_Recommend fromUid:nil viewController:self];
}
}
#pragma mark - JXPagingViewListViewDelegate
- (UIView *)listView {
return self.view;
}
- (UIScrollView *)listScrollView {
return self.mewCollectionView;
}
- (void)listViewDidScrollCallback:(void (^)(UIScrollView *))callback {
self.scrollCallback = callback;
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if(self.scrollCallback){
self.scrollCallback(scrollView);
}
}
#pragma mark- UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.mewDataList.count > 0 ? self.mewDataList.count : 1;
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section{
return CGSizeMake(0, kGetScaleWidth(341));
}
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
return self.mewDataList.count == 0 ? CGSizeMake(KScreenWidth, 150):CGSizeMake(kGetScaleWidth(168), kGetScaleWidth(164));
}
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
if(kind == UICollectionElementKindSectionHeader){
MewMainHomePartyHeadView *headView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader
withReuseIdentifier:NSStringFromClass([MewMainHomePartyHeadView class]) forIndexPath:indexPath];
headView.mewMenuList = self.mewMenuList;
headView.mewBannerArray = self.mewBannerArray;
headView.mewGiftRecordList = self.mewGiftRecordList;
headView.delegate = self;
return headView;
}
return nil;
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
if(self.mewDataList.count == 0){
XPHomeListEmptyCollectionViewCell * emptyCell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPHomeListEmptyCollectionViewCell class]) forIndexPath:indexPath];
return emptyCell;
}
MewMainHomePartyCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([MewMainHomePartyCell class]) forIndexPath:indexPath];
cell.roomModel = [self.mewDataList safeObjectAtIndex1:indexPath.row];
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
if(self.mewDataList.count == 0)return;
MewMainHomeHotRoomModel *roomModel = [self.mewDataList safeObjectAtIndex1:indexPath.row];
[XPRoomViewController openRoom:roomModel.uid viewController:self];
}
#pragma mark -
- (UICollectionView *)mewCollectionView{
if(!_mewCollectionView){
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];
layout.sectionInset = UIEdgeInsetsMake(0, kGetScaleWidth(15), kGetScaleWidth(15), kGetScaleWidth(15));
layout.minimumLineSpacing = kGetScaleWidth(8);
layout.minimumInteritemSpacing = kGetScaleWidth(8);
_mewCollectionView = [[UICollectionView alloc]initWithFrame:CGRectZero collectionViewLayout:layout];
_mewCollectionView.backgroundColor = [UIColor clearColor];
_mewCollectionView.delegate = self;
_mewCollectionView.dataSource = self;
[_mewCollectionView registerClass:[MewMainHomePartyHeadView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:NSStringFromClass([MewMainHomePartyHeadView class])];
[_mewCollectionView registerClass:[MewMainHomePartyCell class] forCellWithReuseIdentifier:NSStringFromClass([MewMainHomePartyCell class])];
[_mewCollectionView registerClass:[XPHomeListEmptyCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPHomeListEmptyCollectionViewCell class])];
}
return _mewCollectionView;
}
@end

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -6,17 +6,18 @@
//
#import <UIKit/UIKit.h>
#import "MewMainHomeMenuDataModel.h"
NS_ASSUME_NONNULL_BEGIN
@class XPHomeRecommendOtherRoomView, HomeMenuSourceModel;
@class XPHomeRecommendOtherRoomView;
@protocol XPHomeRecommendOtherRoomViewDelegate <NSObject>
///点击了进入房间
- (void)xPHomeRecommendOtherRoomView:(XPHomeRecommendOtherRoomView *)view didClickEnterRoom:(HomeMenuSourceModel *)model;
- (void)xPHomeRecommendOtherRoomView:(XPHomeRecommendOtherRoomView *)view didClickEnterRoom:(MewMainHomeMenuDataModel *)model;
@end
@interface XPHomeRecommendOtherRoomView : UIView
///房间信息
@property (nonatomic,strong) HomeMenuSourceModel *roomInfo;
@property (nonatomic,strong) MewMainHomeMenuDataModel *roomInfo;
///代理
@property (nonatomic,weak) id<XPHomeRecommendOtherRoomViewDelegate> delegate;
@end

View File

@@ -109,7 +109,7 @@
}
#pragma mark - Getters And Setters
- (void)setRoomInfo:(HomeMenuSourceModel *)roomInfo {
- (void)setRoomInfo:(MewMainHomeMenuDataModel *)roomInfo {
_roomInfo = roomInfo;
if (_roomInfo) {
self.roomTitleLabel.text = _roomInfo.title;

View File

@@ -202,7 +202,6 @@
case XPMineItemType_My_Room:
{
NSString* roomUid = [NSString stringWithFormat:@"%ld", (long)self.userInfo.uid];
[XPRoomViewController openRoom:roomUid viewController:self];
[Api getRoomInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
RoomInfoModel * roomInfo = [RoomInfoModel modelWithJSON:data.data];

View File

@@ -269,7 +269,7 @@
[self.topRankView mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(-46);
make.top.mas_equalTo(kStatusBarHeight+3);
make.width.mas_equalTo(29*3);
make.width.mas_equalTo(29);
make.height.mas_equalTo(37);
}];

View File

@@ -22,16 +22,16 @@
///
@property (nonatomic, strong) UIImageView *headwear1;
@property (nonatomic, strong) UIImageView *headwear2;
@property (nonatomic, strong) UIImageView *headwear3;
//@property (nonatomic, strong) UIImageView *headwear2;
//@property (nonatomic, strong) UIImageView *headwear3;
///
@property (nonatomic, strong) NetImageView *avatar1;
@property (nonatomic, strong) NetImageView *avatar2;
@property (nonatomic, strong) NetImageView *avatar3;
//@property (nonatomic, strong) NetImageView *avatar2;
//@property (nonatomic, strong) NetImageView *avatar3;
///
@property (nonatomic, strong) UILabel *value1;
@property (nonatomic, strong) UILabel *value2;
@property (nonatomic, strong) UILabel *value3;
//@property (nonatomic, strong) UILabel *value2;
//@property (nonatomic, strong) UILabel *value3;
@end
@@ -50,17 +50,17 @@
[self addSubview:self.bgView];
[self.bgView addSubview:self.headwear1];
[self.bgView addSubview:self.headwear2];
[self.bgView addSubview:self.headwear3];
// [self.bgView addSubview:self.headwear2];
// [self.bgView addSubview:self.headwear3];
[self.headwear1 addSubview:self.avatar1];
[self.headwear1 addSubview:self.value1];
[self.headwear2 addSubview:self.avatar2];
[self.headwear2 addSubview:self.value2];
[self.headwear3 addSubview:self.avatar3];
[self.headwear3 addSubview:self.value3];
// [self.headwear2 addSubview:self.avatar2];
// [self.headwear2 addSubview:self.value2];
//
// [self.headwear3 addSubview:self.avatar3];
// [self.headwear3 addSubview:self.value3];
}
@@ -85,37 +85,37 @@
make.size.mas_equalTo(CGSizeMake(22, 8));
}];
[self.headwear2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.headwear1);
make.left.mas_equalTo(self.headwear1.mas_right);
make.size.mas_equalTo(self.headwear1);
}];
[self.avatar2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(self.avatar1);
make.centerX.mas_equalTo(2.5);
make.centerY.mas_equalTo(4.5);
}];
[self.value2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.headwear2.mas_bottom);
make.centerX.mas_equalTo(3);
make.size.mas_equalTo(self.value1);
}];
[self.headwear3 mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.headwear1);
make.left.mas_equalTo(self.headwear2.mas_right);
make.size.mas_equalTo(self.headwear1);
}];
[self.avatar3 mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(self.avatar1);
make.centerX.mas_equalTo(2.5);
make.centerY.mas_equalTo(4.5);
}];
[self.value3 mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.headwear2.mas_bottom);
make.centerX.mas_equalTo(3);
make.size.mas_equalTo(self.value1);
}];
// [self.headwear2 mas_makeConstraints:^(MASConstraintMaker *make) {
// make.top.mas_equalTo(self.headwear1);
// make.left.mas_equalTo(self.headwear1.mas_right);
// make.size.mas_equalTo(self.headwear1);
// }];
// [self.avatar2 mas_makeConstraints:^(MASConstraintMaker *make) {
// make.size.mas_equalTo(self.avatar1);
// make.centerX.mas_equalTo(2.5);
// make.centerY.mas_equalTo(4.5);
// }];
// [self.value2 mas_makeConstraints:^(MASConstraintMaker *make) {
// make.centerY.mas_equalTo(self.headwear2.mas_bottom);
// make.centerX.mas_equalTo(3);
// make.size.mas_equalTo(self.value1);
// }];
//
// [self.headwear3 mas_makeConstraints:^(MASConstraintMaker *make) {
// make.top.mas_equalTo(self.headwear1);
// make.left.mas_equalTo(self.headwear2.mas_right);
// make.size.mas_equalTo(self.headwear1);
// }];
// [self.avatar3 mas_makeConstraints:^(MASConstraintMaker *make) {
// make.size.mas_equalTo(self.avatar1);
// make.centerX.mas_equalTo(2.5);
// make.centerY.mas_equalTo(4.5);
// }];
// [self.value3 mas_makeConstraints:^(MASConstraintMaker *make) {
// make.centerY.mas_equalTo(self.headwear2.mas_bottom);
// make.centerX.mas_equalTo(3);
// make.size.mas_equalTo(self.value1);
// }];
}
@@ -141,23 +141,23 @@
self.value1.text = @"0";
}
XPRoomRankListModel *model2 = [rankList safeObjectAtIndex1:1];
if (model2) {
self.avatar2.imageUrl = model2.avatar;
self.value2.text = [self getAmountText:model2.goldAmount];
}else{
self.avatar2.imageUrl = @"";
self.value2.text = @"0";
}
XPRoomRankListModel *model3 = [rankList safeObjectAtIndex1:2];
if (model3) {
self.avatar3.imageUrl = model3.avatar;
self.value3.text = [self getAmountText:model3.goldAmount];
}else{
self.avatar3.imageUrl = @"";
self.value3.text = @"0";
}
// XPRoomRankListModel *model2 = [rankList safeObjectAtIndex1:1];
// if (model2) {
// self.avatar2.imageUrl = model2.avatar;
// self.value2.text = [self getAmountText:model2.goldAmount];
// }else{
// self.avatar2.imageUrl = @"";
// self.value2.text = @"0";
// }
//
// XPRoomRankListModel *model3 = [rankList safeObjectAtIndex1:2];
// if (model3) {
// self.avatar3.imageUrl = model3.avatar;
// self.value3.text = [self getAmountText:model3.goldAmount];
// }else{
// self.avatar3.imageUrl = @"";
// self.value3.text = @"0";
// }
}
- (UIView *)bgView {
@@ -175,21 +175,21 @@
return _headwear1;
}
- (UIImageView *)headwear2 {
if (!_headwear2) {
_headwear2 = [[UIImageView alloc] init];
_headwear2.image = [UIImage imageNamed:@"room_rank_headwear_second"];
}
return _headwear2;
}
- (UIImageView *)headwear3 {
if (!_headwear3) {
_headwear3 = [[UIImageView alloc] init];
_headwear3.image = [UIImage imageNamed:@"room_rank_headwear_third"];
}
return _headwear3;
}
//- (UIImageView *)headwear2 {
// if (!_headwear2) {
// _headwear2 = [[UIImageView alloc] init];
// _headwear2.image = [UIImage imageNamed:@"room_rank_headwear_second"];
// }
// return _headwear2;
//}
//
//- (UIImageView *)headwear3 {
// if (!_headwear3) {
// _headwear3 = [[UIImageView alloc] init];
// _headwear3.image = [UIImage imageNamed:@"room_rank_headwear_third"];
// }
// return _headwear3;
//}
- (NetImageView *)avatar1 {
if (!_avatar1) {
@@ -202,27 +202,27 @@
return _avatar1;
}
- (NetImageView *)avatar2 {
if (!_avatar2) {
NetImageConfig *config = [[NetImageConfig alloc] init];
config.placeHolder = [UIImageConstant defaultEmptyAvatarPlaceholder];
_avatar2 = [[NetImageView alloc] initWithConfig:config];
_avatar2.layer.cornerRadius = 11;
_avatar2.layer.masksToBounds = YES;
}
return _avatar2;
}
//- (NetImageView *)avatar2 {
// if (!_avatar2) {
// NetImageConfig *config = [[NetImageConfig alloc] init];
// config.placeHolder = [UIImageConstant defaultEmptyAvatarPlaceholder];
// _avatar2 = [[NetImageView alloc] initWithConfig:config];
// _avatar2.layer.cornerRadius = 11;
// _avatar2.layer.masksToBounds = YES;
// }
// return _avatar2;
//}
- (NetImageView *)avatar3 {
if (!_avatar3) {
NetImageConfig *config = [[NetImageConfig alloc] init];
config.placeHolder = [UIImageConstant defaultEmptyAvatarPlaceholder];
_avatar3 = [[NetImageView alloc] initWithConfig:config];
_avatar3.layer.cornerRadius = 11;
_avatar3.layer.masksToBounds = YES;
}
return _avatar3;
}
//- (NetImageView *)avatar3 {
// if (!_avatar3) {
// NetImageConfig *config = [[NetImageConfig alloc] init];
// config.placeHolder = [UIImageConstant defaultEmptyAvatarPlaceholder];
// _avatar3 = [[NetImageView alloc] initWithConfig:config];
// _avatar3.layer.cornerRadius = 11;
// _avatar3.layer.masksToBounds = YES;
// }
// return _avatar3;
//}
- (UILabel *)value1 {
if (!_value1) {
@@ -238,33 +238,33 @@
return _value1;
}
- (UILabel *)value2 {
if (!_value2) {
_value2 = [[UILabel alloc] init];
_value2.textColor = [ThemeColor colorWithHexString:@"#2E527A"];
_value2.textAlignment = NSTextAlignmentCenter;
_value2.text = @"0";
_value2.font = [UIFont systemFontOfSize:7 weight:UIFontWeightMedium];
_value2.backgroundColor = [ThemeColor colorWithHexString:@"#91C8FA"];
_value2.layer.cornerRadius = 4;
_value2.clipsToBounds = YES;
}
return _value2;
}
- (UILabel *)value3 {
if (!_value3) {
_value3 = [[UILabel alloc] init];
_value3.textColor = [ThemeColor colorWithHexString:@"#824B2C"];
_value3.textAlignment = NSTextAlignmentCenter;
_value3.text = @"0";
_value3.font = [UIFont systemFontOfSize:7 weight:UIFontWeightMedium];
_value3.backgroundColor = [ThemeColor colorWithHexString:@"#F0A47B"];
_value3.layer.cornerRadius = 4;
_value3.clipsToBounds = YES;
}
return _value3;
}
//- (UILabel *)value2 {
// if (!_value2) {
// _value2 = [[UILabel alloc] init];
// _value2.textColor = [ThemeColor colorWithHexString:@"#2E527A"];
// _value2.textAlignment = NSTextAlignmentCenter;
// _value2.text = @"0";
// _value2.font = [UIFont systemFontOfSize:7 weight:UIFontWeightMedium];
// _value2.backgroundColor = [ThemeColor colorWithHexString:@"#91C8FA"];
// _value2.layer.cornerRadius = 4;
// _value2.clipsToBounds = YES;
// }
// return _value2;
//}
//
//- (UILabel *)value3 {
// if (!_value3) {
// _value3 = [[UILabel alloc] init];
// _value3.textColor = [ThemeColor colorWithHexString:@"#824B2C"];
// _value3.textAlignment = NSTextAlignmentCenter;
// _value3.text = @"0";
// _value3.font = [UIFont systemFontOfSize:7 weight:UIFontWeightMedium];
// _value3.backgroundColor = [ThemeColor colorWithHexString:@"#F0A47B"];
// _value3.layer.cornerRadius = 4;
// _value3.clipsToBounds = YES;
// }
// return _value3;
//}
@end

View File

@@ -57,7 +57,7 @@
- (void)initSubViewConstraints {
[self mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(80);
make.width.mas_equalTo(100);
make.bottom.mas_equalTo(self.stackView.mas_bottom);
}];

View File

@@ -591,6 +591,7 @@
///
- (void)notifyChangeTextHitState:(NSString *)keyWord {
if(self.DrawSomethingKeyWord == nil)return;
if (keyWord.length && [keyWord containsString:self.DrawSomethingKeyWord]) {
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@(true), @"isHit", self.DrawSomethingKeyWord, @"keyWord", self.DrawSomethingKeyWord, @"text", nil];
[self notifyStateChange:APP_COMMON_SELF_TEXT_HIT dataJson:[SudCommon dictionaryToJson:dic]];

View File

@@ -146,6 +146,10 @@
self.pickButton.hidden = YES;
if (position == -1) {return;}
if (userInfo) {
self.pickButton.hidden = NO;
[self configPickTitle:@"未选择" backmImageName:@"room_mode_dating_not_select"];
}
///
if (roomInfo.blindDateState == RoomPlayDateingType_Pick) {
///

View File

@@ -160,6 +160,7 @@
[[NIMSDK sharedSDK].chatroomManager fetchChatroomQueue:[NSString stringWithFormat:@"%ld", (long)roomInfo.roomId] completion:^(NSError * _Nullable error, NSArray<NSDictionary<NSString *,NSString *> *> * _Nullable info) {
if (error) return;
BOOL ownerRTCChange = NO;
MicroQueueModel *meQuence = nil;
for (NSDictionary *item in info) {
UserInfoModel *userInfo = [UserInfoModel modelWithJSON:item.allValues.firstObject];
NSString *position = item.allKeys.firstObject;
@@ -167,17 +168,32 @@
sequence.userInfo = userInfo;
if (userInfo.uid == [AccountInfoStorage instance].getUid.integerValue) {
ownerRTCChange = YES;
meQuence = sequence;
}
}
[self microQueueUpdated:ownerRTCChange];
[self.hostDelegate onMicroQueueUpdate:self.micQueue];
self.hadGetQueueInfoSuccess = YES;
if(meQuence != nil){
[self enterRoomUpMicWith:meQuence];
}
}];
//
[self initGiftValue];
}
///
-(void)enterRoomUpMicWith:(MicroQueueModel *)sequence{
RoomInfoModel * roomInfo =self.hostDelegate.getRoomInfo;
NSString * roomId = [NSString stringWithFormat:@"%ld", roomInfo.roomId];
NIMChatroomQueueUpdateRequest *request = [[NIMChatroomQueueUpdateRequest alloc]init];
request.key = @(sequence.microState.position).stringValue;
request.value = [sequence.userInfo toJSONString];
request.roomId = roomId;
request.transient = YES;
[[NIMSDK sharedSDK].chatroomManager updateChatroomQueueObject:request completion:^(NSError * _Nullable error) {
}];
}
- (void)initGiftValue{
RoomInfoModel* roomInfo = self.hostDelegate.getRoomInfo;
//
@@ -608,6 +624,30 @@
[self initGiftValue];
}
}
break;
case NIMChatroomEventTypeEnter:
{
///
RoomInfoModel * roomInfo =self.hostDelegate.getRoomInfo;
NSString * roomId = [NSString stringWithFormat:@"%ld", roomInfo.roomId];
for (MicroQueueModel *sequence in self.micQueue.allValues) {
if ([AccountInfoStorage instance].getUid.integerValue == sequence.userInfo.uid) {
NIMChatroomQueueUpdateRequest *request = [[NIMChatroomQueueUpdateRequest alloc]init];
NSMutableDictionary *userInfo = [[NSMutableDictionary alloc]initWithDictionary:[sequence.userInfo toJSONObject]];
[userInfo setValue:@(YES) forKey:@"isNoProhibitMic"];
request.key = @(sequence.microState.position).stringValue;
request.value = [userInfo toJSONString];
request.roomId = roomId;
request.transient = YES;
[[NIMSDK sharedSDK].chatroomManager updateChatroomQueueObject:request completion:^(NSError * _Nullable error) {
}];
break;
}
}
}
break;
case NIMChatroomEventTypeExit:

View File

@@ -26,7 +26,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, copy) NSString *version;
@property (nonatomic, copy) NSString *zipMd5;
@property (nonatomic, strong) NSURL *zipUrl;
@property(nonatomic,copy) NSString *defaultTab;
///添加心跳定时器
- (void)addHeartBratTimer;

View File

@@ -61,6 +61,7 @@
///
[[XPRoomFaceTool shareFaceTool] downFaceData];
}
[ClientConfig shareConfig].defaultTab = [NSString stringWithFormat:@"%@",initData[@"defaultTab"]];
NSString *trtcAppId = [NSString stringWithFormat:@"%@",initData[@"trtcAppId"]];
NSString *curTtcKey = [[NSUserDefaults standardUserDefaults]valueForKey:@"kTrtcAppId"];
if(curTtcKey == nil){

View File

@@ -76,7 +76,7 @@
#import "XPReceiveRedPacketView.h"
#import "XPRoomYearActivityView.h"
#import "XPUpgradeView.h"
#import "XPNewHomeViewController.h"
#import "MewMainHomeViewController.h"
#import "XPNewMomentsViewController.h"
#import "XPPartyViewController.h"
#import "XPMessageViewController.h"
@@ -629,7 +629,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
msg = [[XPMessageViewController alloc] init];
me = [[XPMineViewController alloc] init];
party = [[XPPartyViewController alloc]init];
home = [[XPNewHomeViewController alloc] init];
home = [[MewMainHomeViewController alloc] init];
// monents = [[XPMonentsViewController alloc] init];
monents = [[XPNewMomentsViewController alloc] init];
} else {