重构房间更多菜单功能,创建多个 Action 类以优化代码结构和可维护性。新增 XPRoomMoreMenuAction、XPRoomMoreMenuActionContext、XPRoomMoreMenuActionFactory、XPGiftEffectAction、XPRoomSettingAction 和 XPSocialAction 类,整合新架构至 XPRoomMoreMenuViewController,提升功能扩展性和测试能力。同时,更新数据源创建逻辑,简化主控制器的复杂度。

This commit is contained in:
edwinQQQ
2025-08-29 18:15:35 +08:00
parent 8c024c0ec1
commit 406cf003f5
22 changed files with 1136 additions and 213 deletions

View File

@@ -575,6 +575,13 @@
4CD15D922D7EC2AC00D9279F /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 23E56B3B2B03564B00C8DAC9 /* CoreTelephony.framework */; };
4CD15D952D7FE9E400D9279F /* LoginTypesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD15D942D7FE9E400D9279F /* LoginTypesViewController.m */; };
4CD47BB52E61514900BCDA46 /* StageViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD47BB42E61514900BCDA46 /* StageViewManager.m */; };
4CD47BBE2E619F1700BCDA46 /* XPRoomMoreMenuAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD47BBB2E619F1700BCDA46 /* XPRoomMoreMenuAction.m */; };
4CD47BBF2E619F1700BCDA46 /* XPRoomMoreMenuActionContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD47BBD2E619F1700BCDA46 /* XPRoomMoreMenuActionContext.m */; };
4CD47BC22E61A32C00BCDA46 /* XPRoomMoreMenuActionTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD47BC12E61A32C00BCDA46 /* XPRoomMoreMenuActionTest.m */; };
4CD47BC42E61A4E000BCDA46 /* XPGiftEffectAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD47BC32E61A4E000BCDA46 /* XPGiftEffectAction.m */; };
4CD47BC62E61A4FA00BCDA46 /* XPRoomMoreMenuActionFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD47BC52E61A4FA00BCDA46 /* XPRoomMoreMenuActionFactory.m */; };
4CD47BC92E61A78D00BCDA46 /* XPRoomSettingAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD47BC82E61A78D00BCDA46 /* XPRoomSettingAction.m */; };
4CD47BCC2E61ADE400BCDA46 /* XPSocialAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD47BCB2E61ADE400BCDA46 /* XPSocialAction.m */; };
4CD6FF662D673A5C00262AB7 /* AgentMessageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD6FF652D673A5C00262AB7 /* AgentMessageModel.m */; };
4CD6FF692D673F7F00262AB7 /* AgentMessageTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD6FF682D673F7F00262AB7 /* AgentMessageTableViewCell.m */; };
4CE3A9462D22754C003F0796 /* RechargeUserModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE3A9452D22754C003F0796 /* RechargeUserModel.m */; };
@@ -2812,6 +2819,20 @@
4CD15D942D7FE9E400D9279F /* LoginTypesViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LoginTypesViewController.m; sourceTree = "<group>"; };
4CD47BB32E61514900BCDA46 /* StageViewManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StageViewManager.h; sourceTree = "<group>"; };
4CD47BB42E61514900BCDA46 /* StageViewManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StageViewManager.m; sourceTree = "<group>"; };
4CD47BB62E619F0B00BCDA46 /* XPGiftEffectAction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGiftEffectAction.h; sourceTree = "<group>"; };
4CD47BB82E619F0B00BCDA46 /* XPRoomMoreMenuActionFactory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMoreMenuActionFactory.h; sourceTree = "<group>"; };
4CD47BBA2E619F1700BCDA46 /* XPRoomMoreMenuAction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMoreMenuAction.h; sourceTree = "<group>"; };
4CD47BBB2E619F1700BCDA46 /* XPRoomMoreMenuAction.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMoreMenuAction.m; sourceTree = "<group>"; };
4CD47BBC2E619F1700BCDA46 /* XPRoomMoreMenuActionContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMoreMenuActionContext.h; sourceTree = "<group>"; };
4CD47BBD2E619F1700BCDA46 /* XPRoomMoreMenuActionContext.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMoreMenuActionContext.m; sourceTree = "<group>"; };
4CD47BC02E61A32C00BCDA46 /* XPRoomMoreMenuActionTest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMoreMenuActionTest.h; sourceTree = "<group>"; };
4CD47BC12E61A32C00BCDA46 /* XPRoomMoreMenuActionTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMoreMenuActionTest.m; sourceTree = "<group>"; };
4CD47BC32E61A4E000BCDA46 /* XPGiftEffectAction.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGiftEffectAction.m; sourceTree = "<group>"; };
4CD47BC52E61A4FA00BCDA46 /* XPRoomMoreMenuActionFactory.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMoreMenuActionFactory.m; sourceTree = "<group>"; };
4CD47BC72E61A78D00BCDA46 /* XPRoomSettingAction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomSettingAction.h; sourceTree = "<group>"; };
4CD47BC82E61A78D00BCDA46 /* XPRoomSettingAction.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomSettingAction.m; sourceTree = "<group>"; };
4CD47BCA2E61ADE400BCDA46 /* XPSocialAction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPSocialAction.h; sourceTree = "<group>"; };
4CD47BCB2E61ADE400BCDA46 /* XPSocialAction.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPSocialAction.m; sourceTree = "<group>"; };
4CD6FF642D673A5C00262AB7 /* AgentMessageModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AgentMessageModel.h; sourceTree = "<group>"; };
4CD6FF652D673A5C00262AB7 /* AgentMessageModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AgentMessageModel.m; sourceTree = "<group>"; };
4CD6FF672D673F7F00262AB7 /* AgentMessageTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AgentMessageTableViewCell.h; sourceTree = "<group>"; };
@@ -6916,6 +6937,28 @@
path = Share;
sourceTree = "<group>";
};
4CD47BB72E619F0B00BCDA46 /* Action */ = {
isa = PBXGroup;
children = (
4CD47BCA2E61ADE400BCDA46 /* XPSocialAction.h */,
4CD47BCB2E61ADE400BCDA46 /* XPSocialAction.m */,
4CD47BB62E619F0B00BCDA46 /* XPGiftEffectAction.h */,
4CD47BC32E61A4E000BCDA46 /* XPGiftEffectAction.m */,
4CD47BC72E61A78D00BCDA46 /* XPRoomSettingAction.h */,
4CD47BC82E61A78D00BCDA46 /* XPRoomSettingAction.m */,
);
path = Action;
sourceTree = "<group>";
};
4CD47BB92E619F0B00BCDA46 /* Factory */ = {
isa = PBXGroup;
children = (
4CD47BB82E619F0B00BCDA46 /* XPRoomMoreMenuActionFactory.h */,
4CD47BC52E61A4FA00BCDA46 /* XPRoomMoreMenuActionFactory.m */,
);
path = Factory;
sourceTree = "<group>";
};
4CE746C92D929D500094E496 /* Common */ = {
isa = PBXGroup;
children = (
@@ -11239,11 +11282,15 @@
E8DEC9962764A51F0078CB70 /* MoreView */ = {
isa = PBXGroup;
children = (
4CD47BB72E619F0B00BCDA46 /* Action */,
4CD47BB92E619F0B00BCDA46 /* Factory */,
E8DEC99B2764A5620078CB70 /* Model */,
E8DEC99A2764A55C0078CB70 /* Api */,
E8DEC9992764A54C0078CB70 /* View */,
E8DEC9982764A5400078CB70 /* Presenter */,
E8DEC9972764A5340078CB70 /* Protocol */,
4CD47BC02E61A32C00BCDA46 /* XPRoomMoreMenuActionTest.h */,
4CD47BC12E61A32C00BCDA46 /* XPRoomMoreMenuActionTest.m */,
);
path = MoreView;
sourceTree = "<group>";
@@ -11291,6 +11338,10 @@
E8DEC99B2764A5620078CB70 /* Model */ = {
isa = PBXGroup;
children = (
4CD47BBA2E619F1700BCDA46 /* XPRoomMoreMenuAction.h */,
4CD47BBB2E619F1700BCDA46 /* XPRoomMoreMenuAction.m */,
4CD47BBC2E619F1700BCDA46 /* XPRoomMoreMenuActionContext.h */,
4CD47BBD2E619F1700BCDA46 /* XPRoomMoreMenuActionContext.m */,
E8DEC99F2764A5D20078CB70 /* XPRoomMoreItemModel.h */,
E8DEC9A02764A5D20078CB70 /* XPRoomMoreItemModel.m */,
E8412F9727799249006E1101 /* InviteFansModel.h */,
@@ -12274,6 +12325,7 @@
E81C279826EB3AC40031E639 /* LoginForgetPasswordProtocol.h in Sources */,
9BD8D4E328911E9900AE03FF /* XPMineCollectRoomListViewController.m in Sources */,
2331C1732A5EB71000E1D940 /* XPNoblePrivilegeCell.m in Sources */,
4CD47BC22E61A32C00BCDA46 /* XPRoomMoreMenuActionTest.m in Sources */,
9B2EA7C628041EFC00ED17BF /* XPAnchorPkPanelView.m in Sources */,
4C6E1F752CEAEC3C0073D0A3 /* ShoppingMallTagView.m in Sources */,
E8A88D2D27E81E8700CA8837 /* RoomPKChooseUserModel.m in Sources */,
@@ -12381,6 +12433,7 @@
E8A3538528FD67320014A784 /* GiftLuckyBroadcastModel.m in Sources */,
9B4C5B86292F81FA00CEA41B /* XPSessionListFansPartyModel.m in Sources */,
547080DB2CD0EEB4009879E5 /* CustomRoomBGContentViewController.m in Sources */,
4CD47BC42E61A4E000BCDA46 /* XPGiftEffectAction.m in Sources */,
237B94BD2A984DA7007853E3 /* XPNobleTrumpetModel.m in Sources */,
E82325F5274E2E09003A3332 /* XPUserCardPresenter.m in Sources */,
236B2E4C2AA07D06003967A8 /* XPLittleGameRoomOpenView.m in Sources */,
@@ -12456,6 +12509,7 @@
23E9E9A42A80DEAF00B792F2 /* XPMineGuildPersonalBillRecordContentView.m in Sources */,
E8A3539428FE605F0014A784 /* WishGiftUserModel.m in Sources */,
E81C1B262770663B0020D1E4 /* XPArrangeMicTableViewCell.m in Sources */,
4CD47BCC2E61ADE400BCDA46 /* XPSocialAction.m in Sources */,
238B37D22AC55A2C00BFC9D5 /* XPTreasureFairyExchangeView.m in Sources */,
E81A652B2834E4F600F55894 /* XPMomentsAttentionViewController.m in Sources */,
E8E20BEC2816A5B90033B688 /* XPMineBlackListViewController.m in Sources */,
@@ -12473,6 +12527,7 @@
23D321D22ADD0EBC006B259C /* PIRoomPhotoAlbumItemPresenter.m in Sources */,
4CFBE0CA2DAD085700A923AF /* BravoGiftTabInfomationModel.m in Sources */,
239D0FD22C046EAD002977CE /* MSTabbarRoomGameView.m in Sources */,
4CD47BC62E61A4FA00BCDA46 /* XPRoomMoreMenuActionFactory.m in Sources */,
4C864A052D561E1D00191AE0 /* LuckyPackageLogicManager.m in Sources */,
9BFE992E288142FD009DA429 /* RoomClassifyModel.m in Sources */,
2331C1B72A60F32D00E1D940 /* XPCandyRankContainerView.m in Sources */,
@@ -12847,6 +12902,7 @@
E880B3A9278BD82300A83B0D /* AcrossRoomPKInfoModel.m in Sources */,
9B88E20F28C6305400D26FBA /* XPRoomSearchRecordViewController.m in Sources */,
E84A2E892A527DF800D6AF8A /* XPIncomeRecordVC.m in Sources */,
4CD47BC92E61A78D00BCDA46 /* XPRoomSettingAction.m in Sources */,
E82D5C7A276B25D100858D6D /* SpriteSheetImageManager.m in Sources */,
E85E7BB02A4EC99300B6D00A /* Api+GiveDiamond.m in Sources */,
E874B88B27215EAF003954B9 /* MicroQueueModel.m in Sources */,
@@ -13284,6 +13340,8 @@
238B37BB2AC55A2C00BFC9D5 /* XPTreasureFairySummonView.m in Sources */,
236B2E4B2AA07D06003967A8 /* XPLittleGameRoomListView.m in Sources */,
9BE01AD428927E9C00B50299 /* XPDressUpShopListViewController.m in Sources */,
4CD47BBE2E619F1700BCDA46 /* XPRoomMoreMenuAction.m in Sources */,
4CD47BBF2E619F1700BCDA46 /* XPRoomMoreMenuActionContext.m in Sources */,
239D0FED2C057362002977CE /* Api+MSRoomGameApi.m in Sources */,
9B41D36E282649230048C588 /* XPWeekStarRankUserModel.m in Sources */,
E824545926F5E65900BE8163 /* XPMineVerifIdentityView.m in Sources */,