From 9c38bd3008625ff45f4d38ddec7addc7d2002309 Mon Sep 17 00:00:00 2001 From: linyudan <1031378945@qq.com> Date: Tue, 5 Dec 2023 15:47:44 -0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9yinmeng=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=A4=B9=E4=B8=8B=E7=9A=84Message=EF=BC=8CRoom=EF=BC=8CMoudule?= =?UTF-8?q?Kit=E4=B8=8B=E6=96=87=E4=BB=B6=E7=9A=84=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=EF=BC=8C=E6=96=B9=E6=B3=95=E5=90=8D=EF=BC=8C=E5=8A=A0Mew?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yinmeng-ios/Podfile.lock | 2 +- .../yinmeng-ios.xcodeproj/project.pbxproj | 524 +++++++++--------- .../Mew/Home/Presenter/MewHomePresenter.m | 2 +- .../Main/Mew/Home/Protocol/MewHomeProtocol.h | 3 +- .../Mew/Home/View/MewHomeViewController.m | 6 +- .../SessionList/MewSessionListTableViewCell.m | 12 +- .../MewSessionListViewController.m | 4 +- .../Main/Mew/Party/Api/Api+Party.h | 21 + .../Main/Mew/Party/Api/Api+Party.m | 20 + .../Party}/Model/HomeRecommendRoomModel.h | 10 - .../Party}/Model/HomeRecommendRoomModel.m | 0 .../Mew/Party/Presenter/MewPartyPresenter.h | 17 + .../Mew/Party/Presenter/MewPartyPresenter.m | 28 + .../Mew/Party/Protocol/MewPartyProtocol.h | 18 + .../Mew/Party/View/MewPartyViewController.m | 17 +- .../Mew/Room/View/MewRoomViewController.m | 132 ++--- .../View/RoomHeaderView/MewRoomHeaderView.h | 8 +- .../View/RoomHeaderView/MewRoomHeaderView.m | 14 +- .../RoomMessageView/MewRoomMessageTableCell.h | 4 +- .../RoomMessageView/MewRoomMessageTableCell.m | 14 +- .../View/RoomStageView/MewSocialStageView.m | 2 +- .../Main/YinMeng/Home/Api/Api+Home.h | 33 -- .../Main/YinMeng/Home/Api/Api+Home.m | 31 -- .../YinMeng/Home/Presenter/YMHomePresenter.h | 24 - .../YinMeng/Home/Presenter/YMHomePresenter.m | 46 -- .../YinMeng/Home/Protocol/YMHomeProtocol.h | 22 - .../Main/YinMeng/Message/Api/Api+Message.h | 2 +- .../Main/YinMeng/Message/Api/Api+Message.m | 2 +- .../YinMeng/Message/Model/ChatLimitModel.m | 12 - .../YinMeng/Message/Model/MessageMenuModel.h | 27 - .../YinMeng/Message/Model/MessageMenuModel.m | 12 - .../{ChatLimitModel.h => MewChatLimitModel.h} | 4 +- .../YinMeng/Message/Model/MewChatLimitModel.m | 12 + .../Message/Model/MewMessageMenuModel.h | 27 + .../Message/Model/MewMessageMenuModel.m | 12 + .../Message/Presenter/CHMessagePresenter.h | 25 - .../Message/Presenter/MewMessagePresenter.h | 25 + ...ssagePresenter.m => MewMessagePresenter.m} | 32 +- .../Message/Protocol/CHMessageProtocol.h | 27 - .../Message/Protocol/MewMessageProtocol.h | 27 + ...NIMMessageUtils.h => MewNIMMessageUtils.h} | 6 +- ...NIMMessageUtils.m => MewNIMMessageUtils.m} | 8 +- .../{NIMBadgeView.h => MewNIMBadgeView.h} | 6 +- .../{NIMBadgeView.m => MewNIMBadgeView.m} | 32 +- .../View/Session/CHMessageConentAudioView.h | 17 - .../View/Session/CHSessionAudioRecordView.h | 26 - .../View/Session/CHSessionMessageCell.h | 30 - .../Message/View/Session/CHSessionNavView.h | 33 -- .../View/Session/CHSessionToolbarView.h | 29 - .../Content/CHMessageContentUnSupportView.h | 17 - .../CHMessageToolMenuCollectionViewCell.h | 16 - ...ContentText.h => MewMessageContentImage.h} | 6 +- ...ontentImage.m => MewMessageContentImage.m} | 23 +- ...Protocol.h => MewMessageContentProtocol.h} | 8 +- ...ContentImage.h => MewMessageContentText.h} | 6 +- ...eContentText.m => MewMessageContentText.m} | 18 +- .../Content/MewMessageContentUnSupportView.h | 17 + ...iew.m => MewMessageContentUnSupportView.m} | 12 +- .../MewMessageToolMenuCollectionCell.h | 16 + .../MewMessageToolMenuCollectionCell.m | 56 ++ ...=> MewMessageToolMenuCollectionViewCell.m} | 4 +- ...eAudioCenter.h => MewMessageAudioCenter.h} | 10 +- ...eAudioCenter.m => MewMessageAudioCenter.m} | 19 +- .../View/Session/MewMessageConentAudioView.h | 17 + ...udioView.m => MewMessageConentAudioView.m} | 60 +- .../Message/View/Session/MewNIMMessageMaker.h | 24 + ...NIMMessageMaker.m => MewNIMMessageMaker.m} | 62 +-- .../View/Session/MewSessionAudioRecordView.h | 26 + ...cordView.m => MewSessionAudioRecordView.m} | 22 +- ...oller.h => MewSessionInfoViewController.h} | 8 +- ...oller.m => MewSessionInfoViewController.m} | 28 +- .../View/Session/MewSessionMessageCell.h | 30 + ...nMessageCell.m => MewSessionMessageCell.m} | 111 ++-- .../Message/View/Session/MewSessionNavView.h | 33 ++ ...CHSessionNavView.m => MewSessionNavView.m} | 35 +- .../View/Session/MewSessionToolbarView.h | 29 + ...nToolbarView.m => MewSessionToolbarView.m} | 124 ++--- ...ontroller.h => MewSessionViewController.h} | 4 +- ...ontroller.m => MewSessionViewController.m} | 125 ++--- .../Message/View/Session/NIMMessageMaker.h | 34 -- .../Api/Api+Gift.h | 2 +- .../Api/Api+Gift.m | 2 +- .../Model/MewGiftInfoModel.h} | 20 +- .../MewGiftView/Model/MewGiftInfoModel.m | 12 + .../Model/MewGiftReceiveInfoModel.h} | 14 +- .../Model/MewGiftReceiveInfoModel.m | 12 + .../Presenter/MewGiftStorage.h} | 13 +- .../MewGiftView/Presenter/MewGiftStorage.m | 93 ++++ .../SendGiftView/Model/GiftInfoModel.m | 12 - .../SendGiftView/Model/GiftReceiveInfoModel.m | 12 - .../SendGiftView/Presenter/YMGiftStorage.m | 125 ----- .../Main/YinMeng/Room/Api/Api+Room.h | 16 +- .../Main/YinMeng/Room/Api/Api+Room.m | 14 +- .../{RoomInfoModel.h => MewRoomInfoModel.h} | 4 +- .../YinMeng/Room/Model/MewRoomInfoModel.m | 12 + .../Main/YinMeng/Room/Model/RoomInfoModel.m | 12 - .../{YMRoomPresenter.h => MewRoomPresenter.h} | 20 +- .../{YMRoomPresenter.m => MewRoomPresenter.m} | 54 +- .../{YMRoomProtocol.h => MewRoomProtocol.h} | 16 +- ...imationGroup.h => MewRoomAnimationGroup.h} | 6 +- ...imationGroup.m => MewRoomAnimationGroup.m} | 8 +- ...ionHitView.h => MewRoomAnimationHitView.h} | 4 +- ...ionHitView.m => MewRoomAnimationHitView.m} | 6 +- .../View/AnimationView/MewRoomAnimationView.h | 21 + ...AnimationView.m => MewRoomAnimationView.m} | 108 ++-- .../View/AnimationView/YMRoomAnimationView.h | 21 - .../Room/View/CHRoomAnimationProtocol.h | 24 - .../YinMeng/Room/View/CHRoomGuestDelegate.h | 41 -- .../YinMeng/Room/View/CHRoomHostDelegate.h | 29 - .../MenuContainerView/MewRoomSendTextView.h | 23 + ...omSendTextView.m => MewRoomSendTextView.m} | 46 +- .../MenuContainerView/YMRoomSendTextView.h | 23 - .../MewRoomMessageContainerView.h | 19 + ...erView.m => MewRoomMessageContainerView.m} | 100 ++-- ...eaderView.h => MewRoomMessageHeaderView.h} | 2 +- ...eaderView.m => MewRoomMessageHeaderView.m} | 12 +- ...ssageInfoModel.h => MewMessageInfoModel.h} | 4 +- ...ssageInfoModel.m => MewMessageInfoModel.m} | 8 +- ...eExtModel.h => MewMessageRemoteExtModel.h} | 4 +- .../Model/MewMessageRemoteExtModel.m | 12 + .../Model/YMMessageRemoteExtModel.m | 12 - ...ageConstant.h => MewRoomMessageConstant.h} | 8 +- ...MessageFilter.h => MewRoomMessageFilter.h} | 6 +- ...MessageFilter.m => MewRoomMessageFilter.m} | 8 +- .../Tool/MewRoomMessageParser.h | 23 + ...MessageParser.m => MewRoomMessageParser.m} | 84 ++- .../Tool/YMRoomMessageParser.h | 24 - ...YMNetImageYYLabel.h => MewNetImageLabel.h} | 4 +- ...YMNetImageYYLabel.m => MewNetImageLabel.m} | 20 +- .../YMRoomMessageContainerView.h | 19 - .../YinMeng/Room/View/MewMicroQueueProtocol.h | 31 ++ .../Room/View/MewRoomAnimationProtocol.h | 24 + .../YinMeng/Room/View/MewRoomGuestDelegate.h | 40 ++ .../YinMeng/Room/View/MewRoomHostDelegate.h | 29 + .../YinMeng/Room/View/MicroQueueProtocol.h | 31 -- .../YinMeng/Room/View/StageView/CHStageView.h | 10 +- .../YinMeng/Room/View/StageView/CHStageView.m | 46 +- .../Room/View/StageView/MicroView/MicroView.m | 10 +- .../StageView/MicroView/MicroViewProtocol.h | 8 +- 139 files changed, 1855 insertions(+), 2015 deletions(-) create mode 100644 yinmeng-ios/yinmeng-ios/Main/Mew/Party/Api/Api+Party.h create mode 100644 yinmeng-ios/yinmeng-ios/Main/Mew/Party/Api/Api+Party.m rename yinmeng-ios/yinmeng-ios/Main/{YinMeng/Home => Mew/Party}/Model/HomeRecommendRoomModel.h (78%) rename yinmeng-ios/yinmeng-ios/Main/{YinMeng/Home => Mew/Party}/Model/HomeRecommendRoomModel.m (100%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/Mew/Party/Presenter/MewPartyPresenter.h create mode 100644 yinmeng-ios/yinmeng-ios/Main/Mew/Party/Presenter/MewPartyPresenter.m create mode 100644 yinmeng-ios/yinmeng-ios/Main/Mew/Party/Protocol/MewPartyProtocol.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Api/Api+Home.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Api/Api+Home.m delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Presenter/YMHomePresenter.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Presenter/YMHomePresenter.m delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Protocol/YMHomeProtocol.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/ChatLimitModel.m delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MessageMenuModel.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MessageMenuModel.m rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/{ChatLimitModel.h => MewChatLimitModel.h} (85%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewChatLimitModel.m create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewMessageMenuModel.h create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewMessageMenuModel.m delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/CHMessagePresenter.h create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/MewMessagePresenter.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/{CHMessagePresenter.m => MewMessagePresenter.m} (61%) delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Protocol/CHMessageProtocol.h create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Protocol/MewMessageProtocol.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Tool/{NIMMessageUtils.h => MewNIMMessageUtils.h} (63%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Tool/{NIMMessageUtils.m => MewNIMMessageUtils.m} (87%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/NIMViews/{NIMBadgeView.h => MewNIMBadgeView.h} (61%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/NIMViews/{NIMBadgeView.m => MewNIMBadgeView.m} (88%) delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHMessageConentAudioView.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionAudioRecordView.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionMessageCell.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionNavView.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionToolbarView.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentUnSupportView.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageToolMenuCollectionViewCell.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/{CHMessageContentText.h => MewMessageContentImage.h} (50%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/{CHMessageContentImage.m => MewMessageContentImage.m} (87%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/{CHMessageContentProtocol.h => MewMessageContentProtocol.h} (68%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/{CHMessageContentImage.h => MewMessageContentText.h} (50%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/{CHMessageContentText.m => MewMessageContentText.m} (80%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentUnSupportView.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/{CHMessageContentUnSupportView.m => MewMessageContentUnSupportView.m} (87%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageToolMenuCollectionCell.h create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageToolMenuCollectionCell.m rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/{CHMessageToolMenuCollectionViewCell.m => MewMessageToolMenuCollectionViewCell.m} (95%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/{CHMessageAudioCenter.h => MewMessageAudioCenter.h} (55%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/{CHMessageAudioCenter.m => MewMessageAudioCenter.m} (80%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewMessageConentAudioView.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/{CHMessageConentAudioView.m => MewMessageConentAudioView.m} (71%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewNIMMessageMaker.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/{NIMMessageMaker.m => MewNIMMessageMaker.m} (51%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionAudioRecordView.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/{CHSessionAudioRecordView.m => MewSessionAudioRecordView.m} (88%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/{CHSessionInfoViewController.h => MewSessionInfoViewController.h} (50%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/{CHSessionInfoViewController.m => MewSessionInfoViewController.m} (91%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionMessageCell.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/{CHSessionMessageCell.m => MewSessionMessageCell.m} (73%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionNavView.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/{CHSessionNavView.m => MewSessionNavView.m} (83%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionToolbarView.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/{CHSessionToolbarView.m => MewSessionToolbarView.m} (76%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/{SessionViewController.h => MewSessionViewController.h} (71%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/{SessionViewController.m => MewSessionViewController.m} (79%) delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/NIMMessageMaker.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/{SendGiftView => MewGiftView}/Api/Api+Gift.h (92%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/{SendGiftView => MewGiftView}/Api/Api+Gift.m (94%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/{SendGiftView/Model/GiftInfoModel.h => MewGiftView/Model/MewGiftInfoModel.h} (50%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Model/MewGiftInfoModel.m rename yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/{SendGiftView/Model/GiftReceiveInfoModel.h => MewGiftView/Model/MewGiftReceiveInfoModel.h} (76%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Model/MewGiftReceiveInfoModel.m rename yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/{SendGiftView/Presenter/YMGiftStorage.h => MewGiftView/Presenter/MewGiftStorage.h} (61%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Presenter/MewGiftStorage.m delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Model/GiftInfoModel.m delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Model/GiftReceiveInfoModel.m delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Presenter/YMGiftStorage.m rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/{RoomInfoModel.h => MewRoomInfoModel.h} (95%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/MewRoomInfoModel.m delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/RoomInfoModel.m rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Presenter/{YMRoomPresenter.h => MewRoomPresenter.h} (67%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Presenter/{YMRoomPresenter.m => MewRoomPresenter.m} (72%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Protocol/{YMRoomProtocol.h => MewRoomProtocol.h} (52%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/{CHRoomAnimationGroup.h => MewRoomAnimationGroup.h} (60%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/{CHRoomAnimationGroup.m => MewRoomAnimationGroup.m} (92%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/{YMRoomAnimationHitView.h => MewRoomAnimationHitView.h} (66%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/{YMRoomAnimationHitView.m => MewRoomAnimationHitView.m} (85%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationView.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/{YMRoomAnimationView.m => MewRoomAnimationView.m} (69%) delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/YMRoomAnimationView.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/CHRoomAnimationProtocol.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/CHRoomGuestDelegate.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/CHRoomHostDelegate.h create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/MewRoomSendTextView.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/{YMRoomSendTextView.m => MewRoomSendTextView.m} (86%) delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/YMRoomSendTextView.h create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/MewRoomMessageContainerView.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/{YMRoomMessageContainerView.m => MewRoomMessageContainerView.m} (72%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/{CHRoomMessageHeaderView.h => MewRoomMessageHeaderView.h} (84%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/{CHRoomMessageHeaderView.m => MewRoomMessageHeaderView.m} (90%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/{YMMessageInfoModel.h => MewMessageInfoModel.h} (95%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/{YMMessageInfoModel.m => MewMessageInfoModel.m} (89%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/{YMMessageRemoteExtModel.h => MewMessageRemoteExtModel.h} (87%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/MewMessageRemoteExtModel.m delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/YMMessageRemoteExtModel.m rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/{YMRoomMessageConstant.h => MewRoomMessageConstant.h} (75%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/{YMRoomMessageFilter.h => MewRoomMessageFilter.h} (57%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/{YMRoomMessageFilter.m => MewRoomMessageFilter.m} (90%) create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageParser.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/{YMRoomMessageParser.m => MewRoomMessageParser.m} (55%) delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageParser.h rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/View/{YMNetImageYYLabel.h => MewNetImageLabel.h} (82%) rename yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/View/{YMNetImageYYLabel.m => MewNetImageLabel.m} (83%) delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/YMRoomMessageContainerView.h create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewMicroQueueProtocol.h create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewRoomAnimationProtocol.h create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewRoomGuestDelegate.h create mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewRoomHostDelegate.h delete mode 100644 yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MicroQueueProtocol.h diff --git a/yinmeng-ios/Podfile.lock b/yinmeng-ios/Podfile.lock index 01f05a0..f380380 100644 --- a/yinmeng-ios/Podfile.lock +++ b/yinmeng-ios/Podfile.lock @@ -156,4 +156,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: cc88fa05da662ee682fc0eeb502faab221faa032 -COCOAPODS: 1.12.1 +COCOAPODS: 1.14.2 diff --git a/yinmeng-ios/yinmeng-ios.xcodeproj/project.pbxproj b/yinmeng-ios/yinmeng-ios.xcodeproj/project.pbxproj index ed65df4..b080f17 100644 --- a/yinmeng-ios/yinmeng-ios.xcodeproj/project.pbxproj +++ b/yinmeng-ios/yinmeng-ios.xcodeproj/project.pbxproj @@ -7,28 +7,27 @@ objects = { /* Begin PBXBuildFile section */ - 23270C292B0E037300B9303B /* CHMessageConentAudioView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23270C272B0E037300B9303B /* CHMessageConentAudioView.m */; }; - 23270C2C2B0E041300B9303B /* CHMessageAudioCenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 23270C2B2B0E041300B9303B /* CHMessageAudioCenter.m */; }; + 23270C292B0E037300B9303B /* MewMessageConentAudioView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23270C272B0E037300B9303B /* MewMessageConentAudioView.m */; }; + 23270C2C2B0E041300B9303B /* MewMessageAudioCenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 23270C2B2B0E041300B9303B /* MewMessageAudioCenter.m */; }; 23270C302B0E071B00B9303B /* MewPaymentAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23270C2F2B0E071B00B9303B /* MewPaymentAction.swift */; }; - 233757562B0CB577001D0B7F /* CHMessagePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757262B0CB577001D0B7F /* CHMessagePresenter.m */; }; - 233757572B0CB577001D0B7F /* MessageMenuModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337572C2B0CB577001D0B7F /* MessageMenuModel.m */; }; - 233757582B0CB577001D0B7F /* ChatLimitModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337572D2B0CB577001D0B7F /* ChatLimitModel.m */; }; - 233757592B0CB577001D0B7F /* NIMBadgeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757312B0CB577001D0B7F /* NIMBadgeView.m */; }; - 2337575A2B0CB577001D0B7F /* UITableView+NIMScrollToBottom.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757342B0CB577001D0B7F /* UITableView+NIMScrollToBottom.m */; }; + 233757562B0CB577001D0B7F /* MewMessagePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757262B0CB577001D0B7F /* MewMessagePresenter.m */; }; + 233757572B0CB577001D0B7F /* MewMessageMenuModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337572C2B0CB577001D0B7F /* MewMessageMenuModel.m */; }; + 233757582B0CB577001D0B7F /* MewChatLimitModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337572D2B0CB577001D0B7F /* MewChatLimitModel.m */; }; + 233757592B0CB577001D0B7F /* MewNIMBadgeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757312B0CB577001D0B7F /* MewNIMBadgeView.m */; }; 2337575B2B0CB577001D0B7F /* UIView+NIM.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757362B0CB577001D0B7F /* UIView+NIM.m */; }; - 2337575C2B0CB577001D0B7F /* CHSessionMessageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757392B0CB577001D0B7F /* CHSessionMessageCell.m */; }; - 2337575D2B0CB577001D0B7F /* CHSessionToolbarView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337573B2B0CB577001D0B7F /* CHSessionToolbarView.m */; }; - 2337575E2B0CB577001D0B7F /* NIMMessageMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337573C2B0CB577001D0B7F /* NIMMessageMaker.m */; }; - 2337575F2B0CB577001D0B7F /* CHSessionInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337573D2B0CB577001D0B7F /* CHSessionInfoViewController.m */; }; - 233757602B0CB577001D0B7F /* SessionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337573E2B0CB577001D0B7F /* SessionViewController.m */; }; - 233757612B0CB577001D0B7F /* CHMessageToolMenuCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757402B0CB577001D0B7F /* CHMessageToolMenuCollectionViewCell.m */; }; - 233757622B0CB577001D0B7F /* CHMessageContentImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757412B0CB577001D0B7F /* CHMessageContentImage.m */; }; - 233757632B0CB577001D0B7F /* CHMessageContentUnSupportView.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757472B0CB577001D0B7F /* CHMessageContentUnSupportView.m */; }; - 233757642B0CB577001D0B7F /* CHMessageContentText.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757482B0CB577001D0B7F /* CHMessageContentText.m */; }; - 233757652B0CB577001D0B7F /* CHSessionNavView.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757492B0CB577001D0B7F /* CHSessionNavView.m */; }; - 233757662B0CB577001D0B7F /* CHSessionAudioRecordView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337574F2B0CB577001D0B7F /* CHSessionAudioRecordView.m */; }; + 2337575C2B0CB577001D0B7F /* MewSessionMessageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757392B0CB577001D0B7F /* MewSessionMessageCell.m */; }; + 2337575D2B0CB577001D0B7F /* MewSessionToolbarView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337573B2B0CB577001D0B7F /* MewSessionToolbarView.m */; }; + 2337575E2B0CB577001D0B7F /* MewNIMMessageMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337573C2B0CB577001D0B7F /* MewNIMMessageMaker.m */; }; + 2337575F2B0CB577001D0B7F /* MewSessionInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337573D2B0CB577001D0B7F /* MewSessionInfoViewController.m */; }; + 233757602B0CB577001D0B7F /* MewSessionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337573E2B0CB577001D0B7F /* MewSessionViewController.m */; }; + 233757612B0CB577001D0B7F /* MewMessageToolMenuCollectionCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757402B0CB577001D0B7F /* MewMessageToolMenuCollectionCell.m */; }; + 233757622B0CB577001D0B7F /* MewMessageContentImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757412B0CB577001D0B7F /* MewMessageContentImage.m */; }; + 233757632B0CB577001D0B7F /* MewMessageContentUnSupportView.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757472B0CB577001D0B7F /* MewMessageContentUnSupportView.m */; }; + 233757642B0CB577001D0B7F /* MewMessageContentText.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757482B0CB577001D0B7F /* MewMessageContentText.m */; }; + 233757652B0CB577001D0B7F /* MewSessionNavView.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757492B0CB577001D0B7F /* MewSessionNavView.m */; }; + 233757662B0CB577001D0B7F /* MewSessionAudioRecordView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337574F2B0CB577001D0B7F /* MewSessionAudioRecordView.m */; }; 233757672B0CB577001D0B7F /* Api+Message.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757512B0CB577001D0B7F /* Api+Message.m */; }; - 233757682B0CB577001D0B7F /* NIMMessageUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757542B0CB577001D0B7F /* NIMMessageUtils.m */; }; + 233757682B0CB577001D0B7F /* MewNIMMessageUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 233757542B0CB577001D0B7F /* MewNIMMessageUtils.m */; }; 2337576B2B0CB630001D0B7F /* UIView+FilletCorner.m in Sources */ = {isa = PBXBuildFile; fileRef = 2337576A2B0CB630001D0B7F /* UIView+FilletCorner.m */; }; 2370514C2B1D7CD500F5DE14 /* YYUtility+Device.m in Sources */ = {isa = PBXBuildFile; fileRef = 2370511C2B1D7CD500F5DE14 /* YYUtility+Device.m */; }; 2370514D2B1D7CD500F5DE14 /* YYUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 2370511D2B1D7CD500F5DE14 /* YYUtility.m */; }; @@ -95,22 +94,22 @@ 8C9C82C12B0C695600A601BC /* Api.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C826E2B0C695600A601BC /* Api.m */; }; 8C9C82DC2B0C696900A601BC /* YMConstant.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C82DB2B0C696900A601BC /* YMConstant.m */; }; 8C9C84172B0C697A00A601BC /* YMWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C82DF2B0C697A00A601BC /* YMWebViewController.m */; }; - 8C9C84182B0C697A00A601BC /* YMHomePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C82E32B0C697A00A601BC /* YMHomePresenter.m */; }; + 8C9C84182B0C697A00A601BC /* MewPartyPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C82E32B0C697A00A601BC /* MewPartyPresenter.m */; }; 8C9C84192B0C697A00A601BC /* HomeRecommendRoomModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C82E92B0C697A00A601BC /* HomeRecommendRoomModel.m */; }; - 8C9C841A2B0C697A00A601BC /* Api+Home.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C82EC2B0C697A00A601BC /* Api+Home.m */; }; - 8C9C841B2B0C697A00A601BC /* YMRoomPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C82F02B0C697A00A601BC /* YMRoomPresenter.m */; }; - 8C9C841C2B0C697A00A601BC /* RoomInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C82F52B0C697A00A601BC /* RoomInfoModel.m */; }; - 8C9C841E2B0C697A00A601BC /* YMRoomSendTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C82FB2B0C697A00A601BC /* YMRoomSendTextView.m */; }; + 8C9C841A2B0C697A00A601BC /* Api+Party.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C82EC2B0C697A00A601BC /* Api+Party.m */; }; + 8C9C841B2B0C697A00A601BC /* MewRoomPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C82F02B0C697A00A601BC /* MewRoomPresenter.m */; }; + 8C9C841C2B0C697A00A601BC /* MewRoomInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C82F52B0C697A00A601BC /* MewRoomInfoModel.m */; }; + 8C9C841E2B0C697A00A601BC /* MewRoomSendTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C82FB2B0C697A00A601BC /* MewRoomSendTextView.m */; }; 8C9C841F2B0C697A00A601BC /* CHStageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C82FE2B0C697A00A601BC /* CHStageView.m */; }; 8C9C84202B0C697A00A601BC /* MicroView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C83022B0C697A00A601BC /* MicroView.m */; }; 8C9C84212B0C697A00A601BC /* MicroQueueModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C83052B0C697A00A601BC /* MicroQueueModel.m */; }; 8C9C84222B0C697A00A601BC /* MicroExtModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C83062B0C697A00A601BC /* MicroExtModel.m */; }; 8C9C84232B0C697A00A601BC /* MicroStateModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C83072B0C697A00A601BC /* MicroStateModel.m */; }; - 8C9C84242B0C697A00A601BC /* YMRoomMessageContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C830E2B0C697A00A601BC /* YMRoomMessageContainerView.m */; }; - 8C9C84252B0C697A00A601BC /* YMMessageInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C83112B0C697A00A601BC /* YMMessageInfoModel.m */; }; - 8C9C84262B0C697A00A601BC /* YMMessageRemoteExtModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C83122B0C697A00A601BC /* YMMessageRemoteExtModel.m */; }; - 8C9C84272B0C697A00A601BC /* YMNetImageYYLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C83162B0C697A00A601BC /* YMNetImageYYLabel.m */; }; - 8C9C84282B0C697A00A601BC /* YMRoomMessageParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C831A2B0C697A00A601BC /* YMRoomMessageParser.m */; }; + 8C9C84242B0C697A00A601BC /* MewRoomMessageContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C830E2B0C697A00A601BC /* MewRoomMessageContainerView.m */; }; + 8C9C84252B0C697A00A601BC /* MewMessageInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C83112B0C697A00A601BC /* MewMessageInfoModel.m */; }; + 8C9C84262B0C697A00A601BC /* MewMessageRemoteExtModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C83122B0C697A00A601BC /* MewMessageRemoteExtModel.m */; }; + 8C9C84272B0C697A00A601BC /* MewNetImageLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C83162B0C697A00A601BC /* MewNetImageLabel.m */; }; + 8C9C84282B0C697A00A601BC /* MewRoomMessageParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C831A2B0C697A00A601BC /* MewRoomMessageParser.m */; }; 8C9C842A2B0C697A00A601BC /* Api+Room.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C83212B0C697A00A601BC /* Api+Room.m */; }; 8C9C84302B0C697A00A601BC /* MewSessionListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C83342B0C697A00A601BC /* MewSessionListTableViewCell.m */; }; 8C9C84312B0C697A00A601BC /* MewSessionListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C83352B0C697A00A601BC /* MewSessionListViewController.m */; }; @@ -181,69 +180,68 @@ 8C9C847A2B0C697A00A601BC /* MewLoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C84162B0C697A00A601BC /* MewLoginViewController.m */; }; 8C9C847D2B0C6A6400A601BC /* TXFFmpeg.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C9C847C2B0C6A6400A601BC /* TXFFmpeg.xcframework */; }; 8C9C847F2B0C6A6A00A601BC /* TXSoundTouch.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C9C847E2B0C6A6A00A601BC /* TXSoundTouch.xcframework */; }; - 8C9C84842B0D25EF00A601BC /* GiftInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C84832B0D25EF00A601BC /* GiftInfoModel.m */; }; + 8C9C84842B0D25EF00A601BC /* MewGiftInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C84832B0D25EF00A601BC /* MewGiftInfoModel.m */; }; 8C9C84892B0D286F00A601BC /* Api+Gift.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C84882B0D286F00A601BC /* Api+Gift.m */; }; - 8C9C848C2B0D2B8500A601BC /* GiftReceiveInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C848B2B0D2B8500A601BC /* GiftReceiveInfoModel.m */; }; - 8C9C84902B0D439800A601BC /* YMRoomMessageFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C848F2B0D439800A601BC /* YMRoomMessageFilter.m */; }; - 8C9C84942B0D65C300A601BC /* YMRoomAnimationHitView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C84932B0D65C300A601BC /* YMRoomAnimationHitView.m */; }; - 8C9C84972B0D65E200A601BC /* YMRoomAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C84962B0D65E200A601BC /* YMRoomAnimationView.m */; }; - 8C9C849E2B0D6A5C00A601BC /* YMGiftStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C849D2B0D6A5C00A601BC /* YMGiftStorage.m */; }; - 8C9C84AD2B0D9AB900A601BC /* CHRoomMessageHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C84AC2B0D9AB900A601BC /* CHRoomMessageHeaderView.m */; }; + 8C9C848C2B0D2B8500A601BC /* MewGiftReceiveInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C848B2B0D2B8500A601BC /* MewGiftReceiveInfoModel.m */; }; + 8C9C84902B0D439800A601BC /* MewRoomMessageFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C848F2B0D439800A601BC /* MewRoomMessageFilter.m */; }; + 8C9C84942B0D65C300A601BC /* MewRoomAnimationHitView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C84932B0D65C300A601BC /* MewRoomAnimationHitView.m */; }; + 8C9C84972B0D65E200A601BC /* MewRoomAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C84962B0D65E200A601BC /* MewRoomAnimationView.m */; }; + 8C9C849E2B0D6A5C00A601BC /* MewGiftStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C849D2B0D6A5C00A601BC /* MewGiftStorage.m */; }; + 8C9C84AD2B0D9AB900A601BC /* MewRoomMessageHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C84AC2B0D9AB900A601BC /* MewRoomMessageHeaderView.m */; }; 8C9C84B12B0DEAE100A601BC /* YMIButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C84B02B0DEAE100A601BC /* YMIButton.m */; }; 8C9C84B42B0E951200A601BC /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C9C84B32B0E951200A601BC /* StoreKit.framework */; }; 8C9C84BA2B0ECD2100A601BC /* MineRechargePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C84B92B0ECD2100A601BC /* MineRechargePresenter.m */; }; - 8CAB96F52B1AB15200ED8639 /* CHRoomAnimationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CAB96F42B1AB15200ED8639 /* CHRoomAnimationGroup.m */; }; + 8CAB96F52B1AB15200ED8639 /* MewRoomAnimationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CAB96F42B1AB15200ED8639 /* MewRoomAnimationGroup.m */; }; + 8CAB97012B1FE16000ED8639 /* UITableView+NIMScrollToBottom.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CAB97002B1FE16000ED8639 /* UITableView+NIMScrollToBottom.m */; }; FFDAAB800AD6BB4653B4427F /* Pods_yinmeng_ios.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1797344FB85F47F60D0CC2A0 /* Pods_yinmeng_ios.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 1797344FB85F47F60D0CC2A0 /* Pods_yinmeng_ios.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_yinmeng_ios.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 23270C272B0E037300B9303B /* CHMessageConentAudioView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHMessageConentAudioView.m; sourceTree = ""; }; - 23270C282B0E037300B9303B /* CHMessageConentAudioView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageConentAudioView.h; sourceTree = ""; }; - 23270C2A2B0E041300B9303B /* CHMessageAudioCenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageAudioCenter.h; sourceTree = ""; }; - 23270C2B2B0E041300B9303B /* CHMessageAudioCenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHMessageAudioCenter.m; sourceTree = ""; }; + 23270C272B0E037300B9303B /* MewMessageConentAudioView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageConentAudioView.m; sourceTree = ""; }; + 23270C282B0E037300B9303B /* MewMessageConentAudioView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageConentAudioView.h; sourceTree = ""; }; + 23270C2A2B0E041300B9303B /* MewMessageAudioCenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageAudioCenter.h; sourceTree = ""; }; + 23270C2B2B0E041300B9303B /* MewMessageAudioCenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageAudioCenter.m; sourceTree = ""; }; 23270C2E2B0E071B00B9303B /* yinmeng-ios-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "yinmeng-ios-Bridging-Header.h"; sourceTree = ""; }; 23270C2F2B0E071B00B9303B /* MewPaymentAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MewPaymentAction.swift; sourceTree = ""; }; - 233757262B0CB577001D0B7F /* CHMessagePresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHMessagePresenter.m; sourceTree = ""; }; - 233757272B0CB577001D0B7F /* CHMessagePresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessagePresenter.h; sourceTree = ""; }; - 233757292B0CB577001D0B7F /* CHMessageProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageProtocol.h; sourceTree = ""; }; - 2337572B2B0CB577001D0B7F /* ChatLimitModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatLimitModel.h; sourceTree = ""; }; - 2337572C2B0CB577001D0B7F /* MessageMenuModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MessageMenuModel.m; sourceTree = ""; }; - 2337572D2B0CB577001D0B7F /* ChatLimitModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatLimitModel.m; sourceTree = ""; }; - 2337572E2B0CB577001D0B7F /* MessageMenuModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessageMenuModel.h; sourceTree = ""; }; - 233757312B0CB577001D0B7F /* NIMBadgeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NIMBadgeView.m; sourceTree = ""; }; - 233757322B0CB577001D0B7F /* UITableView+NIMScrollToBottom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UITableView+NIMScrollToBottom.h"; sourceTree = ""; }; + 233757262B0CB577001D0B7F /* MewMessagePresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessagePresenter.m; sourceTree = ""; }; + 233757272B0CB577001D0B7F /* MewMessagePresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessagePresenter.h; sourceTree = ""; }; + 233757292B0CB577001D0B7F /* MewMessageProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageProtocol.h; sourceTree = ""; }; + 2337572B2B0CB577001D0B7F /* MewChatLimitModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewChatLimitModel.h; sourceTree = ""; }; + 2337572C2B0CB577001D0B7F /* MewMessageMenuModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageMenuModel.m; sourceTree = ""; }; + 2337572D2B0CB577001D0B7F /* MewChatLimitModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewChatLimitModel.m; sourceTree = ""; }; + 2337572E2B0CB577001D0B7F /* MewMessageMenuModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageMenuModel.h; sourceTree = ""; }; + 233757312B0CB577001D0B7F /* MewNIMBadgeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewNIMBadgeView.m; sourceTree = ""; }; 233757332B0CB577001D0B7F /* UIView+NIM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+NIM.h"; sourceTree = ""; }; - 233757342B0CB577001D0B7F /* UITableView+NIMScrollToBottom.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITableView+NIMScrollToBottom.m"; sourceTree = ""; }; - 233757352B0CB577001D0B7F /* NIMBadgeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NIMBadgeView.h; sourceTree = ""; }; + 233757352B0CB577001D0B7F /* MewNIMBadgeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewNIMBadgeView.h; sourceTree = ""; }; 233757362B0CB577001D0B7F /* UIView+NIM.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+NIM.m"; sourceTree = ""; }; - 233757382B0CB577001D0B7F /* CHSessionNavView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHSessionNavView.h; sourceTree = ""; }; - 233757392B0CB577001D0B7F /* CHSessionMessageCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHSessionMessageCell.m; sourceTree = ""; }; - 2337573A2B0CB577001D0B7F /* CHSessionAudioRecordView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHSessionAudioRecordView.h; sourceTree = ""; }; - 2337573B2B0CB577001D0B7F /* CHSessionToolbarView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHSessionToolbarView.m; sourceTree = ""; }; - 2337573C2B0CB577001D0B7F /* NIMMessageMaker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NIMMessageMaker.m; sourceTree = ""; }; - 2337573D2B0CB577001D0B7F /* CHSessionInfoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHSessionInfoViewController.m; sourceTree = ""; }; - 2337573E2B0CB577001D0B7F /* SessionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SessionViewController.m; sourceTree = ""; }; - 233757402B0CB577001D0B7F /* CHMessageToolMenuCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHMessageToolMenuCollectionViewCell.m; sourceTree = ""; }; - 233757412B0CB577001D0B7F /* CHMessageContentImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHMessageContentImage.m; sourceTree = ""; }; - 233757422B0CB577001D0B7F /* CHMessageContentText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageContentText.h; sourceTree = ""; }; - 233757432B0CB577001D0B7F /* CHMessageContentUnSupportView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageContentUnSupportView.h; sourceTree = ""; }; - 233757442B0CB577001D0B7F /* CHMessageToolMenuCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageToolMenuCollectionViewCell.h; sourceTree = ""; }; - 233757452B0CB577001D0B7F /* CHMessageContentProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageContentProtocol.h; sourceTree = ""; }; - 233757462B0CB577001D0B7F /* CHMessageContentImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageContentImage.h; sourceTree = ""; }; - 233757472B0CB577001D0B7F /* CHMessageContentUnSupportView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHMessageContentUnSupportView.m; sourceTree = ""; }; - 233757482B0CB577001D0B7F /* CHMessageContentText.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHMessageContentText.m; sourceTree = ""; }; - 233757492B0CB577001D0B7F /* CHSessionNavView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHSessionNavView.m; sourceTree = ""; }; - 2337574A2B0CB577001D0B7F /* CHSessionMessageCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHSessionMessageCell.h; sourceTree = ""; }; - 2337574B2B0CB577001D0B7F /* SessionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SessionViewController.h; sourceTree = ""; }; - 2337574C2B0CB577001D0B7F /* CHSessionInfoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHSessionInfoViewController.h; sourceTree = ""; }; - 2337574D2B0CB577001D0B7F /* NIMMessageMaker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NIMMessageMaker.h; sourceTree = ""; }; - 2337574E2B0CB577001D0B7F /* CHSessionToolbarView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHSessionToolbarView.h; sourceTree = ""; }; - 2337574F2B0CB577001D0B7F /* CHSessionAudioRecordView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHSessionAudioRecordView.m; sourceTree = ""; }; + 233757382B0CB577001D0B7F /* MewSessionNavView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewSessionNavView.h; sourceTree = ""; }; + 233757392B0CB577001D0B7F /* MewSessionMessageCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewSessionMessageCell.m; sourceTree = ""; }; + 2337573A2B0CB577001D0B7F /* MewSessionAudioRecordView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewSessionAudioRecordView.h; sourceTree = ""; }; + 2337573B2B0CB577001D0B7F /* MewSessionToolbarView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewSessionToolbarView.m; sourceTree = ""; }; + 2337573C2B0CB577001D0B7F /* MewNIMMessageMaker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewNIMMessageMaker.m; sourceTree = ""; }; + 2337573D2B0CB577001D0B7F /* MewSessionInfoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewSessionInfoViewController.m; sourceTree = ""; }; + 2337573E2B0CB577001D0B7F /* MewSessionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewSessionViewController.m; sourceTree = ""; }; + 233757402B0CB577001D0B7F /* MewMessageToolMenuCollectionCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageToolMenuCollectionCell.m; sourceTree = ""; }; + 233757412B0CB577001D0B7F /* MewMessageContentImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageContentImage.m; sourceTree = ""; }; + 233757422B0CB577001D0B7F /* MewMessageContentText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageContentText.h; sourceTree = ""; }; + 233757432B0CB577001D0B7F /* MewMessageContentUnSupportView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageContentUnSupportView.h; sourceTree = ""; }; + 233757442B0CB577001D0B7F /* MewMessageToolMenuCollectionCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageToolMenuCollectionCell.h; sourceTree = ""; }; + 233757452B0CB577001D0B7F /* MewMessageContentProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageContentProtocol.h; sourceTree = ""; }; + 233757462B0CB577001D0B7F /* MewMessageContentImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageContentImage.h; sourceTree = ""; }; + 233757472B0CB577001D0B7F /* MewMessageContentUnSupportView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageContentUnSupportView.m; sourceTree = ""; }; + 233757482B0CB577001D0B7F /* MewMessageContentText.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageContentText.m; sourceTree = ""; }; + 233757492B0CB577001D0B7F /* MewSessionNavView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewSessionNavView.m; sourceTree = ""; }; + 2337574A2B0CB577001D0B7F /* MewSessionMessageCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewSessionMessageCell.h; sourceTree = ""; }; + 2337574B2B0CB577001D0B7F /* MewSessionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewSessionViewController.h; sourceTree = ""; }; + 2337574C2B0CB577001D0B7F /* MewSessionInfoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewSessionInfoViewController.h; sourceTree = ""; }; + 2337574D2B0CB577001D0B7F /* MewNIMMessageMaker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewNIMMessageMaker.h; sourceTree = ""; }; + 2337574E2B0CB577001D0B7F /* MewSessionToolbarView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewSessionToolbarView.h; sourceTree = ""; }; + 2337574F2B0CB577001D0B7F /* MewSessionAudioRecordView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewSessionAudioRecordView.m; sourceTree = ""; }; 233757512B0CB577001D0B7F /* Api+Message.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Api+Message.m"; sourceTree = ""; }; 233757522B0CB577001D0B7F /* Api+Message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Api+Message.h"; sourceTree = ""; }; - 233757542B0CB577001D0B7F /* NIMMessageUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NIMMessageUtils.m; sourceTree = ""; }; - 233757552B0CB577001D0B7F /* NIMMessageUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NIMMessageUtils.h; sourceTree = ""; }; + 233757542B0CB577001D0B7F /* MewNIMMessageUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewNIMMessageUtils.m; sourceTree = ""; }; + 233757552B0CB577001D0B7F /* MewNIMMessageUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewNIMMessageUtils.h; sourceTree = ""; }; 233757692B0CB630001D0B7F /* UIView+FilletCorner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+FilletCorner.h"; sourceTree = ""; }; 2337576A2B0CB630001D0B7F /* UIView+FilletCorner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+FilletCorner.m"; sourceTree = ""; }; 2370511B2B1D7CD500F5DE14 /* CarrierIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CarrierIdentifier.h; sourceTree = ""; }; @@ -382,21 +380,21 @@ 8C9C82DA2B0C696900A601BC /* YMEnum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMEnum.h; sourceTree = ""; }; 8C9C82DB2B0C696900A601BC /* YMConstant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMConstant.m; sourceTree = ""; }; 8C9C82DF2B0C697A00A601BC /* YMWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMWebViewController.m; sourceTree = ""; }; - 8C9C82E32B0C697A00A601BC /* YMHomePresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMHomePresenter.m; sourceTree = ""; }; - 8C9C82E42B0C697A00A601BC /* YMHomePresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMHomePresenter.h; sourceTree = ""; }; - 8C9C82E62B0C697A00A601BC /* YMHomeProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMHomeProtocol.h; sourceTree = ""; }; + 8C9C82E32B0C697A00A601BC /* MewPartyPresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewPartyPresenter.m; sourceTree = ""; }; + 8C9C82E42B0C697A00A601BC /* MewPartyPresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewPartyPresenter.h; sourceTree = ""; }; + 8C9C82E62B0C697A00A601BC /* MewPartyProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewPartyProtocol.h; sourceTree = ""; }; 8C9C82E82B0C697A00A601BC /* HomeRecommendRoomModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeRecommendRoomModel.h; sourceTree = ""; }; 8C9C82E92B0C697A00A601BC /* HomeRecommendRoomModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeRecommendRoomModel.m; sourceTree = ""; }; - 8C9C82EC2B0C697A00A601BC /* Api+Home.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Api+Home.m"; sourceTree = ""; }; - 8C9C82ED2B0C697A00A601BC /* Api+Home.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Api+Home.h"; sourceTree = ""; }; - 8C9C82F02B0C697A00A601BC /* YMRoomPresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMRoomPresenter.m; sourceTree = ""; }; - 8C9C82F12B0C697A00A601BC /* YMRoomPresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMRoomPresenter.h; sourceTree = ""; }; - 8C9C82F32B0C697A00A601BC /* YMRoomProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMRoomProtocol.h; sourceTree = ""; }; - 8C9C82F52B0C697A00A601BC /* RoomInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RoomInfoModel.m; sourceTree = ""; }; - 8C9C82F62B0C697A00A601BC /* RoomInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RoomInfoModel.h; sourceTree = ""; }; - 8C9C82F82B0C697A00A601BC /* MicroQueueProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MicroQueueProtocol.h; sourceTree = ""; }; - 8C9C82FB2B0C697A00A601BC /* YMRoomSendTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMRoomSendTextView.m; sourceTree = ""; }; - 8C9C82FC2B0C697A00A601BC /* YMRoomSendTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMRoomSendTextView.h; sourceTree = ""; }; + 8C9C82EC2B0C697A00A601BC /* Api+Party.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Api+Party.m"; sourceTree = ""; }; + 8C9C82ED2B0C697A00A601BC /* Api+Party.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Api+Party.h"; sourceTree = ""; }; + 8C9C82F02B0C697A00A601BC /* MewRoomPresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewRoomPresenter.m; sourceTree = ""; }; + 8C9C82F12B0C697A00A601BC /* MewRoomPresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomPresenter.h; sourceTree = ""; }; + 8C9C82F32B0C697A00A601BC /* MewRoomProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomProtocol.h; sourceTree = ""; }; + 8C9C82F52B0C697A00A601BC /* MewRoomInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewRoomInfoModel.m; sourceTree = ""; }; + 8C9C82F62B0C697A00A601BC /* MewRoomInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomInfoModel.h; sourceTree = ""; }; + 8C9C82F82B0C697A00A601BC /* MewMicroQueueProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMicroQueueProtocol.h; sourceTree = ""; }; + 8C9C82FB2B0C697A00A601BC /* MewRoomSendTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewRoomSendTextView.m; sourceTree = ""; }; + 8C9C82FC2B0C697A00A601BC /* MewRoomSendTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomSendTextView.h; sourceTree = ""; }; 8C9C82FE2B0C697A00A601BC /* CHStageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHStageView.m; sourceTree = ""; }; 8C9C83002B0C697A00A601BC /* MicroView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MicroView.h; sourceTree = ""; }; 8C9C83012B0C697A00A601BC /* MicroViewProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MicroViewProtocol.h; sourceTree = ""; }; @@ -408,18 +406,18 @@ 8C9C83082B0C697A00A601BC /* MicroExtModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MicroExtModel.h; sourceTree = ""; }; 8C9C83092B0C697A00A601BC /* MicroQueueModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MicroQueueModel.h; sourceTree = ""; }; 8C9C830A2B0C697A00A601BC /* CHStageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHStageView.h; sourceTree = ""; }; - 8C9C830B2B0C697A00A601BC /* CHRoomGuestDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHRoomGuestDelegate.h; sourceTree = ""; }; - 8C9C830E2B0C697A00A601BC /* YMRoomMessageContainerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMRoomMessageContainerView.m; sourceTree = ""; }; - 8C9C830F2B0C697A00A601BC /* YMRoomMessageContainerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMRoomMessageContainerView.h; sourceTree = ""; }; - 8C9C83112B0C697A00A601BC /* YMMessageInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMMessageInfoModel.m; sourceTree = ""; }; - 8C9C83122B0C697A00A601BC /* YMMessageRemoteExtModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMMessageRemoteExtModel.m; sourceTree = ""; }; - 8C9C83132B0C697A00A601BC /* YMMessageRemoteExtModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMMessageRemoteExtModel.h; sourceTree = ""; }; - 8C9C83142B0C697A00A601BC /* YMMessageInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMMessageInfoModel.h; sourceTree = ""; }; - 8C9C83162B0C697A00A601BC /* YMNetImageYYLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMNetImageYYLabel.m; sourceTree = ""; }; - 8C9C83172B0C697A00A601BC /* YMNetImageYYLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMNetImageYYLabel.h; sourceTree = ""; }; - 8C9C83192B0C697A00A601BC /* YMRoomMessageParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMRoomMessageParser.h; sourceTree = ""; }; - 8C9C831A2B0C697A00A601BC /* YMRoomMessageParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMRoomMessageParser.m; sourceTree = ""; }; - 8C9C831B2B0C697A00A601BC /* YMRoomMessageConstant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMRoomMessageConstant.h; sourceTree = ""; }; + 8C9C830B2B0C697A00A601BC /* MewRoomGuestDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomGuestDelegate.h; sourceTree = ""; }; + 8C9C830E2B0C697A00A601BC /* MewRoomMessageContainerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewRoomMessageContainerView.m; sourceTree = ""; }; + 8C9C830F2B0C697A00A601BC /* MewRoomMessageContainerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomMessageContainerView.h; sourceTree = ""; }; + 8C9C83112B0C697A00A601BC /* MewMessageInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageInfoModel.m; sourceTree = ""; }; + 8C9C83122B0C697A00A601BC /* MewMessageRemoteExtModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageRemoteExtModel.m; sourceTree = ""; }; + 8C9C83132B0C697A00A601BC /* MewMessageRemoteExtModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageRemoteExtModel.h; sourceTree = ""; }; + 8C9C83142B0C697A00A601BC /* MewMessageInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageInfoModel.h; sourceTree = ""; }; + 8C9C83162B0C697A00A601BC /* MewNetImageLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewNetImageLabel.m; sourceTree = ""; }; + 8C9C83172B0C697A00A601BC /* MewNetImageLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewNetImageLabel.h; sourceTree = ""; }; + 8C9C83192B0C697A00A601BC /* MewRoomMessageParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomMessageParser.h; sourceTree = ""; }; + 8C9C831A2B0C697A00A601BC /* MewRoomMessageParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewRoomMessageParser.m; sourceTree = ""; }; + 8C9C831B2B0C697A00A601BC /* MewRoomMessageConstant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomMessageConstant.h; sourceTree = ""; }; 8C9C83202B0C697A00A601BC /* Api+Room.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Api+Room.h"; sourceTree = ""; }; 8C9C83212B0C697A00A601BC /* Api+Room.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Api+Room.m"; sourceTree = ""; }; 8C9C83342B0C697A00A601BC /* MewSessionListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewSessionListTableViewCell.m; sourceTree = ""; }; @@ -571,23 +569,23 @@ 8C9C84162B0C697A00A601BC /* MewLoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewLoginViewController.m; sourceTree = ""; }; 8C9C847C2B0C6A6400A601BC /* TXFFmpeg.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = TXFFmpeg.xcframework; path = Pods/TXLiteAVSDK_TRTC/TXLiteAVSDK_TRTC/TXFFmpeg.xcframework; sourceTree = ""; }; 8C9C847E2B0C6A6A00A601BC /* TXSoundTouch.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = TXSoundTouch.xcframework; path = Pods/TXLiteAVSDK_TRTC/TXLiteAVSDK_TRTC/TXSoundTouch.xcframework; sourceTree = ""; }; - 8C9C84822B0D25EF00A601BC /* GiftInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiftInfoModel.h; sourceTree = ""; }; - 8C9C84832B0D25EF00A601BC /* GiftInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiftInfoModel.m; sourceTree = ""; }; + 8C9C84822B0D25EF00A601BC /* MewGiftInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewGiftInfoModel.h; sourceTree = ""; }; + 8C9C84832B0D25EF00A601BC /* MewGiftInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewGiftInfoModel.m; sourceTree = ""; }; 8C9C84872B0D286F00A601BC /* Api+Gift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Api+Gift.h"; sourceTree = ""; }; 8C9C84882B0D286F00A601BC /* Api+Gift.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "Api+Gift.m"; sourceTree = ""; }; - 8C9C848A2B0D2B8500A601BC /* GiftReceiveInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiftReceiveInfoModel.h; sourceTree = ""; }; - 8C9C848B2B0D2B8500A601BC /* GiftReceiveInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiftReceiveInfoModel.m; sourceTree = ""; }; - 8C9C848E2B0D439800A601BC /* YMRoomMessageFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YMRoomMessageFilter.h; sourceTree = ""; }; - 8C9C848F2B0D439800A601BC /* YMRoomMessageFilter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YMRoomMessageFilter.m; sourceTree = ""; }; - 8C9C84922B0D65C300A601BC /* YMRoomAnimationHitView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YMRoomAnimationHitView.h; sourceTree = ""; }; - 8C9C84932B0D65C300A601BC /* YMRoomAnimationHitView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YMRoomAnimationHitView.m; sourceTree = ""; }; - 8C9C84952B0D65E200A601BC /* YMRoomAnimationView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YMRoomAnimationView.h; sourceTree = ""; }; - 8C9C84962B0D65E200A601BC /* YMRoomAnimationView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YMRoomAnimationView.m; sourceTree = ""; }; - 8C9C849C2B0D6A5C00A601BC /* YMGiftStorage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YMGiftStorage.h; sourceTree = ""; }; - 8C9C849D2B0D6A5C00A601BC /* YMGiftStorage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YMGiftStorage.m; sourceTree = ""; }; - 8C9C849F2B0D6BCF00A601BC /* CHRoomAnimationProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CHRoomAnimationProtocol.h; sourceTree = ""; }; - 8C9C84AB2B0D9AB900A601BC /* CHRoomMessageHeaderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CHRoomMessageHeaderView.h; sourceTree = ""; }; - 8C9C84AC2B0D9AB900A601BC /* CHRoomMessageHeaderView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CHRoomMessageHeaderView.m; sourceTree = ""; }; + 8C9C848A2B0D2B8500A601BC /* MewGiftReceiveInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewGiftReceiveInfoModel.h; sourceTree = ""; }; + 8C9C848B2B0D2B8500A601BC /* MewGiftReceiveInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewGiftReceiveInfoModel.m; sourceTree = ""; }; + 8C9C848E2B0D439800A601BC /* MewRoomMessageFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomMessageFilter.h; sourceTree = ""; }; + 8C9C848F2B0D439800A601BC /* MewRoomMessageFilter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewRoomMessageFilter.m; sourceTree = ""; }; + 8C9C84922B0D65C300A601BC /* MewRoomAnimationHitView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomAnimationHitView.h; sourceTree = ""; }; + 8C9C84932B0D65C300A601BC /* MewRoomAnimationHitView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewRoomAnimationHitView.m; sourceTree = ""; }; + 8C9C84952B0D65E200A601BC /* MewRoomAnimationView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomAnimationView.h; sourceTree = ""; }; + 8C9C84962B0D65E200A601BC /* MewRoomAnimationView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewRoomAnimationView.m; sourceTree = ""; }; + 8C9C849C2B0D6A5C00A601BC /* MewGiftStorage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewGiftStorage.h; sourceTree = ""; }; + 8C9C849D2B0D6A5C00A601BC /* MewGiftStorage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewGiftStorage.m; sourceTree = ""; }; + 8C9C849F2B0D6BCF00A601BC /* MewRoomAnimationProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomAnimationProtocol.h; sourceTree = ""; }; + 8C9C84AB2B0D9AB900A601BC /* MewRoomMessageHeaderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomMessageHeaderView.h; sourceTree = ""; }; + 8C9C84AC2B0D9AB900A601BC /* MewRoomMessageHeaderView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewRoomMessageHeaderView.m; sourceTree = ""; }; 8C9C84AF2B0DEAE100A601BC /* YMIButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YMIButton.h; sourceTree = ""; }; 8C9C84B02B0DEAE100A601BC /* YMIButton.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YMIButton.m; sourceTree = ""; }; 8C9C84B22B0E94FA00A601BC /* yinmeng-ios.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "yinmeng-ios.entitlements"; sourceTree = ""; }; @@ -595,9 +593,11 @@ 8C9C84B82B0ECD2100A601BC /* MineRechargePresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MineRechargePresenter.h; sourceTree = ""; }; 8C9C84B92B0ECD2100A601BC /* MineRechargePresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MineRechargePresenter.m; sourceTree = ""; }; 8C9C84BE2B0ED1D000A601BC /* MineRechargeProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MineRechargeProtocol.h; sourceTree = ""; }; - 8CAB96F22B1A729300ED8639 /* CHRoomHostDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CHRoomHostDelegate.h; sourceTree = ""; }; - 8CAB96F32B1AB15200ED8639 /* CHRoomAnimationGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CHRoomAnimationGroup.h; sourceTree = ""; }; - 8CAB96F42B1AB15200ED8639 /* CHRoomAnimationGroup.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CHRoomAnimationGroup.m; sourceTree = ""; }; + 8CAB96F22B1A729300ED8639 /* MewRoomHostDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomHostDelegate.h; sourceTree = ""; }; + 8CAB96F32B1AB15200ED8639 /* MewRoomAnimationGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomAnimationGroup.h; sourceTree = ""; }; + 8CAB96F42B1AB15200ED8639 /* MewRoomAnimationGroup.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewRoomAnimationGroup.m; sourceTree = ""; }; + 8CAB96FF2B1FE16000ED8639 /* UITableView+NIMScrollToBottom.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UITableView+NIMScrollToBottom.h"; sourceTree = ""; }; + 8CAB97002B1FE16000ED8639 /* UITableView+NIMScrollToBottom.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UITableView+NIMScrollToBottom.m"; sourceTree = ""; }; A22C3BCB2715A2E8FDECEA30 /* Pods-yinmeng-ios.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-yinmeng-ios.release.xcconfig"; path = "Target Support Files/Pods-yinmeng-ios/Pods-yinmeng-ios.release.xcconfig"; sourceTree = ""; }; E9E8A33E3FDD457C53D1E6D7 /* Pods-yinmeng-ios.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-yinmeng-ios.debug.xcconfig"; path = "Target Support Files/Pods-yinmeng-ios/Pods-yinmeng-ios.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -643,8 +643,8 @@ 233757252B0CB577001D0B7F /* Presenter */ = { isa = PBXGroup; children = ( - 233757262B0CB577001D0B7F /* CHMessagePresenter.m */, - 233757272B0CB577001D0B7F /* CHMessagePresenter.h */, + 233757262B0CB577001D0B7F /* MewMessagePresenter.m */, + 233757272B0CB577001D0B7F /* MewMessagePresenter.h */, ); path = Presenter; sourceTree = ""; @@ -652,7 +652,7 @@ 233757282B0CB577001D0B7F /* Protocol */ = { isa = PBXGroup; children = ( - 233757292B0CB577001D0B7F /* CHMessageProtocol.h */, + 233757292B0CB577001D0B7F /* MewMessageProtocol.h */, ); path = Protocol; sourceTree = ""; @@ -660,10 +660,10 @@ 2337572A2B0CB577001D0B7F /* Model */ = { isa = PBXGroup; children = ( - 2337572B2B0CB577001D0B7F /* ChatLimitModel.h */, - 2337572C2B0CB577001D0B7F /* MessageMenuModel.m */, - 2337572D2B0CB577001D0B7F /* ChatLimitModel.m */, - 2337572E2B0CB577001D0B7F /* MessageMenuModel.h */, + 2337572B2B0CB577001D0B7F /* MewChatLimitModel.h */, + 2337572D2B0CB577001D0B7F /* MewChatLimitModel.m */, + 2337572E2B0CB577001D0B7F /* MewMessageMenuModel.h */, + 2337572C2B0CB577001D0B7F /* MewMessageMenuModel.m */, ); path = Model; sourceTree = ""; @@ -680,12 +680,12 @@ 233757302B0CB577001D0B7F /* NIMViews */ = { isa = PBXGroup; children = ( - 233757312B0CB577001D0B7F /* NIMBadgeView.m */, - 233757322B0CB577001D0B7F /* UITableView+NIMScrollToBottom.h */, + 233757352B0CB577001D0B7F /* MewNIMBadgeView.h */, + 233757312B0CB577001D0B7F /* MewNIMBadgeView.m */, 233757332B0CB577001D0B7F /* UIView+NIM.h */, - 233757342B0CB577001D0B7F /* UITableView+NIMScrollToBottom.m */, - 233757352B0CB577001D0B7F /* NIMBadgeView.h */, 233757362B0CB577001D0B7F /* UIView+NIM.m */, + 8CAB96FF2B1FE16000ED8639 /* UITableView+NIMScrollToBottom.h */, + 8CAB97002B1FE16000ED8639 /* UITableView+NIMScrollToBottom.m */, ); path = NIMViews; sourceTree = ""; @@ -693,24 +693,24 @@ 233757372B0CB577001D0B7F /* Session */ = { isa = PBXGroup; children = ( - 23270C2A2B0E041300B9303B /* CHMessageAudioCenter.h */, - 23270C2B2B0E041300B9303B /* CHMessageAudioCenter.m */, - 23270C282B0E037300B9303B /* CHMessageConentAudioView.h */, - 23270C272B0E037300B9303B /* CHMessageConentAudioView.m */, - 233757382B0CB577001D0B7F /* CHSessionNavView.h */, - 233757492B0CB577001D0B7F /* CHSessionNavView.m */, - 2337574A2B0CB577001D0B7F /* CHSessionMessageCell.h */, - 233757392B0CB577001D0B7F /* CHSessionMessageCell.m */, - 2337573A2B0CB577001D0B7F /* CHSessionAudioRecordView.h */, - 2337574F2B0CB577001D0B7F /* CHSessionAudioRecordView.m */, - 2337574E2B0CB577001D0B7F /* CHSessionToolbarView.h */, - 2337573B2B0CB577001D0B7F /* CHSessionToolbarView.m */, - 2337574D2B0CB577001D0B7F /* NIMMessageMaker.h */, - 2337573C2B0CB577001D0B7F /* NIMMessageMaker.m */, - 2337574C2B0CB577001D0B7F /* CHSessionInfoViewController.h */, - 2337573D2B0CB577001D0B7F /* CHSessionInfoViewController.m */, - 2337574B2B0CB577001D0B7F /* SessionViewController.h */, - 2337573E2B0CB577001D0B7F /* SessionViewController.m */, + 23270C2A2B0E041300B9303B /* MewMessageAudioCenter.h */, + 23270C2B2B0E041300B9303B /* MewMessageAudioCenter.m */, + 23270C282B0E037300B9303B /* MewMessageConentAudioView.h */, + 23270C272B0E037300B9303B /* MewMessageConentAudioView.m */, + 233757382B0CB577001D0B7F /* MewSessionNavView.h */, + 233757492B0CB577001D0B7F /* MewSessionNavView.m */, + 2337574A2B0CB577001D0B7F /* MewSessionMessageCell.h */, + 233757392B0CB577001D0B7F /* MewSessionMessageCell.m */, + 2337573A2B0CB577001D0B7F /* MewSessionAudioRecordView.h */, + 2337574F2B0CB577001D0B7F /* MewSessionAudioRecordView.m */, + 2337574E2B0CB577001D0B7F /* MewSessionToolbarView.h */, + 2337573B2B0CB577001D0B7F /* MewSessionToolbarView.m */, + 2337574D2B0CB577001D0B7F /* MewNIMMessageMaker.h */, + 2337573C2B0CB577001D0B7F /* MewNIMMessageMaker.m */, + 2337574C2B0CB577001D0B7F /* MewSessionInfoViewController.h */, + 2337573D2B0CB577001D0B7F /* MewSessionInfoViewController.m */, + 2337574B2B0CB577001D0B7F /* MewSessionViewController.h */, + 2337573E2B0CB577001D0B7F /* MewSessionViewController.m */, 2337573F2B0CB577001D0B7F /* Content */, ); path = Session; @@ -719,15 +719,15 @@ 2337573F2B0CB577001D0B7F /* Content */ = { isa = PBXGroup; children = ( - 233757442B0CB577001D0B7F /* CHMessageToolMenuCollectionViewCell.h */, - 233757402B0CB577001D0B7F /* CHMessageToolMenuCollectionViewCell.m */, - 233757462B0CB577001D0B7F /* CHMessageContentImage.h */, - 233757412B0CB577001D0B7F /* CHMessageContentImage.m */, - 233757422B0CB577001D0B7F /* CHMessageContentText.h */, - 233757482B0CB577001D0B7F /* CHMessageContentText.m */, - 233757432B0CB577001D0B7F /* CHMessageContentUnSupportView.h */, - 233757472B0CB577001D0B7F /* CHMessageContentUnSupportView.m */, - 233757452B0CB577001D0B7F /* CHMessageContentProtocol.h */, + 233757442B0CB577001D0B7F /* MewMessageToolMenuCollectionCell.h */, + 233757402B0CB577001D0B7F /* MewMessageToolMenuCollectionCell.m */, + 233757462B0CB577001D0B7F /* MewMessageContentImage.h */, + 233757412B0CB577001D0B7F /* MewMessageContentImage.m */, + 233757422B0CB577001D0B7F /* MewMessageContentText.h */, + 233757482B0CB577001D0B7F /* MewMessageContentText.m */, + 233757432B0CB577001D0B7F /* MewMessageContentUnSupportView.h */, + 233757472B0CB577001D0B7F /* MewMessageContentUnSupportView.m */, + 233757452B0CB577001D0B7F /* MewMessageContentProtocol.h */, ); path = Content; sourceTree = ""; @@ -744,8 +744,8 @@ 233757532B0CB577001D0B7F /* Tool */ = { isa = PBXGroup; children = ( - 233757542B0CB577001D0B7F /* NIMMessageUtils.m */, - 233757552B0CB577001D0B7F /* NIMMessageUtils.h */, + 233757542B0CB577001D0B7F /* MewNIMMessageUtils.m */, + 233757552B0CB577001D0B7F /* MewNIMMessageUtils.h */, ); path = Tool; sourceTree = ""; @@ -1221,7 +1221,6 @@ isa = PBXGroup; children = ( 8C9C84802B0D25C700A601BC /* ModuleKit */, - 8C9C82E12B0C697A00A601BC /* Home */, 8C9C82EE2B0C697A00A601BC /* Room */, 233757242B0CB577001D0B7F /* Message */, 8C9C834D2B0C697A00A601BC /* RTC */, @@ -1232,23 +1231,11 @@ path = YinMeng; sourceTree = ""; }; - 8C9C82E12B0C697A00A601BC /* Home */ = { - isa = PBXGroup; - children = ( - 8C9C82E22B0C697A00A601BC /* Presenter */, - 8C9C82E52B0C697A00A601BC /* Protocol */, - 8C9C82E72B0C697A00A601BC /* Model */, - 8C9C82EA2B0C697A00A601BC /* View */, - 8C9C82EB2B0C697A00A601BC /* Api */, - ); - path = Home; - sourceTree = ""; - }; 8C9C82E22B0C697A00A601BC /* Presenter */ = { isa = PBXGroup; children = ( - 8C9C82E42B0C697A00A601BC /* YMHomePresenter.h */, - 8C9C82E32B0C697A00A601BC /* YMHomePresenter.m */, + 8C9C82E42B0C697A00A601BC /* MewPartyPresenter.h */, + 8C9C82E32B0C697A00A601BC /* MewPartyPresenter.m */, ); path = Presenter; sourceTree = ""; @@ -1256,32 +1243,16 @@ 8C9C82E52B0C697A00A601BC /* Protocol */ = { isa = PBXGroup; children = ( - 8C9C82E62B0C697A00A601BC /* YMHomeProtocol.h */, + 8C9C82E62B0C697A00A601BC /* MewPartyProtocol.h */, ); path = Protocol; sourceTree = ""; }; - 8C9C82E72B0C697A00A601BC /* Model */ = { - isa = PBXGroup; - children = ( - 8C9C82E82B0C697A00A601BC /* HomeRecommendRoomModel.h */, - 8C9C82E92B0C697A00A601BC /* HomeRecommendRoomModel.m */, - ); - path = Model; - sourceTree = ""; - }; - 8C9C82EA2B0C697A00A601BC /* View */ = { - isa = PBXGroup; - children = ( - ); - path = View; - sourceTree = ""; - }; 8C9C82EB2B0C697A00A601BC /* Api */ = { isa = PBXGroup; children = ( - 8C9C82EC2B0C697A00A601BC /* Api+Home.m */, - 8C9C82ED2B0C697A00A601BC /* Api+Home.h */, + 8C9C82EC2B0C697A00A601BC /* Api+Party.m */, + 8C9C82ED2B0C697A00A601BC /* Api+Party.h */, ); path = Api; sourceTree = ""; @@ -1301,8 +1272,8 @@ 8C9C82EF2B0C697A00A601BC /* Presenter */ = { isa = PBXGroup; children = ( - 8C9C82F02B0C697A00A601BC /* YMRoomPresenter.m */, - 8C9C82F12B0C697A00A601BC /* YMRoomPresenter.h */, + 8C9C82F02B0C697A00A601BC /* MewRoomPresenter.m */, + 8C9C82F12B0C697A00A601BC /* MewRoomPresenter.h */, ); path = Presenter; sourceTree = ""; @@ -1310,7 +1281,7 @@ 8C9C82F22B0C697A00A601BC /* Protocol */ = { isa = PBXGroup; children = ( - 8C9C82F32B0C697A00A601BC /* YMRoomProtocol.h */, + 8C9C82F32B0C697A00A601BC /* MewRoomProtocol.h */, ); path = Protocol; sourceTree = ""; @@ -1318,8 +1289,8 @@ 8C9C82F42B0C697A00A601BC /* Model */ = { isa = PBXGroup; children = ( - 8C9C82F52B0C697A00A601BC /* RoomInfoModel.m */, - 8C9C82F62B0C697A00A601BC /* RoomInfoModel.h */, + 8C9C82F52B0C697A00A601BC /* MewRoomInfoModel.m */, + 8C9C82F62B0C697A00A601BC /* MewRoomInfoModel.h */, ); path = Model; sourceTree = ""; @@ -1328,13 +1299,13 @@ isa = PBXGroup; children = ( 8C9C84912B0D659800A601BC /* AnimationView */, - 8C9C82F82B0C697A00A601BC /* MicroQueueProtocol.h */, + 8C9C82F82B0C697A00A601BC /* MewMicroQueueProtocol.h */, 8C9C82FA2B0C697A00A601BC /* MenuContainerView */, 8C9C82FD2B0C697A00A601BC /* StageView */, - 8C9C830B2B0C697A00A601BC /* CHRoomGuestDelegate.h */, + 8C9C830B2B0C697A00A601BC /* MewRoomGuestDelegate.h */, 8C9C830D2B0C697A00A601BC /* MessageContainerView */, - 8C9C849F2B0D6BCF00A601BC /* CHRoomAnimationProtocol.h */, - 8CAB96F22B1A729300ED8639 /* CHRoomHostDelegate.h */, + 8C9C849F2B0D6BCF00A601BC /* MewRoomAnimationProtocol.h */, + 8CAB96F22B1A729300ED8639 /* MewRoomHostDelegate.h */, ); path = View; sourceTree = ""; @@ -1342,8 +1313,8 @@ 8C9C82FA2B0C697A00A601BC /* MenuContainerView */ = { isa = PBXGroup; children = ( - 8C9C82FC2B0C697A00A601BC /* YMRoomSendTextView.h */, - 8C9C82FB2B0C697A00A601BC /* YMRoomSendTextView.m */, + 8C9C82FC2B0C697A00A601BC /* MewRoomSendTextView.h */, + 8C9C82FB2B0C697A00A601BC /* MewRoomSendTextView.m */, ); path = MenuContainerView; sourceTree = ""; @@ -1385,13 +1356,13 @@ 8C9C830D2B0C697A00A601BC /* MessageContainerView */ = { isa = PBXGroup; children = ( - 8C9C830E2B0C697A00A601BC /* YMRoomMessageContainerView.m */, - 8C9C830F2B0C697A00A601BC /* YMRoomMessageContainerView.h */, + 8C9C830E2B0C697A00A601BC /* MewRoomMessageContainerView.m */, + 8C9C830F2B0C697A00A601BC /* MewRoomMessageContainerView.h */, 8C9C83102B0C697A00A601BC /* Model */, 8C9C83152B0C697A00A601BC /* View */, 8C9C83182B0C697A00A601BC /* Tool */, - 8C9C84AB2B0D9AB900A601BC /* CHRoomMessageHeaderView.h */, - 8C9C84AC2B0D9AB900A601BC /* CHRoomMessageHeaderView.m */, + 8C9C84AB2B0D9AB900A601BC /* MewRoomMessageHeaderView.h */, + 8C9C84AC2B0D9AB900A601BC /* MewRoomMessageHeaderView.m */, ); path = MessageContainerView; sourceTree = ""; @@ -1399,10 +1370,10 @@ 8C9C83102B0C697A00A601BC /* Model */ = { isa = PBXGroup; children = ( - 8C9C83112B0C697A00A601BC /* YMMessageInfoModel.m */, - 8C9C83122B0C697A00A601BC /* YMMessageRemoteExtModel.m */, - 8C9C83132B0C697A00A601BC /* YMMessageRemoteExtModel.h */, - 8C9C83142B0C697A00A601BC /* YMMessageInfoModel.h */, + 8C9C83112B0C697A00A601BC /* MewMessageInfoModel.m */, + 8C9C83122B0C697A00A601BC /* MewMessageRemoteExtModel.m */, + 8C9C83132B0C697A00A601BC /* MewMessageRemoteExtModel.h */, + 8C9C83142B0C697A00A601BC /* MewMessageInfoModel.h */, ); path = Model; sourceTree = ""; @@ -1410,8 +1381,8 @@ 8C9C83152B0C697A00A601BC /* View */ = { isa = PBXGroup; children = ( - 8C9C83162B0C697A00A601BC /* YMNetImageYYLabel.m */, - 8C9C83172B0C697A00A601BC /* YMNetImageYYLabel.h */, + 8C9C83162B0C697A00A601BC /* MewNetImageLabel.m */, + 8C9C83172B0C697A00A601BC /* MewNetImageLabel.h */, ); path = View; sourceTree = ""; @@ -1419,11 +1390,11 @@ 8C9C83182B0C697A00A601BC /* Tool */ = { isa = PBXGroup; children = ( - 8C9C83192B0C697A00A601BC /* YMRoomMessageParser.h */, - 8C9C831A2B0C697A00A601BC /* YMRoomMessageParser.m */, - 8C9C831B2B0C697A00A601BC /* YMRoomMessageConstant.h */, - 8C9C848E2B0D439800A601BC /* YMRoomMessageFilter.h */, - 8C9C848F2B0D439800A601BC /* YMRoomMessageFilter.m */, + 8C9C83192B0C697A00A601BC /* MewRoomMessageParser.h */, + 8C9C831A2B0C697A00A601BC /* MewRoomMessageParser.m */, + 8C9C831B2B0C697A00A601BC /* MewRoomMessageConstant.h */, + 8C9C848E2B0D439800A601BC /* MewRoomMessageFilter.h */, + 8C9C848F2B0D439800A601BC /* MewRoomMessageFilter.m */, ); path = Tool; sourceTree = ""; @@ -1990,6 +1961,9 @@ 8C9C83FA2B0C697A00A601BC /* Party */ = { isa = PBXGroup; children = ( + 8C9C82EB2B0C697A00A601BC /* Api */, + 8C9C82E22B0C697A00A601BC /* Presenter */, + 8C9C82E52B0C697A00A601BC /* Protocol */, 8C9C83FB2B0C697A00A601BC /* Model */, 8C9C83FE2B0C697A00A601BC /* View */, ); @@ -1999,6 +1973,8 @@ 8C9C83FB2B0C697A00A601BC /* Model */ = { isa = PBXGroup; children = ( + 8C9C82E82B0C697A00A601BC /* HomeRecommendRoomModel.h */, + 8C9C82E92B0C697A00A601BC /* HomeRecommendRoomModel.m */, 8C9C83FC2B0C697A00A601BC /* MewPartyModel.h */, 8C9C83FD2B0C697A00A601BC /* MewPartyModel.m */, ); @@ -2086,28 +2062,28 @@ 8C9C84802B0D25C700A601BC /* ModuleKit */ = { isa = PBXGroup; children = ( - 8C9C84812B0D25D700A601BC /* SendGiftView */, + 8C9C84812B0D25D700A601BC /* MewGiftView */, ); path = ModuleKit; sourceTree = ""; }; - 8C9C84812B0D25D700A601BC /* SendGiftView */ = { + 8C9C84812B0D25D700A601BC /* MewGiftView */ = { isa = PBXGroup; children = ( 8C9C849B2B0D6A4600A601BC /* Presenter */, 8C9C84862B0D286000A601BC /* Api */, 8C9C84852B0D284000A601BC /* Model */, ); - path = SendGiftView; + path = MewGiftView; sourceTree = ""; }; 8C9C84852B0D284000A601BC /* Model */ = { isa = PBXGroup; children = ( - 8C9C84822B0D25EF00A601BC /* GiftInfoModel.h */, - 8C9C84832B0D25EF00A601BC /* GiftInfoModel.m */, - 8C9C848A2B0D2B8500A601BC /* GiftReceiveInfoModel.h */, - 8C9C848B2B0D2B8500A601BC /* GiftReceiveInfoModel.m */, + 8C9C84822B0D25EF00A601BC /* MewGiftInfoModel.h */, + 8C9C84832B0D25EF00A601BC /* MewGiftInfoModel.m */, + 8C9C848A2B0D2B8500A601BC /* MewGiftReceiveInfoModel.h */, + 8C9C848B2B0D2B8500A601BC /* MewGiftReceiveInfoModel.m */, ); path = Model; sourceTree = ""; @@ -2132,12 +2108,12 @@ 8C9C84912B0D659800A601BC /* AnimationView */ = { isa = PBXGroup; children = ( - 8C9C84922B0D65C300A601BC /* YMRoomAnimationHitView.h */, - 8C9C84932B0D65C300A601BC /* YMRoomAnimationHitView.m */, - 8C9C84952B0D65E200A601BC /* YMRoomAnimationView.h */, - 8C9C84962B0D65E200A601BC /* YMRoomAnimationView.m */, - 8CAB96F32B1AB15200ED8639 /* CHRoomAnimationGroup.h */, - 8CAB96F42B1AB15200ED8639 /* CHRoomAnimationGroup.m */, + 8C9C84922B0D65C300A601BC /* MewRoomAnimationHitView.h */, + 8C9C84932B0D65C300A601BC /* MewRoomAnimationHitView.m */, + 8C9C84952B0D65E200A601BC /* MewRoomAnimationView.h */, + 8C9C84962B0D65E200A601BC /* MewRoomAnimationView.m */, + 8CAB96F32B1AB15200ED8639 /* MewRoomAnimationGroup.h */, + 8CAB96F42B1AB15200ED8639 /* MewRoomAnimationGroup.m */, ); path = AnimationView; sourceTree = ""; @@ -2145,8 +2121,8 @@ 8C9C849B2B0D6A4600A601BC /* Presenter */ = { isa = PBXGroup; children = ( - 8C9C849C2B0D6A5C00A601BC /* YMGiftStorage.h */, - 8C9C849D2B0D6A5C00A601BC /* YMGiftStorage.m */, + 8C9C849C2B0D6A5C00A601BC /* MewGiftStorage.h */, + 8C9C849D2B0D6A5C00A601BC /* MewGiftStorage.m */, ); path = Presenter; sourceTree = ""; @@ -2305,10 +2281,10 @@ buildActionMask = 2147483647; files = ( 8C9C84482B0C697A00A601BC /* YMMineSettingTableViewCell.m in Sources */, - 233757682B0CB577001D0B7F /* NIMMessageUtils.m in Sources */, + 233757682B0CB577001D0B7F /* MewNIMMessageUtils.m in Sources */, 8C9C845C2B0C697A00A601BC /* ClientConfig.m in Sources */, 8C9C843B2B0C697A00A601BC /* TRTCRtcImpl.m in Sources */, - 2337575C2B0CB577001D0B7F /* CHSessionMessageCell.m in Sources */, + 2337575C2B0CB577001D0B7F /* MewSessionMessageCell.m in Sources */, 8C9C821F2B0C694900A601BC /* AppDelegate.m in Sources */, 8C92A8182B0EF3E9008F362C /* MineModifPayPwdView.m in Sources */, 8C9C84462B0C697A00A601BC /* YMMineSettingViewController.m in Sources */, @@ -2316,17 +2292,17 @@ 8C9C82A92B0C695600A601BC /* BaseNavigationController.m in Sources */, 8C9C82BC2B0C695600A601BC /* UserInfoModel.m in Sources */, 8C9C84602B0C697A00A601BC /* MewVoiceGuideView.m in Sources */, - 23270C292B0E037300B9303B /* CHMessageConentAudioView.m in Sources */, + 23270C292B0E037300B9303B /* MewMessageConentAudioView.m in Sources */, 237051532B1D7CD500F5DE14 /* MEWCountDownHelper.m in Sources */, 8C9C84312B0C697A00A601BC /* MewSessionListViewController.m in Sources */, 8C9C82AB2B0C695600A601BC /* NetImageConfig.m in Sources */, 8C9C84892B0D286F00A601BC /* Api+Gift.m in Sources */, 237051572B1D7CD500F5DE14 /* MewHUDTool.m in Sources */, - 8C9C849E2B0D6A5C00A601BC /* YMGiftStorage.m in Sources */, + 8C9C849E2B0D6A5C00A601BC /* MewGiftStorage.m in Sources */, 8C9C843A2B0C697A00A601BC /* BaseRtcImpl.m in Sources */, 8C9C84672B0C697A00A601BC /* MewHeaderView.m in Sources */, 8C9C84662B0C697A00A601BC /* MewUserIntroductionView.m in Sources */, - 8CAB96F52B1AB15200ED8639 /* CHRoomAnimationGroup.m in Sources */, + 8CAB96F52B1AB15200ED8639 /* MewRoomAnimationGroup.m in Sources */, 8C9C84172B0C697A00A601BC /* YMWebViewController.m in Sources */, 8C92A8232B0FE1DC008F362C /* MewHtmlUrl.m in Sources */, 237051552B1D7CD500F5DE14 /* DESEncrypt.m in Sources */, @@ -2338,10 +2314,10 @@ 8C9C84592B0C697A00A601BC /* TabbarViewController.m in Sources */, 8C9C82BE2B0C695600A601BC /* LoginTicketInfo.m in Sources */, 8C9C84542B0C697A00A601BC /* LoginInputView.m in Sources */, - 233757632B0CB577001D0B7F /* CHMessageContentUnSupportView.m in Sources */, - 2337575E2B0CB577001D0B7F /* NIMMessageMaker.m in Sources */, + 233757632B0CB577001D0B7F /* MewMessageContentUnSupportView.m in Sources */, + 2337575E2B0CB577001D0B7F /* MewNIMMessageMaker.m in Sources */, 8C9C82B92B0C695600A601BC /* NSObject+AutoCoding.m in Sources */, - 233757622B0CB577001D0B7F /* CHMessageContentImage.m in Sources */, + 233757622B0CB577001D0B7F /* MewMessageContentImage.m in Sources */, 8C9C84772B0C697A00A601BC /* MewLoginPhoneView.m in Sources */, 8C9C84692B0C697A00A601BC /* YMHomeFilterView.m in Sources */, 8C9C84532B0C697A00A601BC /* LoginForgetPasswordViewController.m in Sources */, @@ -2349,7 +2325,7 @@ 8C9C82AF2B0C695600A601BC /* TTAlertConfig.m in Sources */, 8C9C82B02B0C695600A601BC /* TTAlertButtonConfig.m in Sources */, 8C9C82B22B0C695600A601BC /* TTActionSheetConfig.m in Sources */, - 8C9C841C2B0C697A00A601BC /* RoomInfoModel.m in Sources */, + 8C9C841C2B0C697A00A601BC /* MewRoomInfoModel.m in Sources */, 2337575B2B0CB577001D0B7F /* UIView+NIM.m in Sources */, 2370515B2B1D7CD500F5DE14 /* MEWThemeColor.m in Sources */, 8C9C843F2B0C697A00A601BC /* FansInfoModel.m in Sources */, @@ -2357,30 +2333,31 @@ 8C9C82BF2B0C695600A601BC /* AccountModel.m in Sources */, 237051512B1D7CD500F5DE14 /* NSArray+MewSafe.m in Sources */, 2370515E2B1D7CD500F5DE14 /* NSObject+MEWExtension.m in Sources */, - 233757652B0CB577001D0B7F /* CHSessionNavView.m in Sources */, + 233757652B0CB577001D0B7F /* MewSessionNavView.m in Sources */, 8C9C84722B0C697A00A601BC /* MewPartyListCollectionViewCell.m in Sources */, 8C9C846F2B0C697A00A601BC /* MewRoomMessageTableCell.m in Sources */, - 8C9C84282B0C697A00A601BC /* YMRoomMessageParser.m in Sources */, + 8C9C84282B0C697A00A601BC /* MewRoomMessageParser.m in Sources */, 8C9C84302B0C697A00A601BC /* MewSessionListTableViewCell.m in Sources */, 2370515C2B1D7CD500F5DE14 /* MEWRechargeStorage.m in Sources */, 237051592B1D7CD500F5DE14 /* NewEncryptTool.m in Sources */, 8C9C84652B0C697A00A601BC /* MewShowVoiceView.m in Sources */, - 233757592B0CB577001D0B7F /* NIMBadgeView.m in Sources */, + 8CAB97012B1FE16000ED8639 /* UITableView+NIMScrollToBottom.m in Sources */, + 233757592B0CB577001D0B7F /* MewNIMBadgeView.m in Sources */, 8C9C846D2B0C697A00A601BC /* MewRoomRightView.m in Sources */, 8C9C84582B0C697A00A601BC /* MainPresenter.m in Sources */, - 233757562B0CB577001D0B7F /* CHMessagePresenter.m in Sources */, + 233757562B0CB577001D0B7F /* MewMessagePresenter.m in Sources */, 8C9C84512B0C697A00A601BC /* LoginPasswordPresent.m in Sources */, 8C9C841F2B0C697A00A601BC /* CHStageView.m in Sources */, 8C9C844D2B0C697A00A601BC /* LoginForgetPasswordPresent.m in Sources */, 8C9C82C12B0C695600A601BC /* Api.m in Sources */, - 23270C2C2B0E041300B9303B /* CHMessageAudioCenter.m in Sources */, + 23270C2C2B0E041300B9303B /* MewMessageAudioCenter.m in Sources */, 2370514F2B1D7CD500F5DE14 /* UIImage+RW.m in Sources */, 8C9C844A2B0C697A00A601BC /* Api+Mine.m in Sources */, 8C9C82A82B0C695600A601BC /* BaseViewController.m in Sources */, 8C9C84782B0C697A00A601BC /* MewLoginPasswordView.m in Sources */, 8C9C84622B0C697A00A601BC /* MewVoiceDiscView.m in Sources */, 8C9C82AE2B0C695600A601BC /* TTPopup.m in Sources */, - 8C9C84AD2B0D9AB900A601BC /* CHRoomMessageHeaderView.m in Sources */, + 8C9C84AD2B0D9AB900A601BC /* MewRoomMessageHeaderView.m in Sources */, 8C9C84442B0C697A00A601BC /* YMMineCollectRoomCell.m in Sources */, 8C9C82B52B0C695600A601BC /* TTActionSheetView.m in Sources */, 8C9C82B32B0C695600A601BC /* TTPopupManagerService.m in Sources */, @@ -2398,21 +2375,20 @@ 8C9C84222B0C697A00A601BC /* MicroExtModel.m in Sources */, 8C9C843C2B0C697A00A601BC /* RtcManager.m in Sources */, 8C9C84BA2B0ECD2100A601BC /* MineRechargePresenter.m in Sources */, - 8C9C84182B0C697A00A601BC /* YMHomePresenter.m in Sources */, - 8C9C841E2B0C697A00A601BC /* YMRoomSendTextView.m in Sources */, + 8C9C84182B0C697A00A601BC /* MewPartyPresenter.m in Sources */, + 8C9C841E2B0C697A00A601BC /* MewRoomSendTextView.m in Sources */, 8C9C843E2B0C697A00A601BC /* YMMineSettingPresenter.m in Sources */, 8C9C84732B0C697A00A601BC /* MewPartyViewController.m in Sources */, 2370514C2B1D7CD500F5DE14 /* YYUtility+Device.m in Sources */, 8C4D53622AFD4CF700238AE6 /* main.m in Sources */, - 233757642B0CB577001D0B7F /* CHMessageContentText.m in Sources */, - 8C9C84242B0C697A00A601BC /* YMRoomMessageContainerView.m in Sources */, + 233757642B0CB577001D0B7F /* MewMessageContentText.m in Sources */, + 8C9C84242B0C697A00A601BC /* MewRoomMessageContainerView.m in Sources */, 8C9C84612B0C697A00A601BC /* MewPushExclusiveVoiceView.m in Sources */, 8C9C845D2B0C697A00A601BC /* MewHomePresenter.m in Sources */, - 2337575A2B0CB577001D0B7F /* UITableView+NIMScrollToBottom.m in Sources */, - 8C9C84252B0C697A00A601BC /* YMMessageInfoModel.m in Sources */, + 8C9C84252B0C697A00A601BC /* MewMessageInfoModel.m in Sources */, 23270C302B0E071B00B9303B /* MewPaymentAction.swift in Sources */, 8C9C84792B0C697A00A601BC /* MewLoginNumberViewController.m in Sources */, - 233757582B0CB577001D0B7F /* ChatLimitModel.m in Sources */, + 233757582B0CB577001D0B7F /* MewChatLimitModel.m in Sources */, 8C9C82BA2B0C695600A601BC /* AccountInfoStorage.m in Sources */, 8C9C846E2B0C697A00A601BC /* MewRoomHeaderView.m in Sources */, 8C9C84492B0C697A00A601BC /* YMMineAboutUsViewController.m in Sources */, @@ -2421,22 +2397,22 @@ 8C9C84502B0C697A00A601BC /* LoginVerifCodePresent.m in Sources */, 8C9C844C2B0C697A00A601BC /* CustomAttachmentDecoder.m in Sources */, 8C9C845E2B0C697A00A601BC /* AudioPlayerManager.m in Sources */, - 8C9C848C2B0D2B8500A601BC /* GiftReceiveInfoModel.m in Sources */, + 8C9C848C2B0D2B8500A601BC /* MewGiftReceiveInfoModel.m in Sources */, 8C9C84572B0C697A00A601BC /* Api+Login.m in Sources */, - 2337575D2B0CB577001D0B7F /* CHSessionToolbarView.m in Sources */, + 2337575D2B0CB577001D0B7F /* MewSessionToolbarView.m in Sources */, 237051522B1D7CD500F5DE14 /* MEWUploadFile.m in Sources */, 8C9C84192B0C697A00A601BC /* HomeRecommendRoomModel.m in Sources */, 2370515A2B1D7CD500F5DE14 /* MEWGCDHelper.m in Sources */, - 233757612B0CB577001D0B7F /* CHMessageToolMenuCollectionViewCell.m in Sources */, + 233757612B0CB577001D0B7F /* MewMessageToolMenuCollectionCell.m in Sources */, 8C9C82B62B0C695600A601BC /* TTPopupService.m in Sources */, - 233757662B0CB577001D0B7F /* CHSessionAudioRecordView.m in Sources */, + 233757662B0CB577001D0B7F /* MewSessionAudioRecordView.m in Sources */, 233757672B0CB577001D0B7F /* Api+Message.m in Sources */, - 8C9C841A2B0C697A00A601BC /* Api+Home.m in Sources */, + 8C9C841A2B0C697A00A601BC /* Api+Party.m in Sources */, 8C9C82AD2B0C695600A601BC /* YMEmptyTableViewCell.m in Sources */, 8C9C845F2B0C697A00A601BC /* MewHomeViewController.m in Sources */, 8C9C84422B0C697A00A601BC /* RechargeListModel.m in Sources */, 8C9C845A2B0C697A00A601BC /* ClientDataModel.m in Sources */, - 8C9C84972B0D65E200A601BC /* YMRoomAnimationView.m in Sources */, + 8C9C84972B0D65E200A601BC /* MewRoomAnimationView.m in Sources */, 2370514E2B1D7CD500F5DE14 /* YYUtility+App.m in Sources */, 8C9C82202B0C694900A601BC /* AppDelegate+ThirdConfig.m in Sources */, 8C9C84202B0C697A00A601BC /* MicroView.m in Sources */, @@ -2448,17 +2424,17 @@ 8C9C84472B0C697A00A601BC /* MewMineCollectionTableViewCell.m in Sources */, 8C9C844E2B0C697A00A601BC /* LoginPresenter.m in Sources */, 8C9C84642B0C697A00A601BC /* MewRightFollowVoiceView.m in Sources */, - 8C9C84842B0D25EF00A601BC /* GiftInfoModel.m in Sources */, + 8C9C84842B0D25EF00A601BC /* MewGiftInfoModel.m in Sources */, 8C9C84742B0C697A00A601BC /* MewRechargeViewController.m in Sources */, - 8C9C84272B0C697A00A601BC /* YMNetImageYYLabel.m in Sources */, + 8C9C84272B0C697A00A601BC /* MewNetImageLabel.m in Sources */, 8C9C842A2B0C697A00A601BC /* Api+Room.m in Sources */, - 8C9C84902B0D439800A601BC /* YMRoomMessageFilter.m in Sources */, + 8C9C84902B0D439800A601BC /* MewRoomMessageFilter.m in Sources */, 8C92A8072B0EEDD0008F362C /* LoginVerifBindPhoneViewController.m in Sources */, 8C9C84412B0C697A00A601BC /* MineCollectRoomModel.m in Sources */, 2337576B2B0CB630001D0B7F /* UIView+FilletCorner.m in Sources */, 8C92A81C2B0EF449008F362C /* UIButton+EnlargeTouchArea.m in Sources */, 8C9C82B72B0C695600A601BC /* HttpRequestHelper.m in Sources */, - 8C9C841B2B0C697A00A601BC /* YMRoomPresenter.m in Sources */, + 8C9C841B2B0C697A00A601BC /* MewRoomPresenter.m in Sources */, 8C9C82A72B0C695600A601BC /* YMCurrentVCStackManager.m in Sources */, 8C9C82B82B0C695600A601BC /* BaseMvpPresenter.m in Sources */, 8C9C84702B0C697A00A601BC /* MewRoomViewController.m in Sources */, @@ -2469,21 +2445,21 @@ 2370514D2B1D7CD500F5DE14 /* YYUtility.m in Sources */, 8C9C84452B0C697A00A601BC /* YMMineCollectRoomViewController.m in Sources */, 8C9C82AC2B0C695600A601BC /* NetImageView.m in Sources */, - 2337575F2B0CB577001D0B7F /* CHSessionInfoViewController.m in Sources */, + 2337575F2B0CB577001D0B7F /* MewSessionInfoViewController.m in Sources */, 8C9C846B2B0C697A00A601BC /* MewSocialMicroView.m in Sources */, - 233757572B0CB577001D0B7F /* MessageMenuModel.m in Sources */, + 233757572B0CB577001D0B7F /* MewMessageMenuModel.m in Sources */, 8C9C844B2B0C697A00A601BC /* AttachmentModel.m in Sources */, 237051582B1D7CD500F5DE14 /* MEWTimer.m in Sources */, 237051562B1D7CD500F5DE14 /* MEWBase64.m in Sources */, 8C92A8112B0EEFAE008F362C /* LoginBindPhonePresent.m in Sources */, 8C9C84562B0C697A00A601BC /* LoginFullInfoViewController.m in Sources */, - 8C9C84262B0C697A00A601BC /* YMMessageRemoteExtModel.m in Sources */, + 8C9C84262B0C697A00A601BC /* MewMessageRemoteExtModel.m in Sources */, 8C92A8142B0EF1D8008F362C /* MineLoginPasswordViewController.m in Sources */, 8C9C82AA2B0C695600A601BC /* UIImageConstant.m in Sources */, 8C9C82BB2B0C695600A601BC /* BaseModel.m in Sources */, - 8C9C84942B0D65C300A601BC /* YMRoomAnimationHitView.m in Sources */, + 8C9C84942B0D65C300A601BC /* MewRoomAnimationHitView.m in Sources */, 8C9C82B12B0C695600A601BC /* TTAlertMessageAttributedConfig.m in Sources */, - 233757602B0CB577001D0B7F /* SessionViewController.m in Sources */, + 233757602B0CB577001D0B7F /* MewSessionViewController.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2645,7 +2621,7 @@ INFOPLIST_KEY_UIMainStoryboardFile = Main; INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2692,7 +2668,7 @@ INFOPLIST_KEY_UIMainStoryboardFile = Main; INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Home/Presenter/MewHomePresenter.m b/yinmeng-ios/yinmeng-ios/Main/Mew/Home/Presenter/MewHomePresenter.m index 11e4249..942d028 100644 --- a/yinmeng-ios/yinmeng-ios/Main/Mew/Home/Presenter/MewHomePresenter.m +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Home/Presenter/MewHomePresenter.m @@ -149,7 +149,7 @@ NSString *ticket = [[AccountInfoStorage instance] getTicket]; NSString *type = state ? @"1" : @"2"; [Api attentionCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) { - [[self getView] attentionUserSuccess:state]; + [[self getView] mew_attentionUserSuccess:state]; }] uid:uid likedUid:targetUid ticket:ticket type:type]; } diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Home/Protocol/MewHomeProtocol.h b/yinmeng-ios/yinmeng-ios/Main/Mew/Home/Protocol/MewHomeProtocol.h index 32c23bd..1258d93 100644 --- a/yinmeng-ios/yinmeng-ios/Main/Mew/Home/Protocol/MewHomeProtocol.h +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Home/Protocol/MewHomeProtocol.h @@ -6,6 +6,7 @@ // #import +@class UserInfoModel; NS_ASSUME_NONNULL_BEGIN @@ -28,7 +29,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)getUserDetailInfoSuccess:(UserInfoModel *)userInfo;; /// 关注用户成功 -- (void)attentionUserSuccess:(BOOL)status; +- (void)mew_attentionUserSuccess:(BOOL)status; /// 关注用户失败 - (void)attentionUserFail; /// 获取两个人的关注成功 diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Home/View/MewHomeViewController.m b/yinmeng-ios/yinmeng-ios/Main/Mew/Home/View/MewHomeViewController.m index 7bfb069..8243f93 100644 --- a/yinmeng-ios/yinmeng-ios/Main/Mew/Home/View/MewHomeViewController.m +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Home/View/MewHomeViewController.m @@ -18,7 +18,7 @@ #import "YMMineSettingViewController.h" #import "MewMineCollectionViewController.h" #import "MewRechargeViewController.h" -#import "SessionViewController.h" +#import "MewSessionViewController.h" #import /// Tool #import "YMMacro.h" @@ -145,7 +145,7 @@ } // 关注 || 取消关注成功 -- (void)attentionUserSuccess:(BOOL)status { +- (void)mew_attentionUserSuccess:(BOOL)status { [MewHUDTool showSuccessWithMessage: status ? @"关注成功" : @"取消关注成功"]; [self.userIntroductionView updateAttentionState:status]; } @@ -255,7 +255,7 @@ - (void)userIntrodctionViewWithUserOption:(NSInteger)optionType { if (optionType == 2) { //聊天 NIMSession *session = [NIMSession session:self.targetUid type:NIMSessionTypeP2P]; - SessionViewController *vc = [[SessionViewController alloc] initWithSession:session]; + MewSessionViewController *vc = [[MewSessionViewController alloc] initWithSession:session]; [self.navigationController pushViewController:vc animated:YES]; } else { diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Message/View/SessionList/MewSessionListTableViewCell.m b/yinmeng-ios/yinmeng-ios/Main/Mew/Message/View/SessionList/MewSessionListTableViewCell.m index cdc6540..8aadd9d 100644 --- a/yinmeng-ios/yinmeng-ios/Main/Mew/Message/View/SessionList/MewSessionListTableViewCell.m +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Message/View/SessionList/MewSessionListTableViewCell.m @@ -10,12 +10,12 @@ #import #import /// View -#import "NIMBadgeView.h" +#import "MewNIMBadgeView.h" /// Tool #import "ClientConfig.h" #import "NetImageView.h" #import "MEWThemeColor.h" -#import "NIMMessageUtils.h" +#import "MewNIMMessageUtils.h" #import "MewTimeIntervalUtils.h" #import "UIView+NIM.h" #import "UIView+FilletCorner.h" @@ -34,7 +34,7 @@ /// 时间 @property (nonatomic,strong) UILabel *timeLabel; /// 小红点 -@property (nonatomic,strong) NIMBadgeView *badgeView; +@property (nonatomic,strong) MewNIMBadgeView *badgeView; /// 下划线 //@property (nonatomic,strong) UIView *divider; @end @@ -49,7 +49,7 @@ self.nameLabel.text = user.userInfo.nickName; [self.nameLabel sizeToFit]; - self.messageLabel.text = [NIMMessageUtils messageContent:recent.lastMessage]; + self.messageLabel.text = [MewNIMMessageUtils Mew_MessageContent:recent.lastMessage]; /// 时间处理 if (recent.lastMessage) { @@ -214,9 +214,9 @@ return _timeLabel; } -- (NIMBadgeView *)badgeView { +- (MewNIMBadgeView *)badgeView { if (!_badgeView) { - _badgeView = [NIMBadgeView viewWithBadgeTip:@"1"]; + _badgeView = [MewNIMBadgeView Mew_ViewWithBadgeTip:@"1"]; _badgeView.layer.cornerRadius = 9; _badgeView.layer.masksToBounds = YES; } diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Message/View/SessionList/MewSessionListViewController.m b/yinmeng-ios/yinmeng-ios/Main/Mew/Message/View/SessionList/MewSessionListViewController.m index 0000d37..3fccd4f 100644 --- a/yinmeng-ios/yinmeng-ios/Main/Mew/Message/View/SessionList/MewSessionListViewController.m +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Message/View/SessionList/MewSessionListViewController.m @@ -14,7 +14,7 @@ #import "YMMacro.h" #import "ClientConfig.h" #import -#import "SessionViewController.h" +#import "MewSessionViewController.h" @interface MewSessionListViewController () @@ -195,7 +195,7 @@ [tableView deselectRowAtIndexPath:indexPath animated:YES]; NIMRecentSession *recentSession = self.recentSessions[indexPath.row]; - SessionViewController *vc = [[SessionViewController alloc] initWithSession:recentSession.session]; + MewSessionViewController *vc = [[MewSessionViewController alloc] initWithSession:recentSession.session]; [self.navigationController pushViewController:vc animated:YES]; } diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Api/Api+Party.h b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Api/Api+Party.h new file mode 100644 index 0000000..3d5a88d --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Api/Api+Party.h @@ -0,0 +1,21 @@ +// +// Api+Home.h +// mew-ios +// +// Created by 触海 on 2023/11/19. +// + +#import "Api.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface Api (Party) + +/// 请求推荐房间列表 +/// @param completion 完成 +/// @param uid 用户的uid ++ (void)mew_partyRecommendRoomListComplection:(HttpRequestHelperCompletion)completion uid:(NSString *)uid; + +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Api/Api+Party.m b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Api/Api+Party.m new file mode 100644 index 0000000..c7be5a0 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Api/Api+Party.m @@ -0,0 +1,20 @@ +// +// Api+Home.m +// mew-ios +// +// Created by 触海 on 2023/11/19. +// + +#import "Api+Party.h" +#import "NewEncryptTool.h" +@implementation Api (Party) + +/// 请求推荐房间列表 +/// @param completion 完成 +/// @param uid 用户的uid ++ (void)mew_partyRecommendRoomListComplection:(HttpRequestHelperCompletion)completion uid:(NSString *)uid { + NSString *getUrl = [NewEncryptTool MEW_aesDecrypt:@"QFTxN/O9DfSc+M1EAx2zzw=="];///home/tab/homeV2 + [self makeRequest:getUrl method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, uid, nil]; +} + +@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Model/HomeRecommendRoomModel.h b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Model/HomeRecommendRoomModel.h similarity index 78% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Model/HomeRecommendRoomModel.h rename to yinmeng-ios/yinmeng-ios/Main/Mew/Party/Model/HomeRecommendRoomModel.h index ff3e787..30a8cbf 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Model/HomeRecommendRoomModel.h +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Model/HomeRecommendRoomModel.h @@ -44,16 +44,6 @@ NS_ASSUME_NONNULL_BEGIN @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 *micUsers; diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Model/HomeRecommendRoomModel.m b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Model/HomeRecommendRoomModel.m similarity index 100% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Model/HomeRecommendRoomModel.m rename to yinmeng-ios/yinmeng-ios/Main/Mew/Party/Model/HomeRecommendRoomModel.m diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Presenter/MewPartyPresenter.h b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Presenter/MewPartyPresenter.h new file mode 100644 index 0000000..28c8172 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Presenter/MewPartyPresenter.h @@ -0,0 +1,17 @@ +// +// MewHomePresenter.h +// mew-ios +// +// Created by 触海 on 2023/11/19. +// + +#import "BaseMvpPresenter.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MewPartyPresenter : BaseMvpPresenter + +- (void)mew_partyRecommendRoomList; +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Presenter/MewPartyPresenter.m b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Presenter/MewPartyPresenter.m new file mode 100644 index 0000000..2e3a879 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Presenter/MewPartyPresenter.m @@ -0,0 +1,28 @@ +// +// MewHomePresenter.m +// mew-ios +// +// Created by 触海 on 2023/11/19. +// + +#import "MewPartyPresenter.h" +#import "AccountInfoStorage.h" +#import "HomeRecommendRoomModel.h" +#import "Api+Party.h" +#import "MewPartyProtocol.h" +#import "NSArray+MewSafe.h" +#import "NSObject+MEWExtension.h" +@implementation MewPartyPresenter + +/// 请求推荐房间列表 +- (void)mew_partyRecommendRoomList { + NSString *uid = [AccountInfoStorage instance].getUid; + [Api mew_partyRecommendRoomListComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) { + NSArray * array = [HomeRecommendRoomModel mewModelsWithArray:data.data]; + [[self getView] mew_partyRecommendRoomListSuccess:array]; + }fail:^(NSInteger code, NSString * _Nullable msg) { +// [[self getView] getmew_partyRecommendRoomListFail:msg state:state]; + }] uid:uid]; +} + +@end diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Protocol/MewPartyProtocol.h b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Protocol/MewPartyProtocol.h new file mode 100644 index 0000000..36081b0 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/Protocol/MewPartyProtocol.h @@ -0,0 +1,18 @@ +// +// MewHomeProtocol.h +// mew-ios +// +// Created by 触海 on 2023/11/19. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@protocol MewPartyProtocol + +/// 请求推荐房间列表完成 +- (void)mew_partyRecommendRoomListSuccess:(NSArray *)list; +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Party/View/MewPartyViewController.m b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/View/MewPartyViewController.m index 02a9eb9..bc55feb 100644 --- a/yinmeng-ios/yinmeng-ios/Main/Mew/Party/View/MewPartyViewController.m +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Party/View/MewPartyViewController.m @@ -18,10 +18,10 @@ #import "MewPartyModel.h" #import "HomeRecommendRoomModel.h" /// Presenter -#import "YMHomePresenter.h" -#import "YMHomeProtocol.h" +#import "MewPartyPresenter.h" +#import "MewHomeProtocol.h" -@interface MewPartyViewController () +@interface MewPartyViewController () @property (nonatomic, strong) UIImageView *contentBgImageView; // 多人派对 @@ -49,8 +49,8 @@ return YES; } -- (YMHomePresenter *)createPresenter { - return [[YMHomePresenter alloc] init]; +- (MewPartyPresenter *)createPresenter { + return [[MewPartyPresenter alloc] init]; } #pragma mark - Life Cycle @@ -70,12 +70,11 @@ #pragma mark - Load Data - (void)loadData { - [self.presenter homeRecommendRoomList]; + [self.presenter mew_partyRecommendRoomList]; } -#pragma mark - YMHomeProtocol - -- (void)homeRecommendRoomListSuccess:(NSArray *)list { +#pragma mark - MewHomeProtocol +- (void)mew_partyRecommendRoomListSuccess:(NSArray *)list { self.homeRecommendModels = list; [self.partyCollectionView reloadData]; } diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/MewRoomViewController.m b/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/MewRoomViewController.m index ba5f2a6..2d50006 100644 --- a/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/MewRoomViewController.m +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/MewRoomViewController.m @@ -12,18 +12,18 @@ #import "MewRoomHeaderView.h" #import "MewRoomRightView.h" #import "MewSocialStageView.h" -#import "YMRoomMessageContainerView.h" -#import "YMRoomSendTextView.h" -#import "YMRoomAnimationView.h" +#import "MewRoomMessageContainerView.h" +#import "MewRoomSendTextView.h" +#import "MewRoomAnimationView.h" ///Model #import "UserInfoModel.h" -#import "RoomInfoModel.h" -#import "YMMessageInfoModel.h" +#import "MewRoomInfoModel.h" +#import "MewMessageInfoModel.h" #import "AttachmentModel.h" #import "MicroQueueModel.h" -#import "GiftInfoModel.h" -#import "GiftReceiveInfoModel.h" -#import "YMMessageRemoteExtModel.h" +#import "MewGiftInfoModel.h" +#import "MewGiftReceiveInfoModel.h" +#import "MewMessageRemoteExtModel.h" ///Tool #import "AccountInfoStorage.h" #import "MEWHUDTool.h" @@ -31,33 +31,33 @@ #import "NSArray+MEWSafe.h" #import "RtcManager.h" ///P -#import "YMRoomPresenter.h" -#import "YMRoomProtocol.h" -#import "CHRoomHostDelegate.h" +#import "MewRoomPresenter.h" +#import "MewRoomProtocol.h" +#import "MewRoomHostDelegate.h" /// Third #import #import -@interface MewRoomViewController () + MewRoomHostDelegate, MewRoomRightViewDelegate, MewRoomHeaderViewDelegate> // 背景 @property (nonatomic, strong) UIImageView *roomBgImageView; @property (nonatomic, strong) MewRoomHeaderView *roomHeaderView; @property (nonatomic, strong) MewRoomRightView *roomRightView; @property (nonatomic, strong) CHStageView *roomStageView; -@property (nonatomic, strong) YMRoomMessageContainerView *roomMessageView; +@property (nonatomic, strong) MewRoomMessageContainerView *roomMessageView; ///动画的view -@property (nonatomic,strong) YMRoomAnimationView *roomAnimationView; +@property (nonatomic,strong) MewRoomAnimationView *roomAnimationView; @property (nonatomic, strong) UIImageView *emojiImageView; /// 房间的Uid @property (nonatomic, strong) NSString *roomUid; /// 用户信息 @property (nonatomic, strong) UserInfoModel *userInfo; ///房间信息 -@property (nonatomic, strong) RoomInfoModel *roomInfo; +@property (nonatomic, strong) MewRoomInfoModel *roomInfo; /// emoji @property (nonatomic, assign) BOOL isPlayEmojiAnimation; @property (nonatomic, copy) NSArray *emojiArrays; @@ -67,8 +67,8 @@ @implementation MewRoomViewController #pragma mark - Super -- (YMRoomPresenter *)createPresenter { - return [[YMRoomPresenter alloc] init]; +- (MewRoomPresenter *)createPresenter { + return [[MewRoomPresenter alloc] init]; } - (BOOL)isHiddenNavBar { @@ -83,7 +83,7 @@ self.emojiArrays = @[@"mew_room_emoji_deyi",@"mew_room_emoji_happy",@"mew_room_emoji_sex",@"mew_room_emoji_suprise"]; self.playEmojiArrays = [NSMutableArray array]; self.isPlayEmojiAnimation = NO; - [self.presenter initEnterCurrentRoom:self.roomUid user:[AccountInfoStorage instance].getUid]; + [self.presenter mew_initEnterCurrentRoom:self.roomUid user:[AccountInfoStorage instance].getUid]; //监听云信消息 [[NIMSDK sharedSDK].chatroomManager addDelegate:self]; @@ -132,7 +132,7 @@ { NSMutableDictionary *lastRoomInfoDic = [NSMutableDictionary dictionaryWithDictionary:[self.roomInfo mewModel2dictionary]]; [lastRoomInfoDic addEntriesFromDictionary: ((NSString *)data[@"roomInfo"]).mewToJSONObject]; - [self.roomStageView onRoomInfoUpdate]; + [self.roomStageView mew_onRoomInfoUpdate]; // [self.roomMessageView onRoomUpdate]; } break; @@ -164,21 +164,21 @@ } self.roomInfo.onlineNum = onLineNumber; // [self.roomHeaderView onRoomUpdate]; - [self.roomStageView handleNIMNotificationMessage:message]; - [self.roomAnimationView handleNIMNotificationMessage:message]; - [self.roomMessageView handleNIMNotificationMessage:message]; + [self.roomStageView mew_handleNIMNotificationMessage:message]; + [self.roomAnimationView mew_handleNIMNotificationMessage:message]; + [self.roomMessageView mew_handleNIMNotificationMessage:message]; } else if (message.messageType == NIMMessageTypeCustom) { NIMCustomObject *obj = (NIMCustomObject *)message.messageObject; if (obj.attachment != nil && [obj.attachment isKindOfClass:[AttachmentModel class]]) { - [self.roomStageView handleNIMCustomMessage:message]; - [self.roomAnimationView handleNIMCustomMessage:message]; + [self.roomStageView mew_handleNIMCustomMessage:message]; + [self.roomAnimationView mew_handleNIMCustomMessage:message]; - [self.roomMessageView handleNIMCustomMessage:message]; + [self.roomMessageView mew_handleNIMCustomMessage:message]; } } else if(message.messageType == NIMMessageTypeText) { - [self.roomMessageView handleNIMTextMessage:message]; + [self.roomMessageView mew_handleNIMTextMessage:message]; } else if(message.messageType == NIMMessageTypeTip) { - [self.roomMessageView handleNIMTextMessage:message]; + [self.roomMessageView mew_handleNIMTextMessage:message]; } } } @@ -202,14 +202,14 @@ if (message.messageType == NIMMessageTypeCustom) { NIMCustomObject *obj = (NIMCustomObject *)message.messageObject; if (obj.attachment != nil && [obj.attachment isKindOfClass:[AttachmentModel class]]) { - [self.roomStageView handleNIMCustomMessage:message]; - [self.roomAnimationView handleNIMCustomMessage:message]; - [self.roomMessageView handleNIMCustomMessage:message]; + [self.roomStageView mew_handleNIMCustomMessage:message]; + [self.roomAnimationView mew_handleNIMCustomMessage:message]; + [self.roomMessageView mew_handleNIMCustomMessage:message]; } } else if(message.messageType == NIMMessageTypeText) { - [self.roomMessageView handleNIMTextMessage:message]; + [self.roomMessageView mew_handleNIMTextMessage:message]; } } @@ -225,28 +225,28 @@ return YES; } -#pragma mark - CHRoomHostDelegate -- (RoomInfoModel *)getRoomInformation { +#pragma mark - MewRoomHostDelegate +- (MewRoomInfoModel *)mew_getRoomInformation { return self.roomInfo; } -- (UserInfoModel *)getUserInformation { +- (UserInfoModel *)mew_getUserInformation { return self.userInfo; } /// 退出房间 -- (void)exitCurrentRoom { +- (void)mew_exitCurrentRoom { //其他模式下 - [self.roomAnimationView resumeAnimationTimer]; + [self.roomAnimationView mew_resumeAnimationTimer]; // 默认模式下 - [self.presenter exitNIMCurrentRoom:[NSString stringWithFormat:@"%ld", self.roomInfo.roomId]]; + [self.presenter mew_exitNIMCurrentRoom:[NSString stringWithFormat:@"%ld", self.roomInfo.roomId]]; [[RtcManager instance] exitRoom]; - [self.presenter reportUserOutRoom:[NSString stringWithFormat:@"%ld",self.roomInfo.uid]]; + [self.presenter mew_reportUserOutRoom:[NSString stringWithFormat:@"%ld",self.roomInfo.uid]]; [self dismissViewControllerAnimated:YES completion:nil]; } -- (UINavigationController *)getCurrentNavigationController { +- (UINavigationController *)mew_getCurrentNavigationController { return self.navigationController; } @@ -260,29 +260,29 @@ } } -- (CGPoint)animationPointAtStageViewByUid:(NSString *)uid { - return [self.roomStageView animationPointAtStageViewByUid:uid]; +- (CGPoint)mew_animationPointAtStageViewByUid:(NSString *)uid { + return [self.roomStageView mew_animationPointAtStageViewByUid:uid]; } -#pragma mark - YMRoomProtocol +#pragma mark - MewRoomProtocol /// 进入房间成功 -- (void)initEnterCurrentRoomSuccess:(RoomInfoModel *)roomInfo user:(UserInfoModel *)userInfo { +- (void)mew_initEnterCurrentRoomSuccess:(MewRoomInfoModel *)roomInfo user:(UserInfoModel *)userInfo { [MewHUDTool hideHUDInView:self.navigationController.view]; self.userInfo = userInfo; self.roomInfo = roomInfo; if (roomInfo.valid) { - [self.roomHeaderView onRoomEntered]; - [self.presenter enterNIMCurrentRoom:[NSString stringWithFormat:@"%ld",self.roomInfo.roomId] user:self.userInfo]; + [self.roomHeaderView mew_onRoomEntered]; + [self.presenter mew_enterNIMCurrentRoom:[NSString stringWithFormat:@"%ld",self.roomInfo.roomId] user:self.userInfo]; } else { if ([self.roomUid isEqualToString:[NSString stringWithFormat:@"%ld", userInfo.uid]]) { //用户进入自己的房间 if (roomInfo.roomId > 0) { - [self.presenter openUserRoom:roomInfo.title type:roomInfo.type roomPwd:@"" roomDesc:roomInfo.roomDesc backPic:@"" mgId:@""]; + [self.presenter mew_openUserRoom:roomInfo.title type:roomInfo.type roomPwd:@"" roomDesc:roomInfo.roomDesc backPic:@"" mgId:@""]; } else { NSString *title = [NSString stringWithFormat:@"%@的房间",userInfo.nick]; RoomType type = RoomType_Game; - [self.presenter openUserRoom:title type:type roomPwd:@"" roomDesc:@"" backPic:@"" mgId:@""]; + [self.presenter mew_openUserRoom:title type:type roomPwd:@"" roomDesc:@"" backPic:@"" mgId:@""]; } } else { [self showSuccessToast:@"房主已下线"]; @@ -292,19 +292,19 @@ } // 开房成功 -- (void)openCurrentRoomSuccess:(RoomInfoModel *)roomInfo { +- (void)openCurrentRoomSuccess:(MewRoomInfoModel *)roomInfo { self.roomInfo = roomInfo; - [self.roomHeaderView onRoomEntered]; - [self.presenter enterNIMCurrentRoom:[NSString stringWithFormat:@"%ld", self.roomInfo.roomId] user:self.userInfo]; + [self.roomHeaderView mew_onRoomEntered]; + [self.presenter mew_enterNIMCurrentRoom:[NSString stringWithFormat:@"%ld", self.roomInfo.roomId] user:self.userInfo]; } // IM进房成功 - (void)enterCurrentRoomSuccess:(NIMChatroom *)chatRoom { [MewHUDTool hideHUDInView:self.navigationController.view]; - [self.roomStageView onRoomEntered]; + [self.roomStageView mew_onRoomEntered]; if (self.roomInfo != nil) { - [self.presenter reportUserInterRoom:[NSString stringWithFormat:@"%zd", self.roomInfo.uid]]; + [self.presenter mew_reportUserInterRoom:[NSString stringWithFormat:@"%zd", self.roomInfo.uid]]; } self.roomInfo.onlineNum = chatRoom.onlineUserCount; @@ -323,7 +323,7 @@ } /// 送礼物成功 -- (void)sendGiftSuccess:(GiftReceiveInfoModel *)receiveInfo originDic:(NSDictionary *)originDic uidCount:(NSInteger)uidCount { +- (void)mew_sendRoomGiftSuccess:(MewGiftReceiveInfoModel *)receiveInfo originDic:(NSDictionary *)originDic uidCount:(NSInteger)uidCount { [MewHUDTool hideHUD]; [self sendCustomMessage:receiveInfo oringinDic:originDic]; @@ -331,7 +331,7 @@ } /// 送礼物失败 -- (void)sendGiftFailWithCode:(NSInteger)code msg:(NSString *)msg { +- (void)mew_sendRoomGiftFailWithCode:(NSInteger)code msg:(NSString *)msg { [MewHUDTool hideHUD]; if (code == 31005) {// 余额不足 @@ -343,7 +343,7 @@ /// 发送云信IM -- (void)sendCustomMessage:(GiftReceiveInfoModel *)eceiveModel oringinDic:(NSDictionary *)originDic { +- (void)sendCustomMessage:(MewGiftReceiveInfoModel *)eceiveModel oringinDic:(NSDictionary *)originDic { ///单人 NSMutableDictionary *data = [NSMutableDictionary dictionary]; [data addEntriesFromDictionary:originDic]; @@ -359,14 +359,14 @@ } - (void)sendCustomMessage:(AttachmentModel *)attachment { - NSString *sessionID = [NSString stringWithFormat:@"%ld", [self getRoomInformation].roomId]; + NSString *sessionID = [NSString stringWithFormat:@"%ld", [self mew_getRoomInformation].roomId]; NIMMessage *message = [[NIMMessage alloc] init]; NIMCustomObject *object = [[NIMCustomObject alloc] init]; object.attachment = attachment; message.messageObject = object; - UserInfoModel *userInfo = [self getUserInformation]; - YMMessageRemoteExtModel *extModel = [[YMMessageRemoteExtModel alloc] init]; + UserInfoModel *userInfo = [self mew_getUserInformation]; + MewMessageRemoteExtModel *extModel = [[MewMessageRemoteExtModel alloc] init]; NSMutableDictionary *remoteExt = [NSMutableDictionary dictionaryWithObject:extModel.mewModel2dictionary forKey:[NSString stringWithFormat:@"%ld",userInfo.uid]]; message.remoteExt = remoteExt; /// 构造会话 @@ -383,7 +383,7 @@ } else if (target == 1) { // 退出房间 - [self exitCurrentRoom]; + [self mew_exitCurrentRoom]; } else { // 举报房间 [self reportButton]; @@ -396,7 +396,7 @@ - (void)didSelectMewRoomRightViewWithTarget:(NSInteger)target { if (target == 0) { // 聊天 - [YMRoomSendTextView showTextView:self.view.superview.superview delegate:self]; + [MewRoomSendTextView Mew_ShowTextView:self.view.superview.superview delegate:self]; } else if (target == 1) { // 表情 [self randomEmoji]; @@ -457,7 +457,7 @@ } [MewHUDTool showLoadingWithMessage:@"赠送中..."]; - [self.presenter sendGift:mewStageView.selectUid roomUid:self.roomUid]; + [self.presenter mew_sendRoomGift:mewStageView.selectUid roomUid:self.roomUid]; } @@ -583,9 +583,9 @@ return _roomStageView; } -- (YMRoomMessageContainerView *)roomMessageView { +- (MewRoomMessageContainerView *)roomMessageView { if (!_roomMessageView) { - _roomMessageView = [[YMRoomMessageContainerView alloc] initWithDelegate:self]; + _roomMessageView = [[MewRoomMessageContainerView alloc] initWithDelegate:self]; } return _roomMessageView; } @@ -597,9 +597,9 @@ return _emojiImageView; } -- (YMRoomAnimationView *)roomAnimationView { +- (MewRoomAnimationView *)roomAnimationView { if (!_roomAnimationView) { - _roomAnimationView = [[YMRoomAnimationView alloc] initWithDelegate:self]; + _roomAnimationView = [[MewRoomAnimationView alloc] initWithDelegate:self]; } return _roomAnimationView; } diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomHeaderView/MewRoomHeaderView.h b/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomHeaderView/MewRoomHeaderView.h index be329c1..a56b0cc 100644 --- a/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomHeaderView/MewRoomHeaderView.h +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomHeaderView/MewRoomHeaderView.h @@ -6,8 +6,8 @@ // #import -#import "CHRoomHostDelegate.h" -#import "CHRoomGuestDelegate.h" +#import "MewRoomHostDelegate.h" +#import "MewRoomGuestDelegate.h" NS_ASSUME_NONNULL_BEGIN /// index : 1 - 退出房间 2-举报房间 @@ -23,9 +23,9 @@ typedef void(^selectFilterClouse)(NSInteger index); - (void)didSelectMewRoomHeaderViewTarget:(NSInteger)target; @end -@interface MewRoomHeaderView : UIView +@interface MewRoomHeaderView : UIView -- (instancetype)initWithDelegate:(id)delegate; +- (instancetype)initWithDelegate:(id)delegate; @property (nonatomic, weak) id delegate; @end diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomHeaderView/MewRoomHeaderView.m b/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomHeaderView/MewRoomHeaderView.m index d27debb..1bc57be 100644 --- a/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomHeaderView/MewRoomHeaderView.m +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomHeaderView/MewRoomHeaderView.m @@ -143,7 +143,7 @@ static MewRoomHeaderFilterView *_filterView = nil; /// 退出房间 @property (nonatomic, strong) UIButton *filterButton; -@property (nonatomic, weak) id hostDelegate; +@property (nonatomic, weak) id hostDelegate; ///是否已发送过收藏房间公屏消息 @property (nonatomic, assign) BOOL hadShowCollectInScreen; @@ -152,7 +152,7 @@ static MewRoomHeaderFilterView *_filterView = nil; @implementation MewRoomHeaderView #pragma mark - Init -- (instancetype)initWithDelegate:(id)delegate { +- (instancetype)initWithDelegate:(id)delegate { self = [super init]; if (self) { _hostDelegate = delegate; @@ -161,9 +161,9 @@ static MewRoomHeaderFilterView *_filterView = nil; return self; } -#pragma mark - CHRoomGuestDelegate -- (void)onRoomEntered { - RoomInfoModel* roomInfo = self.hostDelegate.getRoomInformation; +#pragma mark - MewRoomGuestDelegate +- (void)mew_onRoomEntered { + MewRoomInfoModel* roomInfo = self.hostDelegate.mew_getRoomInformation; if (roomInfo) { self.roomTitleLabel.text = roomInfo.title; @@ -182,8 +182,8 @@ static MewRoomHeaderFilterView *_filterView = nil; - (void)roomCollectButtonAction:(UIButton *)sender { NSString *type = sender.selected ? @"2" : @"1"; NSString *uid = [AccountInfoStorage instance].getUid; - NSString *roomUid = [NSString stringWithFormat:@"%ld",self.hostDelegate.getRoomInformation.uid]; - [Api collectRoom:^(BaseModel * _Nonnull data, NSInteger code, NSString * _Nonnull msg) { + NSString *roomUid = [NSString stringWithFormat:@"%ld",self.hostDelegate.mew_getRoomInformation.uid]; + [Api Mew_CollectRoom:^(BaseModel * _Nonnull data, NSInteger code, NSString * _Nonnull msg) { if (code == 200) { sender.selected = !sender.selected; if ([type isEqualToString:@"1"]) {///收藏的话 diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomMessageView/MewRoomMessageTableCell.h b/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomMessageView/MewRoomMessageTableCell.h index 84c3d3b..3d2e301 100644 --- a/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomMessageView/MewRoomMessageTableCell.h +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomMessageView/MewRoomMessageTableCell.h @@ -6,13 +6,13 @@ // #import -@class YMMessageInfoModel; +@class MewMessageInfoModel; NS_ASSUME_NONNULL_BEGIN @interface MewRoomMessageTableCell : UITableViewCell -@property (nonatomic, strong) YMMessageInfoModel *messageInfo; +@property (nonatomic, strong) MewMessageInfoModel *messageInfo; @end diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomMessageView/MewRoomMessageTableCell.m b/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomMessageView/MewRoomMessageTableCell.m index 14f28e4..9a425c1 100644 --- a/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomMessageView/MewRoomMessageTableCell.m +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomMessageView/MewRoomMessageTableCell.m @@ -6,23 +6,23 @@ // #import "MewRoomMessageTableCell.h" -#import "YMNetImageYYLabel.h" +#import "MewNetImageLabel.h" #import "NetImageView.h" -#import "YMRoomMessageConstant.h" +#import "MewRoomMessageConstant.h" #import "YMMacro.h" #import "MEWThemeColor.h" #import "MEWThemeColor.h" #import "UIImage+Utils.h" #import #import -#import "YMMessageInfoModel.h" +#import "MewMessageInfoModel.h" @interface MewRoomMessageTableCell() ///气泡 @property (nonatomic,strong) NetImageView *bubbleImageView; ///展示的内容 -@property (nonatomic,strong) YMNetImageYYLabel *contentLabel; +@property (nonatomic,strong) MewNetImageLabel *contentLabel; @end @@ -37,7 +37,7 @@ } #pragma mark - Set -- (void)setMessageInfo:(YMMessageInfoModel *)messageInfo { +- (void)setMessageInfo:(MewMessageInfoModel *)messageInfo { _messageInfo = messageInfo; if (_messageInfo) { self.contentLabel.attributedText = _messageInfo.content; @@ -92,9 +92,9 @@ return _bubbleImageView; } -- (YMNetImageYYLabel *)contentLabel { +- (MewNetImageLabel *)contentLabel { if (!_contentLabel) { - _contentLabel = [[YMNetImageYYLabel alloc] init]; + _contentLabel = [[MewNetImageLabel alloc] init]; _contentLabel.preferredMaxLayoutWidth = kRoomMessageMaxWidth - 24; _contentLabel.numberOfLines = 0; _contentLabel.textColor = UIColor.whiteColor; diff --git a/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomStageView/MewSocialStageView.m b/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomStageView/MewSocialStageView.m index 08796fa..c9a8df3 100644 --- a/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomStageView/MewSocialStageView.m +++ b/yinmeng-ios/yinmeng-ios/Main/Mew/Room/View/RoomStageView/MewSocialStageView.m @@ -87,7 +87,7 @@ return ownerTopMargin + ownerHeight + marginV1 + mcHeight + marginV2 + mcHeight + marginV2; } -- (CGPoint)animationPointAtStageViewByUid:(NSString *)uid { +- (CGPoint)mew_animationPointAtStageViewByUid:(NSString *)uid { NSInteger index = [self getIndexByUid:uid]; CGPoint point = CGPointZero; diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Api/Api+Home.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Api/Api+Home.h deleted file mode 100644 index 07a3bf1..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Api/Api+Home.h +++ /dev/null @@ -1,33 +0,0 @@ -// -// Api+Home.h -// mew-ios -// -// Created by 触海 on 2023/11/19. -// - -#import "Api.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface Api (Home) - -/// 查看推荐列表 -/// @param complection 完成 -/// @param uid 用户的uid -/// @param tabId tabid -/// @param pageNum 当前的页数 -/// @param pageSize 一页有多少个 -+ (void)getRecommendListComplection:(HttpRequestHelperCompletion)complection - uid:(NSString *)uid - tabId:(NSString *)tabId - pageNum:(NSString *)pageNum - pageSize:(NSString *)pageSize; - -/// 请求推荐房间列表 -/// @param completion 完成 -/// @param uid 用户的uid -+ (void)homeRecommendRoomListComplection:(HttpRequestHelperCompletion)completion uid:(NSString *)uid; - -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Api/Api+Home.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Api/Api+Home.m deleted file mode 100644 index aeb12b3..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Api/Api+Home.m +++ /dev/null @@ -1,31 +0,0 @@ -// -// Api+Home.m -// mew-ios -// -// Created by 触海 on 2023/11/19. -// - -#import "Api+Home.h" -#import "NewEncryptTool.h" -@implementation Api (Home) - -/// 查看推荐列表 -/// @param complection 完成 -/// @param uid 用户的uid -/// @param tabId tabid -/// @param pageNum 当前的页数 -/// @param pageSize 一页有多少个 -+ (void)getRecommendListComplection:(HttpRequestHelperCompletion)complection uid:(NSString *)uid tabId:(NSString *)tabId pageNum:(NSString *)pageNum pageSize:(NSString *)pageSize { - NSString *getUrl = [NewEncryptTool MEW_aesDecrypt:@"O27OsHzajhPM8UtfxngyAA=="];///home/tab/mapV2 - [self makeRequest:getUrl method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, uid, tabId, pageNum, pageSize, nil]; -} - -/// 请求推荐房间列表 -/// @param completion 完成 -/// @param uid 用户的uid -+ (void)homeRecommendRoomListComplection:(HttpRequestHelperCompletion)completion uid:(NSString *)uid { - NSString *getUrl = [NewEncryptTool MEW_aesDecrypt:@"QFTxN/O9DfSc+M1EAx2zzw=="];///home/tab/homeV2 - [self makeRequest:getUrl method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, uid, nil]; -} - -@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Presenter/YMHomePresenter.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Presenter/YMHomePresenter.h deleted file mode 100644 index 414ec1e..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Presenter/YMHomePresenter.h +++ /dev/null @@ -1,24 +0,0 @@ -// -// YMHomePresenter.h -// mew-ios -// -// Created by 触海 on 2023/11/19. -// - -#import "BaseMvpPresenter.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface YMHomePresenter : BaseMvpPresenter - -/// 请求首页 -/// @param tabId id -/// @param page 当前的页数 -/// @param pageSize 一页有多少个 -- (void)getRecommendRoomList:(NSString *)tabId page:(int)page pageSize:(int)pageSize state:(BOOL)state; - - -- (void)homeRecommendRoomList; -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Presenter/YMHomePresenter.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Presenter/YMHomePresenter.m deleted file mode 100644 index c1b6ae8..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Presenter/YMHomePresenter.m +++ /dev/null @@ -1,46 +0,0 @@ -// -// YMHomePresenter.m -// mew-ios -// -// Created by 触海 on 2023/11/19. -// - -#import "YMHomePresenter.h" -#import "AccountInfoStorage.h" -#import "HomeRecommendRoomModel.h" -#import "Api+Home.h" -#import "YMHomeProtocol.h" -#import "NSArray+MewSafe.h" -#import "NSObject+MEWExtension.h" -@implementation YMHomePresenter - -/// 请求首页 -/// @param tabId id -/// @param page 当前的页数 -/// @param pageSize 一页有多少个 -- (void)getRecommendRoomList:(NSString *)tabId page:(int)page pageSize:(int)pageSize state:(BOOL)state { - NSString * uid = [AccountInfoStorage instance].getUid; - NSString * pageStr = [NSString stringWithFormat:@"%d", page]; - NSString * pageSizeStr = [NSString stringWithFormat:@"%d", pageSize]; - [Api getRecommendListComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) { - NSArray * array = [HomeRecommendRoomModel mewModelsWithArray:data.data]; - [[self getView] getHomeRecommendRoomListSuccess:array state:state]; - }fail:^(NSInteger code, NSString * _Nullable msg) { -// [[self getView] getHomeRecommendRoomListFail:msg state:state]; - }showLoading:NO] uid:uid tabId:tabId pageNum:pageStr pageSize:pageSizeStr]; -} - - -/// 请求推荐房间列表 -- (void)homeRecommendRoomList { - NSString *uid = [AccountInfoStorage instance].getUid; - [Api homeRecommendRoomListComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) { - NSArray * array = [HomeRecommendRoomModel mewModelsWithArray:data.data]; - [[self getView] homeRecommendRoomListSuccess:array]; -// [[self getView] getHomeRecommendRoomListSuccess:array state:state]; - }fail:^(NSInteger code, NSString * _Nullable msg) { -// [[self getView] getHomeRecommendRoomListFail:msg state:state]; - }] uid:uid]; -} - -@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Protocol/YMHomeProtocol.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Protocol/YMHomeProtocol.h deleted file mode 100644 index faeb836..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Home/Protocol/YMHomeProtocol.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// YMHomeProtocol.h -// mew-ios -// -// Created by 触海 on 2023/11/19. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@protocol YMHomeProtocol -///首页推荐房间的 -- (void)getHomeRecommendRoomListSuccess:(NSArray *)list state:(BOOL)state; -///首页推荐房间失败 -- (void)getHomeRecommendRoomListFail:(NSString *)message state:(BOOL)state; - -/// 请求推荐房间列表完成 -- (void)homeRecommendRoomListSuccess:(NSArray *)list; -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Api/Api+Message.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Api/Api+Message.h index 6bb0f43..4200b6f 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Api/Api+Message.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Api/Api+Message.h @@ -10,7 +10,7 @@ NS_ASSUME_NONNULL_BEGIN @interface Api (Message) -+ (void)getChatLimit:(HttpRequestHelperCompletion)complection receiverUid:(NSString *)receiverUid; ++ (void)Mew_GetChatLimit:(HttpRequestHelperCompletion)complection receiverUid:(NSString *)receiverUid; @end NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Api/Api+Message.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Api/Api+Message.m index 8d7ca1b..9cd8d4c 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Api/Api+Message.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Api/Api+Message.m @@ -8,7 +8,7 @@ #import "Api+Message.h" #import "NewEncryptTool.h" @implementation Api (Message) -+ (void)getChatLimit:(HttpRequestHelperCompletion)complection receiverUid:(NSString *)receiverUid { ++ (void)Mew_GetChatLimit:(HttpRequestHelperCompletion)complection receiverUid:(NSString *)receiverUid { NSString *getUrl = [NewEncryptTool MEW_aesDecrypt:@"ml84Zo9PhMJ69iyUKDccSccouVGFyLv2OiwzJUi0qGI="];///privateChat/limit [self makeRequest:getUrl method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, receiverUid,nil]; } diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/ChatLimitModel.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/ChatLimitModel.m deleted file mode 100644 index ea3650c..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/ChatLimitModel.m +++ /dev/null @@ -1,12 +0,0 @@ -// -// ChatLimitModel.m -// mew-ios -// -// Created by 触海 on 2023/11/16. -// - -#import "ChatLimitModel.h" - -@implementation ChatLimitModel - -@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MessageMenuModel.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MessageMenuModel.h deleted file mode 100644 index 37f66ea..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MessageMenuModel.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// MessageMenuModel.h -// xplan-ios -// -// Created by 冯硕 on 2022/4/21. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -typedef NS_ENUM(NSInteger, MessageMenuType) { - ///发送图片 - MessageMenuType_Photo = 1, - ///送礼物 - MessageMenuType_Gift -}; - -@interface MessageMenuModel : NSObject -///图片 -@property (nonatomic,strong) NSString *imageName; -///类型 -@property (nonatomic,assign) MessageMenuType type; - -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MessageMenuModel.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MessageMenuModel.m deleted file mode 100644 index f1a9c81..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MessageMenuModel.m +++ /dev/null @@ -1,12 +0,0 @@ -// -// MessageMenuModel.m -// xplan-ios -// -// Created by 冯硕 on 2022/4/21. -// - -#import "MessageMenuModel.h" - -@implementation MessageMenuModel - -@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/ChatLimitModel.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewChatLimitModel.h similarity index 85% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/ChatLimitModel.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewChatLimitModel.h index c592076..8c2dada 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/ChatLimitModel.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewChatLimitModel.h @@ -1,5 +1,5 @@ // -// ChatLimitModel.h +// MewChatLimitModel.h // mew-ios // // Created by 触海 on 2023/11/16. @@ -9,7 +9,7 @@ NS_ASSUME_NONNULL_BEGIN -@interface ChatLimitModel : NSObject +@interface MewChatLimitModel : NSObject @property(nonatomic,assign) int model; @property (nonatomic, assign) BOOL chat; diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewChatLimitModel.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewChatLimitModel.m new file mode 100644 index 0000000..0ce5197 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewChatLimitModel.m @@ -0,0 +1,12 @@ +// +// MewChatLimitModel.m +// mew-ios +// +// Created by 触海 on 2023/11/16. +// + +#import "MewChatLimitModel.h" + +@implementation MewChatLimitModel + +@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewMessageMenuModel.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewMessageMenuModel.h new file mode 100644 index 0000000..4856d3a --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewMessageMenuModel.h @@ -0,0 +1,27 @@ +// +// MewMessageMenuModel.h +// yinmeng-ios +// +// Created by 触海 on 2023/11/21. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +typedef NS_ENUM(NSInteger, MewMessageMenuType) { + ///发送图片 + Mew_MessageMenuType_Photo = 1, + ///送礼物 + Mew_MessageMenuType_Gift +}; + +@interface MewMessageMenuModel : NSObject +///图片 +@property (nonatomic,strong) NSString *imageName; +///类型 +@property (nonatomic,assign) MewMessageMenuType type; + +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewMessageMenuModel.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewMessageMenuModel.m new file mode 100644 index 0000000..ae43fee --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Model/MewMessageMenuModel.m @@ -0,0 +1,12 @@ +// +// MewMessageMenuModel.m +// yinmeng-ios +// +// Created by 触海 on 2023/11/21. +// + +#import "MewMessageMenuModel.h" + +@implementation MewMessageMenuModel + +@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/CHMessagePresenter.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/CHMessagePresenter.h deleted file mode 100644 index a94018c..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/CHMessagePresenter.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// CHMessagePresenter.h -// mew-ios -// -// Created by 触海 on 2023/11/16. -// - -#import "BaseMvpPresenter.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface CHMessagePresenter : BaseMvpPresenter -- (void)getChatLimitReceiverUid:(NSString *)receiverUid; - -/// 获取用户信息 -/// @param uid 用户uid -- (void)getUserInfo:(NSString *)uid; -///是否关注当前用户 -- (void)getFansLike:(NSString *)likeUid; -/// 关注用户 -/// @param targetUid 目标用户的uid -- (void)attentionUser:(NSString *)targetUid; -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/MewMessagePresenter.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/MewMessagePresenter.h new file mode 100644 index 0000000..a461cd7 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/MewMessagePresenter.h @@ -0,0 +1,25 @@ +// +// MewMessagePresenter.h +// mew-ios +// +// Created by 触海 on 2023/11/16. +// + +#import "BaseMvpPresenter.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MewMessagePresenter : BaseMvpPresenter +- (void)mew_getChatLimitReceiverUid:(NSString *)receiverUid; + +/// 获取用户信息 +/// @param uid 用户uid +- (void)mew_getMessageUserInfo:(NSString *)uid; +///是否关注当前用户 +- (void)mew_getFansLike:(NSString *)likeUid; +/// 关注用户 +/// @param targetUid 目标用户的uid +- (void)mew_attentionMessageUser:(NSString *)targetUid; +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/CHMessagePresenter.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/MewMessagePresenter.m similarity index 61% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/CHMessagePresenter.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/MewMessagePresenter.m index 596283a..d9301b1 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/CHMessagePresenter.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Presenter/MewMessagePresenter.m @@ -1,56 +1,56 @@ // -// CHMessagePresenter.m +// MewMessagePresenter.m // mew-ios // // Created by 触海 on 2023/11/16. // -#import "CHMessagePresenter.h" +#import "MewMessagePresenter.h" #import "Api+Mine.h" #import "Api+Message.h" //Model #import "UserInfoModel.h" #import "AccountInfoStorage.h" -#import "ChatLimitModel.h" +#import "MewChatLimitModel.h" //Protocol -#import "CHMessageProtocol.h" +#import "MewMessageProtocol.h" -@implementation CHMessagePresenter -- (void)getChatLimitReceiverUid:(NSString *)receiverUid { - [Api getChatLimit:[self createHttpCompletion:^(BaseModel * _Nonnull data) { - ChatLimitModel *chatLimit = [ChatLimitModel mewModelWithJSON:data.data]; - [[self getView] onGetLimitChat:chatLimit]; +@implementation MewMessagePresenter +- (void)mew_getChatLimitReceiverUid:(NSString *)receiverUid { + [Api Mew_GetChatLimit:[self createHttpCompletion:^(BaseModel * _Nonnull data) { + MewChatLimitModel *chatLimit = [MewChatLimitModel mewModelWithJSON:data.data]; + [[self getView] mew_onGetLimitChat:chatLimit]; } showLoading:NO errorToast:NO] receiverUid:receiverUid]; } /// 获取用户信息 /// @param uid 用户uid -- (void)getUserInfo:(NSString *)uid { +- (void)mew_getMessageUserInfo:(NSString *)uid { [Api userDetailInfoCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) { UserInfoModel * infoModel = [UserInfoModel mewModelWithDictionary:data.data]; - [[self getView] onGetSessionUserInfoSuccess:infoModel]; + [[self getView] mew_onGetSessionUserInfoSuccess:infoModel]; }fail:^(NSInteger code, NSString * _Nullable msg) { - [[self getView]onGetSessionUserInfoFail]; + [[self getView]mew_onGetSessionUserInfoFail]; }] uid:uid page:@"1" pageSize:@"20"]; } ///是否关注当前用户 -- (void)getFansLike:(NSString *)likeUid { +- (void)mew_getFansLike:(NSString *)likeUid { NSString * uid = [AccountInfoStorage instance].getUid; [Api attentionStatusCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) { BOOL isLike = [data.data boolValue]; - [[self getView] getFansLikeSuccess:isLike]; + [[self getView] mew_getFansLikeSuccess:isLike]; }] uid:uid isLikeUid:likeUid]; } /// 关注用户 /// @param targetUid 目标用户的uid -- (void)attentionUser:(NSString *)targetUid { +- (void)mew_attentionMessageUser:(NSString *)targetUid { NSString * uid = [[AccountInfoStorage instance] getUid]; NSString * ticket = [[AccountInfoStorage instance] getTicket]; NSString * type = @"1"; [Api attentionCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) { - [[self getView] attentionUserSuccess:targetUid]; + [[self getView] mew_attentionUserSuccess:targetUid]; [[NSNotificationCenter defaultCenter]postNotificationName:@"kAttentionUserNotification" object:nil]; } showLoading:YES] uid:uid likedUid:targetUid ticket:ticket type:type]; } diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Protocol/CHMessageProtocol.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Protocol/CHMessageProtocol.h deleted file mode 100644 index 09a558b..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Protocol/CHMessageProtocol.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// CHMessageProtocol.h -// mew-ios -// -// Created by 触海 on 2023/11/16. -// - -#import -@class ChatLimitModel, UserInfoModel; - -NS_ASSUME_NONNULL_BEGIN - -@protocol CHMessageProtocol - -- (void)onGetLimitChat:(ChatLimitModel *)chatLimit; -///获取用户信息成功 -- (void)onGetSessionUserInfoSuccess:(UserInfoModel *)userInfo; -///获取用户信息失败 -- (void)onGetSessionUserInfoFail; -///获取粉丝喜欢成功 -- (void)getFansLikeSuccess:(BOOL)isLike; -///关注成功 -- (void)attentionUserSuccess:(NSString *)uid; - -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Protocol/MewMessageProtocol.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Protocol/MewMessageProtocol.h new file mode 100644 index 0000000..9416494 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Protocol/MewMessageProtocol.h @@ -0,0 +1,27 @@ +// +// MewMessageProtocol.h +// mew-ios +// +// Created by 触海 on 2023/11/16. +// + +#import +@class MewChatLimitModel, UserInfoModel; + +NS_ASSUME_NONNULL_BEGIN + +@protocol MewMessageProtocol + +- (void)mew_onGetLimitChat:(MewChatLimitModel *)chatLimit; +///获取用户信息成功 +- (void)mew_onGetSessionUserInfoSuccess:(UserInfoModel *)userInfo; +///获取用户信息失败 +- (void)mew_onGetSessionUserInfoFail; +///获取粉丝喜欢成功 +- (void)mew_getFansLikeSuccess:(BOOL)isLike; +///关注成功 +- (void)mew_attentionUserSuccess:(NSString *)uid; + +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Tool/NIMMessageUtils.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Tool/MewNIMMessageUtils.h similarity index 63% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Tool/NIMMessageUtils.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Tool/MewNIMMessageUtils.h index b1e51a3..d9482be 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Tool/NIMMessageUtils.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Tool/MewNIMMessageUtils.h @@ -1,5 +1,5 @@ // -// NIMMessageUtils.h +// MewNIMMessageUtils.h // mew-ios // // Created by 触海 on 2023/11/10. @@ -10,9 +10,9 @@ NS_ASSUME_NONNULL_BEGIN -@interface NIMMessageUtils : NSObject +@interface MewNIMMessageUtils : NSObject /// NIMMessage 转换成字符串 -+ (NSString *)messageContent:(NIMMessage*)message; ++ (NSString *)Mew_MessageContent:(NIMMessage*)message; @end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Tool/NIMMessageUtils.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Tool/MewNIMMessageUtils.m similarity index 87% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Tool/NIMMessageUtils.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Tool/MewNIMMessageUtils.m index cb3e9a2..50d3321 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Tool/NIMMessageUtils.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/Tool/MewNIMMessageUtils.m @@ -1,16 +1,16 @@ // -// NIMMessageUtils.m +// MewNIMMessageUtils.m // mew-ios // // Created by 触海 on 2023/11/10. // -#import "NIMMessageUtils.h" +#import "MewNIMMessageUtils.h" -@implementation NIMMessageUtils +@implementation MewNIMMessageUtils /// NIMMessage 转换成字符串 -+ (NSString *)messageContent:(NIMMessage *)message { ++ (NSString *)Mew_MessageContent:(NIMMessage *)message { NSString *text = @""; switch (message.messageType) { case NIMMessageTypeText: diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/NIMViews/NIMBadgeView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/NIMViews/MewNIMBadgeView.h similarity index 61% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/NIMViews/NIMBadgeView.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/NIMViews/MewNIMBadgeView.h index c603232..450f11e 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/NIMViews/NIMBadgeView.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/NIMViews/MewNIMBadgeView.h @@ -1,5 +1,5 @@ // -// NIMBadgeView.h +// MewNIMBadgeView.h // NIMKit // // Created by chris on 15/2/12. @@ -8,11 +8,11 @@ #import -@interface NIMBadgeView : UIView +@interface MewNIMBadgeView : UIView @property (nonatomic, copy) NSString *badgeValue; -+ (instancetype)viewWithBadgeTip:(NSString *)badgeValue; ++ (instancetype)Mew_ViewWithBadgeTip:(NSString *)badgeValue; @end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/NIMViews/NIMBadgeView.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/NIMViews/MewNIMBadgeView.m similarity index 88% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/NIMViews/NIMBadgeView.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/NIMViews/MewNIMBadgeView.m index c6ebd85..80733c1 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/NIMViews/NIMBadgeView.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/NIMViews/MewNIMBadgeView.m @@ -1,5 +1,5 @@ // -// NIMBadgeView.m +// MewNIMBadgeView.m // NIMKit // // Created by chris on 15/2/12. @@ -7,9 +7,9 @@ // -#import "NIMBadgeView.h" +#import "MewNIMBadgeView.h" -@interface NIMBadgeView () +@interface MewNIMBadgeView () @property (strong) UIColor *badgeBackgroundColor; @@ -27,14 +27,14 @@ @end -@implementation NIMBadgeView +@implementation MewNIMBadgeView -+ (instancetype)viewWithBadgeTip:(NSString *)badgeValue{ ++ (instancetype)Mew_ViewWithBadgeTip:(NSString *)badgeValue{ if (!badgeValue) { badgeValue = @""; } - NIMBadgeView *instance = [[NIMBadgeView alloc] init]; - instance.frame = [instance frameWithStr:badgeValue]; + MewNIMBadgeView *instance = [[MewNIMBadgeView alloc] init]; + instance.frame = [instance mew_frameWithStr:badgeValue]; instance.badgeValue = badgeValue; return instance; @@ -60,9 +60,9 @@ CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSaveGState(context); if ([[self badgeValue] length]) { - [self drawWithContent:rect context:context]; + [self mew_drawWithContent:rect context:context]; }else{ - [self drawWithOutContent:rect context:context]; + [self mew_drawWithOutContent:rect context:context]; } CGContextRestoreGState(context); } @@ -76,12 +76,14 @@ } _badgeTopPadding = 2.f; - self.frame = [self frameWithStr:badgeValue]; + self.frame = [self mew_frameWithStr:badgeValue]; [self setNeedsDisplay]; } -- (CGSize)badgeSizeWithStr:(NSString *)badgeValue{ + +#pragma mark - Private Method +- (CGSize)mew_badgeSizeWithStr:(NSString *)badgeValue{ if (!badgeValue || badgeValue.length == 0) { return CGSizeZero; } @@ -92,8 +94,8 @@ return size; } -- (CGRect)frameWithStr:(NSString *)badgeValue{ - CGSize badgeSize = [self badgeSizeWithStr:badgeValue]; +- (CGRect)mew_frameWithStr:(NSString *)badgeValue{ + CGSize badgeSize = [self mew_badgeSizeWithStr:badgeValue]; CGRect badgeFrame = CGRectMake(self.frame.origin.x, self.frame.origin.y, badgeSize.width + self.badgeLeftPadding * 2 + self.whiteCircleWidth * 2, badgeSize.height + self.badgeTopPadding * 2 + self.whiteCircleWidth * 2);//8=2*2(红圈-文字)+2*2(白圈-红圈) return badgeFrame; } @@ -101,7 +103,7 @@ #pragma mark - Private -- (void)drawWithContent:(CGRect)rect context:(CGContextRef)context{ +- (void)mew_drawWithContent:(CGRect)rect context:(CGContextRef)context{ CGRect bodyFrame = self.bounds; CGRect bkgFrame = CGRectInset(self.bounds, self.whiteCircleWidth, self.whiteCircleWidth); CGRect badgeSize = CGRectInset(self.bounds, self.whiteCircleWidth + self.badgeLeftPadding, self.whiteCircleWidth + self.badgeTopPadding); @@ -158,7 +160,7 @@ } -- (void)drawWithOutContent:(CGRect)rect context:(CGContextRef)context{ +- (void)mew_drawWithOutContent:(CGRect)rect context:(CGContextRef)context{ CGRect bodyFrame = self.bounds; CGContextSetFillColorWithColor(context, [[UIColor redColor] CGColor]); CGContextFillEllipseInRect(context, bodyFrame); diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHMessageConentAudioView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHMessageConentAudioView.h deleted file mode 100644 index db03b80..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHMessageConentAudioView.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// CHMessageConentAudioView.h -// xplan-ios -// -// Created by 冯硕 on 2022/4/22. -// - -#import -#import "CHMessageContentProtocol.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface CHMessageConentAudioView : UIView - -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionAudioRecordView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionAudioRecordView.h deleted file mode 100644 index 016c3a0..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionAudioRecordView.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// CHSessionAudioRecordView.h -// xplan-ios -// -// Created by 冯硕 on 2022/4/21. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface CHSessionAudioRecordView : UIView - -- (void)configAudioRecord:(NSString *)imageName title:(NSString *)title isAnimation:(BOOL)isAnimation; -///开始录音 -- (void)beginAudioRecord; -///取消录音 -- (void)cancelAudioRecord; -///完成录音 -- (void)finishAudioRecord; -///更新进度 -- (void)updateAudioRecordProgress:(NSTimeInterval)recordTime; - -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionMessageCell.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionMessageCell.h deleted file mode 100644 index 57c1f28..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionMessageCell.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// CHSessionMessageCell.h -// mew-ios -// -// Created by 触海 on 2023/11/16. -// - -#import -@class NIMMessage; - -NS_ASSUME_NONNULL_BEGIN -@protocol CHSessionMessageCellDelegate - -- (void)didTapAvatarWithUid:(NSString *)uid; -///发送失败点击了重试 -- (void)didFailRetryMessage:(NIMMessage *)message; - -@end - -@interface CHSessionMessageCell : UITableViewCell - -+ (CGFloat)measureHeight:(NIMMessage *)message; -- (void)renderWithMessage:(NIMMessage *)message; -+ (NSString *)cellContent:(NIMMessage *)message; - - -@property (nonatomic,weak) id delegate; -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionNavView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionNavView.h deleted file mode 100644 index 265f514..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionNavView.h +++ /dev/null @@ -1,33 +0,0 @@ -// -// CHSessionNavView.h -// mew-ios -// -// Created by 触海 on 2023/11/16. -// - -#import -@class CHSessionNavView; - -NS_ASSUME_NONNULL_BEGIN -@protocol CHSessionNavViewDelegate -///点击了举报 -- (void)sessionNavView:(CHSessionNavView *)view didClickReport:(UIButton *)sender; -///点击了关注 -- (void)sessionNavView:(CHSessionNavView *)view didClickLike:(UIButton *)sender; -///点击了返回 -- (void)sessionNavView:(CHSessionNavView *)view didClickBack:(UIButton *)sender; - -@end - -@interface CHSessionNavView : UIView -@property (nonatomic,copy) NSString *userId; -///标题 -@property (nonatomic,copy) NSString *title; -///是否已经关注了 -@property (nonatomic,assign) BOOL isLike; -///代理 -@property (nonatomic,weak) id delegate; - -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionToolbarView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionToolbarView.h deleted file mode 100644 index 6a15d44..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionToolbarView.h +++ /dev/null @@ -1,29 +0,0 @@ -// -// MessageToolbarView.h -// xplan-ios -// -// Created by 冯硕 on 2022/4/20. -// - -#import - -NS_ASSUME_NONNULL_BEGIN -@class MessageMenuModel; -@protocol CHSessionToolbarViewDelegate - -- (void)keyboardWillChangeFrame:(CGRect)rect; -- (void)sendTextMessage:(NSString *)text; -- (void)audioRecordCompletion:(NSString *)recordPath; -- (void)didSelectMenuItem:(MessageMenuModel *)info; -@end - -@interface CHSessionToolbarView : UIView -///代理 -@property (nonatomic,weak) id delegate; -@property(nonatomic,assign) int model; -@property (nonatomic, assign, getter=isSendDisabled) BOOL sendDisabled; -///折叠 菜单view -- (void)foldToolMenuView; -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentUnSupportView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentUnSupportView.h deleted file mode 100644 index ce000a1..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentUnSupportView.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// CHMessageContentUnSupportView.h -// mew-ios -// -// Created by 触海 on 2023/11/16. -// - -#import -#import "CHMessageContentProtocol.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface CHMessageContentUnSupportView : UIView - -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageToolMenuCollectionViewCell.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageToolMenuCollectionViewCell.h deleted file mode 100644 index c6c9968..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageToolMenuCollectionViewCell.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// CHMessageToolMenuCollectionViewCell.h -// xplan-ios -// -// Created by 冯硕 on 2022/4/20. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface CHMessageToolMenuCollectionViewCell : UICollectionViewCell -@property (nonatomic,copy) NSString *imageName; -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentText.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentImage.h similarity index 50% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentText.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentImage.h index 33df466..220852b 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentText.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentImage.h @@ -1,16 +1,16 @@ // -// CHMessageContentText.h +// MewMessageContentImage.h // mew-ios // // Created by 触海 on 2023/11/16. // #import -#import "CHMessageContentProtocol.h" +#import "MewMessageContentProtocol.h" NS_ASSUME_NONNULL_BEGIN -@interface CHMessageContentText : UIView +@interface MewMessageContentImage : UIView @end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentImage.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentImage.m similarity index 87% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentImage.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentImage.m index d683b99..737c5c6 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentImage.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentImage.m @@ -1,28 +1,26 @@ // -// CHMessageContentImage.m +// MewMessageContentImage.m // mew-ios // // Created by 触海 on 2023/11/16. // -#import "CHMessageContentImage.h" +#import "MewMessageContentImage.h" #import "NetImageView.h" -//#import "SDPhotoBrowser.h" #import #import #import "UIImage+Utils.h" #define MESSAGE_IMAGE_MAX_SIZE (CONTENT_WIDTH_MAX) #define MESSAGE_IMAGE_Min_SIZE (CONTENT_WIDTH_MAX -100) -@interface CHMessageContentImage() -// +@interface MewMessageContentImage() @property (nonatomic, strong) NetImageView * messageImage; @property (nonatomic,strong) NIMImageObject *imageObject; @end -@implementation CHMessageContentImage +@implementation MewMessageContentImage - (instancetype)init { self = [super init]; @@ -36,7 +34,7 @@ return self; } -+ (CGFloat)measureHeight:(NIMMessage *)message { ++ (CGFloat)mew_sessionMeasureHeight:(NIMMessage *)message { if (!message || message.messageType != NIMMessageTypeImage) return 0; NIMImageObject *imageObject = (NIMImageObject*)[message messageObject]; CGFloat attachmentImageMinWidth = (MESSAGE_IMAGE_Min_SIZE); @@ -56,7 +54,7 @@ return contentSize.height + MESSAGE_PADDING * 2 + CONTENT_PADDING_V_TOTAL; } -- (void)render:(NIMMessage *)message { +- (void)mew_renderMessage:(NIMMessage *)message { NIMImageObject * imageObject = (NIMImageObject*) message.messageObject; self.imageObject = imageObject; CGFloat attachmentImageMinWidth = (MESSAGE_IMAGE_Min_SIZE); @@ -86,10 +84,7 @@ } } -#pragma mark - SDPhotoBrowserDelegate -- (void)didTapImage { -} - +#pragma mark - Get - (NetImageView *)messageImage { if (!_messageImage) { @@ -97,8 +92,8 @@ _messageImage.userInteractionEnabled = YES; _messageImage.layer.masksToBounds = YES; _messageImage.contentMode = UIViewContentModeScaleAspectFill; - UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapImage)]; - [_messageImage addGestureRecognizer:tap]; +// UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapImage)]; +// [_messageImage addGestureRecognizer:tap]; } return _messageImage; } diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentProtocol.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentProtocol.h similarity index 68% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentProtocol.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentProtocol.h index cef1009..9793e6a 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentProtocol.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentProtocol.h @@ -1,5 +1,5 @@ // -// CHMessageContentProtocol.h +// MewMessageContentProtocol.h // mew-ios // // Created by 触海 on 2023/11/16. @@ -17,10 +17,10 @@ NS_ASSUME_NONNULL_BEGIN -@protocol CHMessageContentProtocol +@protocol MewMessageContentProtocol -+ (CGFloat)measureHeight:(NIMMessage *)message; -- (void)render:(NIMMessage *)message; ++ (CGFloat)mew_sessionMeasureHeight:(NIMMessage *)message; +- (void)mew_renderMessage:(NIMMessage *)message; @end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentImage.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentText.h similarity index 50% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentImage.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentText.h index 27a09d6..23993b9 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentImage.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentText.h @@ -1,16 +1,16 @@ // -// CHMessageContentImage.h +// MewMessageContentText.h // mew-ios // // Created by 触海 on 2023/11/16. // #import -#import "CHMessageContentProtocol.h" +#import "MewMessageContentProtocol.h" NS_ASSUME_NONNULL_BEGIN -@interface CHMessageContentImage : UIView +@interface MewMessageContentText : UIView @end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentText.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentText.m similarity index 80% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentText.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentText.m index f4fe927..cf4663b 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentText.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentText.m @@ -1,13 +1,13 @@ // -// CHMessageContentText.m +// MewMessageContentText.m // mew-ios // // Created by 触海 on 2023/11/16. // -#import "CHMessageContentText.h" +#import "MewMessageContentText.h" -#import "CHMessageContentText.h" +#import "MewMessageContentText.h" #import "MEWThemeColor.h" #import "NSObject+MEWExtension.h" @@ -17,7 +17,7 @@ #define MESSAGE_TEXT_PADDING 10 -@interface CHMessageContentText() +@interface MewMessageContentText() /** 消息文本 @@ -26,9 +26,9 @@ @end -@implementation CHMessageContentText +@implementation MewMessageContentText -+ (CGFloat)measureHeight:(NIMMessage *)message { ++ (CGFloat)mew_sessionMeasureHeight:(NIMMessage *)message { NSString * messageText = message.text; if (!messageText) { messageText = @"未知消息类型"; @@ -36,7 +36,7 @@ CGSize dstRect = CGSizeMake(CONTENT_WIDTH_MAX - MESSAGE_TEXT_PADDING * 2, MAXFLOAT); - CGFloat msgHeight = [messageText boundingRectWithSize:dstRect options:NSStringDrawingUsesLineFragmentOrigin attributes:[CHMessageContentText messageTextAttibutes] context:nil].size.height; + CGFloat msgHeight = [messageText boundingRectWithSize:dstRect options:NSStringDrawingUsesLineFragmentOrigin attributes:[MewMessageContentText messageTextAttibutes] context:nil].size.height; return msgHeight + MESSAGE_TEXT_PADDING * 2 + CONTENT_PADDING_V_TOTAL; } @@ -62,12 +62,12 @@ return self; } -- (void)render:(nonnull NIMMessage *)message { +- (void)mew_renderMessage:(nonnull NIMMessage *)message { NSString * messageText = message.text; if (!messageText || (message.messageType != NIMMessageTypeTip && message.messageType != NIMMessageTypeText)) { messageText = @"未知消息类型"; } - _messageText.attributedText = [[NSAttributedString alloc] initWithString:messageText attributes:[CHMessageContentText messageTextAttibutes]]; + _messageText.attributedText = [[NSAttributedString alloc] initWithString:messageText attributes:[MewMessageContentText messageTextAttibutes]]; } - (UILabel *)messageText { diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentUnSupportView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentUnSupportView.h new file mode 100644 index 0000000..e1a9278 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentUnSupportView.h @@ -0,0 +1,17 @@ +// +// MewMessageContentUnSupportView.h +// mew-ios +// +// Created by 触海 on 2023/11/16. +// + +#import +#import "MewMessageContentProtocol.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MewMessageContentUnSupportView : UIView + +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentUnSupportView.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentUnSupportView.m similarity index 87% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentUnSupportView.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentUnSupportView.m index d148ddd..daee04a 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageContentUnSupportView.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageContentUnSupportView.m @@ -1,12 +1,12 @@ // -// CHMessageContentUnSupportView.m +// MewMessageContentUnSupportView.m // mew-ios // // Created by 触海 on 2023/11/16. // -#import "CHMessageContentUnSupportView.h" +#import "MewMessageContentUnSupportView.h" ///Third #import #import @@ -15,21 +15,21 @@ #define MESSAGE_TEXT_PADDING 10 -@interface CHMessageContentUnSupportView () +@interface MewMessageContentUnSupportView () ///不支持的类型 @property (nonatomic,strong) UILabel *unSupportLabel; @end -@implementation CHMessageContentUnSupportView +@implementation MewMessageContentUnSupportView -+ (CGFloat)measureHeight:(NIMMessage *)message { ++ (CGFloat)mew_sessionMeasureHeight:(NIMMessage *)message { NSString * messageText = @"暂不支持此种类型消息"; CGSize dstRect = CGSizeMake(CONTENT_WIDTH_MAX - MESSAGE_TEXT_PADDING * 2, MAXFLOAT); CGFloat msgHeight = [messageText boundingRectWithSize:dstRect options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:13]} context:nil].size.height; return msgHeight + MESSAGE_TEXT_PADDING * 2 + CONTENT_PADDING_V_TOTAL; } -- (void)render:(NIMMessage *)message { +- (void)mew_renderMessage:(NIMMessage *)message { NIMCustomObject *obj = (NIMCustomObject *)message.messageObject; NSLog(@"%@", @"aaaaa"); } diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageToolMenuCollectionCell.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageToolMenuCollectionCell.h new file mode 100644 index 0000000..839be10 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageToolMenuCollectionCell.h @@ -0,0 +1,16 @@ +// +// MewMessageToolMenuCollectionCell.h +// yinmeng-ios +// +// Created by 触海 on 2023/11/20. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface MewMessageToolMenuCollectionCell : UICollectionViewCell +@property (nonatomic,copy) NSString *imageName; +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageToolMenuCollectionCell.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageToolMenuCollectionCell.m new file mode 100644 index 0000000..b05b7b2 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageToolMenuCollectionCell.m @@ -0,0 +1,56 @@ +// +// MewMessageToolMenuCollectionCell.m +// yinmeng-ios +// +// Created by 触海 on 2023/11/20. +// + +#import "MewMessageToolMenuCollectionCell.h" +///Third +#import +@interface MewMessageToolMenuCollectionCell () + +@property (nonatomic,strong) UIImageView *logoImageView; + +@end + + +@implementation MewMessageToolMenuCollectionCell + +- (instancetype)initWithFrame:(CGRect)frame { + self = [super initWithFrame:frame]; + if (self) { + [self initSubViews]; + [self initSubViewConstraints]; + } + return self; +} + +#pragma mark - Private Method +- (void)initSubViews { + [self.contentView addSubview:self.logoImageView]; +} + +- (void)initSubViewConstraints { + [self.logoImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.mas_equalTo(self.contentView); + }]; +} + +#pragma mark - Getters And Setters +- (void)setImageName:(NSString *)imageName { + _imageName = imageName; + if (_imageName) { + self.logoImageView.image = [UIImage imageNamed:_imageName]; + } +} + +- (UIImageView *)logoImageView { + if (!_logoImageView) { + _logoImageView = [[UIImageView alloc] init]; + _logoImageView.userInteractionEnabled = YES; + } + return _logoImageView; +} + +@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageToolMenuCollectionViewCell.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageToolMenuCollectionViewCell.m similarity index 95% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageToolMenuCollectionViewCell.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageToolMenuCollectionViewCell.m index aa94448..0653b20 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/CHMessageToolMenuCollectionViewCell.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/Content/MewMessageToolMenuCollectionViewCell.m @@ -1,8 +1,8 @@ // // CHMessageToolMenuCollectionViewCell.m -// xplan-ios +// yinmeng-ios // -// Created by 冯硕 on 2022/4/20. +// Created by 触海 on 2023/11/20. // #import "CHMessageToolMenuCollectionViewCell.h" diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHMessageAudioCenter.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewMessageAudioCenter.h similarity index 55% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHMessageAudioCenter.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewMessageAudioCenter.h index f0cc0a1..52092e8 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHMessageAudioCenter.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewMessageAudioCenter.h @@ -1,18 +1,18 @@ // -// CHMessageAudioCenter.h -// xplan-ios +// MewMessageAudioCenter.h +// yinmeng-ios // -// Created by 冯硕 on 2022/4/22. +// Created by 触海 on 2023/11/22. // #import NS_ASSUME_NONNULL_BEGIN @class NIMMessage; -@interface CHMessageAudioCenter : NSObject +@interface MewMessageAudioCenter : NSObject + (instancetype)shareInstance; @property (nonatomic,strong, readonly) NIMMessage *currentPlayingMessage; -- (void)playAudioMessage:(NIMMessage *)message; +- (void)mew_playAudioMessage:(NIMMessage *)message; @end NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHMessageAudioCenter.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewMessageAudioCenter.m similarity index 80% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHMessageAudioCenter.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewMessageAudioCenter.m index 59280cc..e044613 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHMessageAudioCenter.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewMessageAudioCenter.m @@ -1,25 +1,25 @@ // -// CHMessageAudioCenter.m -// xplan-ios +// MewMessageAudioCenter.m +// yinmeng-ios // -// Created by 冯硕 on 2022/4/22. +// Created by 触海 on 2023/11/22. // -#import "CHMessageAudioCenter.h" +#import "MewMessageAudioCenter.h" #import -@interface CHMessageAudioCenter () +@interface MewMessageAudioCenter () @property (nonatomic,assign) NSInteger retryCount; @property (nonatomic,strong,nullable) NIMMessage *currentPlayingMessage; @end -@implementation CHMessageAudioCenter +@implementation MewMessageAudioCenter + (instancetype)shareInstance { - static CHMessageAudioCenter *instance; + static MewMessageAudioCenter *instance; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ - instance = [[CHMessageAudioCenter alloc] init]; + instance = [[MewMessageAudioCenter alloc] init]; }); return instance; } @@ -37,7 +37,7 @@ _retryCount = 3; } -- (void)playAudioMessage:(NIMMessage *)message { +- (void)mew_playAudioMessage:(NIMMessage *)message { NIMAudioObject *audioObject = (NIMAudioObject *)message.messageObject; if ([audioObject isKindOfClass:[NIMAudioObject class]]) { self.currentPlayingMessage = message; @@ -48,7 +48,6 @@ #pragma mark - NIMMediaManagerDelegate - - (void)playAudio:(NSString *)filePath didBeganWithError:(NSError *)error { if (error) { diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewMessageConentAudioView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewMessageConentAudioView.h new file mode 100644 index 0000000..7a3b88f --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewMessageConentAudioView.h @@ -0,0 +1,17 @@ +// +// MewMessageConentAudioView.h +// yinmeng-ios +// +// Created by 触海 on 2023/11/22. +// + +#import +#import "MewMessageContentProtocol.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MewMessageConentAudioView : UIView + +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHMessageConentAudioView.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewMessageConentAudioView.m similarity index 71% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHMessageConentAudioView.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewMessageConentAudioView.m index ebe1ae4..f1137f4 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHMessageConentAudioView.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewMessageConentAudioView.m @@ -1,19 +1,19 @@ // -// CHMessageConentAudioView.m -// xplan-ios +// MewMessageConentAudioView.m +// yinmeng-ios // -// Created by 冯硕 on 2022/4/22. +// Created by 触海 on 2023/11/22. // -#import "CHMessageConentAudioView.h" +#import "MewMessageConentAudioView.h" ///Third #import #import ///Tool #import "MEWThemeColor.h" -#import "CHMessageAudioCenter.h" -@interface CHMessageConentAudioView () +#import "MewMessageAudioCenter.h" +@interface MewMessageConentAudioView () ///背景 @property (nonatomic,strong) UIView * backView; ///显示语音的时长 @@ -26,7 +26,7 @@ @property (nonatomic,assign) BOOL isPlaying; @end -@implementation CHMessageConentAudioView +@implementation MewMessageConentAudioView - (void)dealloc { [[NIMSDK sharedSDK].mediaManager removeDelegate:self]; @@ -71,7 +71,7 @@ #pragma mark - NIMMediaManagerDelegate - (void)playAudio:(NSString *)filePath didBeganWithError:(NSError *)error { if(filePath && !error) { - if ([CHMessageAudioCenter shareInstance].currentPlayingMessage == self.message) { + if ([MewMessageAudioCenter shareInstance].currentPlayingMessage == self.message) { [self.audioImageView startAnimating]; } } @@ -82,8 +82,29 @@ UIImage * thirdImage = [UIImage imageNamed:@"mew_message_content_audio_playing_third"]; self.audioImageView.image = thirdImage; } + +#pragma mark - MewMessageContentProtocol ++ (CGFloat)mew_sesstionMeasureHeight:(NIMMessage *)message { + NSInteger audioContentHeight = 30; + return (audioContentHeight + CONTENT_PADDING_V_TOTAL+ MESSAGE_PADDING * 2); +} + +- (void)mew_renderMessage:(NIMMessage *)message { + self.message = message; + NIMAudioObject *audioContent = (NIMAudioObject*)[message messageObject]; + NSAssert([audioContent isKindOfClass:[NIMAudioObject class]], @"message should be audio"); + CGFloat value = 2*atan((audioContent.duration/1000.0-1)/10.0)/M_PI; + NSInteger audioContentMinWidth = (CONTENT_WIDTH_MAX - 180); + NSInteger audioContentMaxWidth = (CONTENT_WIDTH_MAX - 100); + CGFloat audioWidth = (audioContentMaxWidth - audioContentMinWidth)* value + audioContentMinWidth; + [self.backView mas_updateConstraints:^(MASConstraintMaker *make) { + make.width.mas_equalTo(audioWidth);; + }]; + self.timeLabel.text = [NSString stringWithFormat:@"%zd\"",(audioContent.duration+500)/1000];//四舍五入 +} + #pragma mark - Event Response -- (void)didTapBackRecognizer { +- (void)mew_didTapBackRecognizer { if ([self.message attachmentDownloadState] == NIMMessageAttachmentDownloadStateDownloaded) { if ([[NIMSDK sharedSDK].mediaManager isPlaying]) { [[NIMSDK sharedSDK].mediaManager stopPlay]; @@ -95,7 +116,7 @@ } else { self.isPlaying = YES; [[NIMSDK sharedSDK].mediaManager switchAudioOutputDevice:NIMAudioOutputDeviceSpeaker]; - [[CHMessageAudioCenter shareInstance] playAudioMessage:self.message]; + [[MewMessageAudioCenter shareInstance] mew_playAudioMessage:self.message]; } } } @@ -105,7 +126,7 @@ if (!_backView) { _backView = [[UIView alloc] init]; _backView.backgroundColor = [UIColor clearColor]; - UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapBackRecognizer)]; + UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(mew_didTapBackRecognizer)]; [_backView addGestureRecognizer:tap]; } return _backView; @@ -135,24 +156,7 @@ return _audioImageView; } -+ (CGFloat)measureHeight:(NIMMessage *)message { - NSInteger audioContentHeight = 30; - return (audioContentHeight + CONTENT_PADDING_V_TOTAL+ MESSAGE_PADDING * 2); -} -- (void)render:(NIMMessage *)message { - self.message = message; - NIMAudioObject *audioContent = (NIMAudioObject*)[message messageObject]; - NSAssert([audioContent isKindOfClass:[NIMAudioObject class]], @"message should be audio"); - CGFloat value = 2*atan((audioContent.duration/1000.0-1)/10.0)/M_PI; - NSInteger audioContentMinWidth = (CONTENT_WIDTH_MAX - 180); - NSInteger audioContentMaxWidth = (CONTENT_WIDTH_MAX - 100); - CGFloat audioWidth = (audioContentMaxWidth - audioContentMinWidth)* value + audioContentMinWidth; - [self.backView mas_updateConstraints:^(MASConstraintMaker *make) { - make.width.mas_equalTo(audioWidth);; - }]; - self.timeLabel.text = [NSString stringWithFormat:@"%zd\"",(audioContent.duration+500)/1000];//四舍五入 -} diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewNIMMessageMaker.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewNIMMessageMaker.h new file mode 100644 index 0000000..0c2a965 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewNIMMessageMaker.h @@ -0,0 +1,24 @@ +// +// MewNIMMessageMaker.h +// yinmeng-ios +// +// Created by 触海 on 2023/11/28. +// + +#import +#import + +@interface MewNIMMessageMaker : NSObject + ++ (NIMMessage*)Mew_MsgWithText:(NSString *)text; + ++ (NIMMessage *)Mew_MsgWithAudio:(NSString *)filePath; + ++ (NIMMessage *)Mew_MsgWithImage:(UIImage *)image; + ++ (NIMMessage *)Mew_MsgWithImagePath:(NSString *)path; + ++ (NIMMessage *)Mew_MsgWithImageData:(NSData *)data extension:(NSString *)extension; + +@end + diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/NIMMessageMaker.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewNIMMessageMaker.m similarity index 51% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/NIMMessageMaker.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewNIMMessageMaker.m index 1be8e8c..02e7e37 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/NIMMessageMaker.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewNIMMessageMaker.m @@ -1,16 +1,16 @@ // -// NIMMessageMaker.m -// xplan-ios +// MewNIMMessageMaker.m +// yinmeng-ios // -// Created by zu on 2021/11/28. +// Created by 触海 on 2023/11/28. // -#import "NIMMessageMaker.h" +#import "MewNIMMessageMaker.h" #import "YMConstant.h" -@implementation NIMMessageMaker +@implementation MewNIMMessageMaker -+ (NIMMessage*)msgWithText:(NSString*)text ++ (NIMMessage*)Mew_MsgWithText:(NSString*)text { NIMMessage *textMessage = [[NIMMessage alloc] init]; textMessage.text = text; @@ -18,7 +18,7 @@ return textMessage; } -+ (NIMMessage*)msgWithAudio:(NSString*)filePath ++ (NIMMessage*)Mew_MsgWithAudio:(NSString*)filePath { NIMAudioObject *audioObject = [[NIMAudioObject alloc] initWithSourcePath:filePath scene:NIMNOSSceneTypeMessage]; NIMMessage *message = [[NIMMessage alloc] init]; @@ -28,39 +28,26 @@ return message; } -+ (NIMMessage*)msgWithVideo:(NSString*)filePath -{ - NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; - [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"]; - NSString *dateString = [dateFormatter stringFromDate:[NSDate date]]; - NIMVideoObject *videoObject = [[NIMVideoObject alloc] initWithSourcePath:filePath scene:NIMNOSSceneTypeMessage]; - videoObject.displayName = [NSString stringWithFormat:@"视频发送于%@", dateString]; - NIMMessage *message = [[NIMMessage alloc] init]; - message.messageObject = videoObject; - message.apnsContent = @"发来了一段视频"; - [self setupMessage:message]; - return message; -} -+ (NIMMessage*)msgWithImage:(UIImage*)image ++ (NIMMessage*)Mew_MsgWithImage:(UIImage*)image { NIMImageObject *imageObject = [[NIMImageObject alloc] initWithImage:image scene:NIMNOSSceneTypeMessage]; NIMImageOption *option = [[NIMImageOption alloc] init]; option.compressQuality = 0.7; imageObject.option = option; - return [NIMMessageMaker generateImageMessage:imageObject]; + return [MewNIMMessageMaker generateImageMessage:imageObject]; } -+ (NIMMessage *)msgWithImagePath:(NSString*)path ++ (NIMMessage *)Mew_MsgWithImagePath:(NSString*)path { NIMImageObject * imageObject = [[NIMImageObject alloc] initWithFilepath:path scene:NIMNOSSceneTypeMessage]; - return [NIMMessageMaker generateImageMessage:imageObject]; + return [MewNIMMessageMaker generateImageMessage:imageObject]; } -+ (NIMMessage *)msgWithImageData:(NSData *)data extension:(NSString *)extension ++ (NIMMessage *)Mew_MsgWithImageData:(NSData *)data extension:(NSString *)extension { NIMImageObject *imageObject = [[NIMImageObject alloc] initWithData:data extension:extension]; - return [NIMMessageMaker generateImageMessage:imageObject]; + return [MewNIMMessageMaker generateImageMessage:imageObject]; } + (NIMMessage *)generateImageMessage:(NIMImageObject *)imageObject @@ -96,26 +83,3 @@ @end - -@implementation NIMCommentMaker - -+ (NIMQuickComment *)commentWithType:(int64_t)type - content:(NSString *)content - ext:(NSString *)ext -{ - NIMQuickComment *comment = [[NIMQuickComment alloc] init]; - comment.ext = ext; - NIMQuickCommentSetting *setting = [[NIMQuickCommentSetting alloc] init]; - setting.needPush = YES; - setting.needBadge = YES; - setting.pushTitle = @"你收到了一条快捷评论"; - setting.pushContent = content; - setting.pushPayload = @{ - @"key" : @"value" - }; - comment.setting = setting; - comment.replyType = type; - return comment; -} - -@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionAudioRecordView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionAudioRecordView.h new file mode 100644 index 0000000..7a05237 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionAudioRecordView.h @@ -0,0 +1,26 @@ +// +// MewSessionAudioRecordView.h +// yinmeng-ios +// +// Created by 触海 on 2023/11/21. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface MewSessionAudioRecordView : UIView + +- (void)mew_configAudioRecord:(NSString *)imageName title:(NSString *)title isAnimation:(BOOL)isAnimation; +///开始录音 +- (void)mew_beginAudioRecord; +///取消录音 +- (void)mew_cancelAudioRecord; +///完成录音 +- (void)mew_finishAudioRecord; +///更新进度 +- (void)mew_updateAudioRecordProgress:(NSTimeInterval)recordTime; + +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionAudioRecordView.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionAudioRecordView.m similarity index 88% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionAudioRecordView.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionAudioRecordView.m index 7033f55..e0ab9f4 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionAudioRecordView.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionAudioRecordView.m @@ -1,16 +1,16 @@ // -// CHSessionAudioRecordView.m -// xplan-ios +// MewSessionAudioRecordView.m +// yinmeng-ios // -// Created by 冯硕 on 2022/4/21. +// Created by 触海 on 2023/11/21. // -#import "CHSessionAudioRecordView.h" +#import "MewSessionAudioRecordView.h" ///Third #import #import -@interface CHSessionAudioRecordView () +@interface MewSessionAudioRecordView () ///背景 @property (nonatomic,strong) UIView * backView; ///显示图片 @@ -21,7 +21,7 @@ @property (nonatomic,strong) UILabel *timeLabel; @end -@implementation CHSessionAudioRecordView +@implementation MewSessionAudioRecordView - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; @@ -32,7 +32,7 @@ return self; } #pragma mark - Public Method -- (void)configAudioRecord:(NSString *)imageName title:(NSString *)title isAnimation:(BOOL)isAnimation { +- (void)mew_configAudioRecord:(NSString *)imageName title:(NSString *)title isAnimation:(BOOL)isAnimation { self.logoImageView.image = [UIImage imageNamed:imageName]; if (isAnimation) { [self.logoImageView startAnimating]; @@ -43,22 +43,22 @@ } ///开始录音 -- (void)beginAudioRecord { +- (void)mew_beginAudioRecord { self.timeLabel.text = @"00:00"; [[NIMSDK sharedSDK].mediaManager recordForDuration:60]; } ///取消录音 -- (void)cancelAudioRecord { +- (void)mew_cancelAudioRecord { self.timeLabel.text = @"00:00"; [[NIMSDK sharedSDK].mediaManager cancelRecord]; } ///完成录音 -- (void)finishAudioRecord { +- (void)mew_finishAudioRecord { self.timeLabel.text = @"00:00"; [[NIMSDK sharedSDK].mediaManager stopRecord]; } -- (void)updateAudioRecordProgress:(NSTimeInterval)recordTime { +- (void)mew_updateAudioRecordProgress:(NSTimeInterval)recordTime { NSInteger minutes = (NSInteger)recordTime / 60; NSInteger seconds = (NSInteger)recordTime % 60; self.timeLabel.text = [NSString stringWithFormat:@"%02zd:%02zd", minutes, seconds]; diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionInfoViewController.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionInfoViewController.h similarity index 50% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionInfoViewController.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionInfoViewController.h index 8cb9b53..12309b4 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionInfoViewController.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionInfoViewController.h @@ -1,15 +1,15 @@ // -// CHSessionInfoViewController.h -// xplan-ios +// MewSessionInfoViewController.h +// yinmeng-ios // -// Created by 冯硕 on 2022/4/25. +// Created by 触海 on 2023/11/25. // #import "BaseViewController.h" NS_ASSUME_NONNULL_BEGIN -@interface CHSessionInfoViewController : BaseViewController +@interface MewSessionInfoViewController : BaseViewController ///用户的id @property (nonatomic,copy) NSString *userId; @end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionInfoViewController.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionInfoViewController.m similarity index 91% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionInfoViewController.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionInfoViewController.m index a591018..104fdab 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionInfoViewController.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionInfoViewController.m @@ -1,11 +1,11 @@ // -// CHSessionInfoViewController.m -// xplan-ios +// MewSessionInfoViewController.m +// yinmeng-ios // -// Created by 冯硕 on 2022/4/25. +// Created by 触海 on 2023/11/25. // -#import "CHSessionInfoViewController.h" +#import "MewSessionInfoViewController.h" ///Third #import #import @@ -18,7 +18,7 @@ #import "YMWebViewController.h" -@interface CHSessionInfoViewController () +@interface MewSessionInfoViewController () ///最外面的容器 @property (nonatomic,strong) UIStackView *stackView; ///用户信息的view @@ -42,7 +42,7 @@ @end -@implementation CHSessionInfoViewController +@implementation MewSessionInfoViewController - (void)viewDidLoad { [super viewDidLoad]; @@ -131,7 +131,7 @@ } #pragma mark - Event Response -- (void)blackButtonAction:(UIButton *)sender { +- (void)mew_blackButtonAction:(UIButton *)sender { NSString *title = nil; NSString *message = nil; BOOL isInBlack = [[NIMSDK sharedSDK].userManager isUserInBlackList:self.userId]; @@ -172,7 +172,7 @@ }]; } -- (void)reportButtonAction:(UIButton *)sender { +- (void)mew_reportButtonAction:(UIButton *)sender { UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"举报内容" message:@"" preferredStyle:UIAlertControllerStyleActionSheet]; @@ -212,11 +212,6 @@ } -- (void)didTapUserRecognizer { -// XPMineUserInfoViewController * mineVC = [[XPMineUserInfoViewController alloc] init]; -// mineVC.uid = self.userId.integerValue; -// [self.navigationController pushViewController:mineVC animated:YES]; -} #pragma mark - Getters And Setters - (UIStackView *)stackView { @@ -234,8 +229,6 @@ if (!_infoView) { _infoView = [[UIView alloc] init]; _infoView.backgroundColor = [MEWThemeColor mewAppCellBackgroundColor]; - UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapUserRecognizer)]; - [_infoView addGestureRecognizer:tap]; _infoView.hidden = YES; } return _infoView; @@ -300,7 +293,7 @@ [_reportButton setTitleColor:[MEWThemeColor mewMainTextColor] forState:UIControlStateNormal]; _reportButton.titleLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium]; [_reportButton setBackgroundColor:[MEWThemeColor mewAppCellBackgroundColor]]; - [_reportButton addTarget:self action:@selector(reportButtonAction:) forControlEvents:UIControlEventTouchUpInside]; + [_reportButton addTarget:self action:@selector(mew_reportButtonAction:) forControlEvents:UIControlEventTouchUpInside]; } return _reportButton; } @@ -322,8 +315,7 @@ [_blackButton setTitleColor:[MEWThemeColor mewMainTextColor] forState:UIControlStateSelected]; _blackButton.titleLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium]; [_blackButton setBackgroundColor:[MEWThemeColor mewAppCellBackgroundColor]]; - [_blackButton addTarget:self action:@selector(blackButtonAction:) forControlEvents:UIControlEventTouchUpInside]; -// _blackButton.hidden = YES; + [_blackButton addTarget:self action:@selector(mew_blackButtonAction:) forControlEvents:UIControlEventTouchUpInside]; } return _blackButton; } diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionMessageCell.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionMessageCell.h new file mode 100644 index 0000000..dbe5971 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionMessageCell.h @@ -0,0 +1,30 @@ +// +// MewSessionMessageCell.h +// mew-ios +// +// Created by 触海 on 2023/11/16. +// + +#import +@class NIMMessage; + +NS_ASSUME_NONNULL_BEGIN +@protocol MewSessionMessageCellDelegate + +- (void)mew_didTapAvatarWithUid:(NSString *)uid; +///发送失败点击了重试 +- (void)mew_didFailRetryMessage:(NIMMessage *)message; + +@end + +@interface MewSessionMessageCell : UITableViewCell + ++ (CGFloat)mew_sessionMeasureHeight:(NIMMessage *)message; +- (void)mew_renderWithMessage:(NIMMessage *)message; ++ (NSString *)mew_cellMessageContent:(NIMMessage *)message; + + +@property (nonatomic,weak) id delegate; +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionMessageCell.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionMessageCell.m similarity index 73% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionMessageCell.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionMessageCell.m index a16cb0f..ee6bb77 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionMessageCell.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionMessageCell.m @@ -1,17 +1,17 @@ // -// CHSessionMessageCell.m +// MewSessionMessageCell.m // mew-ios // // Created by 触海 on 2023/11/16. // -#import "CHSessionMessageCell.h" +#import "MewSessionMessageCell.h" /// View #import "NetImageView.h" -#import "CHMessageContentUnSupportView.h" -#import "CHMessageContentText.h" -#import "CHMessageContentImage.h" -#import "CHMessageConentAudioView.h" +#import "MewMessageContentUnSupportView.h" +#import "MewMessageContentText.h" +#import "MewMessageContentImage.h" +#import "MewMessageConentAudioView.h" ///Tool #import "MEWThemeColor.h" #import "YMMacro.h" @@ -20,11 +20,11 @@ #import #import /// P -#import "CHMessageContentProtocol.h" +#import "MewMessageContentProtocol.h" ///Model //#import "AttachmentModel.h" -@interface CHSessionMessageCell() +@interface MewSessionMessageCell() /** 左侧头像(私聊对象)*/ @property (nonatomic, strong) NetImageView * leftAvatar; @@ -39,16 +39,16 @@ @property (nonatomic, strong) MASConstraint * messageBackgroundRight; /** 消息内容实体 */ -@property (nonatomic, strong) UIView * messageContent; +@property (nonatomic, strong) UIView * messageContent; ///当前的消息 @property (nonatomic,strong) NIMMessage *currentMessage; @end -@implementation CHSessionMessageCell +@implementation MewSessionMessageCell #pragma mark - Public Method -+ (CGFloat)measureHeight:(NIMMessage *)message { ++ (CGFloat)mew_sessionMeasureHeight:(NIMMessage *)message { CGFloat minHeight = AVATAR_SIZE + AVATAR_MARGIN_H * 2; if (!message) { return minHeight; @@ -58,16 +58,16 @@ switch (message.messageType) { case NIMMessageTypeText: case NIMMessageTypeTip: - measureHeight = [CHMessageContentText measureHeight:message]; + measureHeight = [MewMessageContentText mew_sessionMeasureHeight:message]; break; case NIMMessageTypeImage: - measureHeight = [CHMessageContentImage measureHeight:message]; + measureHeight = [MewMessageContentImage mew_sessionMeasureHeight:message]; break; case NIMMessageTypeAudio: - measureHeight = [CHMessageConentAudioView measureHeight:message]; + measureHeight = [MewMessageConentAudioView mew_sessionMeasureHeight:message]; break; case NIMMessageTypeCustom: - measureHeight = [self customMessageMeasureHeight:message]; + measureHeight = [self mew_customMessageMeasureHeight:message]; break; default: break; @@ -77,7 +77,7 @@ } -- (void)renderWithMessage:(NIMMessage *)message { +- (void)mew_renderWithMessage:(NIMMessage *)message { self.currentMessage = message; NSString * avatarUrl = [[NIMSDK sharedSDK].userManager userInfo:message.from].userInfo.avatarUrl; avatarUrl = [avatarUrl stringByReplacingOccurrencesOfString:@"https" withString:@"http"]; @@ -96,10 +96,10 @@ self.leftAvatar.imageUrl = (avatarUrl == nil ||avatarUrl.length == 0) ? [NewEncryptTool MEW_aesDecrypt:@"xdPnNelVD/RTlTKFqgSrESDPcNF6Diqb8sLg+HEvxpvjDdTLom1euQUOAOppjx15"] : avatarUrl;; } - [self handleMessageFail:message]; - if ([self messageShowAvatar:message]) { - self.leftAvatar.hidden= [self messageShowAvatar:message]; - self.rightAvatar.hidden = [self messageShowAvatar:message]; + [self mew_handleMessageFail:message]; + if ([self mew_messageShowAvatar:message]) { + self.leftAvatar.hidden= [self mew_messageShowAvatar:message]; + self.rightAvatar.hidden = [self mew_messageShowAvatar:message]; } if (self.messageContent) { @@ -109,26 +109,26 @@ switch (message.messageType) { case NIMMessageTypeText: case NIMMessageTypeTip: - if (![self.messageContent isKindOfClass:[CHMessageContentText class]]) { - self.messageContent = [[CHMessageContentText alloc] init]; + if (![self.messageContent isKindOfClass:[MewMessageContentText class]]) { + self.messageContent = [[MewMessageContentText alloc] init]; } break; case NIMMessageTypeImage: - if (![self.messageContent isKindOfClass:[CHMessageContentImage class]]) { - self.messageContent = [[CHMessageContentImage alloc] init]; + if (![self.messageContent isKindOfClass:[MewMessageContentImage class]]) { + self.messageContent = [[MewMessageContentImage alloc] init]; } break; case NIMMessageTypeAudio: - if (![self.messageContent isKindOfClass:[CHMessageConentAudioView class]]) { - self.messageContent = [[CHMessageConentAudioView alloc] init]; + if (![self.messageContent isKindOfClass:[MewMessageConentAudioView class]]) { + self.messageContent = [[MewMessageConentAudioView alloc] init]; } break; case NIMMessageTypeCustom: - self.messageContent = [self getCustomMessageContentView:message]; + self.messageContent = [self mew_getCustomMessageContentView:message]; break; default: - if (![self.messageContent isKindOfClass:[CHMessageContentUnSupportView class]]) { - self.messageContent = [[CHMessageContentUnSupportView alloc] init]; + if (![self.messageContent isKindOfClass:[MewMessageContentUnSupportView class]]) { + self.messageContent = [[MewMessageContentUnSupportView alloc] init]; } break; } @@ -137,64 +137,63 @@ [self.messageContent mas_makeConstraints:^(MASConstraintMaker *make) { make.left.top.right.bottom.mas_equalTo(self.messageBackground); }]; - [self.messageContent render:message]; + [self.messageContent mew_renderMessage:message]; } -+ (NSString *)cellContent:(NIMMessage *)message { ++ (NSString *)mew_cellMessageContent:(NIMMessage *)message { if (message.messageType == NIMMessageTypeText || message.messageType == NIMMessageTypeTip) { - return @"CHMessageContentText"; + return @"MewMessageContentText"; } else if(message.messageType == NIMMessageTypeImage) { - return @"CHMessageContentImage"; + return @"MewMessageContentImage"; }else if(message.messageType == NIMMessageTypeAudio) { - return @"CHMessageConentAudioView"; + return @"MewMessageConentAudioView"; } else if(message.messageType == NIMMessageTypeCustom) { - return @"CHMessageContentUnSupportView"; + return @"MewMessageContentUnSupportView"; } else { - return @"CHMessageContentUnSupportView"; + return @"MewMessageContentUnSupportView"; } } #pragma mark - Action Event - // 右边头像 -- (void)rightAvatarTapRecognizer { - if (self.delegate && [self.delegate respondsToSelector:@selector(didTapAvatar:)]) { - [self.delegate didTapAvatarWithUid:self.currentMessage.from]; +- (void)mew_rightAvatarTapRecognizer { + if (self.delegate && [self.delegate respondsToSelector:@selector(mew_didTapAvatarWithUid:)]) { + [self.delegate mew_didTapAvatarWithUid:self.currentMessage.from]; } } // 左边头像 -- (void)leftAvatarTapRecognizer { - if (self.delegate && [self.delegate respondsToSelector:@selector(didTapAvatar:)]) { - [self.delegate didTapAvatarWithUid:self.currentMessage.from]; +- (void)mew_leftAvatarTapRecognizer { + if (self.delegate && [self.delegate respondsToSelector:@selector(mew_didTapAvatarWithUid:)]) { + [self.delegate mew_didTapAvatarWithUid:self.currentMessage.from]; } } // 失败 -- (void)failButtonAction:(UIButton *)sender { - if (self.delegate && [self.delegate respondsToSelector:@selector(didFailRetry:)]) { - [self.delegate didFailRetryMessage:self.currentMessage]; +- (void)mew_failButtonAction:(UIButton *)sender { + if (self.delegate && [self.delegate respondsToSelector:@selector(mew_didFailRetryMessage:)]) { + [self.delegate mew_didFailRetryMessage:self.currentMessage]; } } #pragma mark - Private Method /// 自定义消息的高度 -+ (CGFloat)customMessageMeasureHeight:(NIMMessage *)message { ++ (CGFloat)mew_customMessageMeasureHeight:(NIMMessage *)message { //暂不支持该信息 - return [CHMessageContentUnSupportView measureHeight:message]; + return [MewMessageContentUnSupportView mew_sessionMeasureHeight:message]; } -- (UIView *)getCustomMessageContentView:(NIMMessage *)message { - if ([self.messageContent isKindOfClass:[CHMessageContentUnSupportView class]]) { +- (UIView *)mew_getCustomMessageContentView:(NIMMessage *)message { + if ([self.messageContent isKindOfClass:[MewMessageContentUnSupportView class]]) { return self.messageContent; } - return [[CHMessageContentUnSupportView alloc] init]; + return [[MewMessageContentUnSupportView alloc] init]; } /// 设置失败按钮的显示或隐藏 -- (void)handleMessageFail:(NIMMessage *)message { +- (void)mew_handleMessageFail:(NIMMessage *)message { BOOL isHiddenFail = YES; if (!message.isReceivedMsg) { //不是收到的信息 // 只有失败是no,其他情况都是yes @@ -228,7 +227,7 @@ } /// 是否展示头像 -- (BOOL)messageShowAvatar:(NIMMessage *)message { +- (BOOL)mew_messageShowAvatar:(NIMMessage *)message { return NO; } @@ -286,7 +285,7 @@ _leftAvatar.layer.cornerRadius = 45.f / 2; _leftAvatar.hidden = YES; _leftAvatar.userInteractionEnabled = YES; - UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(leftAvatarTapRecognizer)]; + UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(mew_leftAvatarTapRecognizer)]; [_leftAvatar addGestureRecognizer:tap]; } return _leftAvatar; @@ -303,7 +302,7 @@ _rightAvatar.layer.cornerRadius = 45.f / 2; _rightAvatar.hidden = YES; _rightAvatar.userInteractionEnabled = YES; - UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(rightAvatarTapRecognizer)]; + UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(mew_rightAvatarTapRecognizer)]; [_rightAvatar addGestureRecognizer:tap]; } return _rightAvatar; @@ -324,7 +323,7 @@ _failButton = [UIButton buttonWithType:UIButtonTypeCustom]; [_failButton setImage:[UIImage imageNamed:@"mew_message_session_download_fail"] forState:UIControlStateNormal]; [_failButton setImage:[UIImage imageNamed:@"mew_message_session_download_fail"] forState:UIControlStateSelected]; - [_failButton addTarget:self action:@selector(failButtonAction:) forControlEvents:UIControlEventTouchUpInside]; + [_failButton addTarget:self action:@selector(mew_failButtonAction:) forControlEvents:UIControlEventTouchUpInside]; _failButton.hidden = YES; } return _failButton; diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionNavView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionNavView.h new file mode 100644 index 0000000..b515ce3 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionNavView.h @@ -0,0 +1,33 @@ +// +// MewSessionNavView.h +// mew-ios +// +// Created by 触海 on 2023/11/16. +// + +#import +@class MewSessionNavView; + +NS_ASSUME_NONNULL_BEGIN +@protocol MewSessionNavViewDelegate +///点击了举报 +- (void)mew_sessionNavView:(MewSessionNavView *)view didClickReport:(UIButton *)sender; +///点击了关注 +- (void)mew_sessionNavView:(MewSessionNavView *)view didClickLike:(UIButton *)sender; +///点击了返回 +- (void)mew_sessionNavView:(MewSessionNavView *)view didClickBack:(UIButton *)sender; + +@end + +@interface MewSessionNavView : UIView +@property (nonatomic,copy) NSString *userId; +///标题 +@property (nonatomic,copy) NSString *title; +///是否已经关注了 +@property (nonatomic,assign) BOOL isLike; +///代理 +@property (nonatomic,weak) id delegate; + +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionNavView.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionNavView.m similarity index 83% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionNavView.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionNavView.m index f94908a..66cc2c0 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionNavView.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionNavView.m @@ -1,11 +1,11 @@ // -// CHSessionNavView.m +// MewSessionNavView.m // mew-ios // // Created by 触海 on 2023/11/16. // -#import "CHSessionNavView.h" +#import "MewSessionNavView.h" /// Tool #import "MEWThemeColor.h" #import @@ -13,7 +13,7 @@ /// Third #import -@interface CHSessionNavView () +@interface MewSessionNavView () ///返回按钮 @property (nonatomic,strong) UIButton *backButton; ///标题 @@ -25,7 +25,7 @@ @property (nonatomic,strong) UIButton *reportButton; @end -@implementation CHSessionNavView +@implementation MewSessionNavView #pragma mark - Init - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; @@ -37,22 +37,22 @@ #pragma mark - Action Event -- (void)backButtonAction:(UIButton *)sender { - if (self.delegate && [self.delegate respondsToSelector:@selector(sessionNavView:didClickBack:)]) { - [self.delegate sessionNavView:self didClickBack:sender]; +- (void)mew_backButtonAction:(UIButton *)sender { + if (self.delegate && [self.delegate respondsToSelector:@selector(mew_sessionNavView:didClickBack:)]) { + [self.delegate mew_sessionNavView:self didClickBack:sender]; } } -- (void)likeButtonAction:(UIButton *)sender { - if (self.delegate && [self.delegate respondsToSelector:@selector(sessionNavView:didClickLike:)]) { - [self.delegate sessionNavView:self didClickLike:sender]; +- (void)mew_likeButtonAction:(UIButton *)sender { + if (self.delegate && [self.delegate respondsToSelector:@selector(mew_sessionNavView:didClickLike:)]) { + [self.delegate mew_sessionNavView:self didClickLike:sender]; } } -- (void)reportButtonAction:(UIButton *)sender { - if (self.delegate && [self.delegate respondsToSelector:@selector(sessionNavView:didClickReport:)]) { - [self.delegate sessionNavView:self didClickReport:sender]; +- (void)mew_reportButtonAction:(UIButton *)sender { + if (self.delegate && [self.delegate respondsToSelector:@selector(mew_sessionNavView:didClickReport:)]) { + [self.delegate mew_sessionNavView:self didClickReport:sender]; } } @@ -91,6 +91,8 @@ make.right.equalTo(self.reportButton.mas_left).mas_offset(-14); }]; } + +#pragma mark - Set - (void)setUserId:(NSString *)userId { _userId = userId; if (_userId.length > 0) { @@ -124,8 +126,7 @@ _backButton = [UIButton buttonWithType:UIButtonTypeCustom]; [_backButton setImage:[UIImage imageNamed:@"mew_common_nav_back"] forState:UIControlStateNormal]; [_backButton setImage:[UIImage imageNamed:@"mew_common_nav_back"] forState:UIControlStateSelected]; - [_backButton addTarget:self action:@selector(backButtonAction:) forControlEvents:UIControlEventTouchUpInside]; -// [_backButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10]; + [_backButton addTarget:self action:@selector(mew_backButtonAction:) forControlEvents:UIControlEventTouchUpInside]; } return _backButton; } @@ -150,7 +151,7 @@ [_likeButton setTitleColor:UIColorMewFromRGB(0xFFDA24) forState:UIControlStateNormal]; _likeButton.layer.borderWidth = 0.5; _likeButton.layer.borderColor = UIColorMewFromRGB(0xFFDA24).CGColor; - [_likeButton addTarget:self action:@selector(likeButtonAction:) forControlEvents:UIControlEventTouchUpInside]; + [_likeButton addTarget:self action:@selector(mew_likeButtonAction:) forControlEvents:UIControlEventTouchUpInside]; _likeButton.hidden = NO; } return _likeButton; @@ -161,7 +162,7 @@ _reportButton = [UIButton buttonWithType:UIButtonTypeCustom]; [_reportButton setImage:[UIImage imageNamed:@"mew_message_session_nav_report"] forState:UIControlStateNormal]; [_reportButton setImage:[UIImage imageNamed:@"mew_message_session_nav_report"] forState:UIControlStateSelected]; - [_reportButton addTarget:self action:@selector(reportButtonAction:) forControlEvents:UIControlEventTouchUpInside]; + [_reportButton addTarget:self action:@selector(mew_reportButtonAction:) forControlEvents:UIControlEventTouchUpInside]; _reportButton.hidden = NO; } return _reportButton; diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionToolbarView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionToolbarView.h new file mode 100644 index 0000000..e03f060 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionToolbarView.h @@ -0,0 +1,29 @@ +// +// MessageToolbarView.h +// yinmeng-ios +// +// Created by 触海 on 2023/11/20. +// + +#import + +NS_ASSUME_NONNULL_BEGIN +@class MewMessageMenuModel; +@protocol MewSessionToolbarViewDelegate + +- (void)mew_keyboardWillChangeFrame:(CGRect)rect; +- (void)mew_sendTextMessage:(NSString *)text; +- (void)mew_audioRecordCompletion:(NSString *)recordPath; +- (void)mew_didSelectMenuItem:(MewMessageMenuModel *)info; +@end + +@interface MewSessionToolbarView : UIView +///代理 +@property (nonatomic,weak) id delegate; +@property(nonatomic,assign) int model; +@property (nonatomic, assign, getter=isSendDisabled) BOOL sendDisabled; +///折叠 菜单view +- (void)mew_foldToolMenuView; +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionToolbarView.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionToolbarView.m similarity index 76% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionToolbarView.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionToolbarView.m index d520fa1..45e0e4f 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/CHSessionToolbarView.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionToolbarView.m @@ -1,11 +1,11 @@ // // MessageToolbarView.m -// xplan-ios +// yinmeng-ios // -// Created by 冯硕 on 2022/4/20. +// Created by 触海 on 2023/11/20. // -#import "CHSessionToolbarView.h" +#import "MewSessionToolbarView.h" ///Third #import #import @@ -14,15 +14,15 @@ #import "YMMacro.h" #import "NSArray+MewSafe.h" ///Model -#import "MessageMenuModel.h" +#import "MewMessageMenuModel.h" ///View -#import "CHMessageToolMenuCollectionViewCell.h" -#import "CHSessionAudioRecordView.h" +#import "MewMessageToolMenuCollectionCell.h" +#import "MewSessionAudioRecordView.h" #define TOOL_HEIGHT 60 #define MENU_HEIGHT 130 -@interface CHSessionToolbarView () +@interface MewSessionToolbarView () ///最大的那个容器 @property (nonatomic,strong) UIStackView *stackView; ///上部分的功能的容器 @@ -44,12 +44,12 @@ ///底部的view @property (nonatomic,strong) UIView * placeView; ///菜单数据 -@property (nonatomic,strong) NSArray *menuList; +@property (nonatomic,strong) NSArray *menuList; ///录音的view -@property (nonatomic,strong) CHSessionAudioRecordView *audioRecordView; +@property (nonatomic,strong) MewSessionAudioRecordView *audioRecordView; @end -@implementation CHSessionToolbarView +@implementation MewSessionToolbarView - (void)dealloc { [[NIMSDK sharedSDK].mediaManager removeDelegate:self]; @@ -59,15 +59,15 @@ self = [super initWithFrame:frame]; if (self) { [[NIMSDK sharedSDK].mediaManager addDelegate:self]; - [self addNotification]; - [self addAudioButtonAction]; + [self mew_addNotification]; + [self mew_addAudioButtonAction]; [self initSubViews]; [self initSubViewConstraints]; } return self; } #pragma mark - Public Method -- (void)foldToolMenuView { +- (void)mew_foldToolMenuView { [self.inputView resignFirstResponder]; if (self.collectionView.hidden == NO) { self.collectionView.hidden = YES; @@ -75,18 +75,18 @@ } } #pragma mark - Private Method -- (void)addAudioButtonAction { +- (void)mew_addAudioButtonAction { ///button 周围有一个70px的范围 超出这个范围的话 就是out 在这个范围的话就是in 从范围外到范围内的话就是enter 从范围内到范围外的话exit - [self.audioButton addTarget:self action:@selector(audioTouchDownAction) forControlEvents:UIControlEventTouchDown]; - [self.audioButton addTarget:self action:@selector(audioTouchUpOutsideAction) forControlEvents:UIControlEventTouchUpOutside]; - [self.audioButton addTarget:self action:@selector(audioTouchUpInsideAction) forControlEvents:UIControlEventTouchUpInside]; - [self.audioButton addTarget:self action:@selector(audioTouchDragEnterAction) forControlEvents:UIControlEventTouchDragEnter]; - [self.audioButton addTarget:self action:@selector(audioTouchDragExitAction) forControlEvents:UIControlEventTouchDragExit]; + [self.audioButton addTarget:self action:@selector(mew_audioTouchDownAction) forControlEvents:UIControlEventTouchDown]; + [self.audioButton addTarget:self action:@selector(mew_audioTouchUpOutsideAction) forControlEvents:UIControlEventTouchUpOutside]; + [self.audioButton addTarget:self action:@selector(mew_audioTouchUpInsideAction) forControlEvents:UIControlEventTouchUpInside]; + [self.audioButton addTarget:self action:@selector(mew_audioTouchDragEnterAction) forControlEvents:UIControlEventTouchDragEnter]; + [self.audioButton addTarget:self action:@selector(mew_audioTouchDragExitAction) forControlEvents:UIControlEventTouchDragExit]; } -- (void)addNotification { - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHidden:) name:UIKeyboardWillHideNotification object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; +- (void)mew_addNotification { + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mew_keyboardWillHidden:) name:UIKeyboardWillHideNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mew_keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; } - (void)initSubViews { @@ -154,8 +154,8 @@ } - (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { - CHMessageToolMenuCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([CHMessageToolMenuCollectionViewCell class]) forIndexPath:indexPath]; - MessageMenuModel * model = [self.menuList mewSafeObjectAtIndex:indexPath.row]; + MewMessageToolMenuCollectionCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([MewMessageToolMenuCollectionCell class]) forIndexPath:indexPath]; + MewMessageMenuModel * model = [self.menuList mewSafeObjectAtIndex:indexPath.row]; cell.imageName = model.imageName; return cell; } @@ -163,9 +163,9 @@ - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { [collectionView deselectItemAtIndexPath:indexPath animated:YES]; if (self.menuList.count > 0) { - MessageMenuModel * model = [self.menuList mewSafeObjectAtIndex:indexPath.row]; - if (self.delegate && [self.delegate respondsToSelector:@selector(didSelectMenuItem:)]) { - [self.delegate didSelectMenuItem:model]; + MewMessageMenuModel * model = [self.menuList mewSafeObjectAtIndex:indexPath.row]; + if (self.delegate && [self.delegate respondsToSelector:@selector(mew_didSelectMenuItem:)]) { + [self.delegate mew_didSelectMenuItem:model]; } } } @@ -173,8 +173,8 @@ #pragma mark - UITextFieldDelegate - (BOOL)textFieldShouldReturn:(UITextField *)textField { if (textField.text.length >0) { - if (self.delegate && [self.delegate respondsToSelector:@selector(sendTextMessage:)]) { - [self.delegate sendTextMessage:textField.text]; + if (self.delegate && [self.delegate respondsToSelector:@selector(mew_sendTextMessage:)]) { + [self.delegate mew_sendTextMessage:textField.text]; textField.text = nil; } } @@ -200,8 +200,8 @@ */ - (void)recordAudio:(nullable NSString *)filePath didCompletedWithError:(nullable NSError *)error { if (filePath.length > 0 && error == nil) { - if (self.delegate && [self.delegate respondsToSelector:@selector(audioRecordCompletion:)]) { - [self.delegate audioRecordCompletion:filePath]; + if (self.delegate && [self.delegate respondsToSelector:@selector(mew_audioRecordCompletion:)]) { + [self.delegate mew_audioRecordCompletion:filePath]; } } NSLog(@"录制音频完成后的回调 %@", filePath); @@ -220,18 +220,18 @@ * @param currentTime 当前录制的时间 */ - (void)recordAudioProgress:(NSTimeInterval)currentTime { - [self.audioRecordView updateAudioRecordProgress:currentTime]; + [self.audioRecordView mew_updateAudioRecordProgress:currentTime]; } /** * 录音开始被打断回调 */ - (void)recordAudioInterruptionBegin { - [self.audioRecordView cancelAudioRecord]; + [self.audioRecordView mew_cancelAudioRecord]; } #pragma mark - Event Response -- (void)keyboardWillShow:(NSNotification *)notification { +- (void)mew_keyboardWillShow:(NSNotification *)notification { if (self.collectionView.hidden == NO) { self.collectionView.hidden = YES; self.moreButton.selected = NO; @@ -245,24 +245,24 @@ NSInteger animationCurveOption = (animationCurve << 16); double animationDuration = [userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue]; [UIView animateWithDuration:animationDuration delay:0.0 options:animationCurveOption animations:^{ - if (self.delegate && [self.delegate respondsToSelector:@selector(keyboardWillChangeFrame:)]) { - [self.delegate keyboardWillChangeFrame:keyboardEndFrame]; + if (self.delegate && [self.delegate respondsToSelector:@selector(mew_keyboardWillChangeFrame:)]) { + [self.delegate mew_keyboardWillChangeFrame:keyboardEndFrame]; } } completion:^(BOOL finished) { }]; } -- (void)keyboardWillHidden:(NSNotification*)notification { +- (void)mew_keyboardWillHidden:(NSNotification*)notification { CGRect keyboardEndFrame = CGRectMake(0, 0, 0, 0); [UIView animateWithDuration:0.25 animations:^{ - if (self.delegate && [self.delegate respondsToSelector:@selector(keyboardWillChangeFrame:)]) { - [self.delegate keyboardWillChangeFrame:keyboardEndFrame]; + if (self.delegate && [self.delegate respondsToSelector:@selector(mew_keyboardWillChangeFrame:)]) { + [self.delegate mew_keyboardWillChangeFrame:keyboardEndFrame]; } }]; } -- (void)changeButtonAction:(UIButton *)sender { +- (void)mew_changeButtonAction:(UIButton *)sender { sender.selected = !sender.selected; self.inputBackView.hidden = sender.selected; self.audioButton.hidden = !sender.selected; @@ -275,20 +275,20 @@ } } -- (void)moreButtonAction:(UIButton *)sender { +- (void)mew_moreButtonAction:(UIButton *)sender { sender.selected = !sender.selected; self.collectionView.hidden = !sender.selected; [self.inputView resignFirstResponder]; CGRect keyboardEndFrame = CGRectMake(0, 0, 0, 0); [UIView animateWithDuration:0.25 animations:^{ - if (self.delegate && [self.delegate respondsToSelector:@selector(keyboardWillChangeFrame:)]) { - [self.delegate keyboardWillChangeFrame:keyboardEndFrame]; + if (self.delegate && [self.delegate respondsToSelector:@selector(mew_keyboardWillChangeFrame:)]) { + [self.delegate mew_keyboardWillChangeFrame:keyboardEndFrame]; } }]; } -- (void)audioTouchDownAction { +- (void)mew_audioTouchDownAction { self.audioButton.selected = YES; ///开始录音 if (!self.audioRecordView.superview) { @@ -296,34 +296,34 @@ [self.audioRecordView mas_makeConstraints:^(MASConstraintMaker *make) { make.center.mas_equalTo(self.audioRecordView.superview); }]; - [self.audioRecordView configAudioRecord:@"mew_message_tool_audio_record_first" title:@"手指上滑,取消发送" isAnimation:YES]; - [self.audioRecordView beginAudioRecord]; + [self.audioRecordView mew_configAudioRecord:@"mew_message_tool_audio_record_first" title:@"手指上滑,取消发送" isAnimation:YES]; + [self.audioRecordView mew_beginAudioRecord]; } } -- (void)audioTouchUpOutsideAction { +- (void)mew_audioTouchUpOutsideAction { self.audioButton.selected = NO; ///取消录音 - [self.audioRecordView cancelAudioRecord]; + [self.audioRecordView mew_cancelAudioRecord]; [self.audioRecordView removeFromSuperview]; } -- (void)audioTouchUpInsideAction { +- (void)mew_audioTouchUpInsideAction { self.audioButton.selected = NO; ///手指抬起 完成录音 - [self.audioRecordView finishAudioRecord]; + [self.audioRecordView mew_finishAudioRecord]; [self.audioRecordView removeFromSuperview]; } -- (void)audioTouchDragEnterAction { +- (void)mew_audioTouchDragEnterAction { ///手指上滑 取消发送 - [self.audioRecordView configAudioRecord:@"mew_message_tool_audio_record_first" title:@"手指上滑,取消发送" isAnimation:YES]; + [self.audioRecordView mew_configAudioRecord:@"mew_message_tool_audio_record_first" title:@"手指上滑,取消发送" isAnimation:YES]; } -- (void)audioTouchDragExitAction { +- (void)mew_audioTouchDragExitAction { ///松开手指 取消发送 - [self.audioRecordView configAudioRecord:@"mew_message_tool_audio_record_cancel" title:@"松开手指 取消发送" isAnimation:NO]; + [self.audioRecordView mew_configAudioRecord:@"mew_message_tool_audio_record_cancel" title:@"松开手指 取消发送" isAnimation:NO]; } #pragma mark - Getters And Setters @@ -366,7 +366,7 @@ _changeButton = [UIButton buttonWithType:UIButtonTypeCustom]; [_changeButton setImage:[UIImage imageNamed:@"mew_message_session_tool_text"] forState:UIControlStateNormal]; [_changeButton setImage:[UIImage imageNamed:@"mew_message_session_tool_audio"] forState:UIControlStateSelected]; - [_changeButton addTarget:self action:@selector(changeButtonAction:) forControlEvents:UIControlEventTouchUpInside]; + [_changeButton addTarget:self action:@selector(mew_changeButtonAction:) forControlEvents:UIControlEventTouchUpInside]; } return _changeButton; } @@ -428,7 +428,7 @@ _moreButton = [UIButton buttonWithType:UIButtonTypeCustom]; [_moreButton setImage:[UIImage imageNamed:@"mew_message_session_tool_more_normal"] forState:UIControlStateNormal]; [_moreButton setImage:[UIImage imageNamed:@"message_session_tool_more_select"] forState:UIControlStateSelected]; - [_moreButton addTarget:self action:@selector(moreButtonAction:) forControlEvents:UIControlEventTouchUpInside]; + [_moreButton addTarget:self action:@selector(mew_moreButtonAction:) forControlEvents:UIControlEventTouchUpInside]; } return _moreButton; } @@ -445,7 +445,7 @@ _collectionView.delegate = self; _collectionView.backgroundColor = [UIColor clearColor]; _collectionView.hidden = YES; - [_collectionView registerClass:[CHMessageToolMenuCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([CHMessageToolMenuCollectionViewCell class])]; + [_collectionView registerClass:[MewMessageToolMenuCollectionCell class] forCellWithReuseIdentifier:NSStringFromClass([MewMessageToolMenuCollectionCell class])]; } return _collectionView; } @@ -458,11 +458,11 @@ return _placeView; } -- (NSArray *)menuList { +- (NSArray *)menuList { if (!_menuList) { - MessageMenuModel * phototModel = [[MessageMenuModel alloc] init]; + MewMessageMenuModel * phototModel = [[MewMessageMenuModel alloc] init]; phototModel.imageName = @"mew_message_session_menu_photo"; - phototModel.type= MessageMenuType_Photo; + phototModel.type= Mew_MessageMenuType_Photo; @@ -471,9 +471,9 @@ return _menuList; } -- (CHSessionAudioRecordView *)audioRecordView { +- (MewSessionAudioRecordView *)audioRecordView { if (!_audioRecordView) { - _audioRecordView = [[CHSessionAudioRecordView alloc] init]; + _audioRecordView = [[MewSessionAudioRecordView alloc] init]; } return _audioRecordView; } diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/SessionViewController.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionViewController.h similarity index 71% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/SessionViewController.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionViewController.h index 376cabe..dd53786 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/SessionViewController.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionViewController.h @@ -1,5 +1,5 @@ // -// SessionViewController.h +// MewSessionViewController.h // mew-ios // // Created by 触海 on 2023/11/16. @@ -10,7 +10,7 @@ NS_ASSUME_NONNULL_BEGIN -@interface SessionViewController : MvpViewController +@interface MewSessionViewController : MvpViewController - (instancetype)initWithSession:(NIMSession *)session; @end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/SessionViewController.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionViewController.m similarity index 79% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/SessionViewController.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionViewController.m index abe8f2e..b53f037 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/SessionViewController.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/MewSessionViewController.m @@ -1,14 +1,14 @@ // -// SessionViewController.m +// MewSessionViewController.m // mew-ios // // Created by 触海 on 2023/11/16. // -#import "SessionViewController.h" +#import "MewSessionViewController.h" /// View -#import "CHSessionNavView.h" -#import "CHSessionMessageCell.h" +#import "MewSessionNavView.h" +#import "MewSessionMessageCell.h" /// Tool #import "YMMacro.h" #import "MEWThemeColor.h" @@ -22,44 +22,41 @@ #import #import /// Presenter -#import "CHMessagePresenter.h" -#import "CHMessageProtocol.h" +#import "MewMessagePresenter.h" +#import "MewMessageProtocol.h" #import /// Model -#import "ChatLimitModel.h" +#import "MewChatLimitModel.h" #import "UserInfoModel.h" -#import "CHSessionInfoViewController.h" -#import "CHSessionToolbarView.h" -#import "NIMMessageMaker.h" -#import "MessageMenuModel.h" +#import "MewSessionInfoViewController.h" +#import "MewSessionToolbarView.h" +#import "MewNIMMessageMaker.h" +#import "MewMessageMenuModel.h" -@interface SessionViewController () ///导航栏 -@property (nonatomic,strong) CHSessionNavView *sessionNavView; +@property (nonatomic,strong) MewSessionNavView *sessionNavView; /// 聊天内容 @property (nonatomic, strong) UITableView * sessionTableView; ///输入框 -@property (nonatomic,strong) CHSessionToolbarView *toolbarView; -// +@property (nonatomic,strong) MewSessionToolbarView *toolbarView; @property (nonatomic, strong) NIMSession * session; /// 所有聊天数据 @property (nonatomic, strong) NSMutableArray * messages; -/////最后的一条消息 -//@property (nonatomic,strong) NIMMessage *lastMessage; // 用户信息 @property (nonatomic, strong) UserInfoModel *userInfo; @end -@implementation SessionViewController +@implementation MewSessionViewController - (BOOL)isHiddenNavBar { return YES; } -- (CHMessagePresenter *)createPresenter { - return [[CHMessagePresenter alloc] init]; +- (MewMessagePresenter *)createPresenter { + return [[MewMessagePresenter alloc] init]; } #pragma mark - Life Cycle - (void)viewDidLoad { @@ -69,14 +66,14 @@ self.view.backgroundColor = [UIColor whiteColor]; [[NIMSDK sharedSDK].chatManager addDelegate:self]; [[NIMSDK sharedSDK].conversationManager addDelegate:self]; - [self initHeaderAndFooterRefresh]; + [self mew_initHeaderAndFooterRefresh]; [IQKeyboardManager sharedManager].enable = NO; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; - [self.presenter getFansLike:self.session.sessionId]; + [self.presenter mew_getFansLike:self.session.sessionId]; self.sessionNavView.userId = self.session.sessionId; } @@ -98,26 +95,26 @@ } -#pragma mark - CHSessionNavViewDelegate (导航事件回调) -- (void)sessionNavView:(CHSessionNavView *)view didClickBack:(UIButton *)sender { +#pragma mark - MewSessionNavViewDelegate (导航事件回调) +- (void)mew_sessionNavView:(MewSessionNavView *)view didClickBack:(UIButton *)sender { [self.navigationController popViewControllerAnimated:NO]; } // 关注 -- (void)CHSessionNavView:(CHSessionNavView *)view didClickLike:(UIButton *)sender { - [self.presenter attentionUser:self.session.sessionId]; +- (void)mew_sessionNavView:(MewSessionNavView *)view didClickLike:(UIButton *)sender { + [self.presenter mew_attentionMessageUser:self.session.sessionId]; } // 举报 -- (void)sessionNavView:(CHSessionNavView *)view didClickReport:(UIButton *)sender { - CHSessionInfoViewController * reportVC = [[CHSessionInfoViewController alloc] init]; +- (void)mew_sessionNavView:(MewSessionNavView *)view didClickReport:(UIButton *)sender { + MewSessionInfoViewController * reportVC = [[MewSessionInfoViewController alloc] init]; reportVC.userId = self.session.sessionId; [self.navigationController pushViewController:reportVC animated:YES]; } -#pragma mark - CHSessionMessageCellDelegate(cell点击事件回调) +#pragma mark - MewSessionMessageCellDelegate(cell点击事件回调) // cell点击用户头像回调 -- (void)didTapAvatarWithUid:(NSString *)uid { +- (void)mew_didTapAvatarWithUid:(NSString *)uid { if ([[ClientConfig shareConfig].configInfo.officialMsgUids containsObject:self.session.sessionId] || [[ClientConfig shareConfig].configInfo.officialAccountUids containsObject:self.session.sessionId]) { //过滤官方账号 @@ -130,7 +127,7 @@ } // cell失败重新发送回调 -- (void)didFailRetryMessage:(NIMMessage *)message { +- (void)mew_didFailRetryMessage:(NIMMessage *)message { if (message.isReceivedMsg) { [[NIMSDK sharedSDK].chatManager fetchMessageAttachment:message error:nil]; } else { @@ -139,9 +136,9 @@ } -#pragma mark - CHMessageProtocol(获取数据成功回调) +#pragma mark - MewMessageProtocol(获取数据成功回调) /// 限制聊天 -- (void)onGetLimitChat:(ChatLimitModel *)chatLimit { +- (void)mew_onGetLimitChat:(MewChatLimitModel *)chatLimit { BOOL chatDisabled; if (chatLimit.model == 2) { chatDisabled = !chatLimit.chat; @@ -153,7 +150,7 @@ } //获取用户信息成功 -- (void)onGetSessionUserInfoSuccess:(UserInfoModel *)userInfo { +- (void)mew_onGetSessionUserInfoSuccess:(UserInfoModel *)userInfo { _userInfo = userInfo; if (userInfo.nick.length > 0) { @@ -163,12 +160,12 @@ } // 获取用户失败 -- (void)onGetSessionUserInfoFail { +- (void)mew_onGetSessionUserInfoFail { } // 获取粉丝喜欢成功 -- (void)getFansLikeSuccess:(BOOL)isLike { +- (void)mew_getFansLikeSuccess:(BOOL)isLike { if ([[ClientConfig shareConfig].configInfo.officialMsgUids containsObject:self.session.sessionId] || [[ClientConfig shareConfig].configInfo.officialAccountUids containsObject:self.session.sessionId]) { //是否是官方账号 @@ -179,7 +176,7 @@ } // 关注成功 -- (void)attentionUserSuccess:(NSString *)uid { +- (void)mew_attentionUserSuccess:(NSString *)uid { if ([uid isEqualToString:self.session.sessionId]) { self.sessionNavView.isLike = YES; } @@ -213,7 +210,7 @@ return; } - if (![self isExistMessage:message]) { + if (![self mew_isExistMessage:message]) { [self.messages addObject:message]; } @@ -263,44 +260,44 @@ - (nonnull UITableViewCell *)tableView:(nonnull UITableView *)tableView cellForRowAtIndexPath:(nonnull NSIndexPath *)indexPath { NIMMessage * message = [self.messages mewSafeObjectAtIndex:indexPath.row]; - NSString * identifier = [CHSessionMessageCell cellContent:message]; + NSString * identifier = [MewSessionMessageCell mew_cellMessageContent:message]; ///从复用池中获取所需要的cell - CHSessionMessageCell * cell = [tableView dequeueReusableCellWithIdentifier:identifier]; + MewSessionMessageCell * cell = [tableView dequeueReusableCellWithIdentifier:identifier]; if (!cell) { ///如果没有的话 根据identifier 注册一下 重新获取一下即可 - [tableView registerClass:[CHSessionMessageCell class] forCellReuseIdentifier:identifier]; + [tableView registerClass:[MewSessionMessageCell class] forCellReuseIdentifier:identifier]; ///如果注册过了 就不需要判断cell是否为空 cell = [tableView dequeueReusableCellWithIdentifier:identifier]; } cell.delegate = self; cell.selectionStyle = 0; - [cell renderWithMessage:[self.messages mewSafeObjectAtIndex:indexPath.row]]; + [cell mew_renderWithMessage:[self.messages mewSafeObjectAtIndex:indexPath.row]]; return cell; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { NIMMessage *msg = [self.messages mewSafeObjectAtIndex:indexPath.row]; - return [CHSessionMessageCell measureHeight:msg]; + return [MewSessionMessageCell mew_sessionMeasureHeight:msg]; } #pragma mark - Private Method (获取聊天数据) /// 初始化刷新控件 -- (void)initHeaderAndFooterRefresh { - MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)]; +- (void)mew_initHeaderAndFooterRefresh { + MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(mew_headerRefresh)]; header.stateLabel.font = [UIFont systemFontOfSize:10.0]; header.lastUpdatedTimeLabel.font = [UIFont systemFontOfSize:10.0]; header.stateLabel.textColor = [MEWThemeColor mewSecondTextColor]; header.lastUpdatedTimeLabel.textColor = [MEWThemeColor mewSecondTextColor]; self.sessionTableView.mj_header = header; - [self headerRefresh]; + [self mew_headerRefresh]; [self initData]; } /// 刷新头部数据 -- (void)headerRefresh { +- (void)mew_headerRefresh { if (self.messages.count > 0) { [[[NIMSDK sharedSDK] conversationManager] messagesInSession:self.session message:self.messages.firstObject limit:20 completion:^(NSError * _Nullable error, NSArray * _Nullable messages) { [self.sessionTableView.mj_header endRefreshing]; @@ -332,14 +329,14 @@ self.sessionNavView.title = @"加载中..."; } [[NIMSDK sharedSDK].conversationManager markAllMessagesReadInSession:self.session]; - [self.presenter getChatLimitReceiverUid:self.session.sessionId]; - [self.presenter getUserInfo:self.session.sessionId]; + [self.presenter mew_getChatLimitReceiverUid:self.session.sessionId]; + [self.presenter mew_getMessageUserInfo:self.session.sessionId]; self.sessionNavView.userId = self.session.sessionId; // 获取用户钱包数据 } //是否已经存在消息 -- (BOOL)isExistMessage:(NIMMessage *)message { +- (BOOL)mew_isExistMessage:(NIMMessage *)message { BOOL isExist = NO; NIMMessage *model; for (NIMMessage *item in self.messages.reverseObjectEnumerator.allObjects) { @@ -383,10 +380,10 @@ } - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { - [self.toolbarView foldToolMenuView]; + [self.toolbarView mew_foldToolMenuView]; } #pragma mark - MessageToolbarViewDelegate -- (void)keyboardWillChangeFrame:(CGRect)rect { +- (void)mew_keyboardWillChangeFrame:(CGRect)rect { CGFloat heightFromBottom = rect.size.height; heightFromBottom = MAX(0.0, heightFromBottom); [self.toolbarView mas_updateConstraints:^(MASConstraintMaker *make) { @@ -395,12 +392,12 @@ [self.sessionTableView nim_scrollToBottom:NO]; } -- (void)sendTextMessage:(NSString *)text { - NIMMessage *message = [NIMMessageMaker msgWithText:text]; +- (void)mew_sendTextMessage:(NSString *)text { + NIMMessage *message = [MewNIMMessageMaker Mew_MsgWithText:text]; [[[NIMSDK sharedSDK] chatManager] sendMessage:message toSession:self.session error:nil]; } -- (void)didSelectMenuItem:(MessageMenuModel *)info { +- (void)mew_didSelectMenuItem:(MewMessageMenuModel *)info { UIWindow * currentWindow; for (int i = 0; i < [UIApplication sharedApplication].windows.count; i++) { @@ -415,7 +412,7 @@ currentWindow.windowLevel = -1; } switch (info.type) { - case MessageMenuType_Photo: + case Mew_MessageMenuType_Photo: { TZImagePickerController *imagePickerVc = [[TZImagePickerController alloc] initWithMaxImagesCount:1 delegate:self]; imagePickerVc.modalPresentationStyle = UIModalPresentationOverFullScreen; @@ -433,8 +430,8 @@ } } -- (void)audioRecordCompletion:(NSString *)recordPath { - NIMMessage *message = [NIMMessageMaker msgWithAudio:recordPath]; +- (void)mew_audioRecordCompletion:(NSString *)recordPath { + NIMMessage *message = [MewNIMMessageMaker Mew_MsgWithAudio:recordPath]; [[[NIMSDK sharedSDK] chatManager] sendMessage:message toSession:self.session error:nil]; } @@ -443,16 +440,16 @@ [photos enumerateObjectsUsingBlock:^(UIImage * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { if (obj) { // 构造出具体会话 - NIMMessage * message = [NIMMessageMaker msgWithImage:obj]; + NIMMessage * message = [MewNIMMessageMaker Mew_MsgWithImage:obj]; // 发送消息 [[NIMSDK sharedSDK].chatManager sendMessage:message toSession:self.session error:nil]; } }]; } #pragma mark - Get -- (CHSessionNavView *)sessionNavView { +- (MewSessionNavView *)sessionNavView { if (!_sessionNavView) { - _sessionNavView = [[CHSessionNavView alloc] init]; + _sessionNavView = [[MewSessionNavView alloc] init]; _sessionNavView.delegate = self; } return _sessionNavView; @@ -466,7 +463,7 @@ _sessionTableView.backgroundColor = UIColorMewFromRGB(0xF8F8FB); _sessionTableView.separatorStyle = UITableViewCellSeparatorStyleNone; _sessionTableView.showsVerticalScrollIndicator = NO; - [_sessionTableView registerClass:[CHSessionMessageCell class] forCellReuseIdentifier:NSStringFromClass([CHSessionMessageCell class])]; + [_sessionTableView registerClass:[MewSessionMessageCell class] forCellReuseIdentifier:NSStringFromClass([MewSessionMessageCell class])]; } return _sessionTableView; } @@ -479,9 +476,9 @@ } return _messages; } -- (CHSessionToolbarView *)toolbarView { +- (MewSessionToolbarView *)toolbarView { if (!_toolbarView) { - _toolbarView = [[CHSessionToolbarView alloc] init]; + _toolbarView = [[MewSessionToolbarView alloc] init]; _toolbarView.delegate = self; _toolbarView.sendDisabled = NO; } diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/NIMMessageMaker.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/NIMMessageMaker.h deleted file mode 100644 index 1df71fb..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Message/View/Session/NIMMessageMaker.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// NIMMessageMaker.h -// xplan-ios -// -// Created by zu on 2021/11/28. -// - -#import -#import - -@interface NIMMessageMaker : NSObject - -+ (NIMMessage*)msgWithText:(NSString *)text; - -+ (NIMMessage *)msgWithAudio:(NSString *)filePath; - -+ (NIMMessage *)msgWithImage:(UIImage *)image; - -+ (NIMMessage *)msgWithImagePath:(NSString *)path; - -+ (NIMMessage *)msgWithImageData:(NSData *)data extension:(NSString *)extension; - -+ (NIMMessage *)msgWithVideo:(NSString *)filePath; - -@end - - -@interface NIMCommentMaker : NSObject - -+ (NIMQuickComment *)commentWithType:(int64_t)type - content:(NSString *)content - ext:(NSString *)ext; - -@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Api/Api+Gift.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Api/Api+Gift.h similarity index 92% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Api/Api+Gift.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Api/Api+Gift.h index ceece8a..5a5a11b 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Api/Api+Gift.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Api/Api+Gift.h @@ -22,7 +22,7 @@ NS_ASSUME_NONNULL_BEGIN /// @param roomUid 房间的ID /// @param msg 喊话的 /// @param uid 用户的id -+ (void)requestSendGift:(HttpRequestHelperCompletion)complection ++ (void)Mew_RequestSendGift:(HttpRequestHelperCompletion)complection targetUids:(NSString *)targetUids giftNum:(NSString *)giftNum sendType:(NSString *)sendType diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Api/Api+Gift.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Api/Api+Gift.m similarity index 94% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Api/Api+Gift.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Api/Api+Gift.m index 04f618b..48ba63b 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Api/Api+Gift.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Api/Api+Gift.m @@ -19,7 +19,7 @@ /// @param roomUid 房间的ID /// @param msg 喊话的 /// @param uid 用户的id -+ (void)requestSendGift:(HttpRequestHelperCompletion)complection ++ (void)Mew_RequestSendGift:(HttpRequestHelperCompletion)complection targetUids:(NSString *)targetUids giftNum:(NSString *)giftNum sendType:(NSString *)sendType diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Model/GiftInfoModel.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Model/MewGiftInfoModel.h similarity index 50% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Model/GiftInfoModel.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Model/MewGiftInfoModel.h index d28f4ce..a84b090 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Model/GiftInfoModel.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Model/MewGiftInfoModel.h @@ -1,5 +1,5 @@ // -// GiftInfoModel.h +// MewGiftInfoModel.h // yinmeng-ios // // Created by 触海 on 2023/11/21. @@ -15,13 +15,8 @@ typedef NS_ENUM(NSUInteger, GiftSendType) { GiftSendType_OnMic = 3, //房间内给坑位上的人送礼物 }; -///礼物播放类型(0 无, 1 MP4、VAP播放) -typedef NS_ENUM(NSUInteger, GiftOtherViewType) { - GiftOtherViewTypeNormal = 0, - GiftOtherViewTypeMp4 = 1, -}; -@interface GiftInfoModel : NSObject +@interface MewGiftInfoModel : NSObject ///礼物id @property (nonatomic, assign)NSInteger giftId; ///礼物名字 @@ -30,17 +25,6 @@ typedef NS_ENUM(NSUInteger, GiftOtherViewType) { @property (nonatomic, assign)double goldPrice; ///礼物url @property (nonatomic, copy)NSString *giftUrl; -//@property (nonatomic, assign) GiftType giftType;//礼物类型 - -///礼物文件类型 0 其他, 1 mp4 -@property (nonatomic, assign) GiftOtherViewType otherViewType; -///mp4类型特效url -@property (nonatomic, copy) NSString *viewUrl; - -///是否有vgg特效 -@property (assign, nonatomic) BOOL hasVggPic; -///动效url -@property (copy, nonatomic) NSString *vggUrl; @end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Model/MewGiftInfoModel.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Model/MewGiftInfoModel.m new file mode 100644 index 0000000..cc9194b --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Model/MewGiftInfoModel.m @@ -0,0 +1,12 @@ +// +// MewGiftInfoModel.m +// yinmeng-ios +// +// Created by 触海 on 2023/11/21. +// + +#import "MewGiftInfoModel.h" + +@implementation MewGiftInfoModel + +@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Model/GiftReceiveInfoModel.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Model/MewGiftReceiveInfoModel.h similarity index 76% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Model/GiftReceiveInfoModel.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Model/MewGiftReceiveInfoModel.h index 0e243e4..77525cf 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Model/GiftReceiveInfoModel.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Model/MewGiftReceiveInfoModel.h @@ -1,16 +1,16 @@ // -// GiftReceiveInfoModel.h +// MewGiftReceiveInfoModel.h // yinmeng-ios // // Created by 触海 on 2023/11/21. // #import "NSObject+MEWExtension.h" -#import "GiftInfoModel.h" +#import "MewGiftInfoModel.h" NS_ASSUME_NONNULL_BEGIN -@interface GiftReceiveInfoModel : NSObject +@interface MewGiftReceiveInfoModel : NSObject ///目标的uid @property(nonatomic,copy)NSString * targetUid; ///目标的头像 @@ -19,9 +19,9 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,copy) NSString *targetNick; @property (nonatomic,strong) NSArray *targetUids; ///礼物信息 -@property (nonatomic,strong) GiftInfoModel *gift; +@property (nonatomic,strong) MewGiftInfoModel *gift; ///礼物信息 -@property (nonatomic,strong) GiftInfoModel *giftInfo; +@property (nonatomic,strong) MewGiftInfoModel *giftInfo; ///送礼物的人uid @property(nonatomic, assign)NSString * uid; ///礼物的id @@ -34,10 +34,6 @@ NS_ASSUME_NONNULL_BEGIN @property (assign, nonatomic) NSInteger giftNum; ///礼物名字 @property (nonatomic,strong)NSString *giftName; -///动效url -@property (copy,nonatomic) NSString *vggUrl; -///vap动效url -@property (nonatomic, copy) NSString *viewUrl; // 这里先写死string diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Model/MewGiftReceiveInfoModel.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Model/MewGiftReceiveInfoModel.m new file mode 100644 index 0000000..d473464 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Model/MewGiftReceiveInfoModel.m @@ -0,0 +1,12 @@ +// +// MewGiftReceiveInfoModel.m +// yinmeng-ios +// +// Created by 触海 on 2023/11/21. +// + +#import "MewGiftReceiveInfoModel.h" + +@implementation MewGiftReceiveInfoModel + +@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Presenter/YMGiftStorage.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Presenter/MewGiftStorage.h similarity index 61% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Presenter/YMGiftStorage.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Presenter/MewGiftStorage.h index 925432b..0c1e33b 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Presenter/YMGiftStorage.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Presenter/MewGiftStorage.h @@ -1,23 +1,22 @@ // -// YMGiftStorage.h +// MewGiftStorage.h // yinmeng-ios // // Created by 触海 on 2023/11/21. // #import -@class GiftInfoModel; +@class MewGiftInfoModel; NS_ASSUME_NONNULL_BEGIN -@interface YMGiftStorage : NSObject +@interface MewGiftStorage : NSObject + (instancetype)shareStorage; - (instancetype)init NS_UNAVAILABLE; - (instancetype)copy NS_UNAVAILABLE; - (instancetype)mutableCopy NS_UNAVAILABLE; -- (NSArray *)getGiftDatasource:(NSString *)roomuid; -- (void)saveGiftDatasource:(NSArray *)giftArray roomUid:(NSString *)roomUid; +- (void)mew_saveGiftDatasource:(NSArray *)giftArray roomUid:(NSString *)roomUid; /** 这个不是最好的获取方式 可能由于没有房间uid 导致获取失败 @@ -25,10 +24,8 @@ NS_ASSUME_NONNULL_BEGIN */ /// 获取当前房间的数据中的礼物 /// @param giftId 礼物的id -- (GiftInfoModel *)findGiftInfo:(NSString *)giftId; +- (MewGiftInfoModel *)mew_findGiftInfo:(NSString *)giftId; -///礼物数据写入本地 -- (void)writeGiftToDirectory:(NSArray *)array; @end NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Presenter/MewGiftStorage.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Presenter/MewGiftStorage.m new file mode 100644 index 0000000..0c42204 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/MewGiftView/Presenter/MewGiftStorage.m @@ -0,0 +1,93 @@ +// +// MewGiftStorage.m +// yinmeng-ios +// +// Created by 触海 on 2023/11/21. +// + +#import "MewGiftStorage.h" +#import "MewGiftInfoModel.h" +#import "NSObject+MEWExtension.h" +#import "NSArray+MewSafe.h" + +@interface MewGiftStorage() +///key:房间id value:房间对应的礼物列表 +@property (nonatomic, strong) NSCache *> *roomGiftCache; +///当前房间的uid +@property (nonatomic,copy) NSString *currentRoomUid; +/// +@property (nonatomic,assign) BOOL isWriteToFile; +@end + +@implementation MewGiftStorage + ++ (instancetype)shareStorage { + static dispatch_once_t onceToken; + static MewGiftStorage * storage; + dispatch_once(&onceToken, ^{ + storage = [[MewGiftStorage alloc] init]; + }); + return storage; +} + + +- (void)mew_saveGiftDatasource:(NSArray *)giftArray roomUid:(NSString *)roomUid { + if (giftArray.count > 0 && roomUid.length > 0) { + [self.roomGiftCache setObject:giftArray forKey:roomUid]; + } +} + + +/// 获取当前房间的数据中的礼物 +/// @param giftId 礼物的id +- (MewGiftInfoModel *)mew_findGiftInfo:(NSString *)giftId { + MewGiftInfoModel * giftInfo = [self mew_getGiftInfoFromDirectory:giftId]; + if (giftInfo) { + return giftInfo; + } + + if (self.currentRoomUid) { + NSArray *giftLists = [self.roomGiftCache objectForKey:self.currentRoomUid]; + if (giftLists.count > 0) { + __block MewGiftInfoModel * giftInfo; + [giftLists enumerateObjectsUsingBlock:^(MewGiftInfoModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { + if (obj.giftId == giftId.integerValue) { + giftInfo = obj; + *stop = YES; + } + }]; + return giftInfo; + } + } + return nil; +} + + +- (NSCache *> *)roomGiftCache { + if (!_roomGiftCache) { + _roomGiftCache = [[NSCache alloc] init]; + // 设置缓存数据的数目 + _roomGiftCache.countLimit = 10; + } + return _roomGiftCache; +} + + +- (MewGiftInfoModel *)mew_getGiftInfoFromDirectory:(NSString *)giftId { + //找到相应的目录 + NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; + NSString *pathFile = [path stringByAppendingPathComponent:@"Gift"]; + //判断有没有文件夹 + BOOL isDir =NO; + NSFileManager *fileManager = [NSFileManager defaultManager]; + BOOL existed = [fileManager fileExistsAtPath:pathFile isDirectory:&isDir]; + MewGiftInfoModel * giftInfo; + if (existed) { + NSString *aPath = [pathFile stringByAppendingPathComponent:giftId]; + NSDictionary * dic = [NSKeyedUnarchiver unarchiveObjectWithFile:aPath]; + giftInfo = [MewGiftInfoModel mewModelWithDictionary:dic]; + } + return giftInfo; +} + +@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Model/GiftInfoModel.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Model/GiftInfoModel.m deleted file mode 100644 index 4f18873..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Model/GiftInfoModel.m +++ /dev/null @@ -1,12 +0,0 @@ -// -// GiftInfoModel.m -// yinmeng-ios -// -// Created by 触海 on 2023/11/21. -// - -#import "GiftInfoModel.h" - -@implementation GiftInfoModel - -@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Model/GiftReceiveInfoModel.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Model/GiftReceiveInfoModel.m deleted file mode 100644 index 316a9ec..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Model/GiftReceiveInfoModel.m +++ /dev/null @@ -1,12 +0,0 @@ -// -// GiftReceiveInfoModel.m -// yinmeng-ios -// -// Created by 触海 on 2023/11/21. -// - -#import "GiftReceiveInfoModel.h" - -@implementation GiftReceiveInfoModel - -@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Presenter/YMGiftStorage.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Presenter/YMGiftStorage.m deleted file mode 100644 index 1b0ae68..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/ModuleKit/SendGiftView/Presenter/YMGiftStorage.m +++ /dev/null @@ -1,125 +0,0 @@ -// -// YMGiftStorage.m -// yinmeng-ios -// -// Created by 触海 on 2023/11/21. -// - -#import "YMGiftStorage.h" -#import "GiftInfoModel.h" -#import "NSObject+MEWExtension.h" -#import "NSArray+MewSafe.h" - -@interface YMGiftStorage() -///key:房间id value:房间对应的礼物列表 -@property (nonatomic, strong) NSCache *> *roomGiftCache; -///当前房间的uid -@property (nonatomic,copy) NSString *currentRoomUid; -/// -@property (nonatomic,assign) BOOL isWriteToFile; -@end - -@implementation YMGiftStorage - -+ (instancetype)shareStorage { - static dispatch_once_t onceToken; - static YMGiftStorage * storage; - dispatch_once(&onceToken, ^{ - storage = [[YMGiftStorage alloc] init]; - }); - return storage; -} - - -- (void)saveGiftDatasource:(NSArray *)giftArray roomUid:(NSString *)roomUid { - if (giftArray.count > 0 && roomUid.length > 0) { - [self.roomGiftCache setObject:giftArray forKey:roomUid]; - } -} - -- (NSArray *)getGiftDatasource:(NSString *)roomuid { - if (roomuid.length > 0) { - self.currentRoomUid = roomuid; - NSArray *giftLists = [self.roomGiftCache objectForKey:roomuid]; - if (giftLists.count >= 0) { - return giftLists; - } - } - return nil; -} - -/// 获取当前房间的数据中的礼物 -/// @param giftId 礼物的id -- (GiftInfoModel *)findGiftInfo:(NSString *)giftId { - GiftInfoModel * giftInfo = [self getGiftInfoFromDirectory:giftId]; - if (giftInfo) { - return giftInfo; - } - - if (self.currentRoomUid) { - NSArray *giftLists = [self.roomGiftCache objectForKey:self.currentRoomUid]; - if (giftLists.count > 0) { - __block GiftInfoModel * giftInfo; - [giftLists enumerateObjectsUsingBlock:^(GiftInfoModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { - if (obj.giftId == giftId.integerValue) { - giftInfo = obj; - *stop = YES; - } - }]; - return giftInfo; - } - } - return nil; -} - - -- (NSCache *> *)roomGiftCache { - if (!_roomGiftCache) { - _roomGiftCache = [[NSCache alloc] init]; - // 设置缓存数据的数目 - _roomGiftCache.countLimit = 10; - } - return _roomGiftCache; -} - -- (void)writeGiftToDirectory:(NSArray *)array { - ///因为不想每次都要大量的IO操作 就保存一份吧 - if (self.isWriteToFile) { - return; - } - NSString * path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject; - NSString * giftDirPath = [path stringByAppendingPathComponent:@"Gift"]; - //判断有没有文件夹 - BOOL isDir =NO; - NSFileManager *fileManager = [NSFileManager defaultManager]; - BOOL existed = [fileManager fileExistsAtPath:giftDirPath isDirectory:&isDir]; - if ( !(isDir ==YES && existed == YES) ){ - //如果没有文件夹则创建 - [fileManager createDirectoryAtPath:giftDirPath withIntermediateDirectories:YES attributes:nil error:nil]; - } - for (int i = 0; i< array.count; i++) { - GiftInfoModel * giftInfoModel = [array mewSafeObjectAtIndex:i]; - NSString *giftPath = [giftDirPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%ld", giftInfoModel.giftId]]; - [NSKeyedArchiver archiveRootObject:giftInfoModel.mewModel2dictionary toFile:giftPath]; - } - self.isWriteToFile = YES; -} - -- (GiftInfoModel *)getGiftInfoFromDirectory:(NSString *)giftId { - //找到相应的目录 - NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; - NSString *pathFile = [path stringByAppendingPathComponent:@"Gift"]; - //判断有没有文件夹 - BOOL isDir =NO; - NSFileManager *fileManager = [NSFileManager defaultManager]; - BOOL existed = [fileManager fileExistsAtPath:pathFile isDirectory:&isDir]; - GiftInfoModel * giftInfo; - if (existed) { - NSString *aPath = [pathFile stringByAppendingPathComponent:giftId]; - NSDictionary * dic = [NSKeyedUnarchiver unarchiveObjectWithFile:aPath]; - giftInfo = [GiftInfoModel mewModelWithDictionary:dic]; - } - return giftInfo; -} - -@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Api/Api+Room.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Api/Api+Room.h index f04cfcc..9c74f79 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Api/Api+Room.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Api/Api+Room.h @@ -6,7 +6,7 @@ // #import "Api.h" -#import "RoomInfoModel.h" +#import "MewRoomInfoModel.h" NS_ASSUME_NONNULL_BEGIN @@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN /// @param complection 完成 /// @param uid 用户的uid /// @param intoUid 自己的Uid 判断当前进房用户是否是平台超管 判断进房用户是否开启青少年 -+ (void)getRoomInformation:(HttpRequestHelperCompletion)complection ++ (void)Mew_GetRoomInformation:(HttpRequestHelperCompletion)complection uid:(NSString *)uid intoUid:(NSString *)intoUid; @@ -29,7 +29,7 @@ NS_ASSUME_NONNULL_BEGIN /// @param uid 用户的uid /// @param ticket 用户的ticket /// @param mgId 小游戏的id -+ (void)openRoom:(HttpRequestHelperCompletion)complection ++ (void)Mew_OpenRoom:(HttpRequestHelperCompletion)complection title:(NSString *)title type:(RoomType)type roomPwd:(NSString *)roomPwd @@ -47,7 +47,7 @@ NS_ASSUME_NONNULL_BEGIN /// @param roomId 房间的id /// @param position 坑位的序号 /// @param ticket ticket -+ (void)roomMicUpMic:(HttpRequestHelperCompletion)complection ++ (void)Mew_RoomMicUpMic:(HttpRequestHelperCompletion)complection micUid:(NSString *)micUid roomId:(NSString *)roomId position:(NSString *)position @@ -59,7 +59,7 @@ NS_ASSUME_NONNULL_BEGIN /// @param roomId 房间的id /// @param position 坑位的序号 /// @param ticket ticket -+ (void)roomMicDownMic:(HttpRequestHelperCompletion)complection ++ (void)Mew_RoomMicDownMic:(HttpRequestHelperCompletion)complection micUid:(NSString *)micUid roomId:(NSString *)roomId position:(NSString *)position @@ -71,7 +71,7 @@ NS_ASSUME_NONNULL_BEGIN /// @param uid uid /// @param type 1 收藏 2 取消收藏 3:批量取消收藏 /// @param roomUids 批量删除的房间uid,用逗号隔开 -+ (void)collectRoom:(HttpRequestHelperCompletion)completion ++ (void)Mew_CollectRoom:(HttpRequestHelperCompletion)completion roomUid:(NSString *)roomUid uid:(NSString *)uid type:(NSString *)type @@ -82,14 +82,14 @@ NS_ASSUME_NONNULL_BEGIN /// @param uid 用户uid /// @param roomUid 房间uid /// @param ticket ticket -+ (void)requestReportUserInterRoom:(HttpRequestHelperCompletion)completion uid:(NSString *)uid roomUid:(NSString *)roomUid ticket:(NSString *)ticket; ++ (void)Mew_RequestReportUserInterRoom:(HttpRequestHelperCompletion)completion uid:(NSString *)uid roomUid:(NSString *)roomUid ticket:(NSString *)ticket; /// 上报用户退房 /// @param completion 完成 /// @param uid 用户uid /// @param roomUid 房间uid /// @param ticket ticket -+ (void)requestReportUserOutRoom:(HttpRequestHelperCompletion)completion uid:(NSString *)uid roomUid:(NSString *)roomUid ticket:(NSString *)ticket; ++ (void)Mew_RequestReportUserOutRoom:(HttpRequestHelperCompletion)completion uid:(NSString *)uid roomUid:(NSString *)roomUid ticket:(NSString *)ticket; @end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Api/Api+Room.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Api/Api+Room.m index b350e7e..c48111b 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Api/Api+Room.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Api/Api+Room.m @@ -13,7 +13,7 @@ /// @param complection 完成 /// @param uid 用户的uid /// @param intoUid 自己的Uid 判断当前进房用户是否是平台超管 判断进房用户是否开启青少年 -+ (void)getRoomInformation:(HttpRequestHelperCompletion)complection uid:(NSString *)uid intoUid:(NSString *)intoUid { ++ (void)Mew_GetRoomInformation:(HttpRequestHelperCompletion)complection uid:(NSString *)uid intoUid:(NSString *)intoUid { NSString *getUrl = [NewEncryptTool MEW_aesDecrypt:@"gs8/IEqGWXCD7Cn4Hs11dw=="];///room/get [self makeRequest:getUrl method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, uid, intoUid, nil]; } @@ -28,7 +28,7 @@ /// @param uid 用户的uid /// @param ticket 用户的ticket /// @param mgId 小游戏的id -+ (void)openRoom:(HttpRequestHelperCompletion)complection ++ (void)Mew_OpenRoom:(HttpRequestHelperCompletion)complection title:(NSString *)title type:(RoomType)type roomPwd:(NSString *)roomPwd @@ -48,7 +48,7 @@ /// @param roomId 房间的id /// @param position 坑位的序号 /// @param ticket ticket -+ (void)roomMicUpMic:(HttpRequestHelperCompletion)complection micUid:(NSString *)micUid roomId:(NSString *)roomId position:(NSString *)position ticket:(NSString *)ticket { ++ (void)Mew_RoomMicUpMic:(HttpRequestHelperCompletion)complection micUid:(NSString *)micUid roomId:(NSString *)roomId position:(NSString *)position ticket:(NSString *)ticket { NSString *getUrl = [NewEncryptTool MEW_aesDecrypt:@"8gpgcXMk36xfvm6d+muZng=="];///room/mic/upmic [self makeRequest:getUrl method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__, micUid, roomId, position, ticket, nil]; } @@ -59,7 +59,7 @@ /// @param roomId 房间的id /// @param position 坑位的序号 /// @param ticket ticket -+ (void)roomMicDownMic:(HttpRequestHelperCompletion)complection micUid:(NSString *)micUid roomId:(NSString *)roomId position:(NSString *)position ticket:(NSString *)ticket { ++ (void)Mew_RoomMicDownMic:(HttpRequestHelperCompletion)complection micUid:(NSString *)micUid roomId:(NSString *)roomId position:(NSString *)position ticket:(NSString *)ticket { NSString *getUrl = [NewEncryptTool MEW_aesDecrypt:@"yLlyaDpUfo8seQvUf2xVE1pDQw0kPWhe5imJar+ZYGs="];//room/mic/downmic [Api makeRequest:getUrl method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__, micUid, roomId, position, ticket, nil]; } @@ -70,7 +70,7 @@ /// @param uid uid /// @param type 1 收藏 2 取消收藏 3:批量取消收藏 /// @param roomUids 批量删除的房间uid,用逗号隔开 -+ (void)collectRoom:(HttpRequestHelperCompletion)completion roomUid:(NSString *)roomUid uid:(NSString *)uid type:(NSString *)type roomUids:(NSString *)roomUids { ++ (void)Mew_CollectRoom:(HttpRequestHelperCompletion)completion roomUid:(NSString *)roomUid uid:(NSString *)uid type:(NSString *)type roomUids:(NSString *)roomUids { NSString *getUrl = [NewEncryptTool MEW_aesDecrypt:@"GQiHXUlHz3kGtxBxaDpYOg=="];///fans/fansRoom [Api makeRequest:getUrl method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, roomUid, uid, type, roomUids, nil]; } @@ -81,7 +81,7 @@ /// @param uid 用户uid /// @param roomUid 房间uid /// @param ticket ticket -+ (void)requestReportUserInterRoom:(HttpRequestHelperCompletion)completion uid:(NSString *)uid roomUid:(NSString *)roomUid ticket:(NSString *)ticket { ++ (void)Mew_RequestReportUserInterRoom:(HttpRequestHelperCompletion)completion uid:(NSString *)uid roomUid:(NSString *)roomUid ticket:(NSString *)ticket { NSString *getUrl = [NewEncryptTool MEW_aesDecrypt:@"+RPS7HavWT0Wo413/I2TLA=="];///userroom/inV2 [self makeRequest:getUrl method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, roomUid, ticket, nil]; } @@ -92,7 +92,7 @@ /// @param uid 用户uid /// @param roomUid 房间uid /// @param ticket ticket -+ (void)requestReportUserOutRoom:(HttpRequestHelperCompletion)completion uid:(NSString *)uid roomUid:(NSString *)roomUid ticket:(NSString *)ticket { ++ (void)Mew_RequestReportUserOutRoom:(HttpRequestHelperCompletion)completion uid:(NSString *)uid roomUid:(NSString *)roomUid ticket:(NSString *)ticket { NSString *getUrl = [NewEncryptTool MEW_aesDecrypt:@"eGme6ANFUqQGdpX/DtfRrg=="];///userroom/outV2 [self makeRequest:getUrl method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, roomUid, ticket, nil]; } diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/RoomInfoModel.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/MewRoomInfoModel.h similarity index 95% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/RoomInfoModel.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/MewRoomInfoModel.h index 4f73e23..cd0827e 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/RoomInfoModel.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/MewRoomInfoModel.h @@ -1,5 +1,5 @@ // -// RoomInfoModel.h +// MewRoomInfoModel.h // mew-ios // // Created by 触海 on 2023/11/7. @@ -14,7 +14,7 @@ typedef NS_ENUM(NSInteger, RoomType) { RoomType_MiniGame = 7//小游戏房 }; -@interface RoomInfoModel : NSObject +@interface MewRoomInfoModel : NSObject @property (nonatomic , copy) NSString *avatar; //房间头像 @property (nonatomic , assign) NSInteger onlineNum; //在线人数 diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/MewRoomInfoModel.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/MewRoomInfoModel.m new file mode 100644 index 0000000..231c89c --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/MewRoomInfoModel.m @@ -0,0 +1,12 @@ +// +// MewRoomInfoModel.m +// mew-ios +// +// Created by 触海 on 2023/11/7. +// + +#import "MewRoomInfoModel.h" + +@implementation MewRoomInfoModel + +@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/RoomInfoModel.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/RoomInfoModel.m deleted file mode 100644 index 08c4cd4..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Model/RoomInfoModel.m +++ /dev/null @@ -1,12 +0,0 @@ -// -// RoomInfoModel.m -// mew-ios -// -// Created by 触海 on 2023/11/7. -// - -#import "RoomInfoModel.h" - -@implementation RoomInfoModel - -@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Presenter/YMRoomPresenter.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Presenter/MewRoomPresenter.h similarity index 67% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Presenter/YMRoomPresenter.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Presenter/MewRoomPresenter.h index 180df74..da731e5 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Presenter/YMRoomPresenter.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Presenter/MewRoomPresenter.h @@ -1,33 +1,33 @@ // -// YMRoomPresenter.h +// MewRoomPresenter.h // mew-ios // // Created by 触海 on 2023/11/7. // #import "BaseMvpPresenter.h" -#import "RoomInfoModel.h" +#import "MewRoomInfoModel.h" @class UserInfoModel; NS_ASSUME_NONNULL_BEGIN -@interface YMRoomPresenter : BaseMvpPresenter +@interface MewRoomPresenter : BaseMvpPresenter /// 进入房间 /// - Parameters: /// - roomUid: 房间Uid /// - uid: 用户Uid -- (void)initEnterCurrentRoom:(NSString *)roomUid user:(NSString *)uid; +- (void)mew_initEnterCurrentRoom:(NSString *)roomUid user:(NSString *)uid; /// 云信进房 /// - Parameters: /// - roomUid: 房间Uid /// - userInfo: 用户Uid -- (void)enterNIMCurrentRoom:(NSString *)roomUid user:(UserInfoModel *)userInfo; +- (void)mew_enterNIMCurrentRoom:(NSString *)roomUid user:(UserInfoModel *)userInfo; /// 云信退房 /// - Parameter roomUid: 房间Uid -- (void)exitNIMCurrentRoom:(NSString *)roomUid; +- (void)mew_exitNIMCurrentRoom:(NSString *)roomUid; /// 开启用户自己的房间 /// @param title 房间标题 @@ -36,7 +36,7 @@ NS_ASSUME_NONNULL_BEGIN /// @param roomDesc 房间介绍 /// @param backPic 房间背景 /// @param mgId 小游戏的id -- (void)openUserRoom:(NSString *)title +- (void)mew_openUserRoom:(NSString *)title type:(RoomType)type roomPwd:(NSString *)roomPwd roomDesc:(NSString *)roomDesc @@ -45,16 +45,16 @@ NS_ASSUME_NONNULL_BEGIN /// 上报用户进房 /// @param roomUid 房间uid -- (void)reportUserInterRoom:(NSString *)roomUid; +- (void)mew_reportUserInterRoom:(NSString *)roomUid; /// 上报用户退房 /// @param roomUid 房间uid -- (void)reportUserOutRoom:(NSString *)roomUid; +- (void)mew_reportUserOutRoom:(NSString *)roomUid; /// Mew 送礼物 /// @param targetUids 送礼物的人 /// @param roomUid 房主的uid -- (void)sendGift:(NSString *)targetUids +- (void)mew_sendRoomGift:(NSString *)targetUids roomUid:(NSString *)roomUid; @end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Presenter/YMRoomPresenter.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Presenter/MewRoomPresenter.m similarity index 72% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Presenter/YMRoomPresenter.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Presenter/MewRoomPresenter.m index 844d91e..8c27458 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Presenter/YMRoomPresenter.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Presenter/MewRoomPresenter.m @@ -1,36 +1,36 @@ // -// YMRoomPresenter.m +// MewRoomPresenter.m // mew-ios // // Created by 触海 on 2023/11/7. // -#import "YMRoomPresenter.h" +#import "MewRoomPresenter.h" ///Api #import "Api+Room.h" #import "Api+Gift.h" ///Model #import "UserInfoModel.h" -#import "RoomInfoModel.h" +#import "MewRoomInfoModel.h" #import "AccountInfoStorage.h" -#import "YMMessageRemoteExtModel.h" -#import "GiftReceiveInfoModel.h" +#import "MewMessageRemoteExtModel.h" +#import "MewGiftReceiveInfoModel.h" ///P -#import "YMRoomProtocol.h" +#import "MewRoomProtocol.h" ///Third #import #import -@implementation YMRoomPresenter +@implementation MewRoomPresenter #pragma mark - Public Method -- (void)initEnterCurrentRoom:(NSString *)roomUid user:(NSString *)uid { +- (void)mew_initEnterCurrentRoom:(NSString *)roomUid user:(NSString *)uid { RACSubject *room = [RACSubject subject]; RACSubject *user = [RACSubject subject]; /// RAC监听用户和房间值的改变 - [[RACSignal combineLatest:@[room, user] reduce:^id(RoomInfoModel *room, UserInfoModel *user){ - [[self getView] initEnterCurrentRoomSuccess:room user:user]; + [[RACSignal combineLatest:@[room, user] reduce:^id(MewRoomInfoModel *room, UserInfoModel *user){ + [[self getView] mew_initEnterCurrentRoomSuccess:room user:user]; return nil; }] subscribeError:^(NSError * _Nullable error) { [[self getView] enterCurrentRoomFail:error.code]; @@ -47,8 +47,8 @@ }] uid:uid]; /// 获取房间信息 - [Api getRoomInformation:[self createHttpCompletion:^(BaseModel * _Nonnull data) { - RoomInfoModel *roomInfo = [RoomInfoModel mewModelWithJSON:data.data]; + [Api Mew_GetRoomInformation:[self createHttpCompletion:^(BaseModel * _Nonnull data) { + MewRoomInfoModel *roomInfo = [MewRoomInfoModel mewModelWithJSON:data.data]; [room sendNext:roomInfo]; [room sendCompleted]; } fail:^(NSInteger code, NSString * _Nullable msg) { @@ -57,10 +57,10 @@ } /// 云信进房 -- (void)enterNIMCurrentRoom:(NSString *)roomUid user:(UserInfoModel *)userInfo { +- (void)mew_enterNIMCurrentRoom:(NSString *)roomUid user:(UserInfoModel *)userInfo { NIMChatroomEnterRequest *request = [[NIMChatroomEnterRequest alloc] init]; request.roomId = roomUid; - YMMessageRemoteExtModel *extModel = [[YMMessageRemoteExtModel alloc] init]; + MewMessageRemoteExtModel *extModel = [[MewMessageRemoteExtModel alloc] init]; extModel.erbanNo = userInfo.erbanNo; extModel.vipIcon = userInfo.userVipInfoVO.vipIcon; extModel.gender = userInfo.gender; @@ -77,7 +77,7 @@ } /// 云信退房 -- (void)exitNIMCurrentRoom:(NSString *)roomUid { +- (void)mew_exitNIMCurrentRoom:(NSString *)roomUid { [[NIMSDK sharedSDK].chatroomManager exitChatroom:roomUid completion:nil]; } @@ -89,7 +89,7 @@ /// @param roomDesc 房间介绍 /// @param backPic 房间背景 /// @param mgId 小游戏的id -- (void)openUserRoom:(NSString *)title +- (void)mew_openUserRoom:(NSString *)title type:(RoomType)type roomPwd:(NSString *)roomPwd roomDesc:(NSString *)roomDesc @@ -117,8 +117,8 @@ mgId = @"0"; } - [Api openRoom:[self createHttpCompletion:^(BaseModel * _Nonnull data) { - RoomInfoModel *roomInfo = [RoomInfoModel mewModelWithJSON:data.data]; + [Api Mew_OpenRoom:[self createHttpCompletion:^(BaseModel * _Nonnull data) { + MewRoomInfoModel *roomInfo = [MewRoomInfoModel mewModelWithJSON:data.data]; [[self getView] openCurrentRoomSuccess:roomInfo]; } fail:^(NSInteger code, NSString * _Nullable msg) { [[self getView] enterCurrentRoomFail:code]; @@ -127,11 +127,11 @@ /// 上报用户进房 /// @param roomUid 房间uid -- (void)reportUserInterRoom:(NSString *)roomUid { +- (void)mew_reportUserInterRoom:(NSString *)roomUid { if ([[AccountInfoStorage instance] getTicket].length < 1) { return; } - [Api requestReportUserInterRoom:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { + [Api Mew_RequestReportUserInterRoom:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { } uid:[[AccountInfoStorage instance] getUid] roomUid:roomUid ticket:[[AccountInfoStorage instance] getTicket]]; } @@ -139,11 +139,11 @@ /// 上报用户退房 /// @param roomUid 房间uid -- (void)reportUserOutRoom:(NSString *)roomUid { +- (void)mew_reportUserOutRoom:(NSString *)roomUid { if ([[AccountInfoStorage instance] getTicket].length < 1) { return; } - [Api requestReportUserOutRoom:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { + [Api Mew_RequestReportUserOutRoom:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { } uid:[[AccountInfoStorage instance] getUid] roomUid:roomUid ticket:[[AccountInfoStorage instance] getTicket]]; } @@ -151,7 +151,7 @@ /// Mew 送礼物 房间内给麦位上的某个用户送普通的薯片礼物,默认写死 /// @param targetUids 送礼物的人 /// @param roomUid 房主的uid -- (void)sendGift:(NSString *)targetUids +- (void)mew_sendRoomGift:(NSString *)targetUids roomUid:(NSString *)roomUid { NSString *uid = [AccountInfoStorage instance].getUid; NSString *giftNum = @"1"; @@ -166,14 +166,14 @@ // 送一个人 NSString *roomSendType = @"3"; - [Api requestSendGift:[self createHttpCompletion:^(BaseModel * _Nonnull data) { - GiftReceiveInfoModel *receive = [GiftReceiveInfoModel mewModelWithJSON:data.data]; + [Api Mew_RequestSendGift:[self createHttpCompletion:^(BaseModel * _Nonnull data) { + MewGiftReceiveInfoModel *receive = [MewGiftReceiveInfoModel mewModelWithJSON:data.data]; receive.sourceType = giftSource; receive.roomSendGiftType = roomSendType; - [[self getView] sendGiftSuccess:receive originDic:data.data uidCount:1]; + [[self getView] mew_sendRoomGiftSuccess:receive originDic:data.data uidCount:1]; } fail:^(NSInteger code, NSString * _Nullable msg) { - [[self getView] sendGiftFailWithCode:code msg:msg]; + [[self getView] mew_sendRoomGiftFailWithCode:code msg:msg]; }] targetUids:targetUids giftNum:giftNum sendType:sendType giftId:giftId giftSource:giftSource giftType:giftType roomUid:roomUid msg:@"" uid:uid]; } diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Protocol/YMRoomProtocol.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Protocol/MewRoomProtocol.h similarity index 52% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Protocol/YMRoomProtocol.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Protocol/MewRoomProtocol.h index 2780d41..91d77e9 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Protocol/YMRoomProtocol.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/Protocol/MewRoomProtocol.h @@ -1,32 +1,32 @@ // -// YMRoomProtocol.h +// MewRoomProtocol.h // mew-ios // // Created by 触海 on 2023/11/7. // #import -@class RoomInfoModel, NIMChatroom, GiftReceiveInfoModel; +@class MewRoomInfoModel, NIMChatroom, MewGiftReceiveInfoModel; NS_ASSUME_NONNULL_BEGIN -@protocol YMRoomProtocol +@protocol MewRoomProtocol /// 进入房间成功 -- (void)initEnterCurrentRoomSuccess:(RoomInfoModel *)roomInfo user:(UserInfoModel *)userInfo; +- (void)mew_initEnterCurrentRoomSuccess:(MewRoomInfoModel *)roomInfo user:(UserInfoModel *)userInfo; ///开启房间成功 -- (void)openCurrentRoomSuccess:(RoomInfoModel *)roomInfo; +- (void)openCurrentRoomSuccess:(MewRoomInfoModel *)roomInfo; ///进入房间成功 - (void)enterCurrentRoomSuccess:(NIMChatroom *)chatRoom; ///进入房间失败(当前获取用户信息、获取房间信息、开启房间、进入云信房间失败,均会导致进房失败) - (void)enterCurrentRoomFail:(NSInteger)code; ///获取当前房间的信息,个播房 -//- (void)getCurrentRoomInfoSuccess:(RoomInfoModel *_Nullable)roomInfo; +//- (void)getCurrentRoomInfoSuccess:(MewRoomInfoModel *_Nullable)roomInfo; /// Mew 送礼物成功。房间内给麦位上的某个用户送普通的薯片礼物,默认写死 -- (void)sendGiftSuccess:(GiftReceiveInfoModel *)receiveInfo originDic:(NSDictionary *)originDic uidCount:(NSInteger)uidCount; +- (void)mew_sendRoomGiftSuccess:(MewGiftReceiveInfoModel *)receiveInfo originDic:(NSDictionary *)originDic uidCount:(NSInteger)uidCount; ///送礼物失败 -- (void)sendGiftFailWithCode:(NSInteger)code msg:(NSString *)msg; +- (void)mew_sendRoomGiftFailWithCode:(NSInteger)code msg:(NSString *)msg; @end NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/CHRoomAnimationGroup.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationGroup.h similarity index 60% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/CHRoomAnimationGroup.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationGroup.h index 497a794..e283025 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/CHRoomAnimationGroup.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationGroup.h @@ -1,5 +1,5 @@ // -// CHRoomAnimationGroup.h +// MewRoomAnimationGroup.h // yinmeng-ios // // Created by 触海 on 2023/12/1. @@ -10,12 +10,12 @@ NS_ASSUME_NONNULL_BEGIN -@interface CHRoomAnimationGroup : NSObject +@interface MewRoomAnimationGroup : NSObject /// 图片运动的动画组 /// @param startPoint 开始的点 /// @param endPoint 结束的点 -+ (CAAnimationGroup *)createGiftAnimationStartPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint; ++ (CAAnimationGroup *)Mew_CreateGiftAnimationStartPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint; @end NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/CHRoomAnimationGroup.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationGroup.m similarity index 92% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/CHRoomAnimationGroup.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationGroup.m index d42e029..b82da3e 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/CHRoomAnimationGroup.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationGroup.m @@ -1,19 +1,19 @@ // -// CHRoomAnimationGroup.m +// MewRoomAnimationGroup.m // yinmeng-ios // // Created by 触海 on 2023/12/1. // -#import "CHRoomAnimationGroup.h" +#import "MewRoomAnimationGroup.h" #import "YMMacro.h" -@implementation CHRoomAnimationGroup +@implementation MewRoomAnimationGroup /// 图片运动的动画组 /// @param startPoint 开始的点 /// @param endPoint 结束的点 -+ (CAAnimationGroup *)createGiftAnimationStartPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint { ++ (CAAnimationGroup *)Mew_CreateGiftAnimationStartPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint { CGPoint centerPoint = CGPointMake(KScreenWidth / 2, KScreenHeight / 2); CAKeyframeAnimation *animation0 = [CAKeyframeAnimation animation]; animation0.duration = 0.8; diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/YMRoomAnimationHitView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationHitView.h similarity index 66% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/YMRoomAnimationHitView.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationHitView.h index 0d28826..b270a04 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/YMRoomAnimationHitView.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationHitView.h @@ -1,5 +1,5 @@ // -// YMRoomAnimationHitView.h +// MewRoomAnimationHitView.h // yinmeng-ios // // Created by 触海 on 2023/11/21. @@ -9,7 +9,7 @@ NS_ASSUME_NONNULL_BEGIN -@interface YMRoomAnimationHitView : UIView +@interface MewRoomAnimationHitView : UIView diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/YMRoomAnimationHitView.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationHitView.m similarity index 85% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/YMRoomAnimationHitView.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationHitView.m index 2f1eead..1c7ea3b 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/YMRoomAnimationHitView.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationHitView.m @@ -1,14 +1,14 @@ // -// YMRoomAnimationHitView.m +// MewRoomAnimationHitView.m // yinmeng-ios // // Created by 触海 on 2023/11/21. // -#import "YMRoomAnimationHitView.h" +#import "MewRoomAnimationHitView.h" #import "NSArray+MewSafe.h" -@implementation YMRoomAnimationHitView +@implementation MewRoomAnimationHitView - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { for (NSInteger i = (self.subviews.count - 1) ; i >= 0 ; i--) { diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationView.h new file mode 100644 index 0000000..a1f657f --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationView.h @@ -0,0 +1,21 @@ +// +// MewRoomAnimationView.h +// yinmeng-ios +// +// Created by 触海 on 2023/11/21. +// + +#import "MewRoomAnimationHitView.h" +#import "MewRoomHostDelegate.h" +#import "MewRoomGuestDelegate.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MewRoomAnimationView : MewRoomAnimationHitView + +-(void)mew_resumeAnimationTimer; +- (instancetype)initWithDelegate:(id)delegate; + +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/YMRoomAnimationView.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationView.m similarity index 69% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/YMRoomAnimationView.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationView.m index 0bafefc..5c6cd0e 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/YMRoomAnimationView.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/MewRoomAnimationView.m @@ -1,12 +1,12 @@ // -// YMRoomAnimationView.m +// MewRoomAnimationView.m // yinmeng-ios // // Created by 触海 on 2023/11/21. // -#import "YMRoomAnimationView.h" -#import "YMRoomAnimationHitView.h" +#import "MewRoomAnimationView.h" +#import "MewRoomAnimationHitView.h" ///Third #import @@ -16,27 +16,27 @@ #import #import ///Model -#import "GiftReceiveInfoModel.h" +#import "MewGiftReceiveInfoModel.h" #import "AttachmentModel.h" -#import "RoomInfoModel.h" -#import "GiftInfoModel.h" +#import "MewRoomInfoModel.h" +#import "MewGiftInfoModel.h" /// Tool -#import "YMGiftStorage.h" -#import "CHRoomAnimationGroup.h" +#import "MewGiftStorage.h" +#import "MewRoomAnimationGroup.h" #import "YMMacro.h" -@interface YMRoomAnimationView() +@interface MewRoomAnimationView() ///最底层的 -@property (nonatomic,strong) YMRoomAnimationHitView * lowLevelView; +@property (nonatomic,strong) MewRoomAnimationHitView * lowLevelView; ///代理 -@property (nonatomic,weak) iddelegate; +@property (nonatomic,weak) iddelegate; ///礼物特效的队列 -@property (nonatomic,strong) NSMutableArray *giftEffectQueue; +@property (nonatomic,strong) NSMutableArray *giftEffectQueue; ///礼物定时器 6s刷新一次 @property (nonatomic,strong)dispatch_source_t giftEffectTimer; #pragma mark - 送礼物的动画的 ///礼物的队列 -@property (nonatomic,strong) NSMutableArray *giftQueue; +@property (nonatomic,strong) NSMutableArray *giftQueue; ///定时器 @property (nonatomic ,strong)dispatch_source_t giftTimer; ///复用池 应为送礼物的动画是一个很频繁的事情 所以可以减少内存的消耗 @@ -46,14 +46,14 @@ @end -@implementation YMRoomAnimationView +@implementation MewRoomAnimationView - (void)dealloc { [NSObject cancelPreviousPerformRequestsWithTarget:self]; [[NIMSDK sharedSDK].broadcastManager removeDelegate:self]; } --(void)resumeAnimationTimer{ +-(void)mew_resumeAnimationTimer{ if(self.giftEffectTimer != nil){ dispatch_cancel(self.giftEffectTimer); self.giftEffectTimer = nil; @@ -64,7 +64,7 @@ self.giftTimer = nil; } } -- (instancetype)initWithDelegate:(id)delegate { +- (instancetype)initWithDelegate:(id)delegate { self = [super init]; if (self) { [[NIMSDK sharedSDK].broadcastManager addDelegate:self]; @@ -87,16 +87,16 @@ }]; } -#pragma mark - CHRoomGuestDelegate +#pragma mark - MewRoomGuestDelegate - (void)handleNIMCustomMessage:(NIMMessage *)message { NIMCustomObject *obj = (NIMCustomObject *)message.messageObject; if (obj.attachment != nil && [obj.attachment isKindOfClass:[AttachmentModel class]]) { AttachmentModel *attachment = (AttachmentModel *)obj.attachment; if (attachment.first == CustomMessageType_Gift) { - GiftReceiveInfoModel * receiveInfo = [GiftReceiveInfoModel mewModelWithJSON:attachment.data]; + MewGiftReceiveInfoModel * receiveInfo = [MewGiftReceiveInfoModel mewModelWithJSON:attachment.data]; - [self receiveGiftHandleSendGiftAnimation:attachment]; - [self receiveGift:receiveInfo]; + [self mew_receiveGiftHandleSendGiftAnimation:attachment]; + [self mew_receiveGift:receiveInfo]; } } } @@ -112,12 +112,12 @@ #pragma mark - 普通礼物 ///收到了礼物 -- (void)receiveGift:(GiftReceiveInfoModel *)receiveInfo { +- (void)mew_receiveGift:(MewGiftReceiveInfoModel *)receiveInfo { ///CPU警告的时候 需要停止接收动画 - RoomInfoModel * roomInfor = [self.delegate getRoomInformation]; - GiftInfoModel *giftInfo = receiveInfo.gift != nil ? receiveInfo.gift : receiveInfo.giftInfo; + MewRoomInfoModel * roomInfor = [self.delegate mew_getRoomInformation]; + MewGiftInfoModel *giftInfo = receiveInfo.gift != nil ? receiveInfo.gift : receiveInfo.giftInfo; if (!giftInfo) { - giftInfo = [[YMGiftStorage shareStorage] findGiftInfo: receiveInfo.giftId]; + giftInfo = [[MewGiftStorage shareStorage] mew_findGiftInfo: receiveInfo.giftId]; } ///重新赋值一下 用的时候不用在查找了 真的没有的话 那就没有那个礼物了 if (giftInfo) { @@ -133,12 +133,12 @@ if (self.giftEffectTimer == nil && self.giftEffectQueue.count > 0) { - [self startHandleGiftEffectTimer]; + [self mew_startHandleGiftEffectTimer]; } } ///开启普通礼物特效定时器 -- (void)startHandleGiftEffectTimer { +- (void)mew_startHandleGiftEffectTimer { NSTimeInterval period = 6.0; //设置时间间隔 6秒是 1、单纯的svga 2.有横幅有svga 3、只有横幅 dispatch_queue_t queue = dispatch_get_global_queue(0, 0); dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue); @@ -148,7 +148,7 @@ @kStrongify(self) if (self.giftEffectQueue.count > 0) { dispatch_sync(dispatch_get_main_queue(), ^{ - GiftReceiveInfoModel * receiveModel = [self.giftEffectQueue firstObject]; + MewGiftReceiveInfoModel * receiveModel = [self.giftEffectQueue firstObject]; [self createGiftBannerViewAnimation:receiveModel]; [self.giftEffectQueue removeObject:receiveModel]; }); @@ -161,10 +161,10 @@ self.giftEffectTimer = _timer; } -- (void)createGiftBannerViewAnimation:(GiftReceiveInfoModel *)receiveInfo { - GiftInfoModel *giftInfo = receiveInfo.gift != nil ? receiveInfo.gift : receiveInfo.giftInfo; +- (void)createGiftBannerViewAnimation:(MewGiftReceiveInfoModel *)receiveInfo { + MewGiftInfoModel *giftInfo = receiveInfo.gift != nil ? receiveInfo.gift : receiveInfo.giftInfo; if (!giftInfo) { - giftInfo = [[YMGiftStorage shareStorage] findGiftInfo: receiveInfo.giftId]; + giftInfo = [[MewGiftStorage shareStorage] mew_findGiftInfo: receiveInfo.giftId]; } NSInteger giftTotal = 0; if (receiveInfo.targetUids.count > 0) { @@ -176,33 +176,33 @@ } #pragma mark - 收到礼物展示动画 -- (void)receiveGiftHandleSendGiftAnimation:(AttachmentModel *)attachment { - if (!self.delegate.getRoomInformation.hasAnimationEffect) {return;} - GiftReceiveInfoModel * receiveInfo = [GiftReceiveInfoModel mewModelWithJSON:attachment.data]; - GiftInfoModel * giftInfo = receiveInfo.gift ? receiveInfo.gift : receiveInfo.giftInfo; +- (void)mew_receiveGiftHandleSendGiftAnimation:(AttachmentModel *)attachment { + if (!self.delegate.mew_getRoomInformation.hasAnimationEffect) {return;} + MewGiftReceiveInfoModel * receiveInfo = [MewGiftReceiveInfoModel mewModelWithJSON:attachment.data]; + MewGiftInfoModel * giftInfo = receiveInfo.gift ? receiveInfo.gift : receiveInfo.giftInfo; if (giftInfo == nil) { - giftInfo = [[YMGiftStorage shareStorage] findGiftInfo:receiveInfo.giftId]; + giftInfo = [[MewGiftStorage shareStorage] mew_findGiftInfo:receiveInfo.giftId]; } ///在最外面判断是否可以拿到那个礼物 后面使用就不用判断了 receiveInfo.gift = giftInfo; [self.giftQueue addObject:receiveInfo]; if (self.giftTimer == nil && self.giftQueue > 0) { - [self startGiftQueueTimer]; + [self mew_startGiftQueueTimer]; } } //扫描礼物队列 -- (void)startGiftQueueTimer { +- (void)mew_startGiftQueueTimer { NSTimeInterval period = 0.5; //设置时间间隔一个礼物动画的时间 dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_global_queue(0, 0)); dispatch_source_set_timer(_timer, DISPATCH_TIME_NOW, period * NSEC_PER_SEC, 0 * NSEC_PER_SEC); dispatch_source_set_event_handler(_timer, ^{ dispatch_async(dispatch_get_main_queue(), ^{ if (self.giftQueue.count) { - GiftReceiveInfoModel * receiveInfo = self.giftQueue.firstObject; - [self handoutGiftDistributeAnimation:receiveInfo]; + MewGiftReceiveInfoModel * receiveInfo = self.giftQueue.firstObject; + [self mew_handoutGiftDistributeAnimation:receiveInfo]; [self.giftQueue removeObject:receiveInfo]; }else { dispatch_source_cancel(_timer); @@ -215,10 +215,10 @@ } ///处理礼物的分发动画 -- (void)handoutGiftDistributeAnimation:(GiftReceiveInfoModel *)receiveInfo { - GiftInfoModel * giftInfo = receiveInfo.gift; +- (void)mew_handoutGiftDistributeAnimation:(MewGiftReceiveInfoModel *)receiveInfo { + MewGiftInfoModel * giftInfo = receiveInfo.gift; NSString * sendUid = receiveInfo.uid; - CGPoint starPoint = [self getGiftAnimationPoint:sendUid isEnd:NO]; + CGPoint starPoint = [self mew_getGiftAnimationPoint:sendUid isEnd:NO]; CGPoint endPoint; NSArray * targetUids; targetUids = receiveInfo.targetUids; @@ -231,18 +231,18 @@ if ([userId isKindOfClass:[NSNumber class]]) { userId = ((NSNumber *)userId).stringValue; } - endPoint = [self getGiftAnimationPoint:userId isEnd:YES]; + endPoint = [self mew_getGiftAnimationPoint:userId isEnd:YES]; dispatch_time_t timer = dispatch_time(DISPATCH_TIME_NOW, 0.5 * NSEC_PER_SEC); dispatch_after(timer, dispatch_get_main_queue(), ^{ - [self beginGiftAnimation:giftInfo.giftUrl startPoint:starPoint endPoint:endPoint isRound:NO]; + [self mew_beginGiftAnimation:giftInfo.giftUrl startPoint:starPoint endPoint:endPoint isRound:NO]; }); } } ///起点 -- (CGPoint)getGiftAnimationPoint:(NSString *)uid isEnd:(BOOL)isEnd{ - CGPoint point = [self.delegate animationPointAtStageViewByUid:uid]; +- (CGPoint)mew_getGiftAnimationPoint:(NSString *)uid isEnd:(BOOL)isEnd{ + CGPoint point = [self.delegate mew_animationPointAtStageViewByUid:uid]; //没有找到那个点 那个用户不再坑位上 if (point.x <= 0 || point.y <= 0) { if (isEnd) { @@ -254,7 +254,7 @@ return point; } -- (void)beginGiftAnimation:(NSString *)giftUrl startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint isRound:(BOOL)isRound{ +- (void)mew_beginGiftAnimation:(NSString *)giftUrl startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint isRound:(BOOL)isRound{ FLAnimatedImageView * giftImageView = [self.giftReuseArray anyObject]; if (giftImageView == nil) { CGFloat width = isRound ? (kGetScaleWidth(256)/3) : 55; @@ -276,12 +276,12 @@ [giftImageView sd_setImageWithURL:[NSURL URLWithString:giftUrl]]; [self.lowLevelView addSubview:giftImageView]; - CAAnimationGroup *group = [CHRoomAnimationGroup createGiftAnimationStartPoint:startPoint endPoint:endPoint]; + CAAnimationGroup *group = [MewRoomAnimationGroup Mew_CreateGiftAnimationStartPoint:startPoint endPoint:endPoint]; [giftImageView.layer addAnimation:group forKey:@"giftDisplayViewAnimation"]; - [self performSelector:@selector(aniationDidFinish:) withObject:giftImageView afterDelay:(3.2+0.25)]; + [self performSelector:@selector(mew_aniationDidFinish:) withObject:giftImageView afterDelay:(3.2+0.25)]; } -- (void)aniationDidFinish:(FLAnimatedImageView *)giftImageView{ +- (void)mew_aniationDidFinish:(FLAnimatedImageView *)giftImageView{ [giftImageView removeFromSuperview]; giftImageView.image = nil; giftImageView.hidden = YES; @@ -291,23 +291,23 @@ #pragma mark - Getters And Setters -- (NSMutableArray *)giftEffectQueue { +- (NSMutableArray *)giftEffectQueue { if (!_giftEffectQueue) { _giftEffectQueue = [NSMutableArray array]; } return _giftEffectQueue; } -- (YMRoomAnimationHitView *)lowLevelView { +- (MewRoomAnimationHitView *)lowLevelView { if (!_lowLevelView) { - _lowLevelView = [[YMRoomAnimationHitView alloc] init]; + _lowLevelView = [[MewRoomAnimationHitView alloc] init]; _lowLevelView.backgroundColor = [UIColor clearColor]; _lowLevelView.userInteractionEnabled = YES; } return _lowLevelView; } -- (NSMutableArray *)giftQueue { +- (NSMutableArray *)giftQueue { if (!_giftQueue) { _giftQueue = [NSMutableArray array]; } diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/YMRoomAnimationView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/YMRoomAnimationView.h deleted file mode 100644 index 555a281..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/AnimationView/YMRoomAnimationView.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// YMRoomAnimationView.h -// yinmeng-ios -// -// Created by 触海 on 2023/11/21. -// - -#import "YMRoomAnimationHitView.h" -#import "CHRoomHostDelegate.h" -#import "CHRoomGuestDelegate.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface YMRoomAnimationView : YMRoomAnimationHitView - --(void)resumeAnimationTimer; -- (instancetype)initWithDelegate:(id)delegate; - -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/CHRoomAnimationProtocol.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/CHRoomAnimationProtocol.h deleted file mode 100644 index 8017423..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/CHRoomAnimationProtocol.h +++ /dev/null @@ -1,24 +0,0 @@ -// -// RoomAnimationProtocol.h -// yinmeng-ios -// -// Created by 触海 on 2023/11/21. -// - -#import -/** XPRoomAnimationView 用到的协议。 - - RoomVC 的子 View 之间的通信协议,通过 CHRoomHostDelegate 和 CHRoomGuestDelegate 继承实现。 - - 调用方向:XPRoomAnimationView —> CHRoomHostDelegate —> CHRoomAnimationProtocol(CHRoomGuestDelegate继承) - - */ -@protocol CHRoomAnimationProtocol - -@optional -/** - * StageView 专用。 - */ -- (CGPoint)animationPointAtStageViewByUid:(NSString *)uid; -@end - diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/CHRoomGuestDelegate.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/CHRoomGuestDelegate.h deleted file mode 100644 index 55d34d6..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/CHRoomGuestDelegate.h +++ /dev/null @@ -1,41 +0,0 @@ -// -// RoomGuestDelegate.h -// mew-ios -// -// Created by 触海 on 2023/11/20. -// - -#import -#import "MicroQueueProtocol.h" -#import "CHRoomAnimationProtocol.h" - -@class NIMMessage, NIMRecentSession; -NS_ASSUME_NONNULL_BEGIN -/** RoomVC 子 View 的通用协议 - - 调用方向:RoomVC —> RoomGuestDelegate - - **Note:** - - 继承 MicroQueueProtocol、CHRoomAnimationProtocol 等协议用于子 View 做实现。 - 实现后的调用方向:子 View —> CHRoomHostDelegate —> XXXProtocol(RoomGuestDelegate)。 - */ - -@protocol CHRoomGuestDelegate - -@optional - -- (void)onRoomInfoUpdate; -- (void)onUserInfoUpdate; -- (void)onRoomEntered; - -/// NIM 事件监听 -- (void)handleNIMNotificationMessage:(NIMMessage *)message; -- (void)handleNIMCustomMessage:(NIMMessage *)message; -- (void)handleNIMTextMessage:(NIMMessage *)message; -- (void)addNIMRecentSession:(NIMRecentSession *)session; -- (void)removeNIMRecentSession:(NIMRecentSession *)session; -@end - - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/CHRoomHostDelegate.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/CHRoomHostDelegate.h deleted file mode 100644 index 0f7acd1..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/CHRoomHostDelegate.h +++ /dev/null @@ -1,29 +0,0 @@ -// -// CHCHRoomHostDelegate.h -// yinmeng-ios -// -// Created by 触海 on 2023/12/1. -// - -#import -#import "MicroQueueProtocol.h" -#import "CHRoomAnimationProtocol.h" -@class RoomInfoModel, UserInfoModel; - -NS_ASSUME_NONNULL_BEGIN - -@protocol CHRoomHostDelegate -// 获取房间信息 -- (RoomInfoModel *)getRoomInformation; -// 获取用户信息 -- (UserInfoModel *)getUserInformation; - -/// 退出房间 -- (void)exitCurrentRoom; - -/// 获取当前的导航控制器 -- (UINavigationController *)getCurrentNavigationController; - -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/MewRoomSendTextView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/MewRoomSendTextView.h new file mode 100644 index 0000000..2d241fa --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/MewRoomSendTextView.h @@ -0,0 +1,23 @@ +// +// MewRoomSendTextView.h +// mew-ios +// +// Created by 触海 on 2023/11/19. +// + +#import +#import "MewRoomHostDelegate.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MewRoomSendTextView : UIView + +- (instancetype)initWithDelegate:(id)delegate; +///输入框 +@property (nonatomic, strong, readonly) UITextField *editTextFiled; +///发小消息的弹框 ++ (instancetype)Mew_ShowTextView:(UIView *)view delegate:(id)delegate; + +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/YMRoomSendTextView.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/MewRoomSendTextView.m similarity index 86% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/YMRoomSendTextView.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/MewRoomSendTextView.m index dbae6f2..9eb5020 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/YMRoomSendTextView.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/MewRoomSendTextView.m @@ -1,11 +1,11 @@ // -// YMRoomSendTextView.m +// MewRoomSendTextView.m // mew-ios // // Created by 触海 on 2023/11/19. // -#import "YMRoomSendTextView.h" +#import "MewRoomSendTextView.h" /// Tool #import "MEWThemeColor.h" #import "UIImage+Utils.h" @@ -18,15 +18,15 @@ #import #import /// Model -#import "YMMessageRemoteExtModel.h" +#import "MewMessageRemoteExtModel.h" #import "UserInfoModel.h" -#import "RoomInfoModel.h" +#import "MewRoomInfoModel.h" //公屏限制最大字数 #define MAX_STARWORDS_LENGTH 300 -@interface YMRoomSendTextView() +@interface MewRoomSendTextView() @property (nonatomic,strong) UIStackView *stackView; ///输入框 @property (nonatomic, strong) UITextField *editTextFiled; @@ -35,17 +35,17 @@ ///文本输入的内容 @property (nonatomic,copy) NSString *inputMessage; ///代理 -@property (nonatomic,weak) id delegate; +@property (nonatomic,weak) id delegate; @end -@implementation YMRoomSendTextView +@implementation MewRoomSendTextView - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; } -- (instancetype)initWithDelegate:(id)delegate { +- (instancetype)initWithDelegate:(id)delegate { self = [super initWithFrame:CGRectMake(0, KScreenHeight - 40, KScreenWidth, 40)]; if (self) { self.delegate = delegate; @@ -59,16 +59,16 @@ #pragma mark - Public Method -+ (instancetype)showTextView:(UIView *)view delegate:(id)delegate { - __block YMRoomSendTextView * sendTextView; ++ (instancetype)Mew_ShowTextView:(UIView *)view delegate:(id)delegate { + __block MewRoomSendTextView * sendTextView; [view.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { - if ([obj isKindOfClass:[YMRoomSendTextView class]]) { + if ([obj isKindOfClass:[MewRoomSendTextView class]]) { sendTextView = obj; *stop = YES; } }]; if (sendTextView == nil) { - sendTextView = [[YMRoomSendTextView alloc] initWithDelegate:delegate]; + sendTextView = [[MewRoomSendTextView alloc] initWithDelegate:delegate]; [view addSubview:sendTextView]; } sendTextView.hidden = NO; @@ -87,9 +87,9 @@ #pragma mark - Response -- (void)sendButtonDidClick:(UIButton *)sender { - UserInfoModel * userInfo = [self.delegate getUserInformation]; - YMMessageRemoteExtModel *extModel = [[YMMessageRemoteExtModel alloc] init]; +- (void)mew_sendButtonDidClick:(UIButton *)sender { + UserInfoModel * userInfo = [self.delegate mew_getUserInformation]; + MewMessageRemoteExtModel *extModel = [[MewMessageRemoteExtModel alloc] init]; extModel.erbanNo = userInfo.erbanNo; extModel.newUser = userInfo.newUser; extModel.vipIcon = userInfo.userVipInfoVO.vipIcon; @@ -103,7 +103,7 @@ option.yidunEnabled = YES; option.businessId = KeyWithType(keyType_YiDunBussinessId); message.antiSpamOption = option; - NSString * sessionId = [NSString stringWithFormat:@"%ld", [self.delegate getRoomInformation].roomId]; + NSString * sessionId = [NSString stringWithFormat:@"%ld", [self.delegate mew_getRoomInformation].roomId]; //构造会话 NIMSession *session = [NIMSession session:sessionId type:NIMSessionTypeChatroom]; [[NIMSDK sharedSDK].chatManager sendMessage:message toSession:session completion:^(NSError * _Nullable error) { @@ -113,7 +113,7 @@ }]; } -- (void)keyboardWillShow:(NSNotification *)notification { +- (void)mew_keyboardWillShow:(NSNotification *)notification { [self.superview bringSubviewToFront:self]; NSDictionary *info = [notification userInfo]; NSValue *value = [info objectForKey:UIKeyboardFrameEndUserInfoKey]; @@ -135,7 +135,7 @@ } //键盘隐藏 -- (void)keyboardWillHidden:(NSNotification *)notification { +- (void)mew_keyboardWillHidden:(NSNotification *)notification { NSDictionary *info = [notification userInfo]; CGFloat duration = [[info objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]; [UIView animateWithDuration:duration animations:^{ @@ -147,7 +147,7 @@ }]; } --(void)textFieldEditChanged:(NSNotification *)noti{ +-(void)mew_textFieldEditChanged:(NSNotification *)noti{ UITextField *textField = (UITextField *)noti.object; NSString *toBeString = textField.text; NSString *lang = [textField.textInputMode primaryLanguage]; @@ -207,9 +207,9 @@ } - (void)addNotification { - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHidden:) name:UIKeyboardWillHideNotification object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldEditChanged:) name:UITextFieldTextDidChangeNotification object:self.editTextFiled]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mew_keyboardWillHidden:) name:UIKeyboardWillHideNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mew_keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mew_textFieldEditChanged:) name:UITextFieldTextDidChangeNotification object:self.editTextFiled]; } #pragma mark - Get @@ -236,7 +236,7 @@ _sendButton.enabled = NO; _sendButton.layer.cornerRadius = 5.0; _sendButton.layer.masksToBounds = YES; - [_sendButton addTarget:self action:@selector(sendButtonDidClick:) forControlEvents:UIControlEventTouchUpInside]; + [_sendButton addTarget:self action:@selector(mew_sendButtonDidClick:) forControlEvents:UIControlEventTouchUpInside]; } return _sendButton; } diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/YMRoomSendTextView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/YMRoomSendTextView.h deleted file mode 100644 index ab20bef..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MenuContainerView/YMRoomSendTextView.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// YMRoomSendTextView.h -// mew-ios -// -// Created by 触海 on 2023/11/19. -// - -#import -#import "CHRoomHostDelegate.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface YMRoomSendTextView : UIView - -- (instancetype)initWithDelegate:(id)delegate; -///输入框 -@property (nonatomic, strong, readonly) UITextField *editTextFiled; -///发小消息的弹框 -+ (instancetype)showTextView:(UIView *)view delegate:(id)delegate; - -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/MewRoomMessageContainerView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/MewRoomMessageContainerView.h new file mode 100644 index 0000000..ebf8d39 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/MewRoomMessageContainerView.h @@ -0,0 +1,19 @@ +// +// MewRoomMessageContainerView.h +// mew-ios +// +// Created by 触海 on 2023/11/17. +// + +#import +#import "MewRoomHostDelegate.h" +#import "MewRoomGuestDelegate.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MewRoomMessageContainerView : UIView + +- (instancetype)initWithDelegate:(id)delegate; +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/YMRoomMessageContainerView.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/MewRoomMessageContainerView.m similarity index 72% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/YMRoomMessageContainerView.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/MewRoomMessageContainerView.m index 82a8767..48af079 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/YMRoomMessageContainerView.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/MewRoomMessageContainerView.m @@ -1,23 +1,23 @@ // -// YMRoomMessageContainerView.m +// MewRoomMessageContainerView.m // mew-ios // // Created by 触海 on 2023/11/17. // -#import "YMRoomMessageContainerView.h" +#import "MewRoomMessageContainerView.h" /// View #import "MewRoomMessageTableCell.h" -#import "CHRoomMessageHeaderView.h" +#import "MewRoomMessageHeaderView.h" /// Model -#import "YMMessageInfoModel.h" +#import "MewMessageInfoModel.h" #import "AttachmentModel.h" -#import "RoomInfoModel.h" +#import "MewRoomInfoModel.h" /// Tool #import "NSArray+MewSafe.h" -#import "YMRoomMessageParser.h" -#import "YMRoomMessageConstant.h" -#import "YMRoomMessageFilter.h" +#import "MewRoomMessageParser.h" +#import "MewRoomMessageConstant.h" +#import "MewRoomMessageFilter.h" #import "ClientConfig.h" #import "AccountInfoStorage.h" #import "MEWThemeColor.h" @@ -25,29 +25,29 @@ #import #import -@interface YMRoomMessageContainerView() +@interface MewRoomMessageContainerView() ///房间的代理 -@property (nonatomic,weak) id hostDelegate; +@property (nonatomic,weak) id hostDelegate; @property (nonatomic, strong) UITableView *messageTableView; ///数据源 -@property (nonatomic,strong) NSMutableArray *datasource; +@property (nonatomic,strong) NSMutableArray *datasource; ///临时存放消息的数组 @property (nonatomic,strong) NSMutableArray *incomingMessages; ///messageView 持有这个工具类 进行数据的分发操作 TODO: 有需要在改 -@property (nonatomic,strong) YMRoomMessageParser *roomMessageParser; +@property (nonatomic,strong) MewRoomMessageParser *roomMessageParser; ///头部 -@property (nonatomic,strong) CHRoomMessageHeaderView *headerView; +@property (nonatomic,strong) MewRoomMessageHeaderView *headerView; @end -@implementation YMRoomMessageContainerView +@implementation MewRoomMessageContainerView - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; } #pragma mark - Init -- (instancetype)initWithDelegate:(id)delegate { +- (instancetype)initWithDelegate:(id)delegate { self = [super init]; if (self) { self.hostDelegate = delegate; @@ -58,13 +58,13 @@ } -#pragma mark - CHRoomGuestDelegate -- (void)handleNIMTextMessage:(NIMMessage *)message { - [self addCurrentRoomMessage:message]; +#pragma mark - MewRoomGuestDelegate +- (void)mew_handleNIMTextMessage:(NIMMessage *)message { + [self mew_addCurrentRoomMessage:message]; } -- (void)handleNIMNotificationMessage:(NIMMessage *)message { +- (void)mew_handleNIMNotificationMessage:(NIMMessage *)message { NIMNotificationObject *notiMsg = (NIMNotificationObject *)message.messageObject; NIMChatroomNotificationContent *content = (NIMChatroomNotificationContent *)notiMsg.content; if (content.eventType == NIMChatroomEventTypeEnter) { @@ -74,53 +74,53 @@ [self handleFetchHistoryMessage:message]; } else { ///插入进房消息及房间公告提示 - [self addCurrentRoomMessage:message]; + [self mew_addCurrentRoomMessage:message]; } } } -- (void)handleNIMCustomMessage:(NIMMessage *)message { +- (void)mew_handleNIMCustomMessage:(NIMMessage *)message { if ([self isCanDisplayMessage:message]) { - [self addCurrentRoomMessage:message]; + [self mew_addCurrentRoomMessage:message]; } } - (void)handleFetchHistoryMessage:(NIMMessage *)message { - NSString *roomId = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInformation.roomId]; - NIMHistoryMessageSearchOption *option = [self configWithHistoryMessageOption]; - option.startTime = self.hostDelegate.getRoomInformation.clearScreenTime / 1000.0; + NSString *roomId = [NSString stringWithFormat:@"%ld", self.hostDelegate.mew_getRoomInformation.roomId]; + NIMHistoryMessageSearchOption *option = [self mew_configWithHistoryMessageOption]; + option.startTime = self.hostDelegate.mew_getRoomInformation.clearScreenTime / 1000.0; option.order = NIMMessageSearchOrderAsc; [[NIMSDK sharedSDK].chatroomManager fetchMessageHistory:roomId option:option result:^(NSError * _Nullable error, NSArray * _Nullable messages) { if (messages.count) { //如果拉取的数量等于请求的数量,说明这个时间点以后的消息数量大于等于需要拉取的数量,直接拉取最新的50条 if (messages.count == [ClientConfig shareConfig].configInfo.roomMessageCount) { - NIMHistoryMessageSearchOption *option = [self configWithHistoryMessageOption]; + NIMHistoryMessageSearchOption *option = [self mew_configWithHistoryMessageOption]; option.order = NIMMessageSearchOrderDesc; [[NIMSDK sharedSDK].chatroomManager fetchMessageHistory:roomId option:option result:^(NSError * _Nullable error, NSArray * _Nullable messages) { - [self reloadMessageDataWithMessages:messages]; + [self mew_reloadMessageDataWithMessages:messages]; //执行插入动画并滚动 - [self scrollToBottomAnimated:YES]; + [self mew_scrollToBottomAnimated:YES]; ///插入进房消息及房间公告提示 - [self addCurrentRoomMessage:message]; + [self mew_addCurrentRoomMessage:message]; }]; return; } - [self reloadMessageDataWithMessages:messages]; + [self mew_reloadMessageDataWithMessages:messages]; //执行插入动画并滚动 - [self scrollToBottomAnimated:YES]; + [self mew_scrollToBottomAnimated:YES]; } }]; } #pragma mark - Private Method -- (NIMHistoryMessageSearchOption *)configWithHistoryMessageOption{ +- (NIMHistoryMessageSearchOption *)mew_configWithHistoryMessageOption{ NIMHistoryMessageSearchOption *option = [[NIMHistoryMessageSearchOption alloc] init]; option.limit = [ClientConfig shareConfig].configInfo.roomMessageCount; option.messageTypes = @[@(NIMMessageTypeText)]; return option; } -- (void)reloadMessageDataWithMessages:(NSArray *)messages { +- (void)mew_reloadMessageDataWithMessages:(NSArray *)messages { if (self.datasource.count > kRoomMessageMaxLength) { NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, kRoomMessageMaxLength/2)]; NSArray *needRemoveMsgArray = [self.datasource objectsAtIndexes:set]; @@ -128,20 +128,20 @@ } // 执行插入 for (NIMMessage *item in messages) { - [self.datasource addObject:[self.roomMessageParser parseMessageAttribute:item]]; + [self.datasource addObject:[self.roomMessageParser mew_parseMessageAttribute:item]]; } [self.messageTableView reloadData]; } ///添加信息 -- (void)addCurrentRoomMessage:(NIMMessage *)message { +- (void)mew_addCurrentRoomMessage:(NIMMessage *)message { [self.incomingMessages addObject:message]; - [self appendScrollToBottom]; + [self mew_appendScrollToBottom]; } /// 追加信息 -- (void)appendScrollToBottom { +- (void)mew_appendScrollToBottom { if (self.incomingMessages.count < 1) { - [self scrollToBottomAnimated:YES]; + [self mew_scrollToBottomAnimated:YES]; return; } @@ -153,8 +153,8 @@ NSMutableArray *indexPaths = [NSMutableArray array]; for (NIMMessage *item in self.incomingMessages) { - if ([self.roomMessageParser parseMessageAttribute:item] != nil) { - [self.datasource addObject:[self.roomMessageParser parseMessageAttribute:item]]; + if ([self.roomMessageParser mew_parseMessageAttribute:item] != nil) { + [self.datasource addObject:[self.roomMessageParser mew_parseMessageAttribute:item]]; [indexPaths addObject:[NSIndexPath indexPathForRow:self.datasource.count - 1 inSection:0]]; } @@ -164,7 +164,7 @@ } ///执行插入动画并滚动 -- (void)scrollToBottomAnimated:(BOOL)animated { +- (void)mew_scrollToBottomAnimated:(BOOL)animated { NSInteger s = [self.messageTableView numberOfSections]; //有多少组 if (s<1) return; NSInteger r = [self.messageTableView numberOfRowsInSection:s-1]; //最后一组行 @@ -179,12 +179,12 @@ NIMCustomObject *obj = (NIMCustomObject *)message.messageObject; if (obj.attachment != nil && [obj.attachment isKindOfClass:[AttachmentModel class]]) { AttachmentModel *attachment = (AttachmentModel *)obj.attachment; - return [[[YMRoomMessageFilter supportMessageDic] objectForKey:@(attachment.first)] containsObject:@(attachment.second)]; + return [[[MewRoomMessageFilter mew_supportMessageDic] objectForKey:@(attachment.first)] containsObject:@(attachment.second)]; } return NO; } -- (void)onRoomEntered { +- (void)mew_onRoomEntered { self.headerView.bubbleColor = UIColorMewRGBAlpha(0xFFFFFF, 0.15);; } @@ -198,14 +198,14 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { MewRoomMessageTableCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([MewRoomMessageTableCell class])]; - YMMessageInfoModel *messageInfo = [self.datasource mewSafeObjectAtIndex:indexPath.section]; + MewMessageInfoModel *messageInfo = [self.datasource mewSafeObjectAtIndex:indexPath.section]; cell.messageInfo = messageInfo; return cell; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { - YMMessageInfoModel *model = [self.datasource mewSafeObjectAtIndex:indexPath.row]; + MewMessageInfoModel *model = [self.datasource mewSafeObjectAtIndex:indexPath.row]; return model.rowHeight; } @@ -254,7 +254,7 @@ return _messageTableView; } -- (NSMutableArray *)datasource { +- (NSMutableArray *)datasource { if (!_datasource) { _datasource = [NSMutableArray array]; } @@ -268,17 +268,17 @@ return _incomingMessages; } -- (YMRoomMessageParser *)roomMessageParser { +- (MewRoomMessageParser *)roomMessageParser { if (!_roomMessageParser) { - _roomMessageParser = [[YMRoomMessageParser alloc] init]; + _roomMessageParser = [[MewRoomMessageParser alloc] init]; _roomMessageParser.hostDelegate = self.hostDelegate; } return _roomMessageParser; } -- (CHRoomMessageHeaderView *)headerView { +- (MewRoomMessageHeaderView *)headerView { if (!_headerView) { - _headerView = [[CHRoomMessageHeaderView alloc] init]; + _headerView = [[MewRoomMessageHeaderView alloc] init]; } return _headerView; } diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/CHRoomMessageHeaderView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/MewRoomMessageHeaderView.h similarity index 84% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/CHRoomMessageHeaderView.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/MewRoomMessageHeaderView.h index 4021e31..bc76623 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/CHRoomMessageHeaderView.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/MewRoomMessageHeaderView.h @@ -9,7 +9,7 @@ NS_ASSUME_NONNULL_BEGIN -@interface CHRoomMessageHeaderView : UIView +@interface MewRoomMessageHeaderView : UIView ///头部的背景颜色 @property (nonatomic,strong) UIColor *bubbleColor; @end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/CHRoomMessageHeaderView.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/MewRoomMessageHeaderView.m similarity index 90% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/CHRoomMessageHeaderView.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/MewRoomMessageHeaderView.m index a1e6dab..940266f 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/CHRoomMessageHeaderView.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/MewRoomMessageHeaderView.m @@ -5,22 +5,22 @@ // Created by 触海 on 2023/11/21. // -#import "CHRoomMessageHeaderView.h" +#import "MewRoomMessageHeaderView.h" ///Third #import ///Tool #import "MEWThemeColor.h" -#import "YMRoomMessageConstant.h" +#import "MewRoomMessageConstant.h" #import "YMMacro.h" -@interface CHRoomMessageHeaderView () +@interface MewRoomMessageHeaderView () ///背景 @property (nonatomic,strong) UIView *bubbleBgView; ///显示 @property (nonatomic,strong) UILabel *titleTextLabel; @end -@implementation CHRoomMessageHeaderView +@implementation MewRoomMessageHeaderView - (instancetype)initWithFrame:(CGRect)frame { @@ -41,7 +41,7 @@ /// 设置绿色消息 NSString *title = @"平台严禁未成年人直播或打赏,倡导绿色互动,禁止宣传及发布政治、低俗、暴力、色情等违规违法内容,严禁违规交易和诱导欺诈用户,如有发现请及时举报。"; self.titleTextLabel.text = title; - CGFloat height = [self getHeaderViewHeight:title] + kRoomMessageTextSpace *2; + CGFloat height = [self mew_getHeaderViewHeight:title] + kRoomMessageTextSpace *2; [self mas_makeConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(kRoomMessageMaxWidth); make.height.mas_equalTo(height); @@ -59,7 +59,7 @@ } ///获取头部的高度 -- (CGFloat)getHeaderViewHeight:(NSString *)title { +- (CGFloat)mew_getHeaderViewHeight:(NSString *)title { return [title boundingRectWithSize:CGSizeMake(kRoomMessageMaxWidth - 20, CGFLOAT_MAX) options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:kRoomMessageTextFont]} context:nil].size.height; } diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/YMMessageInfoModel.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/MewMessageInfoModel.h similarity index 95% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/YMMessageInfoModel.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/MewMessageInfoModel.h index edc385e..bcdcdf9 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/YMMessageInfoModel.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/MewMessageInfoModel.h @@ -1,5 +1,5 @@ // -// YMMessageInfoModel.h +// MewMessageInfoModel.h // mew-ios // // Created by 触海 on 2023/11/17. @@ -9,7 +9,7 @@ NS_ASSUME_NONNULL_BEGIN -@interface YMMessageInfoModel : NSObject +@interface MewMessageInfoModel : NSObject ///显示文本 @property (nonatomic,strong) NSAttributedString *content; ///cell的高度 diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/YMMessageInfoModel.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/MewMessageInfoModel.m similarity index 89% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/YMMessageInfoModel.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/MewMessageInfoModel.m index d7cace4..9210523 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/YMMessageInfoModel.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/MewMessageInfoModel.m @@ -1,15 +1,15 @@ // -// YMMessageInfoModel.m +// MewMessageInfoModel.m // mew-ios // // Created by 触海 on 2023/11/17. // -#import "YMMessageInfoModel.h" +#import "MewMessageInfoModel.h" #import -#import "YMRoomMessageConstant.h" +#import "MewRoomMessageConstant.h" -@implementation YMMessageInfoModel +@implementation MewMessageInfoModel - (instancetype)init { if ([super init]) { diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/YMMessageRemoteExtModel.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/MewMessageRemoteExtModel.h similarity index 87% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/YMMessageRemoteExtModel.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/MewMessageRemoteExtModel.h index fd34711..48e8dfc 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/YMMessageRemoteExtModel.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/MewMessageRemoteExtModel.h @@ -1,5 +1,5 @@ // -// YMMessageRemoteExtModel.h +// MewMessageRemoteExtModel.h // mew-ios // // Created by 触海 on 2023/11/7. @@ -10,7 +10,7 @@ NS_ASSUME_NONNULL_BEGIN -@interface YMMessageRemoteExtModel : NSObject +@interface MewMessageRemoteExtModel : NSObject @property (nonatomic,assign) NSInteger erbanNo; ///性别 @property (nonatomic, assign) GenderType gender; diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/MewMessageRemoteExtModel.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/MewMessageRemoteExtModel.m new file mode 100644 index 0000000..4d16279 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/MewMessageRemoteExtModel.m @@ -0,0 +1,12 @@ +// +// MewMessageRemoteExtModel.m +// mew-ios +// +// Created by 触海 on 2023/11/7. +// + +#import "MewMessageRemoteExtModel.h" + +@implementation MewMessageRemoteExtModel + +@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/YMMessageRemoteExtModel.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/YMMessageRemoteExtModel.m deleted file mode 100644 index 4b16cf5..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Model/YMMessageRemoteExtModel.m +++ /dev/null @@ -1,12 +0,0 @@ -// -// YMMessageRemoteExtModel.m -// mew-ios -// -// Created by 触海 on 2023/11/7. -// - -#import "YMMessageRemoteExtModel.h" - -@implementation YMMessageRemoteExtModel - -@end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageConstant.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageConstant.h similarity index 75% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageConstant.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageConstant.h index c9d5287..13d0ba2 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageConstant.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageConstant.h @@ -1,13 +1,13 @@ // -// YMRoomMessageConstant.h +// MewRoomMessageConstant.h // mew-ios // // Created by 触海 on 2023/11/7. // #import "YMMacro.h" -#ifndef YMRoomMessageConstant_h -#define YMRoomMessageConstant_h +#ifndef MewRoomMessageConstant_h +#define MewRoomMessageConstant_h #define kRoomMessageMaxWidth (KScreenWidth - 15 - 90) ///公屏文本字体的大小 @@ -20,4 +20,4 @@ static CGFloat kRoomMessageBubbleCornerRadius = 7.0; static NSInteger kRoomMessageMaxLength = 1000.0; -#endif /* YMRoomMessageConstant_h */ +#endif /* MewRoomMessageConstant_h */ diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageFilter.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageFilter.h similarity index 57% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageFilter.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageFilter.h index cb8dae6..97a3c67 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageFilter.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageFilter.h @@ -1,5 +1,5 @@ // -// YMRoomMessageFilter.h +// MewRoomMessageFilter.h // yinmeng-ios // // Created by 触海 on 2023/11/21. @@ -9,8 +9,8 @@ NS_ASSUME_NONNULL_BEGIN -@interface YMRoomMessageFilter : NSObject -+ (NSDictionary *)supportMessageDic; +@interface MewRoomMessageFilter : NSObject ++ (NSDictionary *)mew_supportMessageDic; @end NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageFilter.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageFilter.m similarity index 90% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageFilter.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageFilter.m index 8cd1b5c..3d4960e 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageFilter.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageFilter.m @@ -1,16 +1,16 @@ // -// YMRoomMessageFilter.m +// MewRoomMessageFilter.m // yinmeng-ios // // Created by 触海 on 2023/11/21. // -#import "YMRoomMessageFilter.h" +#import "MewRoomMessageFilter.h" #import "AttachmentModel.h" -@implementation YMRoomMessageFilter +@implementation MewRoomMessageFilter -+ (NSDictionary *)supportMessageDic { ++ (NSDictionary *)mew_supportMessageDic { return @{ @(CustomMessageType_AllMicroSend): [NSSet setWithObjects: diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageParser.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageParser.h new file mode 100644 index 0000000..0e6c82d --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageParser.h @@ -0,0 +1,23 @@ +// +// MewRoomMessageParser.h +// mew-ios +// +// Created by 触海 on 2023/11/20. +// + +#import +#import "MewRoomHostDelegate.h" +@class NIMMessage, MewMessageInfoModel; + +NS_ASSUME_NONNULL_BEGIN + +@interface MewRoomMessageParser : NSObject + +- (MewMessageInfoModel*)mew_parseMessageAttribute:(NIMMessage *)message; + +///房间的代理 +@property (nonatomic,weak) id hostDelegate; + +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageParser.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageParser.m similarity index 55% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageParser.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageParser.m index cdabacd..3d89725 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageParser.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/MewRoomMessageParser.m @@ -1,53 +1,49 @@ // -// YMRoomMessageParser.m +// MewRoomMessageParser.m // mew-ios // // Created by 触海 on 2023/11/20. // -#import "YMRoomMessageParser.h" +#import "MewRoomMessageParser.h" /// Third #import #import #import /// Model -#import "YMMessageInfoModel.h" -#import "YMMessageRemoteExtModel.h" +#import "MewMessageInfoModel.h" +#import "MewMessageRemoteExtModel.h" #import "AttachmentModel.h" -#import "GiftReceiveInfoModel.h" -#import "GiftInfoModel.h" +#import "MewGiftReceiveInfoModel.h" +#import "MewGiftInfoModel.h" /// Tool #import "AccountInfoStorage.h" -#import "YMRoomMessageConstant.h" -#import "YMGiftStorage.h" +#import "MewRoomMessageConstant.h" +#import "MewGiftStorage.h" #import "NetImageConfig.h" #import "NetImageView.h" -@implementation YMRoomMessageParser +@implementation MewRoomMessageParser -- (YMMessageInfoModel *)parseMessageAttribute:(NIMMessage *)message { +- (MewMessageInfoModel *)mew_parseMessageAttribute:(NIMMessage *)message { NIMMessageType messageType = message.messageType; - YMMessageInfoModel *messageInfo = [[YMMessageInfoModel alloc] init]; + MewMessageInfoModel *messageInfo = [[MewMessageInfoModel alloc] init]; switch (messageType) { case NIMMessageTypeText: - return [self makeChatAttribute:message messageInfo:messageInfo]; + return [self mew_makeChatAttribute:message messageInfo:messageInfo]; case NIMMessageTypeCustom: - return [self makeCustomAttribute:message messageInfo:messageInfo]; + return [self mew_makeCustomAttribute:message messageInfo:messageInfo]; default: return nil; } } -- (NSString *)parseMessageBubble:(NIMMessage *)message { - YMMessageRemoteExtModel *model = [YMMessageRemoteExtModel mewModelWithJSON:message.remoteExt[message.from]]; - return model.iosBubbleUrl ? model.iosBubbleUrl : @""; -} #pragma mark - Private Method /// @param message 消息的实体 -- (YMMessageInfoModel*)makeChatAttribute:(NIMMessage *)message messageInfo:(YMMessageInfoModel *)messageInfo{ +- (MewMessageInfoModel*)mew_makeChatAttribute:(NIMMessage *)message messageInfo:(MewMessageInfoModel *)messageInfo{ NSString * uid = [AccountInfoStorage instance].getUid; messageInfo.isShowAvatar = YES; messageInfo.uid = message.from; @@ -62,7 +58,7 @@ // // 强制排版(从左到右) paraStyle.alignment = NSTextAlignmentLeft; paraStyle.baseWritingDirection = NSWritingDirectionLeftToRight; - NSMutableAttributedString *nameAtt = [self createTextAttribute:nick color:[UIColor colorWithWhite:1 alpha:0.5] font:kRoomMessageTextFont]; + NSMutableAttributedString *nameAtt = [self mew_createTextAttribute:nick color:[UIColor colorWithWhite:1 alpha:0.5] font:kRoomMessageTextFont]; nameAtt.yy_paragraphStyle = paraStyle; [attribute appendAttributedString:nameAtt]; NSMutableAttributedString *msgStr; @@ -76,39 +72,39 @@ } /// 用户公屏聊天 -- (YMMessageInfoModel *)makeCustomAttribute:(NIMMessage *)message messageInfo:(YMMessageInfoModel*)messageInfo{ +- (MewMessageInfoModel *)mew_makeCustomAttribute:(NIMMessage *)message messageInfo:(MewMessageInfoModel*)messageInfo{ NIMCustomObject *obj = (NIMCustomObject *)message.messageObject; AttachmentModel *attachment = (AttachmentModel *)obj.attachment; - YMMessageRemoteExtModel * model = [YMMessageRemoteExtModel mewModelWithJSON:message.remoteExt[message.from]]; + MewMessageRemoteExtModel * model = [MewMessageRemoteExtModel mewModelWithJSON:message.remoteExt[message.from]]; int first = attachment.first; if (first == CustomMessageType_Gift) {///单人送 - return [self createSendGiftAttribute:attachment sendInfo:model messageInfo:messageInfo]; + return [self mew_createSendGiftAttribute:attachment sendInfo:model messageInfo:messageInfo]; } return nil; } -- (YMMessageInfoModel *)createSendGiftAttribute:(AttachmentModel *)attachment sendInfo:(YMMessageRemoteExtModel *)sendInfo messageInfo:(YMMessageInfoModel *)messageInfo{ +- (MewMessageInfoModel *)mew_createSendGiftAttribute:(AttachmentModel *)attachment sendInfo:(MewMessageRemoteExtModel *)sendInfo messageInfo:(MewMessageInfoModel *)messageInfo{ NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] init]; - GiftReceiveInfoModel *info = [GiftReceiveInfoModel mewModelWithJSON:attachment.data]; - GiftInfoModel *giftInfo = info.gift == nil ? info.giftInfo : info.gift; + MewGiftReceiveInfoModel *info = [MewGiftReceiveInfoModel mewModelWithJSON:attachment.data]; + MewGiftInfoModel *giftInfo = info.gift == nil ? info.giftInfo : info.gift; if (giftInfo == nil) { - giftInfo = [[YMGiftStorage shareStorage] findGiftInfo:info.giftId]; + giftInfo = [[MewGiftStorage shareStorage] mew_findGiftInfo:info.giftId]; } //nick - [attribute appendAttributedString:[self createSapceAttribute:2]];; + [attribute appendAttributedString:[self mew_createSapceAttribute:2]];; //打赏 - [attribute appendAttributedString:[self createTextAttribute:@" 打赏 " color:[UIColor colorWithWhite:1 alpha:0.5] font:kRoomMessageTextFont]]; - [attribute appendAttributedString:[self createSapceAttribute:2]]; + [attribute appendAttributedString:[self mew_createTextAttribute:@" 打赏 " color:[UIColor colorWithWhite:1 alpha:0.5] font:kRoomMessageTextFont]]; + [attribute appendAttributedString:[self mew_createSapceAttribute:2]]; //target - [attribute appendAttributedString:[self createSapceAttribute:2]]; + [attribute appendAttributedString:[self mew_createSapceAttribute:2]]; //img - [attribute appendAttributedString:[self createUrlImageAttribute:giftInfo.giftUrl]]; - [attribute appendAttributedString:[self createSapceAttribute:2]]; + [attribute appendAttributedString:[self mew_createUrlImageAttribute:giftInfo.giftUrl]]; + [attribute appendAttributedString:[self mew_createSapceAttribute:2]]; //x N - [attribute appendAttributedString:[self createTextAttribute:[NSString stringWithFormat:@" X%ld",info.giftNum] color:[UIColor whiteColor] font:kRoomMessageTextFont]]; + [attribute appendAttributedString:[self mew_createTextAttribute:[NSString stringWithFormat:@" X%ld",info.giftNum] color:[UIColor whiteColor] font:kRoomMessageTextFont]]; messageInfo.content = attribute; return messageInfo; @@ -116,21 +112,9 @@ #pragma mark - NSMutableAttributedString -/// 生成本地一个图片的富文本 -/// @param image 本地的图片 -/// @param height 图片高度(宽度自动按比例) -- (NSMutableAttributedString *)createImageAttribute:(UIImage *)image height:(CGFloat)height { - UIImageView *imaveView = [[UIImageView alloc]init]; - imaveView.image = image; - CGFloat scale = (CGFloat)imaveView.image.size.width / (CGFloat)imaveView.image.size.height; - imaveView.bounds = CGRectMake(0, 0, height * scale, height); - NSMutableAttributedString * attrString = [NSMutableAttributedString yy_attachmentStringWithContent:imaveView contentMode:UIViewContentModeScaleAspectFit attachmentSize:CGSizeMake(imaveView.frame.size.width, imaveView.frame.size.height) alignToFont:[UIFont systemFontOfSize:15.0] alignment:YYTextVerticalAlignmentCenter]; - return attrString; -} - /// 占位的富文本 /// @param width 需要的间隙 -- (NSMutableAttributedString *)createSapceAttribute:(CGFloat)width { +- (NSMutableAttributedString *)mew_createSapceAttribute:(CGFloat)width { UIView *spaceView = [[UIView alloc]init]; spaceView.backgroundColor = [UIColor clearColor]; spaceView.bounds = CGRectMake(0, 0, width, 10); @@ -140,7 +124,7 @@ /// 生成一个图片的富文本 /// @param imageUrl 网络图片的地址 -- (NSMutableAttributedString *)createUrlImageAttribute:(NSString *)imageUrl { +- (NSMutableAttributedString *)mew_createUrlImageAttribute:(NSString *)imageUrl { NetImageConfig *config = [[NetImageConfig alloc]init]; if(![imageUrl hasPrefix:@"http"]){ config.placeHolder = kImage(imageUrl); @@ -166,19 +150,19 @@ /// @param text 富文本的文字 /// @param color 文字的颜色 /// @param font 文字的大小 -- (NSMutableAttributedString *)createTextAttribute:(NSString *)text color:(UIColor *)color font:(CGFloat)font { +- (NSMutableAttributedString *)mew_createTextAttribute:(NSString *)text color:(UIColor *)color font:(CGFloat)font { if (text == nil || text.length <= 0) { text = @""; } NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc] initWithString:text attributes:nil]; attribute.yy_font = [UIFont systemFontOfSize:font]; attribute.yy_color = color; - attribute.yy_paragraphStyle = [self paragraphStyle]; + attribute.yy_paragraphStyle = [self mew_paragraphStyle]; return attribute; } /// 设置文本的样式 间隙 缩进 ... -- (NSMutableParagraphStyle *)paragraphStyle { +- (NSMutableParagraphStyle *)mew_paragraphStyle { NSMutableParagraphStyle *paraStyle = [[NSMutableParagraphStyle alloc] init]; paraStyle.lineSpacing = 4.0f;//行间距 // 强制排版(从左到右) diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageParser.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageParser.h deleted file mode 100644 index 4cd36c9..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/Tool/YMRoomMessageParser.h +++ /dev/null @@ -1,24 +0,0 @@ -// -// YMRoomMessageParser.h -// mew-ios -// -// Created by 触海 on 2023/11/20. -// - -#import -#import "CHRoomHostDelegate.h" -@class NIMMessage, YMMessageInfoModel; - -NS_ASSUME_NONNULL_BEGIN - -@interface YMRoomMessageParser : NSObject - -- (YMMessageInfoModel*)parseMessageAttribute:(NIMMessage *)message; -- (NSString *)parseMessageBubble:(NIMMessage *)message; - -///房间的代理 -@property (nonatomic,weak) id hostDelegate; - -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/View/YMNetImageYYLabel.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/View/MewNetImageLabel.h similarity index 82% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/View/YMNetImageYYLabel.h rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/View/MewNetImageLabel.h index 3a0bbfc..fba8dc3 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/View/YMNetImageYYLabel.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/View/MewNetImageLabel.h @@ -1,5 +1,5 @@ // -// YMNetImageYYLabel.h +// MewNetImageLabel.h // mew-ios // // Created by 触海 on 2023/11/20. @@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN * - 使用场景目前还有较多局限性。 */ -@interface YMNetImageYYLabel : YYLabel +@interface MewNetImageLabel : YYLabel @end diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/View/YMNetImageYYLabel.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/View/MewNetImageLabel.m similarity index 83% rename from yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/View/YMNetImageYYLabel.m rename to yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/View/MewNetImageLabel.m index 7c7c506..484843a 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/View/YMNetImageYYLabel.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/View/MewNetImageLabel.m @@ -1,16 +1,16 @@ // -// YMNetImageYYLabel.m +// MewNetImageLabel.m // mew-ios // // Created by 触海 on 2023/11/20. // -#import "YMNetImageYYLabel.h" -#import "YMRoomMessageConstant.h" +#import "MewNetImageLabel.h" +#import "MewRoomMessageConstant.h" #import "NSArray+MewSafe.h" #import "NetImageView.h" -@implementation YMNetImageYYLabel +@implementation MewNetImageLabel - (void)setAttributedText:(NSAttributedString *)attributedText { NSMutableAttributedString* attributedTextCopy = [attributedText mutableCopy]; @@ -26,19 +26,19 @@ if (!imageView.imageUrl) continue; if (imageView.state == NetImageStateLoaded) { - attributedTextCopy = [self updateNetImageAttribute:imageView attributes:attributedTextCopy range:range]; + attributedTextCopy = [self mew_updateNetImageAttribute:imageView attributes:attributedTextCopy range:range]; continue; }else { [imageView loadImage:^(UIImage * _Nonnull image, NSURL * _Nonnull url) { imageView.image = image; - [super setAttributedText:[self updateNetImageAttribute:imageView attributes:attributedTextCopy range:range]]; + [super setAttributedText:[self mew_updateNetImageAttribute:imageView attributes:attributedTextCopy range:range]]; }]; } } [super setAttributedText:attributedTextCopy]; } -- (UIImage *)resizableImageWithName:(UIImage *)norImage{ +- (UIImage *)mew_resizableImageWithName:(UIImage *)norImage{ // 获取原有图片的宽高的一半 CGFloat w = norImage.size.width * 0.5; CGFloat h = norImage.size.height * 0.5; @@ -47,7 +47,7 @@ return newImage; } -- (NSMutableAttributedString*)updateNetImageAttribute:(NetImageView*)imageView attributes:(NSMutableAttributedString*)attributes range:(NSRange)range{ +- (NSMutableAttributedString*)mew_updateNetImageAttribute:(NetImageView*)imageView attributes:(NSMutableAttributedString*)attributes range:(NSRange)range{ imageView.contentMode = UIViewContentModeScaleToFill; if (imageView.tag == 1000) { ///处理一下 发送文字 不是全部背景的时候 @@ -55,7 +55,7 @@ CGSize size = CGSizeMake(imageView.bounds.size.width, imageView.bounds.size.height); imageView.bounds = CGRectMake(0, 0, size.width, size.height); UIImage *image1 = [UIImage imageWithCGImage:image.CGImage scale:2.0 orientation:UIImageOrientationUp]; - imageView.image = [self resizableImageWithName:image1]; + imageView.image = [self mew_resizableImageWithName:image1]; NSMutableAttributedString * replaceAttr = [NSMutableAttributedString yy_attachmentStringWithContent:imageView contentMode:UIViewContentModeScaleAspectFit attachmentSize:size alignToFont:[UIFont systemFontOfSize:15.0] alignment:YYTextVerticalAlignmentCenter]; [attributes replaceCharactersInRange:range withAttributedString:replaceAttr]; } else { @@ -71,7 +71,7 @@ return attributes; } -- (UIImage*)resizableImage:(UIImage *)image { +- (UIImage*)mew_resizableImage:(UIImage *)image { //图片拉伸区域 CGFloat top = (image.size.height - 1) / 2; CGFloat left = (image.size.width - 1) / 2; diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/YMRoomMessageContainerView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/YMRoomMessageContainerView.h deleted file mode 100644 index 63b8822..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MessageContainerView/YMRoomMessageContainerView.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// YMRoomMessageContainerView.h -// mew-ios -// -// Created by 触海 on 2023/11/17. -// - -#import -#import "CHRoomHostDelegate.h" -#import "CHRoomGuestDelegate.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface YMRoomMessageContainerView : UIView - -- (instancetype)initWithDelegate:(id)delegate; -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewMicroQueueProtocol.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewMicroQueueProtocol.h new file mode 100644 index 0000000..15e5c34 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewMicroQueueProtocol.h @@ -0,0 +1,31 @@ +// +// MicroQueueModel.h +// mew-ios +// +// Created by 触海 on 2023/11/14. +// + +#import +@class MicroQueueModel; + +NS_ASSUME_NONNULL_BEGIN + +/** 麦序数据的协议。 + RoomVC 的子 View 之间的通信协议,通过 MewRoomHostDelegate 和 MewRoomGuestDelegate 继承实现。 + 调用方向: + - mew_getCustomMicroQueue:RoomVC 子 View ---> MewRoomHostDelegate ---> StageView + - microQueueUpdate:StageView ---> MewRoomHostDelegate ---> RoomVC 子 View + + */ +@protocol MewMicroQueueProtocol + +@optional +/// 获取麦序 +- (NSMutableDictionary *)mew_getCustomMicroQueue; + +/// 麦序更新通知 +- (void)mew_microQueueUpdate:(NSMutableDictionary *)queue; + +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewRoomAnimationProtocol.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewRoomAnimationProtocol.h new file mode 100644 index 0000000..501a59e --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewRoomAnimationProtocol.h @@ -0,0 +1,24 @@ +// +// RoomAnimationProtocol.h +// yinmeng-ios +// +// Created by 触海 on 2023/11/21. +// + +#import +/** XPRoomAnimationView 用到的协议。 + + RoomVC 的子 View 之间的通信协议,通过 MewRoomHostDelegate 和 MewRoomGuestDelegate 继承实现。 + + 调用方向:XPRoomAnimationView —> MewRoomHostDelegate —> MewRoomAnimationProtocol(MewRoomGuestDelegate继承) + + */ +@protocol MewRoomAnimationProtocol + +@optional +/** + * StageView 专用。 + */ +- (CGPoint)mew_animationPointAtStageViewByUid:(NSString *)uid; +@end + diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewRoomGuestDelegate.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewRoomGuestDelegate.h new file mode 100644 index 0000000..6851b33 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewRoomGuestDelegate.h @@ -0,0 +1,40 @@ +// +// RoomGuestDelegate.h +// mew-ios +// +// Created by 触海 on 2023/11/20. +// + +#import +#import "MewMicroQueueProtocol.h" +#import "MewRoomAnimationProtocol.h" + +@class NIMMessage, NIMRecentSession; +NS_ASSUME_NONNULL_BEGIN +/** RoomVC 子 View 的通用协议 + + 调用方向:RoomVC —> RoomGuestDelegate + + **Note:** + + 继承 MewMicroQueueProtocol、MewRoomAnimationProtocol 等协议用于子 View 做实现。 + 实现后的调用方向:子 View —> MewRoomHostDelegate —> XXXProtocol(RoomGuestDelegate)。 + */ + +@protocol MewRoomGuestDelegate + +@optional + +- (void)mew_onRoomInfoUpdate; +- (void)mew_onRoomEntered; + +/// NIM 事件监听 +- (void)mew_handleNIMNotificationMessage:(NIMMessage *)message; +- (void)mew_handleNIMCustomMessage:(NIMMessage *)message; +- (void)mew_handleNIMTextMessage:(NIMMessage *)message; +- (void)mew_addNIMRecentSession:(NIMRecentSession *)session; +- (void)mew_removeNIMRecentSession:(NIMRecentSession *)session; +@end + + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewRoomHostDelegate.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewRoomHostDelegate.h new file mode 100644 index 0000000..5fdf738 --- /dev/null +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MewRoomHostDelegate.h @@ -0,0 +1,29 @@ +// +// CHMewRoomHostDelegate.h +// yinmeng-ios +// +// Created by 触海 on 2023/12/1. +// + +#import +#import "MewMicroQueueProtocol.h" +#import "MewRoomAnimationProtocol.h" +@class MewRoomInfoModel, UserInfoModel; + +NS_ASSUME_NONNULL_BEGIN + +@protocol MewRoomHostDelegate +// 获取房间信息 +- (MewRoomInfoModel *)mew_getRoomInformation; +// 获取用户信息 +- (UserInfoModel *)mew_getUserInformation; + +/// 退出房间 +- (void)mew_exitCurrentRoom; + +/// 获取当前的导航控制器 +- (UINavigationController *)mew_getCurrentNavigationController; + +@end + +NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MicroQueueProtocol.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MicroQueueProtocol.h deleted file mode 100644 index 20d430d..0000000 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/MicroQueueProtocol.h +++ /dev/null @@ -1,31 +0,0 @@ -// -// MicroQueueModel.h -// mew-ios -// -// Created by 触海 on 2023/11/14. -// - -#import -@class MicroQueueModel; - -NS_ASSUME_NONNULL_BEGIN - -/** 麦序数据的协议。 - RoomVC 的子 View 之间的通信协议,通过 CHRoomHostDelegate 和 CHRoomGuestDelegate 继承实现。 - 调用方向: - - getCustomMicroQueue:RoomVC 子 View ---> CHRoomHostDelegate ---> StageView - - microQueueUpdate:StageView ---> CHRoomHostDelegate ---> RoomVC 子 View - - */ -@protocol MicroQueueProtocol - -@optional -/// 获取麦序 -- (NSMutableDictionary *)getCustomMicroQueue; - -/// 麦序更新通知 -- (void)microQueueUpdate:(NSMutableDictionary *)queue; - -@end - -NS_ASSUME_NONNULL_END diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/CHStageView.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/CHStageView.h index 93614a5..08bd028 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/CHStageView.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/CHStageView.h @@ -6,8 +6,8 @@ // #import -#import "CHRoomGuestDelegate.h" -#import "CHRoomHostDelegate.h" +#import "MewRoomGuestDelegate.h" +#import "MewRoomHostDelegate.h" #import "MicroViewProtocol.h" @class MicroQueueModel; @@ -62,10 +62,10 @@ NS_ASSUME_NONNULL_BEGIN @end -@interface CHStageView : UIView +@interface CHStageView : UIView -@property (nonatomic, weak, readonly) id hostDelegate; -- (instancetype)initWithDelegate:(id)delegate; +@property (nonatomic, weak, readonly) id hostDelegate; +- (instancetype)initWithDelegate:(id)delegate; @property (nonatomic, strong, readonly) NSString *selectUid; diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/CHStageView.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/CHStageView.m index 6d268ca..cd044d8 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/CHStageView.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/CHStageView.m @@ -16,7 +16,7 @@ /// Model #import "MicroQueueModel.h" #import "UserInfoModel.h" -#import "RoomInfoModel.h" +#import "MewRoomInfoModel.h" #import "AttachmentModel.h" #import "MicroExtModel.h" #import "MewHUDTool.h" @@ -41,7 +41,7 @@ /// 麦位上用户信息 @property (nonatomic, strong) NSMutableDictionary *micQueue; -@property (nonatomic, weak) id hostDelegate; +@property (nonatomic, weak) id hostDelegate; /** * 是否正在上麦。 @@ -61,7 +61,7 @@ @implementation CHStageView #pragma mark - Init -- (instancetype)initWithDelegate:(id)delegate { +- (instancetype)initWithDelegate:(id)delegate { self = [super initWithFrame:CGRectZero]; if (self) { _hostDelegate = delegate; @@ -81,7 +81,7 @@ make.height.mas_equalTo(self.heightForStageView); }]; - if (_hostDelegate.getRoomInformation) { + if (_hostDelegate.mew_getRoomInformation) { [self initRtc]; [self initNimMicroQueues]; } else { @@ -96,10 +96,10 @@ #pragma mark - Init Rtc /** * 既然是 initXXX ,就不要随意用调用或者添加逻辑 - * 目前 init 要么在 【 self initWithSelegate】,要么在【self onRoomEntered】里面延迟初始化,因为初始化依赖房间信息。 + * 目前 init 要么在 【 self initWithSelegate】,要么在【self mew_onRoomEntered】里面延迟初始化,因为初始化依赖房间信息。 */ - (void)initRtc { - RoomInfoModel *roomInfo = self.hostDelegate.getRoomInformation; + MewRoomInfoModel *roomInfo = self.hostDelegate.mew_getRoomInformation; // RTRC的初始化, 进入房间 NSInteger roomId = roomInfo.roomId > INT_MAX ? roomInfo.uid : roomInfo.roomId; [RtcManager initEngineWithType:RtcEngineType_TRTC delegate:self]; @@ -108,7 +108,7 @@ /// 获取云信麦位信息 - (void)initNimMicroQueues { - RoomInfoModel *roomInfo = self.hostDelegate.getRoomInformation; + MewRoomInfoModel *roomInfo = self.hostDelegate.mew_getRoomInformation; [self fetchChatroomNIM]; self.hadGetQueueInfoSuccess = NO; @@ -126,14 +126,14 @@ } } [self microQueueUpdated:ownerRTCChange]; - [self.hostDelegate microQueueUpdate:self.micQueue]; + [self.hostDelegate mew_microQueueUpdate:self.micQueue]; self.hadGetQueueInfoSuccess = YES; }]; } -#pragma mark - CHRoomGuestDelegate -- (void)onRoomEntered { +#pragma mark - MewRoomGuestDelegate +- (void)mew_onRoomEntered { // self.isMiniEnter = NO; ///这行代码是为了 拿到房间信息的时候已经确定了是否显示礼物值 如果等到进房成功之后在显示的话可能会有一点卡顿的感觉@fengshuo [self microQueueUpdated:NO]; @@ -141,11 +141,11 @@ [self initNIMMicroQueues]; } -- (NSMutableDictionary *)getCustomMicroQueue { +- (NSMutableDictionary *)mew_getCustomMicroQueue { return self.micQueue; } -- (void)onRoomInfoUpdate { +- (void)mew_onRoomInfoUpdate { } @@ -242,7 +242,7 @@ if (microQueueChanged) { [self microQueueUpdated:ownerRTCChanged]; - [self.hostDelegate microQueueUpdate:self.micQueue]; + [self.hostDelegate mew_microQueueUpdate:self.micQueue]; } } @@ -260,7 +260,7 @@ */ - (void)microQueueUpdated:(BOOL)isHandleRTC { BOOL selfNeedBroadcast = NO; - RoomInfoModel *roomInfo = self.hostDelegate.getRoomInformation; + MewRoomInfoModel *roomInfo = self.hostDelegate.mew_getRoomInformation; for (UIView *view in self.microViews) { view.layer.borderColor = UIColor.clearColor.CGColor; @@ -277,7 +277,7 @@ [view configRoomInfo:roomInfo]; [view configMicQueue:self.micQueue]; [view configMicroView:model]; - if (self.hostDelegate.getUserInformation.uid && model.userInfo.uid == self.hostDelegate.getUserInformation.uid) { + if (self.hostDelegate.mew_getUserInformation.uid && model.userInfo.uid == self.hostDelegate.mew_getUserInformation.uid) { selfNeedBroadcast = model.microState.micState == MicroMicStateType_Open; } if (model.microState.micState == MicroMicStateType_Close) { @@ -322,8 +322,8 @@ - (void)didSelectAtIndex:(NSInteger)index { MicroQueueModel* micModel = [self.micQueue objectForKey:[self indexToPosition:index]]; - UserInfoModel* userInfo = self.hostDelegate.getUserInformation; - RoomInfoModel* roomInfo = self.hostDelegate.getRoomInformation; + UserInfoModel* userInfo = self.hostDelegate.mew_getUserInformation; + MewRoomInfoModel* roomInfo = self.hostDelegate.mew_getRoomInformation; NSString* position = [self indexToPosition:index]; NSString* uid = [NSString stringWithFormat:@"%ld", userInfo.uid]; NSString* roomId = [NSString stringWithFormat:@"%ld", roomInfo.roomId]; @@ -404,7 +404,7 @@ if (member.type == NIMTeamMemberTypeOwner || member.type == NIMTeamMemberTypeManager) { // 2.1.1 上麦 TTActionSheetConfig *upMic = [TTActionSheetConfig normalTitle:@"上麦" clickAction:^{ - NSString* selfUid = [NSString stringWithFormat:@"%ld", (long)self.hostDelegate.getUserInformation.uid]; + NSString* selfUid = [NSString stringWithFormat:@"%ld", (long)self.hostDelegate.mew_getUserInformation.uid]; UIView* microView = [self findMicroViewByUid:selfUid]; if (microView) { nimDownQueue([self indexToPosition:microView.tag], position); @@ -413,7 +413,7 @@ } }]; } else { - NSString* selfUid = [NSString stringWithFormat:@"%ld", (long)self.hostDelegate.getUserInformation.uid]; + NSString* selfUid = [NSString stringWithFormat:@"%ld", (long)self.hostDelegate.mew_getUserInformation.uid]; UIView* microView = [self findMicroViewByUid:selfUid]; if (microView) { if (self.isUpingMic) { @@ -440,7 +440,7 @@ return; } for (NSString* uid in uids) { - if ([RtcManager instance].isLocalMuted && uid.integerValue == self.hostDelegate.getUserInformation.uid) { + if ([RtcManager instance].isLocalMuted && uid.integerValue == self.hostDelegate.mew_getUserInformation.uid) { continue; } UIView* microView = [self findMicroViewByUid:uid]; @@ -527,7 +527,7 @@ - (void)initNIMMicroQueues { - RoomInfoModel* roomInfo = self.hostDelegate.getRoomInformation; + MewRoomInfoModel* roomInfo = self.hostDelegate.mew_getRoomInformation; // 获取麦位的状态,并初始化 self.micQueue 。 [self fetchChatroomNIM]; @@ -546,7 +546,7 @@ } } [self microQueueUpdated:ownerRTCChange]; - [self.hostDelegate microQueueUpdate:self.micQueue]; + [self.hostDelegate mew_microQueueUpdate:self.micQueue]; self.hadGetQueueInfoSuccess = YES; }]; } @@ -558,7 +558,7 @@ #pragma mark - Private Method - (void)fetchChatroomNIM { - RoomInfoModel *roomInfo = self.hostDelegate.getRoomInformation; + MewRoomInfoModel *roomInfo = self.hostDelegate.mew_getRoomInformation; // 获取麦位的状态,并初始化self.micQueue. [[NIMSDK sharedSDK].chatroomManager fetchChatroomInfo:[NSString stringWithFormat:@"%ld", (long)roomInfo.roomId] completion:^(NSError * _Nullable error, NIMChatroom * _Nullable chatroom) { if (error) return; diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/MicroView/MicroView.m b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/MicroView/MicroView.m index 3bddb90..f2fe01f 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/MicroView/MicroView.m +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/MicroView/MicroView.m @@ -8,7 +8,7 @@ #import "MicroView.h" /// Model #import "UserInfoModel.h" -#import "RoomInfoModel.h" +#import "MewRoomInfoModel.h" #import "MicroQueueModel.h" /// Tool #import "MEWThemeColor.h" @@ -36,7 +36,7 @@ ///麦位的用户信息 @property (nonatomic,strong) UserInfoModel *userInfo; ///当前房间的信息 -@property (nonatomic,strong) RoomInfoModel *roomInfo; +@property (nonatomic,strong) MewRoomInfoModel *roomInfo; ///当前的麦序 @property (nonatomic,strong) NSMutableDictionary *micQueue; @end @@ -129,12 +129,12 @@ } /** 设置房间信息房间的信息 */ -- (void)configRoomInfo:(RoomInfoModel *)roomInfo { +- (void)configRoomInfo:(MewRoomInfoModel *)roomInfo { self.roomInfo = roomInfo; } /** 获取当前房间的信息 */ -- (RoomInfoModel *)getRoomInformation { +- (MewRoomInfoModel *)mew_getRoomInformation { return self.roomInfo; } @@ -144,7 +144,7 @@ } /** 获取当前的麦序 */ -- (NSMutableDictionary *)getCustomMicroQueue { +- (NSMutableDictionary *)mew_getCustomMicroQueue { return self.micQueue; } diff --git a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/MicroView/MicroViewProtocol.h b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/MicroView/MicroViewProtocol.h index a1ee94f..88e9377 100644 --- a/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/MicroView/MicroViewProtocol.h +++ b/yinmeng-ios/yinmeng-ios/Main/YinMeng/Room/View/StageView/MicroView/MicroViewProtocol.h @@ -6,7 +6,7 @@ // #import -@class RoomInfoModel,MicroQueueModel,UserInfoModel; +@class MewRoomInfoModel,MicroQueueModel,UserInfoModel; NS_ASSUME_NONNULL_BEGIN @@ -29,16 +29,16 @@ NS_ASSUME_NONNULL_BEGIN - (BOOL)isHiddenMicroUserInfoView; /** 设置房间信息房间的信息 */ -- (void)configRoomInfo:(RoomInfoModel *)roomInfo; +- (void)configRoomInfo:(MewRoomInfoModel *)roomInfo; /** 获取当前房间的信息 */ -- (RoomInfoModel *)getRoomInformation; +- (MewRoomInfoModel *)mew_getRoomInformation; /** 设置当前房间的麦序 */ - (void)configMicQueue:(NSMutableDictionary *)micQueue; /** 获取当前的麦序 */ -- (NSMutableDictionary*)getCustomMicroQueue; +- (NSMutableDictionary*)mew_getCustomMicroQueue; @end NS_ASSUME_NONNULL_END