From c41df5caa043328d706456f7bd1eb5e8aedf36b6 Mon Sep 17 00:00:00 2001 From: edwinQQQ Date: Mon, 1 Sep 2025 16:55:13 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E4=B8=8E=E5=BF=83=E6=84=BF?= =?UTF-8?q?=E7=A4=BC=E7=89=A9=E7=9B=B8=E5=85=B3=E7=9A=84=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=92=8C=E5=BC=95=E7=94=A8=EF=BC=8C=E7=AE=80=E5=8C=96=E6=88=BF?= =?UTF-8?q?=E9=97=B4=E5=8A=9F=E8=83=BD=E6=A8=A1=E5=9D=97=EF=BC=8C=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=88=BF=E9=97=B4=E6=9B=B4=E5=A4=9A=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E7=9A=84=20Action=20=E7=B1=BB=E4=BB=A5=E9=9B=86=E6=88=90=20PK?= =?UTF-8?q?=20=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=8F=90?= =?UTF-8?q?=E5=8D=87=E4=BB=A3=E7=A0=81=E5=8F=AF=E7=BB=B4=E6=8A=A4=E6=80=A7?= =?UTF-8?q?=E5=92=8C=E6=89=A9=E5=B1=95=E6=80=A7=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YuMi.xcodeproj/project.pbxproj | 174 +--------- YuMi/Modules/YMRoom/Model/RoomInfoModel.h | 4 - .../XPRoomFunctionContainerView.m | 5 - .../Tool/XPRoomMessageParser.m | 1 - .../YMRoom/View/MoreView/Action/XPPKAction.h | 53 +++ .../YMRoom/View/MoreView/Action/XPPKAction.m | 325 ++++++++++++++++++ .../Factory/XPRoomMoreMenuActionFactory.m | 17 +- .../View/MoreView/Model/XPRoomMoreItemModel.h | 2 +- .../Model/XPRoomMoreMenuActionContext.h | 7 +- .../Model/XPRoomMoreMenuActionContext.m | 8 +- .../MoreView/Presenter/XPMoreMenuPresenter.m | 118 +++++-- .../View/XPRoomMoreMenuViewController.m | 14 +- issues/room-more-menu-refactor-todo.md | 4 +- 13 files changed, 504 insertions(+), 228 deletions(-) create mode 100644 YuMi/Modules/YMRoom/View/MoreView/Action/XPPKAction.h create mode 100644 YuMi/Modules/YMRoom/View/MoreView/Action/XPPKAction.m diff --git a/YuMi.xcodeproj/project.pbxproj b/YuMi.xcodeproj/project.pbxproj index f78ce1aa..9940f05d 100644 --- a/YuMi.xcodeproj/project.pbxproj +++ b/YuMi.xcodeproj/project.pbxproj @@ -485,6 +485,7 @@ 4C0A5B872E02BB1100955219 /* MedalsLevelIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0A5B862E02BB1100955219 /* MedalsLevelIndicatorView.m */; }; 4C0A5B8A2E02BC3900955219 /* MedalsDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0A5B892E02BC3900955219 /* MedalsDetailView.m */; }; 4C0A5B902E03EF4B00955219 /* MedalsWearingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0A5B8F2E03EF4B00955219 /* MedalsWearingViewController.m */; }; + 4C0B4A3A2E6579C700D67F73 /* XPPKAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0B4A392E6579C700D67F73 /* XPPKAction.m */; }; 4C1064882E0014CF007E1586 /* NSMutableArray+Safe.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1064872E0014CF007E1586 /* NSMutableArray+Safe.m */; }; 4C1119722DD7218300C18416 /* MyEventsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1119712DD7218300C18416 /* MyEventsViewController.m */; }; 4C1392932D6D963700A6DFB5 /* SubRechargersViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1392922D6D963600A6DFB5 /* SubRechargersViewController.m */; }; @@ -1114,7 +1115,6 @@ E82325FC274E4735003A3332 /* XPUserCardItemModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E82325FB274E4735003A3332 /* XPUserCardItemModel.m */; }; E8232600274E48EA003A3332 /* XPUserCardItemCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E82325FF274E48EA003A3332 /* XPUserCardItemCollectionViewCell.m */; }; E8232603274E4AA0003A3332 /* ThemeColor+UserCard.m in Sources */ = {isa = PBXBuildFile; fileRef = E8232602274E4AA0003A3332 /* ThemeColor+UserCard.m */; }; - E823E38E290BE8BD00EADD86 /* WishGiftInfoUpdateModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E823E38D290BE8BD00EADD86 /* WishGiftInfoUpdateModel.m */; }; E824543526F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E824543426F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.m */; }; E824543826F5820A00BE8163 /* XPLoginVerifBindPhonePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E824543726F5820A00BE8163 /* XPLoginVerifBindPhonePresenter.m */; }; E824543A26F5880E00BE8163 /* XPLoginVerifBindPhoneProtocol.h in Sources */ = {isa = PBXBuildFile; fileRef = E824543926F5822800BE8163 /* XPLoginVerifBindPhoneProtocol.h */; }; @@ -1499,11 +1499,6 @@ E89DA66727006443008483C1 /* RechargeStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DA66627006443008483C1 /* RechargeStorage.m */; }; E89DA67227008D59008483C1 /* WalletInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DA67127008D59008483C1 /* WalletInfoModel.m */; }; E89DA67527009ACD008483C1 /* XPMineRechargeNavView.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DA67427009ACD008483C1 /* XPMineRechargeNavView.m */; }; - E89DCF5428FFEC67001647EC /* XPWishGiftHistoryTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5328FFEC67001647EC /* XPWishGiftHistoryTableViewCell.m */; }; - E89DCF5728FFF076001647EC /* XPWishGiftEmptyTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5628FFF076001647EC /* XPWishGiftEmptyTableViewCell.m */; }; - E89DCF5A28FFF1AD001647EC /* XPWishGiftSectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5928FFF1AD001647EC /* XPWishGiftSectionView.m */; }; - E89DCF5D2900E5EE001647EC /* WishGiftHistoryModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5C2900E5EE001647EC /* WishGiftHistoryModel.m */; }; - E89DCF602900F4FB001647EC /* XPWishGiftEnterView.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5F2900F4FB001647EC /* XPWishGiftEnterView.m */; }; E8A03DFF27635F960098D9EA /* XPRoomCandyGiftView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A03DFE27635F960098D9EA /* XPRoomCandyGiftView.m */; }; E8A30BE328534A28003B4873 /* XPSessionFindNewViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A30BE228534A28003B4873 /* XPSessionFindNewViewController.m */; }; E8A30BE828534A63003B4873 /* XPSessionFindNewTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A30BE728534A63003B4873 /* XPSessionFindNewTableViewCell.m */; }; @@ -1513,17 +1508,6 @@ E8A30BF628534B35003B4873 /* FindNewUserInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A30BF528534B35003B4873 /* FindNewUserInfoModel.m */; }; E8A30BF928534E48003B4873 /* XPSessionFindNewEmptyTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A30BF828534E48003B4873 /* XPSessionFindNewEmptyTableViewCell.m */; }; E8A3538528FD67320014A784 /* GiftLuckyBroadcastModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A3538428FD67320014A784 /* GiftLuckyBroadcastModel.m */; }; - E8A3538E28FE5CED0014A784 /* Api+WishGift.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A3538D28FE5CED0014A784 /* Api+WishGift.m */; }; - E8A3539128FE5F0F0014A784 /* WishGiftInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A3539028FE5F0F0014A784 /* WishGiftInfoModel.m */; }; - E8A3539428FE605F0014A784 /* WishGiftUserModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A3539328FE605F0014A784 /* WishGiftUserModel.m */; }; - E8A3539728FE7C250014A784 /* XPWishGiftPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A3539628FE7C250014A784 /* XPWishGiftPresenter.m */; }; - E8A3539B28FE840A0014A784 /* XPWishGiftViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A3539A28FE840A0014A784 /* XPWishGiftViewController.m */; }; - E8A353A028FE84670014A784 /* XPWishGiftInfoView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A3539F28FE84670014A784 /* XPWishGiftInfoView.m */; }; - E8A353A328FE90F60014A784 /* XPWishGiftCreateViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A353A228FE90F60014A784 /* XPWishGiftCreateViewController.m */; }; - E8A3540128FEAC5E0014A784 /* XPWishGiftTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A3540028FEAC5E0014A784 /* XPWishGiftTableViewCell.m */; }; - E8A3540428FEB7100014A784 /* XPWishGiftHistoryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A3540328FEB7100014A784 /* XPWishGiftHistoryViewController.m */; }; - E8A3540728FEBD460014A784 /* XPWishGiftCreateItemViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A3540628FEBD460014A784 /* XPWishGiftCreateItemViewController.m */; }; - E8A3540A28FEC0510014A784 /* XPWishGiftListView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A3540928FEC0510014A784 /* XPWishGiftListView.m */; }; E8A73F8728586A6F00FD9CBC /* XPGiftWeekStarCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A73F8628586A6F00FD9CBC /* XPGiftWeekStarCollectionViewCell.m */; }; E8A88D2727E8193400CA8837 /* XPRoomPKSelectUserView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A88D2627E8193400CA8837 /* XPRoomPKSelectUserView.m */; }; E8A88D2A27E81C8600CA8837 /* XPRoomPKUserCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A88D2927E81C8600CA8837 /* XPRoomPKUserCollectionViewCell.m */; }; @@ -2645,6 +2629,8 @@ 4C0A5B892E02BC3900955219 /* MedalsDetailView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MedalsDetailView.m; sourceTree = ""; }; 4C0A5B8E2E03EF4B00955219 /* MedalsWearingViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MedalsWearingViewController.h; sourceTree = ""; }; 4C0A5B8F2E03EF4B00955219 /* MedalsWearingViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MedalsWearingViewController.m; sourceTree = ""; }; + 4C0B4A382E6579C700D67F73 /* XPPKAction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPPKAction.h; sourceTree = ""; }; + 4C0B4A392E6579C700D67F73 /* XPPKAction.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPPKAction.m; sourceTree = ""; }; 4C1064862E0014CF007E1586 /* NSMutableArray+Safe.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSMutableArray+Safe.h"; sourceTree = ""; }; 4C1064872E0014CF007E1586 /* NSMutableArray+Safe.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSMutableArray+Safe.m"; sourceTree = ""; }; 4C1119702DD7218300C18416 /* MyEventsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyEventsViewController.h; sourceTree = ""; }; @@ -3723,8 +3709,6 @@ E82325FF274E48EA003A3332 /* XPUserCardItemCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPUserCardItemCollectionViewCell.m; sourceTree = ""; }; E8232601274E4AA0003A3332 /* ThemeColor+UserCard.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ThemeColor+UserCard.h"; sourceTree = ""; }; E8232602274E4AA0003A3332 /* ThemeColor+UserCard.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "ThemeColor+UserCard.m"; sourceTree = ""; }; - E823E38C290BE8BD00EADD86 /* WishGiftInfoUpdateModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WishGiftInfoUpdateModel.h; sourceTree = ""; }; - E823E38D290BE8BD00EADD86 /* WishGiftInfoUpdateModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WishGiftInfoUpdateModel.m; sourceTree = ""; }; E824543326F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPLoginVerifBindPhoneViewController.h; sourceTree = ""; }; E824543426F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPLoginVerifBindPhoneViewController.m; sourceTree = ""; }; E824543626F5820A00BE8163 /* XPLoginVerifBindPhonePresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPLoginVerifBindPhonePresenter.h; sourceTree = ""; }; @@ -4526,16 +4510,6 @@ E89DA67127008D59008483C1 /* WalletInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WalletInfoModel.m; sourceTree = ""; }; E89DA67327009ACD008483C1 /* XPMineRechargeNavView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineRechargeNavView.h; sourceTree = ""; }; E89DA67427009ACD008483C1 /* XPMineRechargeNavView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineRechargeNavView.m; sourceTree = ""; }; - E89DCF5228FFEC67001647EC /* XPWishGiftHistoryTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftHistoryTableViewCell.h; sourceTree = ""; }; - E89DCF5328FFEC67001647EC /* XPWishGiftHistoryTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftHistoryTableViewCell.m; sourceTree = ""; }; - E89DCF5528FFF076001647EC /* XPWishGiftEmptyTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftEmptyTableViewCell.h; sourceTree = ""; }; - E89DCF5628FFF076001647EC /* XPWishGiftEmptyTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftEmptyTableViewCell.m; sourceTree = ""; }; - E89DCF5828FFF1AD001647EC /* XPWishGiftSectionView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftSectionView.h; sourceTree = ""; }; - E89DCF5928FFF1AD001647EC /* XPWishGiftSectionView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftSectionView.m; sourceTree = ""; }; - E89DCF5B2900E5EE001647EC /* WishGiftHistoryModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WishGiftHistoryModel.h; sourceTree = ""; }; - E89DCF5C2900E5EE001647EC /* WishGiftHistoryModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WishGiftHistoryModel.m; sourceTree = ""; }; - E89DCF5E2900F4FB001647EC /* XPWishGiftEnterView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftEnterView.h; sourceTree = ""; }; - E89DCF5F2900F4FB001647EC /* XPWishGiftEnterView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftEnterView.m; sourceTree = ""; }; E8A03DFD27635F960098D9EA /* XPRoomCandyGiftView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomCandyGiftView.h; sourceTree = ""; }; E8A03DFE27635F960098D9EA /* XPRoomCandyGiftView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomCandyGiftView.m; sourceTree = ""; }; E8A30BE128534A28003B4873 /* XPSessionFindNewViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPSessionFindNewViewController.h; sourceTree = ""; }; @@ -4555,29 +4529,6 @@ E8A30BF828534E48003B4873 /* XPSessionFindNewEmptyTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPSessionFindNewEmptyTableViewCell.m; sourceTree = ""; }; E8A3538328FD67320014A784 /* GiftLuckyBroadcastModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiftLuckyBroadcastModel.h; sourceTree = ""; }; E8A3538428FD67320014A784 /* GiftLuckyBroadcastModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiftLuckyBroadcastModel.m; sourceTree = ""; }; - E8A3538C28FE5CED0014A784 /* Api+WishGift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Api+WishGift.h"; sourceTree = ""; }; - E8A3538D28FE5CED0014A784 /* Api+WishGift.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "Api+WishGift.m"; sourceTree = ""; }; - E8A3538F28FE5F0F0014A784 /* WishGiftInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WishGiftInfoModel.h; sourceTree = ""; }; - E8A3539028FE5F0F0014A784 /* WishGiftInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WishGiftInfoModel.m; sourceTree = ""; }; - E8A3539228FE605F0014A784 /* WishGiftUserModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WishGiftUserModel.h; sourceTree = ""; }; - E8A3539328FE605F0014A784 /* WishGiftUserModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WishGiftUserModel.m; sourceTree = ""; }; - E8A3539528FE7C250014A784 /* XPWishGiftPresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftPresenter.h; sourceTree = ""; }; - E8A3539628FE7C250014A784 /* XPWishGiftPresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftPresenter.m; sourceTree = ""; }; - E8A3539828FE7C4F0014A784 /* XPWishGiftProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftProtocol.h; sourceTree = ""; }; - E8A3539928FE840A0014A784 /* XPWishGiftViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftViewController.h; sourceTree = ""; }; - E8A3539A28FE840A0014A784 /* XPWishGiftViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftViewController.m; sourceTree = ""; }; - E8A3539E28FE84670014A784 /* XPWishGiftInfoView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftInfoView.h; sourceTree = ""; }; - E8A3539F28FE84670014A784 /* XPWishGiftInfoView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftInfoView.m; sourceTree = ""; }; - E8A353A128FE90F60014A784 /* XPWishGiftCreateViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftCreateViewController.h; sourceTree = ""; }; - E8A353A228FE90F60014A784 /* XPWishGiftCreateViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftCreateViewController.m; sourceTree = ""; }; - E8A353FF28FEAC5E0014A784 /* XPWishGiftTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftTableViewCell.h; sourceTree = ""; }; - E8A3540028FEAC5E0014A784 /* XPWishGiftTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftTableViewCell.m; sourceTree = ""; }; - E8A3540228FEB7100014A784 /* XPWishGiftHistoryViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftHistoryViewController.h; sourceTree = ""; }; - E8A3540328FEB7100014A784 /* XPWishGiftHistoryViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftHistoryViewController.m; sourceTree = ""; }; - E8A3540528FEBD460014A784 /* XPWishGiftCreateItemViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftCreateItemViewController.h; sourceTree = ""; }; - E8A3540628FEBD460014A784 /* XPWishGiftCreateItemViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftCreateItemViewController.m; sourceTree = ""; }; - E8A3540828FEC0510014A784 /* XPWishGiftListView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftListView.h; sourceTree = ""; }; - E8A3540928FEC0510014A784 /* XPWishGiftListView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftListView.m; sourceTree = ""; }; E8A72BBA2A3AFB2F00B2EC07 /* PrefixHeader.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrefixHeader.pch; sourceTree = ""; }; E8A73F8528586A6F00FD9CBC /* XPGiftWeekStarCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGiftWeekStarCollectionViewCell.h; sourceTree = ""; }; E8A73F8628586A6F00FD9CBC /* XPGiftWeekStarCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGiftWeekStarCollectionViewCell.m; sourceTree = ""; }; @@ -6940,6 +6891,8 @@ 4CD47BB72E619F0B00BCDA46 /* Action */ = { isa = PBXGroup; children = ( + 4C0B4A382E6579C700D67F73 /* XPPKAction.h */, + 4C0B4A392E6579C700D67F73 /* XPPKAction.m */, 4CD47BCA2E61ADE400BCDA46 /* XPSocialAction.h */, 4CD47BCB2E61ADE400BCDA46 /* XPSocialAction.m */, 4CD47BB62E619F0B00BCDA46 /* XPGiftEffectAction.h */, @@ -10709,104 +10662,6 @@ path = Cell; sourceTree = ""; }; - E8A3538628FE5C5B0014A784 /* WishGift */ = { - isa = PBXGroup; - children = ( - E8A3538728FE5C9B0014A784 /* Model */, - E8A3538B28FE5CC80014A784 /* Api */, - E8A3538A28FE5CB90014A784 /* View */, - E8A3538928FE5CB00014A784 /* Presenter */, - E8A3538828FE5CA70014A784 /* Protocol */, - ); - path = WishGift; - sourceTree = ""; - }; - E8A3538728FE5C9B0014A784 /* Model */ = { - isa = PBXGroup; - children = ( - E8A3538F28FE5F0F0014A784 /* WishGiftInfoModel.h */, - E8A3539028FE5F0F0014A784 /* WishGiftInfoModel.m */, - E8A3539228FE605F0014A784 /* WishGiftUserModel.h */, - E8A3539328FE605F0014A784 /* WishGiftUserModel.m */, - E89DCF5B2900E5EE001647EC /* WishGiftHistoryModel.h */, - E89DCF5C2900E5EE001647EC /* WishGiftHistoryModel.m */, - E823E38C290BE8BD00EADD86 /* WishGiftInfoUpdateModel.h */, - E823E38D290BE8BD00EADD86 /* WishGiftInfoUpdateModel.m */, - ); - path = Model; - sourceTree = ""; - }; - E8A3538828FE5CA70014A784 /* Protocol */ = { - isa = PBXGroup; - children = ( - E8A3539828FE7C4F0014A784 /* XPWishGiftProtocol.h */, - ); - path = Protocol; - sourceTree = ""; - }; - E8A3538928FE5CB00014A784 /* Presenter */ = { - isa = PBXGroup; - children = ( - E8A3539528FE7C250014A784 /* XPWishGiftPresenter.h */, - E8A3539628FE7C250014A784 /* XPWishGiftPresenter.m */, - ); - path = Presenter; - sourceTree = ""; - }; - E8A3538A28FE5CB90014A784 /* View */ = { - isa = PBXGroup; - children = ( - E8A3539D28FE84470014A784 /* Cell */, - E8A3539C28FE84400014A784 /* View */, - E8A3539928FE840A0014A784 /* XPWishGiftViewController.h */, - E8A3539A28FE840A0014A784 /* XPWishGiftViewController.m */, - E8A353A128FE90F60014A784 /* XPWishGiftCreateViewController.h */, - E8A353A228FE90F60014A784 /* XPWishGiftCreateViewController.m */, - E8A3540228FEB7100014A784 /* XPWishGiftHistoryViewController.h */, - E8A3540328FEB7100014A784 /* XPWishGiftHistoryViewController.m */, - E8A3540528FEBD460014A784 /* XPWishGiftCreateItemViewController.h */, - E8A3540628FEBD460014A784 /* XPWishGiftCreateItemViewController.m */, - ); - path = View; - sourceTree = ""; - }; - E8A3538B28FE5CC80014A784 /* Api */ = { - isa = PBXGroup; - children = ( - E8A3538C28FE5CED0014A784 /* Api+WishGift.h */, - E8A3538D28FE5CED0014A784 /* Api+WishGift.m */, - ); - path = Api; - sourceTree = ""; - }; - E8A3539C28FE84400014A784 /* View */ = { - isa = PBXGroup; - children = ( - E8A3539E28FE84670014A784 /* XPWishGiftInfoView.h */, - E8A3539F28FE84670014A784 /* XPWishGiftInfoView.m */, - E8A3540828FEC0510014A784 /* XPWishGiftListView.h */, - E8A3540928FEC0510014A784 /* XPWishGiftListView.m */, - E89DCF5828FFF1AD001647EC /* XPWishGiftSectionView.h */, - E89DCF5928FFF1AD001647EC /* XPWishGiftSectionView.m */, - E89DCF5E2900F4FB001647EC /* XPWishGiftEnterView.h */, - E89DCF5F2900F4FB001647EC /* XPWishGiftEnterView.m */, - ); - path = View; - sourceTree = ""; - }; - E8A3539D28FE84470014A784 /* Cell */ = { - isa = PBXGroup; - children = ( - E8A353FF28FEAC5E0014A784 /* XPWishGiftTableViewCell.h */, - E8A3540028FEAC5E0014A784 /* XPWishGiftTableViewCell.m */, - E89DCF5228FFEC67001647EC /* XPWishGiftHistoryTableViewCell.h */, - E89DCF5328FFEC67001647EC /* XPWishGiftHistoryTableViewCell.m */, - E89DCF5528FFF076001647EC /* XPWishGiftEmptyTableViewCell.h */, - E89DCF5628FFF076001647EC /* XPWishGiftEmptyTableViewCell.m */, - ); - path = Cell; - sourceTree = ""; - }; E8AC720A26F435AF007D6E91 /* UIImageView */ = { isa = PBXGroup; children = ( @@ -10886,7 +10741,6 @@ 180806F92729A354001FD836 /* ThemeColor+Room.h */, 180806FA2729A354001FD836 /* ThemeColor+Room.m */, E82325EA274E2D52003A3332 /* UserCard */, - E8A3538628FE5C5B0014A784 /* WishGift */, 239D0FC82C045F92002977CE /* RoomGame */, E866B6E32759F96F009B002A /* XPMiniRoomView.h */, E866B6E42759F96F009B002A /* XPMiniRoomView.m */, @@ -12172,7 +12026,6 @@ 4CFBE0CD2DAD0FC400A923AF /* PIGiftBravoGiftBroadcastView.m in Sources */, E890BC07273CF1800007C46B /* XPGiftCountCollectionViewCell.m in Sources */, E88C72A02828FCD40047FB2B /* XPMusicLibraryPlayView.m in Sources */, - E823E38E290BE8BD00EADD86 /* WishGiftInfoUpdateModel.m in Sources */, E80EC80A28ACD84000D133C5 /* QEmotionBoardView.m in Sources */, 235A451A2B04A352009753F5 /* PIRoomActivityWebView.m in Sources */, 4CBDC4242DC0B078005A75B9 /* EventCenterViewController.m in Sources */, @@ -12181,12 +12034,10 @@ E87E625D2A3F5622002F68C9 /* XPNewHomeViewController.m in Sources */, E85E7B202A4EB0D300B6D00A /* XPMineGuildIncomeDetailViewController.m in Sources */, E84A2EA82A5288FD00D6AF8A /* XPGoldDetailsChooseRoomCell.m in Sources */, - E8A353A328FE90F60014A784 /* XPWishGiftCreateViewController.m in Sources */, 2331C1AF2A60F32D00E1D940 /* XPCandyTreeRankView.m in Sources */, 180116FC279E8CCE00F2CBC0 /* NVDate.m in Sources */, E801275827E347FD00BAC3F2 /* RoomPKRecordModel.m in Sources */, E8E0DAE0285C20E500566A2F /* MessageContentFindNewGreetView.m in Sources */, - E8A3540128FEAC5E0014A784 /* XPWishGiftTableViewCell.m in Sources */, 237700E32BC7D7C000D661F1 /* NSMutableAttributedString+MSRTL.m in Sources */, 54B9C6EA2C9C2DDC003F1CC5 /* GuildInfo.m in Sources */, 234D821E2AEC57CF0022EFEB /* YYTextAsyncLayer+PITextAsyncLayer.m in Sources */, @@ -12269,7 +12120,6 @@ E8AC723226F49710007D6E91 /* XPMineNotificationTableViewCell.m in Sources */, E87E62592A3F560B002F68C9 /* XPHomePartyViewController.m in Sources */, E8AC722926F488DA007D6E91 /* XPMineFeedbackProtocol.h in Sources */, - E8A3539128FE5F0F0014A784 /* WishGiftInfoModel.m in Sources */, 2305EEF62AD67E5500AD403C /* PIRoomPhotoAlbumItemCell.m in Sources */, E85E7B3C2A4EB0D300B6D00A /* XPGuildSuperAdminRoomCollectionViewCell.m in Sources */, 237700EC2BC914B400D661F1 /* UISwipeGestureRecognizer+MSRTL.m in Sources */, @@ -12279,7 +12129,6 @@ E85E7B2A2A4EB0D300B6D00A /* XPGuildTimeMonthPickerView.m in Sources */, E87E62782A3F5907002F68C9 /* XPNewHomePartyTableViewCell.m in Sources */, 238B37B72AC55A2C00BFC9D5 /* XPTreasureFairySendRecordCell.m in Sources */, - E8A3539B28FE840A0014A784 /* XPWishGiftViewController.m in Sources */, E8950183282CAC6A007E459A /* XPMomentsPhotoView.m in Sources */, E8AC721E26F472BF007D6E91 /* XPMineSettingProtocol.h in Sources */, E8F63CB4298B563D00B338BA /* Api+SayHello.m in Sources */, @@ -12349,6 +12198,7 @@ 237700E02BC7D78600D661F1 /* MSBaseRTLFlowLayout.m in Sources */, 4CEB9EB32D0AFCE200443480 /* NineteenMicStageView.m in Sources */, 2331C1B32A60F32D00E1D940 /* XPCandyTreeMoreRuleCell.m in Sources */, + 4C0B4A3A2E6579C700D67F73 /* XPPKAction.m in Sources */, 14A6034C29A35EE600D2A6A5 /* XPMineItemTableViewCell.m in Sources */, 9BAC92F528E6E63000147DD8 /* XPRoomInsideOperationCell.m in Sources */, 9BE570BC28F65B7200D491A5 /* XPMineCollectRoomCell.m in Sources */, @@ -12469,7 +12319,6 @@ 9BD63FB4277EF1B3006EB744 /* XPReleaseRadioModel.m in Sources */, E80EC8C228ACF97A00D133C5 /* QEEmotionImageView.m in Sources */, E8A03DFF27635F960098D9EA /* XPRoomCandyGiftView.m in Sources */, - E8A3538E28FE5CED0014A784 /* Api+WishGift.m in Sources */, 180116F9279E8C4C00F2CBC0 /* PLTimeUtil.m in Sources */, 23CEFC502AFB8FC100576D89 /* UILabel+YBAttributeTextTapAction.m in Sources */, E87E545429AA05EA00EBE52B /* XPFootPrintNavView.m in Sources */, @@ -12507,7 +12356,6 @@ E890BC0D273D09A50007C46B /* XPGiftCountView.m in Sources */, E880B3B2278C1D1800A83B0D /* XPAcrossRoomPKRuleView.m in Sources */, 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 */, @@ -12572,7 +12420,6 @@ 239141C92AE1358F00322CA9 /* PIInputEntireServerScrollingView.m in Sources */, E8AA6EF227DF1E97009B4C2B /* XPRoomTopicPresenter.m in Sources */, 9BF4BEBC28D4182E009CF6C2 /* XPOpenRedPacketModel.m in Sources */, - E89DCF5D2900E5EE001647EC /* WishGiftHistoryModel.m in Sources */, E873EB0C2809850D0071030D /* MessageContentCustomView.m in Sources */, 238B37D42AC55A2C00BFC9D5 /* XPTreasureFailrySummonBallView.m in Sources */, E884C36F2743AAC800E1EBED /* AttachmentModel.m in Sources */, @@ -12595,7 +12442,6 @@ 4CC312242D7987A200F57A07 /* ShareHelder.m in Sources */, E88863D3278ED4C0004BCFAB /* Timestamp.m in Sources */, 23E7FE9C2BB6CD42008F6800 /* XPNobleCenterWindow.m in Sources */, - E8A3540A28FEC0510014A784 /* XPWishGiftListView.m in Sources */, 238B37BF2AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultView.m in Sources */, E88863CF278EC393004BCFAB /* XPAcrossRoomPKPrizeView.m in Sources */, 4CE3A9462D22754C003F0796 /* RechargeUserModel.m in Sources */, @@ -12691,7 +12537,6 @@ E8950180282CAC49007E459A /* XPMomentsUserInfoView.m in Sources */, 18F404C927609A4300A6C548 /* MessagePresenter.m in Sources */, 9BC9DAEF27E33B3F009EE409 /* XPRoomGiftAnimationParser.m in Sources */, - E89DCF602900F4FB001647EC /* XPWishGiftEnterView.m in Sources */, E81366E326F0A1FC0076364C /* LoginBindPhoneViewController.m in Sources */, 1464C5F329A4C18000AF7C94 /* XPIAPRechargeViewController.m in Sources */, E85E7B662A4EC35A00B6D00A /* XPIncomeRecordGoldDetailsModel.m in Sources */, @@ -12967,7 +12812,6 @@ E8AE427327153A3500BEEBB2 /* XPRoomActivityContainerView.m in Sources */, 23E9E99B2A80C40000B792F2 /* XPMineGuildPersonalBillRecordHeadView.m in Sources */, 2305EEF32AD67A8D00AD403C /* PIRoomPhotoAlbumItemVC.m in Sources */, - E89DCF5428FFEC67001647EC /* XPWishGiftHistoryTableViewCell.m in Sources */, 2331C1B22A60F32D00E1D940 /* XPCandyTreeEmptyableViewCell.m in Sources */, E85E7B072A4EB0D200B6D00A /* XPGuildPresenter.m in Sources */, 2331C17B2A5EB7AB00E1D940 /* XPNobleCenterEntranceView.m in Sources */, @@ -13134,7 +12978,6 @@ 238B37BA2AC55A2C00BFC9D5 /* XPTreasureFairyFriendView.m in Sources */, E81060EE2987C35700B772F0 /* MessageTextClickModel.m in Sources */, E87AE8C5284E1A8400CAFBB3 /* XPRoomNewUserGreetView.m in Sources */, - E8A3540728FEBD460014A784 /* XPWishGiftCreateItemViewController.m in Sources */, E87E627B2A3F5A0D002F68C9 /* XPNewHomeRecommendPresenter.m in Sources */, 14DCAD08299B36A500A7DD31 /* XPLoginPwdViewController.m in Sources */, E81060F42987C6B200B772F0 /* MessageOpenLiveModel.m in Sources */, @@ -13178,7 +13021,6 @@ 9BC5C91C277C8A7B007C8719 /* XPReleaseRadioViewController.m in Sources */, 23B2AEC42A6516C200543D17 /* LoginForgetPasswordViewController.m in Sources */, 186A534C26FC6ED900D67B2C /* TTAlertView.m in Sources */, - E8A3540428FEB7100014A784 /* XPWishGiftHistoryViewController.m in Sources */, 23E9EB1E2A84DA5F00B792F2 /* XPMineUserInfoNavView.m in Sources */, E85E7B332A4EB0D300B6D00A /* XPGuildIncomeSectionView.m in Sources */, E85E7B0F2A4EB0D200B6D00A /* GuildRoomInfoModel.m in Sources */, @@ -13394,7 +13236,6 @@ 9BD798B72926362F003E03E6 /* XPSessionListHeadItem.m in Sources */, E80487652717DDD9008595F2 /* XPRoomMenuItem.m in Sources */, E895018C282D0701007E459A /* XPMomentsTopicView.m in Sources */, - E8A353A028FE84670014A784 /* XPWishGiftInfoView.m in Sources */, E89BD7D4277D471100E31B19 /* XPRoomOnlineTableViewCell.m in Sources */, 1427219329A75F6F00C7C423 /* MultipartMessageHeader.m in Sources */, E8412F9627795E34006E1101 /* XPRoomInviteFansView.m in Sources */, @@ -13439,7 +13280,6 @@ 4C1119722DD7218300C18416 /* MyEventsViewController.m in Sources */, 9B1B7292280010E8003FACE9 /* Api+FansTeam.m in Sources */, 4C815A172CFEB758002A46A6 /* SuperBlockViewController.m in Sources */, - E8A3539728FE7C250014A784 /* XPWishGiftPresenter.m in Sources */, E85E7B142A4EB0D200B6D00A /* GuildAuthModel.m in Sources */, 4CE746CA2D929D500094E496 /* BaseRoomBannerView.m in Sources */, 9BE01ADE2892A66D00B50299 /* DressUpShopModel.m in Sources */, @@ -13513,7 +13353,6 @@ E85E7B252A4EB0D300B6D00A /* XPMineGuildChooseManagerViewController.m in Sources */, E87E91522796A15500A7B3F2 /* MicroExtModel.m in Sources */, E8788948273A55D000BF1D57 /* XPGiftBarView.m in Sources */, - E89DCF5728FFF076001647EC /* XPWishGiftEmptyTableViewCell.m in Sources */, 237700D32BC7CC7C00D661F1 /* NSObject+MJExtension.m in Sources */, 4C886BEE2E014B6C006F0BA7 /* Api+Medals.m in Sources */, E8D4DE442940462C00EC788D /* XPGiftTwelveStarBroadcastView.m in Sources */, @@ -13527,7 +13366,6 @@ 9BAA5FF0277A23F4007453F3 /* XPPermissionsViewController.m in Sources */, E85E7BA02A4EC99300B6D00A /* XPMineGiveDiamondDetailsModel.m in Sources */, 4CE746C32D9290430094E496 /* RoomBoomManager.m in Sources */, - E89DCF5A28FFF1AD001647EC /* XPWishGiftSectionView.m in Sources */, 4CBBB44C2DA66334001B1C6D /* MessageCPNotifyModel.m in Sources */, E81A654C28351D9900F55894 /* XPMonentsTopicCollectionViewCell.m in Sources */, E85E7B9F2A4EC99300B6D00A /* XPMineGiveDiamondPresenter.m in Sources */, diff --git a/YuMi/Modules/YMRoom/Model/RoomInfoModel.h b/YuMi/Modules/YMRoom/Model/RoomInfoModel.h index f2e9d4fb..8cdc0569 100644 --- a/YuMi/Modules/YMRoom/Model/RoomInfoModel.h +++ b/YuMi/Modules/YMRoom/Model/RoomInfoModel.h @@ -161,10 +161,6 @@ typedef NS_ENUM(NSInteger, RoomDatingStateChangeType) { @property (nonatomic, assign) long long pkBeginTime; ///个播随机PK匹配结束时间 @property (nonatomic, assign) long long pkMatchStartTime; -/// 是否有心愿礼物权限 -@property (nonatomic,assign) BOOL hasWishGiftPermit; -///是否已经开启心愿礼物 -@property (nonatomic,assign) BOOL hasOpenWishGift; ///寻爱之旅的配置 @property (nonatomic,strong) CandyTreeSwitchModel *findLoveDrawSwitchVo; ///夺宝精灵的配置 diff --git a/YuMi/Modules/YMRoom/View/BaseUIContainerView/XPRoomFunctionContainerView.m b/YuMi/Modules/YMRoom/View/BaseUIContainerView/XPRoomFunctionContainerView.m index 92b0ada0..1c0e3545 100644 --- a/YuMi/Modules/YMRoom/View/BaseUIContainerView/XPRoomFunctionContainerView.m +++ b/YuMi/Modules/YMRoom/View/BaseUIContainerView/XPRoomFunctionContainerView.m @@ -29,7 +29,6 @@ #import "XPRoomMiniManager.h" #import "Api+RoomPK.h" #import "Api+Room.h" -#import "Api+WishGift.h" #import "NSObject+MJExtension.h" #import "NSArray+Safe.h" #import "NSMutableDictionary+Saft.h" @@ -51,8 +50,6 @@ #import "GiftInfoModel.h" #import "RoomPKTeamModel.h" #import "RoomNewUserGreetModel.h" -#import "WishGiftInfoModel.h" -#import "WishGiftInfoUpdateModel.h" ///View #import "XPRoomHalfWebView.h" #import "XPAnchorAudienceUpMicView.h" @@ -80,8 +77,6 @@ #import "XPRoomHalfMessageView.h" #import "XPAcrossRoomPKCountDownView.h" #import "XPNewUserRoomGiftView.h" -#import "XPWishGiftViewController.h" -#import "XPWishGiftEnterView.h" ///个播PK #import "XPAnchorFansTeamEntranceView.h" #import "XPAnchorFansTeamViewController.h" diff --git a/YuMi/Modules/YMRoom/View/MessageContainerView/Tool/XPRoomMessageParser.m b/YuMi/Modules/YMRoom/View/MessageContainerView/Tool/XPRoomMessageParser.m index ce5663e5..27d557ac 100644 --- a/YuMi/Modules/YMRoom/View/MessageContainerView/Tool/XPRoomMessageParser.m +++ b/YuMi/Modules/YMRoom/View/MessageContainerView/Tool/XPRoomMessageParser.m @@ -17,7 +17,6 @@ #import "XPGiftStorage.h" #import "XPRoomFaceTool.h" #import "TTPopup.h" -#import "Api+WishGift.h" #import "NSArray+Safe.h" #import "ClientConfig.h" ///Model diff --git a/YuMi/Modules/YMRoom/View/MoreView/Action/XPPKAction.h b/YuMi/Modules/YMRoom/View/MoreView/Action/XPPKAction.h new file mode 100644 index 00000000..bb1f479b --- /dev/null +++ b/YuMi/Modules/YMRoom/View/MoreView/Action/XPPKAction.h @@ -0,0 +1,53 @@ +// +// XPPKAction.h +// YUMI +// +// Created by YUMI on 2024/01/01. +// + +#import "XPRoomMoreMenuAction.h" + +@class RoomInfoModel; + +NS_ASSUME_NONNULL_BEGIN + +@interface XPPKAction : XPRoomMoreMenuAction + +// MARK: - 同房PK模式 +/// 开启同房PK模式 ++ (instancetype)roomPKOpenAction; + +/// 关闭同房PK模式 ++ (instancetype)roomPKCloseAction; + +// MARK: - 跨房PK +/// 开启跨房PK ++ (instancetype)acrossRoomPKOpenAction; + +/// 关闭跨房PK ++ (instancetype)acrossRoomPKCloseAction; + +// MARK: - 主播PK +/// 开启主播PK ++ (instancetype)anchorPKOpenAction; + +/// 关闭主播PK ++ (instancetype)anchorPKCloseAction; + +// MARK: - 相亲模式 +/// 开启相亲模式 ++ (instancetype)datingOpenAction; + +/// 关闭相亲模式 ++ (instancetype)datingCloseAction; + +// MARK: - 根据房间信息创建对应的Action +/// 根据房间信息创建对应的PK Action +/// @param roomInfo 房间信息 ++ (instancetype)roomPKActionWithRoomInfo:(RoomInfoModel *)roomInfo; ++ (instancetype)corssPKActionWithRoomInfo:(RoomInfoModel *)roomInfo; ++ (instancetype)blindActionWithRoomInfo:(RoomInfoModel *)roomInfo; + +@end + +NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMRoom/View/MoreView/Action/XPPKAction.m b/YuMi/Modules/YMRoom/View/MoreView/Action/XPPKAction.m new file mode 100644 index 00000000..28ad1e36 --- /dev/null +++ b/YuMi/Modules/YMRoom/View/MoreView/Action/XPPKAction.m @@ -0,0 +1,325 @@ +// +// XPPKAction.m +// YUMI +// +// Created by YUMI on 2024/01/01. +// + +#import "XPPKAction.h" +#import "XPRoomMoreMenuActionContext.h" +#import "RoomInfoModel.h" +#import "DJDKMIMOMColor.h" +#import "TTPopup.h" +#import "BaseViewController.h" +#import "XPRoomPKViewController.h" +#import "XPAcrossRoomPKViewController.h" +#import "XPAnchorPKViewController.h" +#import "AccountInfoStorage.h" + +@implementation XPPKAction + +#pragma mark - 同房PK模式 + ++ (instancetype)roomPKOpenAction { + XPPKAction *action = [[XPPKAction alloc] init]; + action.title = YMLocalizedString(@"XPMoreMenuPresenter1"); + action.imageName = @"room_pk_menu_icon"; + action.type = RoomMoreMenuType_Room_PK_Open; + action.titleColor = [DJDKMIMOMColor appCellBackgroundColor]; + return action; +} + ++ (instancetype)roomPKCloseAction { + XPPKAction *action = [[XPPKAction alloc] init]; + action.title = YMLocalizedString(@"XPMoreMenuPresenter26"); + action.imageName = @"room_pk_menu_icon"; + action.type = RoomMoreMenuType_Room_PK_Close; + action.titleColor = [DJDKMIMOMColor appCellBackgroundColor]; + return action; +} + +#pragma mark - 跨房PK + ++ (instancetype)acrossRoomPKOpenAction { + XPPKAction *action = [[XPPKAction alloc] init]; + action.title = YMLocalizedString(@"XPMoreMenuPresenter31"); + action.imageName = @"crossroom_pk_menu_icon"; + action.type = RoomMoreMenuType_Room_Across_PK_Open; + action.titleColor = [DJDKMIMOMColor appCellBackgroundColor]; + return action; +} + ++ (instancetype)acrossRoomPKCloseAction{ + XPPKAction *action = [[XPPKAction alloc] init]; + action.title = YMLocalizedString(@"XPMoreMenuPresenter31"); + action.imageName = @"crossroom_pk_menu_icon"; + action.type = RoomMoreMenuType_Room_Across_PK_Close; + action.titleColor = [DJDKMIMOMColor appCellBackgroundColor]; + return action; +} + +#pragma mark - 主播PK + ++ (instancetype)anchorPKOpenAction { + XPPKAction *action = [[XPPKAction alloc] init]; + action.title = YMLocalizedString(@"XPMoreMenuPresenter33"); + action.imageName = @"room_more_menu_anchor_pk"; + action.type = RoomMoreMenuType_Room_Anchor_PK_Open; + action.titleColor = [DJDKMIMOMColor appCellBackgroundColor]; + return action; +} + ++ (instancetype)anchorPKCloseAction { + XPPKAction *action = [[XPPKAction alloc] init]; + action.title = YMLocalizedString(@"XPMoreMenuPresenter32"); + action.imageName = @"room_more_menu_anchor_pk"; + action.type = RoomMoreMenuType_Room_Anchor_PK_Close; + action.titleColor = [DJDKMIMOMColor appCellBackgroundColor]; + return action; +} + +#pragma mark - 相亲模式 + ++ (instancetype)datingOpenAction { + XPPKAction *action = [[XPPKAction alloc] init]; + action.title = YMLocalizedString(@"XPMoreMenuPresenter8"); + action.imageName = @"room_more_menu_dating"; + action.type = RoomMoreMenuType_Room_Dating_Open; + action.titleColor = [DJDKMIMOMColor appCellBackgroundColor]; + return action; +} + ++ (instancetype)datingCloseAction { + XPPKAction *action = [[XPPKAction alloc] init]; + action.title = YMLocalizedString(@"XPMoreMenuPresenter29"); + action.imageName = @"room_more_menu_dating"; + action.type = RoomMoreMenuType_Room_Dating_Close; + action.titleColor = [DJDKMIMOMColor appCellBackgroundColor]; + return action; +} + +#pragma mark - 根据房间信息创建Action ++ (instancetype)roomPKActionWithRoomInfo:(RoomInfoModel *)roomInfo { + return roomInfo.roomModeType == RoomModeType_Open_PK_Mode ? [self roomPKOpenAction] : [self roomPKCloseAction]; +} + ++ (instancetype)corssPKActionWithRoomInfo:(RoomInfoModel *)roomInfo { + return roomInfo.roomModeType == RoomModeType_Open_AcrossRoomPK_mode ? [self acrossRoomPKCloseAction] : [self acrossRoomPKOpenAction]; +} + ++ (instancetype)blindActionWithRoomInfo:(RoomInfoModel *)roomInfo { + return roomInfo.roomModeType == RoomModeType_Open_Blind ? [self datingCloseAction] : [self datingOpenAction]; +} + +#pragma mark - XPRoomMoreMenuAction + +- (BOOL)canExecuteWithContext:(XPRoomMoreMenuActionContext *)context { + NSLog(@"=== XPPKAction canExecuteWithContext ==="); + NSLog(@"Action 类型: %ld, 标题: %@", (long)self.type, self.title); + + // 所有PK相关的Action都可以执行 + return YES; +} + +- (void)executeWithContext:(XPRoomMoreMenuActionContext *)context { + NSLog(@"=== XPPKAction executeWithContext ==="); + NSLog(@"Action 类型: %ld, 标题: %@", (long)self.type, self.title); + + switch (self.type) { + case RoomMoreMenuType_Room_PK_Open: + [self executeRoomPKOpen:context]; + break; + case RoomMoreMenuType_Room_PK_Close: + [self executeRoomPKClose:context]; + break; + case RoomMoreMenuType_Room_Across_PK_Open: + [self executeAcrossRoomPKOpen:context]; + break; + case RoomMoreMenuType_Room_Across_PK_Close: + [self executeAcrossRoomPKClose:context]; + break; + case RoomMoreMenuType_Room_Anchor_PK_Open: + [self executeAnchorPKOpen:context]; + break; + case RoomMoreMenuType_Room_Anchor_PK_Close: + [self executeAnchorPKClose:context]; + break; + case RoomMoreMenuType_Room_Dating_Open: + [self executeDatingOpen:context]; + break; + case RoomMoreMenuType_Room_Dating_Close: + [self executeDatingClose:context]; + break; + default: + NSLog(@"❌ 未知的PK Action类型: %ld", (long)self.type); + break; + } +} + +#pragma mark - 私有执行方法 + +- (void)executeRoomPKOpen:(XPRoomMoreMenuActionContext *)context { + NSLog(@"执行开启同房PK模式"); + + // 检查房间模式冲突 + if (context.roomInfo.roomModeType == RoomModeType_Open_Blind) { + [self showErrorToast:YMLocalizedString(@"XPRoomMoreMenuViewController20") context:context]; + [self dismissViewController:context]; + return; + } + + if (context.roomInfo.roomModeType == RoomModeType_Open_AcrossRoomPK_mode) { + [self showErrorToast:YMLocalizedString(@"XPRoomMoreMenuViewController21") context:context]; + [self dismissViewController:context]; + return; + } + + // 跳转到同房PK页面 + [self dismissViewController:context]; + XPRoomPKViewController *roomPKVC = [[XPRoomPKViewController alloc] initWithDelegate:context.hostDelegate]; + [context.hostDelegate.getCurrentNav pushViewController:roomPKVC animated:YES]; +} + +- (void)executeRoomPKClose:(XPRoomMoreMenuActionContext *)context { + NSLog(@"执行关闭同房PK模式"); + + // 跳转到同房PK页面 + [self dismissViewController:context]; + XPRoomPKViewController *roomPKVC = [[XPRoomPKViewController alloc] initWithDelegate:context.hostDelegate]; + [context.hostDelegate.getCurrentNav pushViewController:roomPKVC animated:YES]; +} + +- (void)executeAcrossRoomPKOpen:(XPRoomMoreMenuActionContext *)context { + NSLog(@"执行开启跨房PK"); + + // 检查房间模式冲突 + if (context.roomInfo.roomModeType == RoomModeType_Open_Blind) { + [self showErrorToast:YMLocalizedString(@"XPRoomMoreMenuViewController13") context:context]; + [self dismissViewController:context]; + return; + } + + if (context.roomInfo.roomModeType == RoomModeType_Open_PK_Mode) { + [self showErrorToast:YMLocalizedString(@"XPRoomMoreMenuViewController14") context:context]; + [self dismissViewController:context]; + return; + } + + // 跳转到跨房PK页面 + [self dismissViewController:context]; + NSString *roomUid = [NSString stringWithFormat:@"%ld", context.roomInfo.uid]; + XPAcrossRoomPKViewController *acrossRoomPKVC = [[XPAcrossRoomPKViewController alloc] initWithRoomUid:roomUid]; + [context.hostDelegate.getCurrentNav presentViewController:acrossRoomPKVC animated:YES completion:nil]; +} + +- (void)executeAcrossRoomPKClose:(XPRoomMoreMenuActionContext *)context { + NSLog(@"执行关闭跨房PK"); + + [self showErrorToast:YMLocalizedString(@"XPRoomMoreMenuViewController15") context:context]; + [self dismissViewController:context]; +} + +- (void)executeAnchorPKOpen:(XPRoomMoreMenuActionContext *)context { + NSLog(@"执行开启主播PK"); + + if (context.hostDelegate.getRoomInfo.pkMatchStartTime) { + // PK匹配中,显示取消匹配确认框 + TTAlertConfig *config = [[TTAlertConfig alloc] init]; + config.message = YMLocalizedString(@"XPRoomMoreMenuViewController16"); + [TTPopup alertWithConfig:config confirmHandler:^{ + NSString *roomUid = [NSString stringWithFormat:@"%ld", context.roomInfo.uid]; +// [context.hostDelegate requestCancelMatchRandomPK:roomUid]; + } cancelHandler:^{ + }]; + } else { + // 跳转到主播PK页面 + [self dismissViewController:context]; + NSString *roomUid = [NSString stringWithFormat:@"%ld", context.roomInfo.uid]; + XPAnchorPKViewController *anchorPKVC = [[XPAnchorPKViewController alloc] initWithRoomUid:roomUid]; + [context.hostDelegate.getCurrentNav presentViewController:anchorPKVC animated:YES completion:nil]; + } +} + +- (void)executeAnchorPKClose:(XPRoomMoreMenuActionContext *)context { + NSLog(@"执行关闭主播PK"); + + if (context.roomInfo.pkState == AcrossRoomPkStateTypePenalty) { + if ([context.roomInfo.winUid isEqualToString:[AccountInfoStorage instance].getUid]) { + // 赢 + if (context.roomInfo.roundId) { +// [context.hostDelegate requestFinishAnchorPK:[NSString stringWithFormat:@"%ld", context.roomInfo.roundId]]; + } + } else if ([context.roomInfo.winUid isEqualToString:context.roomInfo.pkUid]) { + // 输,不需要操作 + } else { + // 平局 + if (context.roomInfo.roundId) { +// [context.hostDelegate requestFinishAnchorPK:[NSString stringWithFormat:@"%ld", context.roomInfo.roundId]]; + } + } + } else { + if (context.roomInfo.roundId) { +// [context.hostDelegdate requestFinishAnchorPK:[NSString stringWithFormat:@"%ld", context.roomInfo.roundId]]; + } + } +} + +- (void)executeDatingOpen:(XPRoomMoreMenuActionContext *)context { + NSLog(@"执行开启相亲模式"); + + // 检查房间模式冲突 + if (context.roomInfo.roomModeType == RoomModeType_Open_AcrossRoomPK_mode) { + [self showErrorToast:YMLocalizedString(@"XPRoomMoreMenuViewController6") context:context]; + [self dismissViewController:context]; + return; + } + + if (context.roomInfo.roomModeType == RoomModeType_Open_PK_Mode) { + [self showErrorToast:YMLocalizedString(@"XPRoomMoreMenuViewController7") context:context]; + [self dismissViewController:context]; + return; + } + + // 显示确认框 + TTAlertConfig *config = [[TTAlertConfig alloc] init]; + config.message = YMLocalizedString(@"XPRoomMoreMenuViewController8"); + config.confirmButtonConfig.title = YMLocalizedString(@"XPRoomMoreMenuViewController9"); + [TTPopup alertWithConfig:config confirmHandler:^{ + NSString *roomUid = [NSString stringWithFormat:@"%ld", context.roomInfo.uid]; +// [context.hostDelegate openRoomDating:roomUid]; + } cancelHandler:^{ + }]; +} + +- (void)executeDatingClose:(XPRoomMoreMenuActionContext *)context { + NSLog(@"执行关闭相亲模式"); + + // 显示确认框 + TTAlertConfig *config = [[TTAlertConfig alloc] init]; + config.title = YMLocalizedString(@"XPRoomMoreMenuViewController10"); + config.message = YMLocalizedString(@"XPRoomMoreMenuViewController11"); + config.confirmButtonConfig.title = YMLocalizedString(@"XPRoomMoreMenuViewController12"); + [TTPopup alertWithConfig:config confirmHandler:^{ + NSString *roomUid = [NSString stringWithFormat:@"%ld", context.roomInfo.uid]; +// [context.hostDelegate closeRoomDating:roomUid]; + } cancelHandler:^{ + }]; +} + +#pragma mark - 辅助方法 + +- (void)showErrorToast:(NSString *)message context:(XPRoomMoreMenuActionContext *)context { + if (context.presentingViewController && [context.presentingViewController respondsToSelector:@selector(showErrorToast:)]) { + BaseViewController *viewController = (BaseViewController *)context.presentingViewController; + [viewController showErrorToast:message]; + } +} + +- (void)dismissViewController:(XPRoomMoreMenuActionContext *)context { + if (context.presentingViewController && [context.presentingViewController respondsToSelector:@selector(dismissViewControllerAnimated:completion:)]) { + BaseViewController *viewController = (BaseViewController *)context.presentingViewController; + [viewController dismissViewControllerAnimated:NO completion:nil]; + } +} + +@end diff --git a/YuMi/Modules/YMRoom/View/MoreView/Factory/XPRoomMoreMenuActionFactory.m b/YuMi/Modules/YMRoom/View/MoreView/Factory/XPRoomMoreMenuActionFactory.m index a4a158a0..80e103bd 100644 --- a/YuMi/Modules/YMRoom/View/MoreView/Factory/XPRoomMoreMenuActionFactory.m +++ b/YuMi/Modules/YMRoom/View/MoreView/Factory/XPRoomMoreMenuActionFactory.m @@ -11,6 +11,7 @@ #import "XPGiftEffectAction.h" #import "XPRoomSettingAction.h" #import "XPSocialAction.h" +#import "XPPKAction.h" #import "RoomInfoModel.h" @implementation XPRoomMoreMenuActionFactory @@ -28,13 +29,23 @@ [actions addObject:[XPRoomSettingAction action]]; // 3. 社交功能 - 所有用户都可以使用 - [actions addObject:[XPSocialAction inviteFansAction]]; - [actions addObject:[XPSocialAction releaseRadioAction]]; +// [actions addObject:[XPSocialAction inviteFansAction]]; +// [actions addObject:[XPSocialAction releaseRadioAction]]; [actions addObject:[XPSocialAction trumpetAction]]; [actions addObject:[XPSocialAction reportAction]]; + // 4. PK相关功能 - 根据房间状态显示对应的Action + [actions addObject:[XPPKAction roomPKActionWithRoomInfo:context.roomInfo]]; + XPPKAction *crossAction = [XPPKAction corssPKActionWithRoomInfo:context.roomInfo]; + if (crossAction) { + [actions addObject:crossAction]; + } + XPPKAction *blindAction = [XPPKAction blindActionWithRoomInfo:context.roomInfo]; + if (blindAction) { + [actions addObject:blindAction]; + } + // TODO: 后续添加更多操作 - // [actions addObject:[XPPKAction action]]; // 等等... return actions; diff --git a/YuMi/Modules/YMRoom/View/MoreView/Model/XPRoomMoreItemModel.h b/YuMi/Modules/YMRoom/View/MoreView/Model/XPRoomMoreItemModel.h index b6554423..4ac6fd37 100644 --- a/YuMi/Modules/YMRoom/View/MoreView/Model/XPRoomMoreItemModel.h +++ b/YuMi/Modules/YMRoom/View/MoreView/Model/XPRoomMoreItemModel.h @@ -53,7 +53,7 @@ typedef NS_ENUM(NSInteger, RoomMoreMenuType) { ///扬声器 RoomMoreMenuType_Room_Voice = 21, ///心愿礼物 - RoomMoreMenuType_Room_Wish_Gift = 22, +// RoomMoreMenuType_Room_Wish_Gift = 22, ///举报 RoomMoreMenuType_Room_report = 23, ///房间相册 diff --git a/YuMi/Modules/YMRoom/View/MoreView/Model/XPRoomMoreMenuActionContext.h b/YuMi/Modules/YMRoom/View/MoreView/Model/XPRoomMoreMenuActionContext.h index ab9c5c1a..36a3c58a 100644 --- a/YuMi/Modules/YMRoom/View/MoreView/Model/XPRoomMoreMenuActionContext.h +++ b/YuMi/Modules/YMRoom/View/MoreView/Model/XPRoomMoreMenuActionContext.h @@ -44,13 +44,14 @@ NS_ASSUME_NONNULL_BEGIN * 便利构造方法 */ + (instancetype)contextWithRoomInfo:(RoomInfoModel *)roomInfo - userInfo:(UserInfoModel *)userInfo - hostDelegate:(id)hostDelegate - presentingViewController:(id)presentingViewController + userInfo:(UserInfoModel * _Nullable)userInfo + hostDelegate:(id _Nullable)hostDelegate + presentingViewController:(id _Nullable)presentingViewController isOnMic:(BOOL)isOnMic isSuperAdmin:(BOOL)isSuperAdmin isAppSuperAdmin:(BOOL)isAppSuperAdmin; + @end NS_ASSUME_NONNULL_END diff --git a/YuMi/Modules/YMRoom/View/MoreView/Model/XPRoomMoreMenuActionContext.m b/YuMi/Modules/YMRoom/View/MoreView/Model/XPRoomMoreMenuActionContext.m index b8115487..19df39df 100644 --- a/YuMi/Modules/YMRoom/View/MoreView/Model/XPRoomMoreMenuActionContext.m +++ b/YuMi/Modules/YMRoom/View/MoreView/Model/XPRoomMoreMenuActionContext.m @@ -6,13 +6,14 @@ // #import "XPRoomMoreMenuActionContext.h" +#import "XPMoreMenuPresenter.h" @implementation XPRoomMoreMenuActionContext + (instancetype)contextWithRoomInfo:(RoomInfoModel *)roomInfo - userInfo:(UserInfoModel *)userInfo - hostDelegate:(id)hostDelegate - presentingViewController:(id)presentingViewController + userInfo:(UserInfoModel * _Nullable)userInfo + hostDelegate:(id _Nullable)hostDelegate + presentingViewController:(id _Nullable)presentingViewController isOnMic:(BOOL)isOnMic isSuperAdmin:(BOOL)isSuperAdmin isAppSuperAdmin:(BOOL)isAppSuperAdmin { @@ -29,4 +30,5 @@ return context; } + @end diff --git a/YuMi/Modules/YMRoom/View/MoreView/Presenter/XPMoreMenuPresenter.m b/YuMi/Modules/YMRoom/View/MoreView/Presenter/XPMoreMenuPresenter.m index 749f8bee..418de269 100644 --- a/YuMi/Modules/YMRoom/View/MoreView/Presenter/XPMoreMenuPresenter.m +++ b/YuMi/Modules/YMRoom/View/MoreView/Presenter/XPMoreMenuPresenter.m @@ -28,11 +28,34 @@ @implementation XPMoreMenuPresenter +- (void)loadNIMMemberData:(void(^)(NSArray * _Nullable members))finish withRoomInfo:(RoomInfoModel *)roomInfo{ + if (!finish) { + return; + } + + NSString * uid = [AccountInfoStorage instance].getUid; + if (uid.length <= 0) { + finish(nil); + return; + } + NSString * roomId = [NSString stringWithFormat:@"%ld", roomInfo.roomId]; + NIMChatroomMembersByIdsRequest *request = [[NIMChatroomMembersByIdsRequest alloc]init]; + request.roomId = roomId; + request.userIds = @[uid]; + + [[NIMSDK sharedSDK].chatroomManager fetchChatroomMembersByIds:request completion:^(NSError * _Nullable error, NSArray * _Nullable members) { + if (members) { + finish(members); + } else { + finish(nil); + } + }]; +} + - (void)getMoreMenuDataSourceWithNewArchitecture:(RoomInfoModel *)roomInfo isSuperAdmin:(BOOL)isSuperAdmin isOnMic:(BOOL)isOnMic isAppSuperAdmin:(BOOL)isAppSuperAdmin { - // 创建上下文 XPRoomMoreMenuActionContext *context = [XPRoomMoreMenuActionContext contextWithRoomInfo:roomInfo @@ -46,15 +69,74 @@ // 使用工厂创建 Action 列表 NSArray *actions = [XPRoomMoreMenuActionFactory createActionsWithContext:context]; - // 转换为数据模型 NSMutableArray *models = [NSMutableArray array]; - for (XPRoomMoreMenuAction *action in actions) { - [models addObject:[action toItemModel]]; - } +// for (XPRoomMoreMenuAction *action in actions) { +// [models addObject:[action toItemModel]]; +// } - // 调用原有的成功回调 - [[self getView] getMoreMenuDataSuccess:models]; + if (isAppSuperAdmin) { + // TODO: 超管直接回使用固定组合 models (trumpet, giftEffect, appManager, report) + // 调用原有的成功回调 + [[self getView] getMoreMenuDataSuccess:models]; + } else { + [self loadNIMMemberData:^(NSArray * _Nullable members) { + BOOL isCreator = NO; + BOOL isManager = NO; + if (members) { + NIMChatroomMember * member = members.firstObject; + if (member) { + isCreator = member.type == NIMChatroomMemberTypeCreator; + isManager = member.type == NIMChatroomMemberTypeManager; + + if ((isCreator || isManager || isSuperAdmin) && roomInfo.type != RoomType_MiniGame && roomInfo.type != RoomType_Anchor) { + // TODO: models 增加 roomPK + } + if (isCreator && roomInfo.type != RoomType_MiniGame) { + if(roomInfo.type != RoomType_Anchor){ + // TODO: models 增加 acrossRoomPK + } + } + if (isOnMic) { + // TODO: models 增加 musicPanel + } + if (isCreator && roomInfo.type == RoomType_Anchor) { + // TODO: models 增加 anchorRoomPK + } + if (isCreator || isManager || isSuperAdmin) { + if (roomInfo.canOpenBlindDate && roomInfo.type != RoomType_Anchor && roomInfo.type != RoomType_MiniGame) { + // TODO: models 增加 dating,并指定插入到 index = 1 的位置 + } + // TODO: models 增加 trumpet、giftEffect、roomSetting、bgValue、clearScreen + } else { + // TODO: models 增加 trumpet、giftEffect + } + } else { + // TODO: models 只有 report 和 giftEffect + } + } else { + // TODO: models 只有 report 和 giftEffect + } + + if ((isCreator || isManager || isSuperAdmin) && // 房主 & 管理 + roomInfo.isPermitRoom != PermitRoomType_License && // 非牌照 + roomInfo.roomModeType != RoomModeType_Open_Blind && // 非相亲 + roomInfo.type != RoomType_MiniGame && // 非 10/15 麦 + roomInfo.type != RoomType_Anchor) { + // TODO: models 增加 roomTypeSetting + } + + if(roomInfo.hasRoomAlbum == YES){ + // TODO: models 增加 roomPhotoAlbum + } + if ([ClientConfig shareConfig].configInfo.redEnvelopeConfig.open && + roomInfo.redEnvelopeOpen) { + // TODO: models 增加 redPacket,并指定位置为 index = 1 + } + + [[self getView] getMoreMenuDataSuccess:models]; + } withRoomInfo:roomInfo]; + } } - (void)getMoreMenuDataSource:(RoomInfoModel *)roomInfo isSuperAdmin:(BOOL)isSuperAdmin isOnMic:(BOOL)isOnMic isAppSuperAdmin:(BOOL)isAppSuperAdmin{ @@ -81,12 +163,6 @@ giftEffect.imageName = @"room_more_menu_gift_effect"; giftEffect.type = roomInfo.hasAnimationEffect ? RoomMoreMenuType_Gift_Effect_Close : RoomMoreMenuType_Gift_Effect_Open; giftEffect.titleColor = [DJDKMIMOMColor roomMoreMenuTextColor]; - - XPRoomMoreItemModel * wishGift = [[XPRoomMoreItemModel alloc] init]; - wishGift.title = YMLocalizedString(@"XPMoreMenuPresenter6"); - wishGift.imageName = @"room_more_menu_wish_gift"; - wishGift.type = RoomMoreMenuType_Room_Wish_Gift; - wishGift.titleColor = [DJDKMIMOMColor roomMoreMenuTextColor]; XPRoomMoreItemModel * dating = [[XPRoomMoreItemModel alloc] init]; dating.title = roomInfo.roomModeType == RoomModeType_Open_Blind ? YMLocalizedString(@"XPMoreMenuPresenter29") : YMLocalizedString(@"XPMoreMenuPresenter8"); @@ -125,18 +201,6 @@ roomSetting.imageName = @"room_more_menu_setting"; roomSetting.type = RoomMoreMenuType_Room_Setting; roomSetting.titleColor = [DJDKMIMOMColor roomMoreMenuTextColor]; - - XPRoomMoreItemModel * inviteFriend = [[XPRoomMoreItemModel alloc] init]; - inviteFriend.title = YMLocalizedString(@"XPMoreMenuPresenter22"); - inviteFriend.imageName = @"room_more_menu_invite_friend"; - inviteFriend.type = RoomMoreMenuType_Invite_Fans; - inviteFriend.titleColor = [DJDKMIMOMColor roomMoreMenuTextColor]; - - XPRoomMoreItemModel * releaseRadio = [[XPRoomMoreItemModel alloc] init]; - releaseRadio.title = YMLocalizedString(@"XPMoreMenuPresenter23"); - releaseRadio.imageName = @"room_more_menu_release_radio"; - releaseRadio.type = RoomMoreMenuType_Release_Radio; - releaseRadio.titleColor = [DJDKMIMOMColor roomMoreMenuTextColor]; XPRoomMoreItemModel * trumpet = [[XPRoomMoreItemModel alloc] init]; trumpet.title = YMLocalizedString(@"XPMoreMenuPresenter35"); @@ -230,10 +294,6 @@ [array addObject:anchorRoomPK]; indexOfRoomAlbum += 1; } - - if ((isCreator || isManager || isSuperAdmin) && roomInfo.hasWishGiftPermit) { - [array addObject:wishGift]; - } if (isCreator || isManager || isSuperAdmin) { if (roomInfo.canOpenBlindDate && roomInfo.type != RoomType_Anchor && roomInfo.type != RoomType_MiniGame) { diff --git a/YuMi/Modules/YMRoom/View/MoreView/View/XPRoomMoreMenuViewController.m b/YuMi/Modules/YMRoom/View/MoreView/View/XPRoomMoreMenuViewController.m index 754238ee..6b3cadc9 100644 --- a/YuMi/Modules/YMRoom/View/MoreView/View/XPRoomMoreMenuViewController.m +++ b/YuMi/Modules/YMRoom/View/MoreView/View/XPRoomMoreMenuViewController.m @@ -34,7 +34,6 @@ #import "XPReleaseRadioViewController.h" #import "XPRoomPKViewController.h" #import "BaseNavigationController.h" -#import "XPWishGiftCreateViewController.h" #import "XPAnchorPKSelectTypeController.h" #import "XPRoomTrumpetViewController.h" #import "XPWebViewController.h" @@ -49,6 +48,9 @@ #import "RoomModeViewController.h" #import "XPRoomMoreMenuActionTest.h" +#import "XPRoomMoreMenuActionFactory.h" +#import "XPRoomMoreMenuAction.h" +#import "XPPKAction.h" UIKIT_EXTERN NSString * const kRoomGiftEffectUpdateNotificationKey; @@ -93,7 +95,7 @@ UIKIT_EXTERN NSString * const kRoomGiftEffectUpdateNotificationKey; [self initSubViewConstraints]; // 测试新的架构实现 -// [self testNewArchitecture]; + [self testNewArchitecture]; ///自己是公会超管 BOOL meIsSuperAdmin = NO; @@ -578,14 +580,6 @@ UIKIT_EXTERN NSString * const kRoomGiftEffectUpdateNotificationKey; item.isSelected = [RtcManager instance].isRemoteMuted; } break; - case RoomMoreMenuType_Room_Wish_Gift: - { - [self dismissViewControllerAnimated:YES completion:nil]; - - XPWishGiftCreateViewController *wishGiftVC = [[XPWishGiftCreateViewController alloc] initWithDelegate:self.hostDelegate]; - [self.hostDelegate.getCurrentNav pushViewController:wishGiftVC animated:YES]; - } - break; case RoomMoreMenuType_Room_report: { [self dismissViewControllerAnimated:YES completion:nil]; diff --git a/issues/room-more-menu-refactor-todo.md b/issues/room-more-menu-refactor-todo.md index 6db0d877..94bc34a5 100644 --- a/issues/room-more-menu-refactor-todo.md +++ b/issues/room-more-menu-refactor-todo.md @@ -21,8 +21,10 @@ - [x] 创建 `XPGiftEffectAction.h/.m` - 礼物特效 Action 类 - [x] 创建 `XPRoomSettingAction.h/.m` - 房间设置 Action 类 - [x] 创建 `XPSocialAction.h/.m` - 社交功能 Action 类 +- [x] 创建 `XPPKAction.h/.m` - PK 相关功能 Action 类 - [x] 重构主控制器 `didSelectItemAtIndexPath` 方法 - [x] 集成新架构到主控制器 +- [x] 更新工厂类集成PK Action - [x] 测试新架构功能 ### 🔄 进行中 @@ -40,7 +42,7 @@ #### 实现具体的 Action 类 (优先级:高) - [x] `XPRoomSettingAction.h/.m` - 房间设置 - [x] `XPSocialAction.h/.m` - 社交功能 -- [ ] `XPPKAction.h/.m` - PK 相关功能 +- [x] `XPPKAction.h/.m` - PK 相关功能(同房PK、跨房PK、主播PK、相亲模式) - [ ] `XPRoomManagementAction.h/.m` - 房间管理 - [ ] `XPOtherAction.h/.m` - 其他功能