首页派对页面改造
@@ -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 */,
|
||||
|
6
xplan-ios/Assets.xcassets/Mew/Contents.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
6
xplan-ios/Assets.xcassets/Mew/MewHome/Contents.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
22
xplan-ios/Assets.xcassets/Mew/MewHome/mew_home_nav_click_rank.imageset/Contents.json
vendored
Normal 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
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 4.2 KiB |
22
xplan-ios/Assets.xcassets/Mew/MewHome/mew_home_nav_click_room.imageset/Contents.json
vendored
Normal 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
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 596 B |
After Width: | Height: | Size: 864 B |
22
xplan-ios/Assets.xcassets/Mew/MewHome/mew_home_nav_search_icon.imageset/Contents.json
vendored
Normal 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
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 530 B |
After Width: | Height: | Size: 849 B |
22
xplan-ios/Assets.xcassets/Mew/MewHome/mew_home_party_head_hot_arrow.imageset/Contents.json
vendored
Normal 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
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 185 B |
After Width: | Height: | Size: 280 B |
22
xplan-ios/Assets.xcassets/Mew/MewHome/mew_home_party_head_hot_bg.imageset/Contents.json
vendored
Normal 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
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 7.9 KiB |
After Width: | Height: | Size: 21 KiB |
22
xplan-ios/Assets.xcassets/Mew/MewHome/mew_home_party_head_morn.imageset/Contents.json
vendored
Normal 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
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 12 KiB |
22
xplan-ios/Assets.xcassets/Mew/MewHome/mew_home_top_bg_image.imageset/Contents.json
vendored
Normal 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
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Mew/MewHome/mew_home_top_bg_image.imageset/mew_home_top_bg_image@2x.png
vendored
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
xplan-ios/Assets.xcassets/Mew/MewHome/mew_home_top_bg_image.imageset/mew_home_top_bg_image@3x.png
vendored
Normal file
After Width: | Height: | Size: 74 KiB |
22
xplan-ios/Assets.xcassets/Mew/MewHome/mew_home_top_choose_icon.imageset/Contents.json
vendored
Normal 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
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 969 B |
After Width: | Height: | Size: 1.6 KiB |
22
xplan-ios/Assets.xcassets/Mew/MewHome/mew_main_home_party_cell_hot.imageset/Contents.json
vendored
Normal 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
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 815 B |
After Width: | Height: | Size: 1.2 KiB |
22
xplan-ios/Assets.xcassets/Mew/MewHome/mew_main_home_party_cell_mask.imageset/Contents.json
vendored
Normal 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
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 3.2 KiB |
22
xplan-ios/Assets.xcassets/Mew/MewHome/mew_main_home_party_cell_pk.imageset/Contents.json
vendored
Normal 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
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 3.3 KiB |
@@ -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 */
|
||||
|
@@ -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
|
@@ -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
|
35
xplan-ios/Main/Home/View/Mew/MewHomeApi/Api+MewHomeApi.h
Normal 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
|
44
xplan-ios/Main/Home/View/Mew/MewHomeApi/Api+MewHomeApi.m
Normal 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
|
20
xplan-ios/Main/Home/View/Mew/MewHomeManager/MewHomeManager.h
Normal 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
|
45
xplan-ios/Main/Home/View/Mew/MewHomeManager/MewHomeManager.m
Normal 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
|
@@ -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
|
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// MewMainHomeBannerInfoModel.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by duoban on 2023/12/20.
|
||||
//
|
||||
|
||||
#import "MewMainHomeBannerInfoModel.h"
|
||||
|
||||
@implementation MewMainHomeBannerInfoModel
|
||||
|
||||
@end
|
@@ -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
|
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// MewMainHomeGiftRecordModel.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by duoban on 2023/12/21.
|
||||
//
|
||||
|
||||
#import "MewMainHomeGiftRecordModel.h"
|
||||
|
||||
@implementation MewMainHomeGiftRecordModel
|
||||
|
||||
@end
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// MewMainHomeMenuDataModel.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by duoban on 2023/12/21.
|
||||
//
|
||||
|
||||
#import "MewMainHomeMenuDataModel.h"
|
||||
|
||||
@implementation MewMainHomeMenuDataModel
|
||||
|
||||
@end
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
284
xplan-ios/Main/Home/View/Mew/MewHomeView/MewMainHomePartyVC.m
Normal 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
|
BIN
xplan-ios/Main/Home/View/Mew/mew_main_home_heat.gif
Normal file
After Width: | Height: | Size: 3.1 KiB |
@@ -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
|
||||
|
@@ -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;
|
||||
|
@@ -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];
|
||||
|
@@ -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);
|
||||
}];
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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);
|
||||
}];
|
||||
|
||||
|
@@ -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]];
|
||||
|
@@ -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) {
|
||||
///如果我是主持的话 主持人视角 可以看到麦上用户的选择情况,精准到选择对象
|
||||
|
@@ -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:
|
||||
|
@@ -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;
|
||||
|
@@ -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){
|
||||
|
@@ -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 {
|
||||
|