修改yinmeng文件夹下的Message,Room,MouduleKit下文件的类型,方法名,加Mew
This commit is contained in:
@@ -156,4 +156,4 @@ SPEC CHECKSUMS:
|
||||
|
||||
PODFILE CHECKSUM: cc88fa05da662ee682fc0eeb502faab221faa032
|
||||
|
||||
COCOAPODS: 1.12.1
|
||||
COCOAPODS: 1.14.2
|
||||
|
@@ -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 = "<group>"; };
|
||||
23270C282B0E037300B9303B /* CHMessageConentAudioView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageConentAudioView.h; sourceTree = "<group>"; };
|
||||
23270C2A2B0E041300B9303B /* CHMessageAudioCenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageAudioCenter.h; sourceTree = "<group>"; };
|
||||
23270C2B2B0E041300B9303B /* CHMessageAudioCenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHMessageAudioCenter.m; sourceTree = "<group>"; };
|
||||
23270C272B0E037300B9303B /* MewMessageConentAudioView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageConentAudioView.m; sourceTree = "<group>"; };
|
||||
23270C282B0E037300B9303B /* MewMessageConentAudioView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageConentAudioView.h; sourceTree = "<group>"; };
|
||||
23270C2A2B0E041300B9303B /* MewMessageAudioCenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageAudioCenter.h; sourceTree = "<group>"; };
|
||||
23270C2B2B0E041300B9303B /* MewMessageAudioCenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageAudioCenter.m; sourceTree = "<group>"; };
|
||||
23270C2E2B0E071B00B9303B /* yinmeng-ios-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "yinmeng-ios-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
23270C2F2B0E071B00B9303B /* MewPaymentAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MewPaymentAction.swift; sourceTree = "<group>"; };
|
||||
233757262B0CB577001D0B7F /* CHMessagePresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHMessagePresenter.m; sourceTree = "<group>"; };
|
||||
233757272B0CB577001D0B7F /* CHMessagePresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessagePresenter.h; sourceTree = "<group>"; };
|
||||
233757292B0CB577001D0B7F /* CHMessageProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageProtocol.h; sourceTree = "<group>"; };
|
||||
2337572B2B0CB577001D0B7F /* ChatLimitModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatLimitModel.h; sourceTree = "<group>"; };
|
||||
2337572C2B0CB577001D0B7F /* MessageMenuModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MessageMenuModel.m; sourceTree = "<group>"; };
|
||||
2337572D2B0CB577001D0B7F /* ChatLimitModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatLimitModel.m; sourceTree = "<group>"; };
|
||||
2337572E2B0CB577001D0B7F /* MessageMenuModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessageMenuModel.h; sourceTree = "<group>"; };
|
||||
233757312B0CB577001D0B7F /* NIMBadgeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NIMBadgeView.m; sourceTree = "<group>"; };
|
||||
233757322B0CB577001D0B7F /* UITableView+NIMScrollToBottom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UITableView+NIMScrollToBottom.h"; sourceTree = "<group>"; };
|
||||
233757262B0CB577001D0B7F /* MewMessagePresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessagePresenter.m; sourceTree = "<group>"; };
|
||||
233757272B0CB577001D0B7F /* MewMessagePresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessagePresenter.h; sourceTree = "<group>"; };
|
||||
233757292B0CB577001D0B7F /* MewMessageProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageProtocol.h; sourceTree = "<group>"; };
|
||||
2337572B2B0CB577001D0B7F /* MewChatLimitModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewChatLimitModel.h; sourceTree = "<group>"; };
|
||||
2337572C2B0CB577001D0B7F /* MewMessageMenuModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageMenuModel.m; sourceTree = "<group>"; };
|
||||
2337572D2B0CB577001D0B7F /* MewChatLimitModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewChatLimitModel.m; sourceTree = "<group>"; };
|
||||
2337572E2B0CB577001D0B7F /* MewMessageMenuModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageMenuModel.h; sourceTree = "<group>"; };
|
||||
233757312B0CB577001D0B7F /* MewNIMBadgeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewNIMBadgeView.m; sourceTree = "<group>"; };
|
||||
233757332B0CB577001D0B7F /* UIView+NIM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+NIM.h"; sourceTree = "<group>"; };
|
||||
233757342B0CB577001D0B7F /* UITableView+NIMScrollToBottom.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITableView+NIMScrollToBottom.m"; sourceTree = "<group>"; };
|
||||
233757352B0CB577001D0B7F /* NIMBadgeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NIMBadgeView.h; sourceTree = "<group>"; };
|
||||
233757352B0CB577001D0B7F /* MewNIMBadgeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewNIMBadgeView.h; sourceTree = "<group>"; };
|
||||
233757362B0CB577001D0B7F /* UIView+NIM.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+NIM.m"; sourceTree = "<group>"; };
|
||||
233757382B0CB577001D0B7F /* CHSessionNavView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHSessionNavView.h; sourceTree = "<group>"; };
|
||||
233757392B0CB577001D0B7F /* CHSessionMessageCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHSessionMessageCell.m; sourceTree = "<group>"; };
|
||||
2337573A2B0CB577001D0B7F /* CHSessionAudioRecordView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHSessionAudioRecordView.h; sourceTree = "<group>"; };
|
||||
2337573B2B0CB577001D0B7F /* CHSessionToolbarView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHSessionToolbarView.m; sourceTree = "<group>"; };
|
||||
2337573C2B0CB577001D0B7F /* NIMMessageMaker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NIMMessageMaker.m; sourceTree = "<group>"; };
|
||||
2337573D2B0CB577001D0B7F /* CHSessionInfoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHSessionInfoViewController.m; sourceTree = "<group>"; };
|
||||
2337573E2B0CB577001D0B7F /* SessionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SessionViewController.m; sourceTree = "<group>"; };
|
||||
233757402B0CB577001D0B7F /* CHMessageToolMenuCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHMessageToolMenuCollectionViewCell.m; sourceTree = "<group>"; };
|
||||
233757412B0CB577001D0B7F /* CHMessageContentImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHMessageContentImage.m; sourceTree = "<group>"; };
|
||||
233757422B0CB577001D0B7F /* CHMessageContentText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageContentText.h; sourceTree = "<group>"; };
|
||||
233757432B0CB577001D0B7F /* CHMessageContentUnSupportView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageContentUnSupportView.h; sourceTree = "<group>"; };
|
||||
233757442B0CB577001D0B7F /* CHMessageToolMenuCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageToolMenuCollectionViewCell.h; sourceTree = "<group>"; };
|
||||
233757452B0CB577001D0B7F /* CHMessageContentProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageContentProtocol.h; sourceTree = "<group>"; };
|
||||
233757462B0CB577001D0B7F /* CHMessageContentImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHMessageContentImage.h; sourceTree = "<group>"; };
|
||||
233757472B0CB577001D0B7F /* CHMessageContentUnSupportView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHMessageContentUnSupportView.m; sourceTree = "<group>"; };
|
||||
233757482B0CB577001D0B7F /* CHMessageContentText.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHMessageContentText.m; sourceTree = "<group>"; };
|
||||
233757492B0CB577001D0B7F /* CHSessionNavView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHSessionNavView.m; sourceTree = "<group>"; };
|
||||
2337574A2B0CB577001D0B7F /* CHSessionMessageCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHSessionMessageCell.h; sourceTree = "<group>"; };
|
||||
2337574B2B0CB577001D0B7F /* SessionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SessionViewController.h; sourceTree = "<group>"; };
|
||||
2337574C2B0CB577001D0B7F /* CHSessionInfoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHSessionInfoViewController.h; sourceTree = "<group>"; };
|
||||
2337574D2B0CB577001D0B7F /* NIMMessageMaker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NIMMessageMaker.h; sourceTree = "<group>"; };
|
||||
2337574E2B0CB577001D0B7F /* CHSessionToolbarView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHSessionToolbarView.h; sourceTree = "<group>"; };
|
||||
2337574F2B0CB577001D0B7F /* CHSessionAudioRecordView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHSessionAudioRecordView.m; sourceTree = "<group>"; };
|
||||
233757382B0CB577001D0B7F /* MewSessionNavView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewSessionNavView.h; sourceTree = "<group>"; };
|
||||
233757392B0CB577001D0B7F /* MewSessionMessageCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewSessionMessageCell.m; sourceTree = "<group>"; };
|
||||
2337573A2B0CB577001D0B7F /* MewSessionAudioRecordView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewSessionAudioRecordView.h; sourceTree = "<group>"; };
|
||||
2337573B2B0CB577001D0B7F /* MewSessionToolbarView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewSessionToolbarView.m; sourceTree = "<group>"; };
|
||||
2337573C2B0CB577001D0B7F /* MewNIMMessageMaker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewNIMMessageMaker.m; sourceTree = "<group>"; };
|
||||
2337573D2B0CB577001D0B7F /* MewSessionInfoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewSessionInfoViewController.m; sourceTree = "<group>"; };
|
||||
2337573E2B0CB577001D0B7F /* MewSessionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewSessionViewController.m; sourceTree = "<group>"; };
|
||||
233757402B0CB577001D0B7F /* MewMessageToolMenuCollectionCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageToolMenuCollectionCell.m; sourceTree = "<group>"; };
|
||||
233757412B0CB577001D0B7F /* MewMessageContentImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageContentImage.m; sourceTree = "<group>"; };
|
||||
233757422B0CB577001D0B7F /* MewMessageContentText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageContentText.h; sourceTree = "<group>"; };
|
||||
233757432B0CB577001D0B7F /* MewMessageContentUnSupportView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageContentUnSupportView.h; sourceTree = "<group>"; };
|
||||
233757442B0CB577001D0B7F /* MewMessageToolMenuCollectionCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageToolMenuCollectionCell.h; sourceTree = "<group>"; };
|
||||
233757452B0CB577001D0B7F /* MewMessageContentProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageContentProtocol.h; sourceTree = "<group>"; };
|
||||
233757462B0CB577001D0B7F /* MewMessageContentImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageContentImage.h; sourceTree = "<group>"; };
|
||||
233757472B0CB577001D0B7F /* MewMessageContentUnSupportView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageContentUnSupportView.m; sourceTree = "<group>"; };
|
||||
233757482B0CB577001D0B7F /* MewMessageContentText.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageContentText.m; sourceTree = "<group>"; };
|
||||
233757492B0CB577001D0B7F /* MewSessionNavView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewSessionNavView.m; sourceTree = "<group>"; };
|
||||
2337574A2B0CB577001D0B7F /* MewSessionMessageCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewSessionMessageCell.h; sourceTree = "<group>"; };
|
||||
2337574B2B0CB577001D0B7F /* MewSessionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewSessionViewController.h; sourceTree = "<group>"; };
|
||||
2337574C2B0CB577001D0B7F /* MewSessionInfoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewSessionInfoViewController.h; sourceTree = "<group>"; };
|
||||
2337574D2B0CB577001D0B7F /* MewNIMMessageMaker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewNIMMessageMaker.h; sourceTree = "<group>"; };
|
||||
2337574E2B0CB577001D0B7F /* MewSessionToolbarView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewSessionToolbarView.h; sourceTree = "<group>"; };
|
||||
2337574F2B0CB577001D0B7F /* MewSessionAudioRecordView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewSessionAudioRecordView.m; sourceTree = "<group>"; };
|
||||
233757512B0CB577001D0B7F /* Api+Message.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Api+Message.m"; sourceTree = "<group>"; };
|
||||
233757522B0CB577001D0B7F /* Api+Message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Api+Message.h"; sourceTree = "<group>"; };
|
||||
233757542B0CB577001D0B7F /* NIMMessageUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NIMMessageUtils.m; sourceTree = "<group>"; };
|
||||
233757552B0CB577001D0B7F /* NIMMessageUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NIMMessageUtils.h; sourceTree = "<group>"; };
|
||||
233757542B0CB577001D0B7F /* MewNIMMessageUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewNIMMessageUtils.m; sourceTree = "<group>"; };
|
||||
233757552B0CB577001D0B7F /* MewNIMMessageUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewNIMMessageUtils.h; sourceTree = "<group>"; };
|
||||
233757692B0CB630001D0B7F /* UIView+FilletCorner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+FilletCorner.h"; sourceTree = "<group>"; };
|
||||
2337576A2B0CB630001D0B7F /* UIView+FilletCorner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+FilletCorner.m"; sourceTree = "<group>"; };
|
||||
2370511B2B1D7CD500F5DE14 /* CarrierIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CarrierIdentifier.h; sourceTree = "<group>"; };
|
||||
@@ -382,21 +380,21 @@
|
||||
8C9C82DA2B0C696900A601BC /* YMEnum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMEnum.h; sourceTree = "<group>"; };
|
||||
8C9C82DB2B0C696900A601BC /* YMConstant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMConstant.m; sourceTree = "<group>"; };
|
||||
8C9C82DF2B0C697A00A601BC /* YMWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMWebViewController.m; sourceTree = "<group>"; };
|
||||
8C9C82E32B0C697A00A601BC /* YMHomePresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMHomePresenter.m; sourceTree = "<group>"; };
|
||||
8C9C82E42B0C697A00A601BC /* YMHomePresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMHomePresenter.h; sourceTree = "<group>"; };
|
||||
8C9C82E62B0C697A00A601BC /* YMHomeProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMHomeProtocol.h; sourceTree = "<group>"; };
|
||||
8C9C82E32B0C697A00A601BC /* MewPartyPresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewPartyPresenter.m; sourceTree = "<group>"; };
|
||||
8C9C82E42B0C697A00A601BC /* MewPartyPresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewPartyPresenter.h; sourceTree = "<group>"; };
|
||||
8C9C82E62B0C697A00A601BC /* MewPartyProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewPartyProtocol.h; sourceTree = "<group>"; };
|
||||
8C9C82E82B0C697A00A601BC /* HomeRecommendRoomModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeRecommendRoomModel.h; sourceTree = "<group>"; };
|
||||
8C9C82E92B0C697A00A601BC /* HomeRecommendRoomModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeRecommendRoomModel.m; sourceTree = "<group>"; };
|
||||
8C9C82EC2B0C697A00A601BC /* Api+Home.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Api+Home.m"; sourceTree = "<group>"; };
|
||||
8C9C82ED2B0C697A00A601BC /* Api+Home.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Api+Home.h"; sourceTree = "<group>"; };
|
||||
8C9C82F02B0C697A00A601BC /* YMRoomPresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMRoomPresenter.m; sourceTree = "<group>"; };
|
||||
8C9C82F12B0C697A00A601BC /* YMRoomPresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMRoomPresenter.h; sourceTree = "<group>"; };
|
||||
8C9C82F32B0C697A00A601BC /* YMRoomProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMRoomProtocol.h; sourceTree = "<group>"; };
|
||||
8C9C82F52B0C697A00A601BC /* RoomInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RoomInfoModel.m; sourceTree = "<group>"; };
|
||||
8C9C82F62B0C697A00A601BC /* RoomInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RoomInfoModel.h; sourceTree = "<group>"; };
|
||||
8C9C82F82B0C697A00A601BC /* MicroQueueProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MicroQueueProtocol.h; sourceTree = "<group>"; };
|
||||
8C9C82FB2B0C697A00A601BC /* YMRoomSendTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMRoomSendTextView.m; sourceTree = "<group>"; };
|
||||
8C9C82FC2B0C697A00A601BC /* YMRoomSendTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMRoomSendTextView.h; sourceTree = "<group>"; };
|
||||
8C9C82EC2B0C697A00A601BC /* Api+Party.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Api+Party.m"; sourceTree = "<group>"; };
|
||||
8C9C82ED2B0C697A00A601BC /* Api+Party.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Api+Party.h"; sourceTree = "<group>"; };
|
||||
8C9C82F02B0C697A00A601BC /* MewRoomPresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewRoomPresenter.m; sourceTree = "<group>"; };
|
||||
8C9C82F12B0C697A00A601BC /* MewRoomPresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomPresenter.h; sourceTree = "<group>"; };
|
||||
8C9C82F32B0C697A00A601BC /* MewRoomProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomProtocol.h; sourceTree = "<group>"; };
|
||||
8C9C82F52B0C697A00A601BC /* MewRoomInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewRoomInfoModel.m; sourceTree = "<group>"; };
|
||||
8C9C82F62B0C697A00A601BC /* MewRoomInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomInfoModel.h; sourceTree = "<group>"; };
|
||||
8C9C82F82B0C697A00A601BC /* MewMicroQueueProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMicroQueueProtocol.h; sourceTree = "<group>"; };
|
||||
8C9C82FB2B0C697A00A601BC /* MewRoomSendTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewRoomSendTextView.m; sourceTree = "<group>"; };
|
||||
8C9C82FC2B0C697A00A601BC /* MewRoomSendTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomSendTextView.h; sourceTree = "<group>"; };
|
||||
8C9C82FE2B0C697A00A601BC /* CHStageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CHStageView.m; sourceTree = "<group>"; };
|
||||
8C9C83002B0C697A00A601BC /* MicroView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MicroView.h; sourceTree = "<group>"; };
|
||||
8C9C83012B0C697A00A601BC /* MicroViewProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MicroViewProtocol.h; sourceTree = "<group>"; };
|
||||
@@ -408,18 +406,18 @@
|
||||
8C9C83082B0C697A00A601BC /* MicroExtModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MicroExtModel.h; sourceTree = "<group>"; };
|
||||
8C9C83092B0C697A00A601BC /* MicroQueueModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MicroQueueModel.h; sourceTree = "<group>"; };
|
||||
8C9C830A2B0C697A00A601BC /* CHStageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHStageView.h; sourceTree = "<group>"; };
|
||||
8C9C830B2B0C697A00A601BC /* CHRoomGuestDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CHRoomGuestDelegate.h; sourceTree = "<group>"; };
|
||||
8C9C830E2B0C697A00A601BC /* YMRoomMessageContainerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMRoomMessageContainerView.m; sourceTree = "<group>"; };
|
||||
8C9C830F2B0C697A00A601BC /* YMRoomMessageContainerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMRoomMessageContainerView.h; sourceTree = "<group>"; };
|
||||
8C9C83112B0C697A00A601BC /* YMMessageInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMMessageInfoModel.m; sourceTree = "<group>"; };
|
||||
8C9C83122B0C697A00A601BC /* YMMessageRemoteExtModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMMessageRemoteExtModel.m; sourceTree = "<group>"; };
|
||||
8C9C83132B0C697A00A601BC /* YMMessageRemoteExtModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMMessageRemoteExtModel.h; sourceTree = "<group>"; };
|
||||
8C9C83142B0C697A00A601BC /* YMMessageInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMMessageInfoModel.h; sourceTree = "<group>"; };
|
||||
8C9C83162B0C697A00A601BC /* YMNetImageYYLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMNetImageYYLabel.m; sourceTree = "<group>"; };
|
||||
8C9C83172B0C697A00A601BC /* YMNetImageYYLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMNetImageYYLabel.h; sourceTree = "<group>"; };
|
||||
8C9C83192B0C697A00A601BC /* YMRoomMessageParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMRoomMessageParser.h; sourceTree = "<group>"; };
|
||||
8C9C831A2B0C697A00A601BC /* YMRoomMessageParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YMRoomMessageParser.m; sourceTree = "<group>"; };
|
||||
8C9C831B2B0C697A00A601BC /* YMRoomMessageConstant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YMRoomMessageConstant.h; sourceTree = "<group>"; };
|
||||
8C9C830B2B0C697A00A601BC /* MewRoomGuestDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomGuestDelegate.h; sourceTree = "<group>"; };
|
||||
8C9C830E2B0C697A00A601BC /* MewRoomMessageContainerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewRoomMessageContainerView.m; sourceTree = "<group>"; };
|
||||
8C9C830F2B0C697A00A601BC /* MewRoomMessageContainerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomMessageContainerView.h; sourceTree = "<group>"; };
|
||||
8C9C83112B0C697A00A601BC /* MewMessageInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageInfoModel.m; sourceTree = "<group>"; };
|
||||
8C9C83122B0C697A00A601BC /* MewMessageRemoteExtModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewMessageRemoteExtModel.m; sourceTree = "<group>"; };
|
||||
8C9C83132B0C697A00A601BC /* MewMessageRemoteExtModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageRemoteExtModel.h; sourceTree = "<group>"; };
|
||||
8C9C83142B0C697A00A601BC /* MewMessageInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewMessageInfoModel.h; sourceTree = "<group>"; };
|
||||
8C9C83162B0C697A00A601BC /* MewNetImageLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewNetImageLabel.m; sourceTree = "<group>"; };
|
||||
8C9C83172B0C697A00A601BC /* MewNetImageLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewNetImageLabel.h; sourceTree = "<group>"; };
|
||||
8C9C83192B0C697A00A601BC /* MewRoomMessageParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomMessageParser.h; sourceTree = "<group>"; };
|
||||
8C9C831A2B0C697A00A601BC /* MewRoomMessageParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewRoomMessageParser.m; sourceTree = "<group>"; };
|
||||
8C9C831B2B0C697A00A601BC /* MewRoomMessageConstant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MewRoomMessageConstant.h; sourceTree = "<group>"; };
|
||||
8C9C83202B0C697A00A601BC /* Api+Room.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Api+Room.h"; sourceTree = "<group>"; };
|
||||
8C9C83212B0C697A00A601BC /* Api+Room.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Api+Room.m"; sourceTree = "<group>"; };
|
||||
8C9C83342B0C697A00A601BC /* MewSessionListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewSessionListTableViewCell.m; sourceTree = "<group>"; };
|
||||
@@ -571,23 +569,23 @@
|
||||
8C9C84162B0C697A00A601BC /* MewLoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MewLoginViewController.m; sourceTree = "<group>"; };
|
||||
8C9C847C2B0C6A6400A601BC /* TXFFmpeg.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = TXFFmpeg.xcframework; path = Pods/TXLiteAVSDK_TRTC/TXLiteAVSDK_TRTC/TXFFmpeg.xcframework; sourceTree = "<group>"; };
|
||||
8C9C847E2B0C6A6A00A601BC /* TXSoundTouch.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = TXSoundTouch.xcframework; path = Pods/TXLiteAVSDK_TRTC/TXLiteAVSDK_TRTC/TXSoundTouch.xcframework; sourceTree = "<group>"; };
|
||||
8C9C84822B0D25EF00A601BC /* GiftInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiftInfoModel.h; sourceTree = "<group>"; };
|
||||
8C9C84832B0D25EF00A601BC /* GiftInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiftInfoModel.m; sourceTree = "<group>"; };
|
||||
8C9C84822B0D25EF00A601BC /* MewGiftInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewGiftInfoModel.h; sourceTree = "<group>"; };
|
||||
8C9C84832B0D25EF00A601BC /* MewGiftInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewGiftInfoModel.m; sourceTree = "<group>"; };
|
||||
8C9C84872B0D286F00A601BC /* Api+Gift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Api+Gift.h"; sourceTree = "<group>"; };
|
||||
8C9C84882B0D286F00A601BC /* Api+Gift.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "Api+Gift.m"; sourceTree = "<group>"; };
|
||||
8C9C848A2B0D2B8500A601BC /* GiftReceiveInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiftReceiveInfoModel.h; sourceTree = "<group>"; };
|
||||
8C9C848B2B0D2B8500A601BC /* GiftReceiveInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiftReceiveInfoModel.m; sourceTree = "<group>"; };
|
||||
8C9C848E2B0D439800A601BC /* YMRoomMessageFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YMRoomMessageFilter.h; sourceTree = "<group>"; };
|
||||
8C9C848F2B0D439800A601BC /* YMRoomMessageFilter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YMRoomMessageFilter.m; sourceTree = "<group>"; };
|
||||
8C9C84922B0D65C300A601BC /* YMRoomAnimationHitView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YMRoomAnimationHitView.h; sourceTree = "<group>"; };
|
||||
8C9C84932B0D65C300A601BC /* YMRoomAnimationHitView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YMRoomAnimationHitView.m; sourceTree = "<group>"; };
|
||||
8C9C84952B0D65E200A601BC /* YMRoomAnimationView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YMRoomAnimationView.h; sourceTree = "<group>"; };
|
||||
8C9C84962B0D65E200A601BC /* YMRoomAnimationView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YMRoomAnimationView.m; sourceTree = "<group>"; };
|
||||
8C9C849C2B0D6A5C00A601BC /* YMGiftStorage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YMGiftStorage.h; sourceTree = "<group>"; };
|
||||
8C9C849D2B0D6A5C00A601BC /* YMGiftStorage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YMGiftStorage.m; sourceTree = "<group>"; };
|
||||
8C9C849F2B0D6BCF00A601BC /* CHRoomAnimationProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CHRoomAnimationProtocol.h; sourceTree = "<group>"; };
|
||||
8C9C84AB2B0D9AB900A601BC /* CHRoomMessageHeaderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CHRoomMessageHeaderView.h; sourceTree = "<group>"; };
|
||||
8C9C84AC2B0D9AB900A601BC /* CHRoomMessageHeaderView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CHRoomMessageHeaderView.m; sourceTree = "<group>"; };
|
||||
8C9C848A2B0D2B8500A601BC /* MewGiftReceiveInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewGiftReceiveInfoModel.h; sourceTree = "<group>"; };
|
||||
8C9C848B2B0D2B8500A601BC /* MewGiftReceiveInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewGiftReceiveInfoModel.m; sourceTree = "<group>"; };
|
||||
8C9C848E2B0D439800A601BC /* MewRoomMessageFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomMessageFilter.h; sourceTree = "<group>"; };
|
||||
8C9C848F2B0D439800A601BC /* MewRoomMessageFilter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewRoomMessageFilter.m; sourceTree = "<group>"; };
|
||||
8C9C84922B0D65C300A601BC /* MewRoomAnimationHitView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomAnimationHitView.h; sourceTree = "<group>"; };
|
||||
8C9C84932B0D65C300A601BC /* MewRoomAnimationHitView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewRoomAnimationHitView.m; sourceTree = "<group>"; };
|
||||
8C9C84952B0D65E200A601BC /* MewRoomAnimationView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomAnimationView.h; sourceTree = "<group>"; };
|
||||
8C9C84962B0D65E200A601BC /* MewRoomAnimationView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewRoomAnimationView.m; sourceTree = "<group>"; };
|
||||
8C9C849C2B0D6A5C00A601BC /* MewGiftStorage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewGiftStorage.h; sourceTree = "<group>"; };
|
||||
8C9C849D2B0D6A5C00A601BC /* MewGiftStorage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewGiftStorage.m; sourceTree = "<group>"; };
|
||||
8C9C849F2B0D6BCF00A601BC /* MewRoomAnimationProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomAnimationProtocol.h; sourceTree = "<group>"; };
|
||||
8C9C84AB2B0D9AB900A601BC /* MewRoomMessageHeaderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomMessageHeaderView.h; sourceTree = "<group>"; };
|
||||
8C9C84AC2B0D9AB900A601BC /* MewRoomMessageHeaderView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewRoomMessageHeaderView.m; sourceTree = "<group>"; };
|
||||
8C9C84AF2B0DEAE100A601BC /* YMIButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YMIButton.h; sourceTree = "<group>"; };
|
||||
8C9C84B02B0DEAE100A601BC /* YMIButton.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YMIButton.m; sourceTree = "<group>"; };
|
||||
8C9C84B22B0E94FA00A601BC /* yinmeng-ios.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "yinmeng-ios.entitlements"; sourceTree = "<group>"; };
|
||||
@@ -595,9 +593,11 @@
|
||||
8C9C84B82B0ECD2100A601BC /* MineRechargePresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MineRechargePresenter.h; sourceTree = "<group>"; };
|
||||
8C9C84B92B0ECD2100A601BC /* MineRechargePresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MineRechargePresenter.m; sourceTree = "<group>"; };
|
||||
8C9C84BE2B0ED1D000A601BC /* MineRechargeProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MineRechargeProtocol.h; sourceTree = "<group>"; };
|
||||
8CAB96F22B1A729300ED8639 /* CHRoomHostDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CHRoomHostDelegate.h; sourceTree = "<group>"; };
|
||||
8CAB96F32B1AB15200ED8639 /* CHRoomAnimationGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CHRoomAnimationGroup.h; sourceTree = "<group>"; };
|
||||
8CAB96F42B1AB15200ED8639 /* CHRoomAnimationGroup.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CHRoomAnimationGroup.m; sourceTree = "<group>"; };
|
||||
8CAB96F22B1A729300ED8639 /* MewRoomHostDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomHostDelegate.h; sourceTree = "<group>"; };
|
||||
8CAB96F32B1AB15200ED8639 /* MewRoomAnimationGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MewRoomAnimationGroup.h; sourceTree = "<group>"; };
|
||||
8CAB96F42B1AB15200ED8639 /* MewRoomAnimationGroup.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MewRoomAnimationGroup.m; sourceTree = "<group>"; };
|
||||
8CAB96FF2B1FE16000ED8639 /* UITableView+NIMScrollToBottom.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UITableView+NIMScrollToBottom.h"; sourceTree = "<group>"; };
|
||||
8CAB97002B1FE16000ED8639 /* UITableView+NIMScrollToBottom.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UITableView+NIMScrollToBottom.m"; sourceTree = "<group>"; };
|
||||
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 = "<group>"; };
|
||||
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 = "<group>"; };
|
||||
/* 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 = "<group>";
|
||||
@@ -652,7 +652,7 @@
|
||||
233757282B0CB577001D0B7F /* Protocol */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
233757292B0CB577001D0B7F /* CHMessageProtocol.h */,
|
||||
233757292B0CB577001D0B7F /* MewMessageProtocol.h */,
|
||||
);
|
||||
path = Protocol;
|
||||
sourceTree = "<group>";
|
||||
@@ -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 = "<group>";
|
||||
@@ -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 = "<group>";
|
||||
@@ -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 = "<group>";
|
||||
@@ -744,8 +744,8 @@
|
||||
233757532B0CB577001D0B7F /* Tool */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
233757542B0CB577001D0B7F /* NIMMessageUtils.m */,
|
||||
233757552B0CB577001D0B7F /* NIMMessageUtils.h */,
|
||||
233757542B0CB577001D0B7F /* MewNIMMessageUtils.m */,
|
||||
233757552B0CB577001D0B7F /* MewNIMMessageUtils.h */,
|
||||
);
|
||||
path = Tool;
|
||||
sourceTree = "<group>";
|
||||
@@ -1221,7 +1221,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8C9C84802B0D25C700A601BC /* ModuleKit */,
|
||||
8C9C82E12B0C697A00A601BC /* Home */,
|
||||
8C9C82EE2B0C697A00A601BC /* Room */,
|
||||
233757242B0CB577001D0B7F /* Message */,
|
||||
8C9C834D2B0C697A00A601BC /* RTC */,
|
||||
@@ -1232,23 +1231,11 @@
|
||||
path = YinMeng;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8C9C82E12B0C697A00A601BC /* Home */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8C9C82E22B0C697A00A601BC /* Presenter */,
|
||||
8C9C82E52B0C697A00A601BC /* Protocol */,
|
||||
8C9C82E72B0C697A00A601BC /* Model */,
|
||||
8C9C82EA2B0C697A00A601BC /* View */,
|
||||
8C9C82EB2B0C697A00A601BC /* Api */,
|
||||
);
|
||||
path = Home;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8C9C82E22B0C697A00A601BC /* Presenter */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8C9C82E42B0C697A00A601BC /* YMHomePresenter.h */,
|
||||
8C9C82E32B0C697A00A601BC /* YMHomePresenter.m */,
|
||||
8C9C82E42B0C697A00A601BC /* MewPartyPresenter.h */,
|
||||
8C9C82E32B0C697A00A601BC /* MewPartyPresenter.m */,
|
||||
);
|
||||
path = Presenter;
|
||||
sourceTree = "<group>";
|
||||
@@ -1256,32 +1243,16 @@
|
||||
8C9C82E52B0C697A00A601BC /* Protocol */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8C9C82E62B0C697A00A601BC /* YMHomeProtocol.h */,
|
||||
8C9C82E62B0C697A00A601BC /* MewPartyProtocol.h */,
|
||||
);
|
||||
path = Protocol;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8C9C82E72B0C697A00A601BC /* Model */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8C9C82E82B0C697A00A601BC /* HomeRecommendRoomModel.h */,
|
||||
8C9C82E92B0C697A00A601BC /* HomeRecommendRoomModel.m */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8C9C82EA2B0C697A00A601BC /* View */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8C9C82EB2B0C697A00A601BC /* Api */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8C9C82EC2B0C697A00A601BC /* Api+Home.m */,
|
||||
8C9C82ED2B0C697A00A601BC /* Api+Home.h */,
|
||||
8C9C82EC2B0C697A00A601BC /* Api+Party.m */,
|
||||
8C9C82ED2B0C697A00A601BC /* Api+Party.h */,
|
||||
);
|
||||
path = Api;
|
||||
sourceTree = "<group>";
|
||||
@@ -1301,8 +1272,8 @@
|
||||
8C9C82EF2B0C697A00A601BC /* Presenter */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8C9C82F02B0C697A00A601BC /* YMRoomPresenter.m */,
|
||||
8C9C82F12B0C697A00A601BC /* YMRoomPresenter.h */,
|
||||
8C9C82F02B0C697A00A601BC /* MewRoomPresenter.m */,
|
||||
8C9C82F12B0C697A00A601BC /* MewRoomPresenter.h */,
|
||||
);
|
||||
path = Presenter;
|
||||
sourceTree = "<group>";
|
||||
@@ -1310,7 +1281,7 @@
|
||||
8C9C82F22B0C697A00A601BC /* Protocol */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8C9C82F32B0C697A00A601BC /* YMRoomProtocol.h */,
|
||||
8C9C82F32B0C697A00A601BC /* MewRoomProtocol.h */,
|
||||
);
|
||||
path = Protocol;
|
||||
sourceTree = "<group>";
|
||||
@@ -1318,8 +1289,8 @@
|
||||
8C9C82F42B0C697A00A601BC /* Model */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8C9C82F52B0C697A00A601BC /* RoomInfoModel.m */,
|
||||
8C9C82F62B0C697A00A601BC /* RoomInfoModel.h */,
|
||||
8C9C82F52B0C697A00A601BC /* MewRoomInfoModel.m */,
|
||||
8C9C82F62B0C697A00A601BC /* MewRoomInfoModel.h */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
@@ -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 = "<group>";
|
||||
@@ -1342,8 +1313,8 @@
|
||||
8C9C82FA2B0C697A00A601BC /* MenuContainerView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8C9C82FC2B0C697A00A601BC /* YMRoomSendTextView.h */,
|
||||
8C9C82FB2B0C697A00A601BC /* YMRoomSendTextView.m */,
|
||||
8C9C82FC2B0C697A00A601BC /* MewRoomSendTextView.h */,
|
||||
8C9C82FB2B0C697A00A601BC /* MewRoomSendTextView.m */,
|
||||
);
|
||||
path = MenuContainerView;
|
||||
sourceTree = "<group>";
|
||||
@@ -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 = "<group>";
|
||||
@@ -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 = "<group>";
|
||||
@@ -1410,8 +1381,8 @@
|
||||
8C9C83152B0C697A00A601BC /* View */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8C9C83162B0C697A00A601BC /* YMNetImageYYLabel.m */,
|
||||
8C9C83172B0C697A00A601BC /* YMNetImageYYLabel.h */,
|
||||
8C9C83162B0C697A00A601BC /* MewNetImageLabel.m */,
|
||||
8C9C83172B0C697A00A601BC /* MewNetImageLabel.h */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
@@ -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 = "<group>";
|
||||
@@ -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 = "<group>";
|
||||
};
|
||||
8C9C84812B0D25D700A601BC /* SendGiftView */ = {
|
||||
8C9C84812B0D25D700A601BC /* MewGiftView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8C9C849B2B0D6A4600A601BC /* Presenter */,
|
||||
8C9C84862B0D286000A601BC /* Api */,
|
||||
8C9C84852B0D284000A601BC /* Model */,
|
||||
);
|
||||
path = SendGiftView;
|
||||
path = MewGiftView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
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 = "<group>";
|
||||
@@ -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 = "<group>";
|
||||
@@ -2145,8 +2121,8 @@
|
||||
8C9C849B2B0D6A4600A601BC /* Presenter */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8C9C849C2B0D6A5C00A601BC /* YMGiftStorage.h */,
|
||||
8C9C849D2B0D6A5C00A601BC /* YMGiftStorage.m */,
|
||||
8C9C849C2B0D6A5C00A601BC /* MewGiftStorage.h */,
|
||||
8C9C849D2B0D6A5C00A601BC /* MewGiftStorage.m */,
|
||||
);
|
||||
path = Presenter;
|
||||
sourceTree = "<group>";
|
||||
@@ -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",
|
||||
|
@@ -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];
|
||||
|
||||
}
|
||||
|
@@ -6,6 +6,7 @@
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
@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;
|
||||
/// 获取两个人的关注成功
|
||||
|
@@ -18,7 +18,7 @@
|
||||
#import "YMMineSettingViewController.h"
|
||||
#import "MewMineCollectionViewController.h"
|
||||
#import "MewRechargeViewController.h"
|
||||
#import "SessionViewController.h"
|
||||
#import "MewSessionViewController.h"
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
/// 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 {
|
||||
|
||||
|
@@ -10,12 +10,12 @@
|
||||
#import <Masonry/Masonry.h>
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
/// 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;
|
||||
}
|
||||
|
@@ -14,7 +14,7 @@
|
||||
#import "YMMacro.h"
|
||||
#import "ClientConfig.h"
|
||||
#import <Masonry/Masonry.h>
|
||||
#import "SessionViewController.h"
|
||||
#import "MewSessionViewController.h"
|
||||
@interface MewSessionListViewController ()<UITableViewDelegate, UITableViewDataSource,
|
||||
NIMConversationManagerDelegate,NIMLoginManagerDelegate>
|
||||
|
||||
@@ -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];
|
||||
|
||||
}
|
||||
|
21
yinmeng-ios/yinmeng-ios/Main/Mew/Party/Api/Api+Party.h
Normal file
21
yinmeng-ios/yinmeng-ios/Main/Mew/Party/Api/Api+Party.h
Normal file
@@ -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
|
20
yinmeng-ios/yinmeng-ios/Main/Mew/Party/Api/Api+Party.m
Normal file
20
yinmeng-ios/yinmeng-ios/Main/Mew/Party/Api/Api+Party.m
Normal file
@@ -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
|
@@ -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<HomePartyMicUserModel *> *micUsers;
|
||||
|
@@ -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
|
@@ -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
|
@@ -0,0 +1,18 @@
|
||||
//
|
||||
// MewHomeProtocol.h
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/19.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol MewPartyProtocol <NSObject>
|
||||
|
||||
/// 请求推荐房间列表完成
|
||||
- (void)mew_partyRecommendRoomListSuccess:(NSArray *)list;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -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 ()<UICollectionViewDelegate, UICollectionViewDataSource, YMHomeProtocol>
|
||||
@interface MewPartyViewController ()<UICollectionViewDelegate, UICollectionViewDataSource, MewHomeProtocol>
|
||||
|
||||
@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];
|
||||
}
|
||||
|
@@ -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 <Masonry/Masonry.h>
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
|
||||
|
||||
@interface MewRoomViewController ()<YMRoomProtocol,
|
||||
@interface MewRoomViewController ()<MewRoomProtocol,
|
||||
NIMChatroomManagerDelegate, NIMChatManagerDelegate, NIMConversationManagerDelegate, NIMLoginManagerDelegate,
|
||||
CHRoomHostDelegate, MewRoomRightViewDelegate, MewRoomHeaderViewDelegate>
|
||||
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<NSString *> *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;
|
||||
}
|
||||
|
@@ -6,8 +6,8 @@
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#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<CHRoomGuestDelegate>
|
||||
@interface MewRoomHeaderView : UIView<MewRoomGuestDelegate>
|
||||
|
||||
- (instancetype)initWithDelegate:(id<CHRoomHostDelegate>)delegate;
|
||||
- (instancetype)initWithDelegate:(id<MewRoomHostDelegate>)delegate;
|
||||
@property (nonatomic, weak) id<MewRoomHeaderViewDelegate> delegate;
|
||||
|
||||
@end
|
||||
|
@@ -143,7 +143,7 @@ static MewRoomHeaderFilterView *_filterView = nil;
|
||||
/// 退出房间
|
||||
@property (nonatomic, strong) UIButton *filterButton;
|
||||
|
||||
@property (nonatomic, weak) id<CHRoomHostDelegate> hostDelegate;
|
||||
@property (nonatomic, weak) id<MewRoomHostDelegate> hostDelegate;
|
||||
///是否已发送过收藏房间公屏消息
|
||||
@property (nonatomic, assign) BOOL hadShowCollectInScreen;
|
||||
|
||||
@@ -152,7 +152,7 @@ static MewRoomHeaderFilterView *_filterView = nil;
|
||||
@implementation MewRoomHeaderView
|
||||
|
||||
#pragma mark - Init
|
||||
- (instancetype)initWithDelegate:(id<CHRoomHostDelegate>)delegate {
|
||||
- (instancetype)initWithDelegate:(id<MewRoomHostDelegate>)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"]) {///收藏的话
|
||||
|
@@ -6,13 +6,13 @@
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
@class YMMessageInfoModel;
|
||||
@class MewMessageInfoModel;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MewRoomMessageTableCell : UITableViewCell
|
||||
|
||||
@property (nonatomic, strong) YMMessageInfoModel *messageInfo;
|
||||
@property (nonatomic, strong) MewMessageInfoModel *messageInfo;
|
||||
|
||||
@end
|
||||
|
||||
|
@@ -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 <Masonry/Masonry.h>
|
||||
#import <YYText/YYText.h>
|
||||
#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;
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -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
|
@@ -1,22 +0,0 @@
|
||||
//
|
||||
// YMHomeProtocol.h
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/19.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol YMHomeProtocol <NSObject>
|
||||
///首页推荐房间的
|
||||
- (void)getHomeRecommendRoomListSuccess:(NSArray *)list state:(BOOL)state;
|
||||
///首页推荐房间失败
|
||||
- (void)getHomeRecommendRoomListFail:(NSString *)message state:(BOOL)state;
|
||||
|
||||
/// 请求推荐房间列表完成
|
||||
- (void)homeRecommendRoomListSuccess:(NSArray *)list;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -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
|
||||
|
@@ -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];
|
||||
}
|
||||
|
@@ -1,12 +0,0 @@
|
||||
//
|
||||
// ChatLimitModel.m
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/16.
|
||||
//
|
||||
|
||||
#import "ChatLimitModel.h"
|
||||
|
||||
@implementation ChatLimitModel
|
||||
|
||||
@end
|
@@ -1,27 +0,0 @@
|
||||
//
|
||||
// MessageMenuModel.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/21.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
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
|
@@ -1,12 +0,0 @@
|
||||
//
|
||||
// MessageMenuModel.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/21.
|
||||
//
|
||||
|
||||
#import "MessageMenuModel.h"
|
||||
|
||||
@implementation MessageMenuModel
|
||||
|
||||
@end
|
@@ -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;
|
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// MewChatLimitModel.m
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/16.
|
||||
//
|
||||
|
||||
#import "MewChatLimitModel.h"
|
||||
|
||||
@implementation MewChatLimitModel
|
||||
|
||||
@end
|
@@ -0,0 +1,27 @@
|
||||
//
|
||||
// MewMessageMenuModel.h
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/21.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
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
|
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// MewMessageMenuModel.m
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/21.
|
||||
//
|
||||
|
||||
#import "MewMessageMenuModel.h"
|
||||
|
||||
@implementation MewMessageMenuModel
|
||||
|
||||
@end
|
@@ -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
|
@@ -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
|
@@ -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];
|
||||
}
|
@@ -1,27 +0,0 @@
|
||||
//
|
||||
// CHMessageProtocol.h
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/16.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
@class ChatLimitModel, UserInfoModel;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol CHMessageProtocol <NSObject>
|
||||
|
||||
- (void)onGetLimitChat:(ChatLimitModel *)chatLimit;
|
||||
///获取用户信息成功
|
||||
- (void)onGetSessionUserInfoSuccess:(UserInfoModel *)userInfo;
|
||||
///获取用户信息失败
|
||||
- (void)onGetSessionUserInfoFail;
|
||||
///获取粉丝喜欢成功
|
||||
- (void)getFansLikeSuccess:(BOOL)isLike;
|
||||
///关注成功
|
||||
- (void)attentionUserSuccess:(NSString *)uid;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,27 @@
|
||||
//
|
||||
// MewMessageProtocol.h
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/16.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
@class MewChatLimitModel, UserInfoModel;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol MewMessageProtocol <NSObject>
|
||||
|
||||
- (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
|
@@ -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
|
||||
|
@@ -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:
|
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// NIMBadgeView.h
|
||||
// MewNIMBadgeView.h
|
||||
// NIMKit
|
||||
//
|
||||
// Created by chris on 15/2/12.
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface NIMBadgeView : UIView
|
||||
@interface MewNIMBadgeView : UIView
|
||||
|
||||
@property (nonatomic, copy) NSString *badgeValue;
|
||||
|
||||
+ (instancetype)viewWithBadgeTip:(NSString *)badgeValue;
|
||||
+ (instancetype)Mew_ViewWithBadgeTip:(NSString *)badgeValue;
|
||||
|
||||
|
||||
@end
|
@@ -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);
|
@@ -1,17 +0,0 @@
|
||||
//
|
||||
// CHMessageConentAudioView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/22.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "CHMessageContentProtocol.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface CHMessageConentAudioView : UIView<CHMessageContentProtocol>
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -1,26 +0,0 @@
|
||||
//
|
||||
// CHSessionAudioRecordView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/21.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
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
|
@@ -1,30 +0,0 @@
|
||||
//
|
||||
// CHSessionMessageCell.h
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/16.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
@class NIMMessage;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@protocol CHSessionMessageCellDelegate <NSObject>
|
||||
|
||||
- (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<CHSessionMessageCellDelegate> delegate;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -1,33 +0,0 @@
|
||||
//
|
||||
// CHSessionNavView.h
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/16.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
@class CHSessionNavView;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@protocol CHSessionNavViewDelegate <NSObject>
|
||||
///点击了举报
|
||||
- (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<CHSessionNavViewDelegate> delegate;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -1,29 +0,0 @@
|
||||
//
|
||||
// MessageToolbarView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/20.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class MessageMenuModel;
|
||||
@protocol CHSessionToolbarViewDelegate <NSObject>
|
||||
|
||||
- (void)keyboardWillChangeFrame:(CGRect)rect;
|
||||
- (void)sendTextMessage:(NSString *)text;
|
||||
- (void)audioRecordCompletion:(NSString *)recordPath;
|
||||
- (void)didSelectMenuItem:(MessageMenuModel *)info;
|
||||
@end
|
||||
|
||||
@interface CHSessionToolbarView : UIView
|
||||
///代理
|
||||
@property (nonatomic,weak) id<CHSessionToolbarViewDelegate> delegate;
|
||||
@property(nonatomic,assign) int model;
|
||||
@property (nonatomic, assign, getter=isSendDisabled) BOOL sendDisabled;
|
||||
///折叠 菜单view
|
||||
- (void)foldToolMenuView;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -1,17 +0,0 @@
|
||||
//
|
||||
// CHMessageContentUnSupportView.h
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/16.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "CHMessageContentProtocol.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface CHMessageContentUnSupportView : UIView<CHMessageContentProtocol>
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -1,16 +0,0 @@
|
||||
//
|
||||
// CHMessageToolMenuCollectionViewCell.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/4/20.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface CHMessageToolMenuCollectionViewCell : UICollectionViewCell
|
||||
@property (nonatomic,copy) NSString *imageName;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -1,16 +1,16 @@
|
||||
//
|
||||
// CHMessageContentText.h
|
||||
// MewMessageContentImage.h
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/16.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "CHMessageContentProtocol.h"
|
||||
#import "MewMessageContentProtocol.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface CHMessageContentText : UIView<CHMessageContentProtocol>
|
||||
@interface MewMessageContentImage : UIView<MewMessageContentProtocol>
|
||||
|
||||
@end
|
||||
|
@@ -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 <NIMSDK/NIMSDK.h>
|
||||
#import <Masonry/Masonry.h>
|
||||
#import "UIImage+Utils.h"
|
||||
|
||||
#define MESSAGE_IMAGE_MAX_SIZE (CONTENT_WIDTH_MAX)
|
||||
#define MESSAGE_IMAGE_Min_SIZE (CONTENT_WIDTH_MAX -100)
|
||||
@interface CHMessageContentImage()
|
||||
//<SDPhotoBrowserDelegate>
|
||||
@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;
|
||||
}
|
@@ -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 <NSObject>
|
||||
@protocol MewMessageContentProtocol <NSObject>
|
||||
|
||||
+ (CGFloat)measureHeight:(NIMMessage *)message;
|
||||
- (void)render:(NIMMessage *)message;
|
||||
+ (CGFloat)mew_sessionMeasureHeight:(NIMMessage *)message;
|
||||
- (void)mew_renderMessage:(NIMMessage *)message;
|
||||
|
||||
@end
|
||||
|
@@ -1,16 +1,16 @@
|
||||
//
|
||||
// CHMessageContentImage.h
|
||||
// MewMessageContentText.h
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/16.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "CHMessageContentProtocol.h"
|
||||
#import "MewMessageContentProtocol.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface CHMessageContentImage : UIView<CHMessageContentProtocol>
|
||||
@interface MewMessageContentText : UIView<MewMessageContentProtocol>
|
||||
|
||||
@end
|
||||
|
@@ -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 {
|
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// MewMessageContentUnSupportView.h
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/16.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "MewMessageContentProtocol.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MewMessageContentUnSupportView : UIView<MewMessageContentProtocol>
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -1,12 +1,12 @@
|
||||
//
|
||||
// CHMessageContentUnSupportView.m
|
||||
// MewMessageContentUnSupportView.m
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/16.
|
||||
//
|
||||
|
||||
|
||||
#import "CHMessageContentUnSupportView.h"
|
||||
#import "MewMessageContentUnSupportView.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
@@ -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");
|
||||
}
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// MewMessageToolMenuCollectionCell.h
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/20.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MewMessageToolMenuCollectionCell : UICollectionViewCell
|
||||
@property (nonatomic,copy) NSString *imageName;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,56 @@
|
||||
//
|
||||
// MewMessageToolMenuCollectionCell.m
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/20.
|
||||
//
|
||||
|
||||
#import "MewMessageToolMenuCollectionCell.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
@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
|
@@ -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"
|
@@ -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 <Foundation/Foundation.h>
|
||||
|
||||
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
|
@@ -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 <NIMSDK/NIMSDK.h>
|
||||
|
||||
@interface CHMessageAudioCenter ()<NIMMediaManagerDelegate>
|
||||
@interface MewMessageAudioCenter ()<NIMMediaManagerDelegate>
|
||||
@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) {
|
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// MewMessageConentAudioView.h
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/22.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "MewMessageContentProtocol.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MewMessageConentAudioView : UIView<MewMessageContentProtocol>
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -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 <Masonry/Masonry.h>
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
///Tool
|
||||
|
||||
#import "MEWThemeColor.h"
|
||||
#import "CHMessageAudioCenter.h"
|
||||
@interface CHMessageConentAudioView ()<NIMMediaManagerDelegate>
|
||||
#import "MewMessageAudioCenter.h"
|
||||
@interface MewMessageConentAudioView ()<NIMMediaManagerDelegate>
|
||||
///背景
|
||||
@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];//四舍五入
|
||||
}
|
||||
|
||||
|
||||
|
@@ -0,0 +1,24 @@
|
||||
//
|
||||
// MewNIMMessageMaker.h
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/28.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
|
||||
@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
|
||||
|
@@ -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
|
@@ -0,0 +1,26 @@
|
||||
//
|
||||
// MewSessionAudioRecordView.h
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/21.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
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
|
@@ -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 <Masonry/Masonry.h>
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
|
||||
@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];
|
@@ -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
|
@@ -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 <Masonry/Masonry.h>
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
@@ -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;
|
||||
}
|
@@ -0,0 +1,30 @@
|
||||
//
|
||||
// MewSessionMessageCell.h
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/16.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
@class NIMMessage;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@protocol MewSessionMessageCellDelegate <NSObject>
|
||||
|
||||
- (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<MewSessionMessageCellDelegate> delegate;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -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 <Masonry/Masonry.h>
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
/// 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<CHMessageContentProtocol> * messageContent;
|
||||
@property (nonatomic, strong) UIView<MewMessageContentProtocol> * 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<CHMessageContentProtocol> *)getCustomMessageContentView:(NIMMessage *)message {
|
||||
if ([self.messageContent isKindOfClass:[CHMessageContentUnSupportView class]]) {
|
||||
- (UIView<MewMessageContentProtocol> *)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;
|
@@ -0,0 +1,33 @@
|
||||
//
|
||||
// MewSessionNavView.h
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/16.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
@class MewSessionNavView;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@protocol MewSessionNavViewDelegate <NSObject>
|
||||
///点击了举报
|
||||
- (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<MewSessionNavViewDelegate> delegate;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -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 <NIMSDK/NIMSDK.h>
|
||||
@@ -13,7 +13,7 @@
|
||||
/// Third
|
||||
#import <Masonry/Masonry.h>
|
||||
|
||||
@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;
|
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// MessageToolbarView.h
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/20.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class MewMessageMenuModel;
|
||||
@protocol MewSessionToolbarViewDelegate <NSObject>
|
||||
|
||||
- (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<MewSessionToolbarViewDelegate> delegate;
|
||||
@property(nonatomic,assign) int model;
|
||||
@property (nonatomic, assign, getter=isSendDisabled) BOOL sendDisabled;
|
||||
///折叠 菜单view
|
||||
- (void)mew_foldToolMenuView;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -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 <Masonry/Masonry.h>
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
@@ -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 ()<UICollectionViewDelegate, UICollectionViewDataSource, UITextFieldDelegate, NIMMediaManagerDelegate>
|
||||
@interface MewSessionToolbarView ()<UICollectionViewDelegate, UICollectionViewDataSource, UITextFieldDelegate, NIMMediaManagerDelegate>
|
||||
///最大的那个容器
|
||||
@property (nonatomic,strong) UIStackView *stackView;
|
||||
///上部分的功能的容器
|
||||
@@ -44,12 +44,12 @@
|
||||
///底部的view
|
||||
@property (nonatomic,strong) UIView * placeView;
|
||||
///菜单数据
|
||||
@property (nonatomic,strong) NSArray<MessageMenuModel *> *menuList;
|
||||
@property (nonatomic,strong) NSArray<MewMessageMenuModel *> *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<MessageMenuModel *> *)menuList {
|
||||
- (NSArray<MewMessageMenuModel *> *)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;
|
||||
}
|
@@ -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
|
@@ -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 <MJRefresh/MJRefresh.h>
|
||||
#import <IQKeyboardManager/IQKeyboardManager.h>
|
||||
/// Presenter
|
||||
#import "CHMessagePresenter.h"
|
||||
#import "CHMessageProtocol.h"
|
||||
#import "MewMessagePresenter.h"
|
||||
#import "MewMessageProtocol.h"
|
||||
#import <TZImagePickerController/TZImagePickerController.h>
|
||||
/// 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 ()<CHSessionToolbarViewDelegate,CHSessionNavViewDelegate,CHSessionMessageCellDelegate,CHMessageProtocol,
|
||||
@interface MewSessionViewController ()<MewSessionToolbarViewDelegate,MewSessionNavViewDelegate,MewSessionMessageCellDelegate,MewMessageProtocol,
|
||||
UITableViewDelegate, UITableViewDataSource,
|
||||
NIMChatManagerDelegate, NIMConversationManagerDelegate, NIMMediaManagerDelegate,TZImagePickerControllerDelegate>
|
||||
///导航栏
|
||||
@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<NIMMessage *> * 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<NIMMessage *> * _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;
|
||||
}
|
@@ -1,34 +0,0 @@
|
||||
//
|
||||
// NIMMessageMaker.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by zu on 2021/11/28.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
|
||||
@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
|
@@ -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
|
@@ -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
|
@@ -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
|
||||
|
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// MewGiftInfoModel.m
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/21.
|
||||
//
|
||||
|
||||
#import "MewGiftInfoModel.h"
|
||||
|
||||
@implementation MewGiftInfoModel
|
||||
|
||||
@end
|
@@ -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<NSString *> *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
|
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// MewGiftReceiveInfoModel.m
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/21.
|
||||
//
|
||||
|
||||
#import "MewGiftReceiveInfoModel.h"
|
||||
|
||||
@implementation MewGiftReceiveInfoModel
|
||||
|
||||
@end
|
@@ -1,23 +1,22 @@
|
||||
//
|
||||
// YMGiftStorage.h
|
||||
// MewGiftStorage.h
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/21.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
@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<GiftInfoModel *> *)getGiftDatasource:(NSString *)roomuid;
|
||||
|
||||
- (void)saveGiftDatasource:(NSArray<GiftInfoModel *> *)giftArray roomUid:(NSString *)roomUid;
|
||||
- (void)mew_saveGiftDatasource:(NSArray<MewGiftInfoModel *> *)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
|
@@ -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<NSString *, NSArray<MewGiftInfoModel *> *> *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<MewGiftInfoModel *> *)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<MewGiftInfoModel *> *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<NSString *,NSArray<MewGiftInfoModel *> *> *)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
|
@@ -1,12 +0,0 @@
|
||||
//
|
||||
// GiftInfoModel.m
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/21.
|
||||
//
|
||||
|
||||
#import "GiftInfoModel.h"
|
||||
|
||||
@implementation GiftInfoModel
|
||||
|
||||
@end
|
@@ -1,12 +0,0 @@
|
||||
//
|
||||
// GiftReceiveInfoModel.m
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/21.
|
||||
//
|
||||
|
||||
#import "GiftReceiveInfoModel.h"
|
||||
|
||||
@implementation GiftReceiveInfoModel
|
||||
|
||||
@end
|
@@ -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<NSString *, NSArray<GiftInfoModel *> *> *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<GiftInfoModel *> *)giftArray roomUid:(NSString *)roomUid {
|
||||
if (giftArray.count > 0 && roomUid.length > 0) {
|
||||
[self.roomGiftCache setObject:giftArray forKey:roomUid];
|
||||
}
|
||||
}
|
||||
|
||||
- (NSArray<GiftInfoModel *> *)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<GiftInfoModel *> *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<NSString *,NSArray<GiftInfoModel *> *> *)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
|
@@ -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
|
||||
|
||||
|
@@ -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];
|
||||
}
|
||||
|
@@ -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; //在线人数
|
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// MewRoomInfoModel.m
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/7.
|
||||
//
|
||||
|
||||
#import "MewRoomInfoModel.h"
|
||||
|
||||
@implementation MewRoomInfoModel
|
||||
|
||||
@end
|
@@ -1,12 +0,0 @@
|
||||
//
|
||||
// RoomInfoModel.m
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/7.
|
||||
//
|
||||
|
||||
#import "RoomInfoModel.h"
|
||||
|
||||
@implementation RoomInfoModel
|
||||
|
||||
@end
|
@@ -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
|
@@ -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 <ReactiveObjC/ReactiveObjC.h>
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
|
||||
@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];
|
||||
}
|
||||
|
@@ -1,32 +1,32 @@
|
||||
//
|
||||
// YMRoomProtocol.h
|
||||
// MewRoomProtocol.h
|
||||
// mew-ios
|
||||
//
|
||||
// Created by 触海 on 2023/11/7.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
@class RoomInfoModel, NIMChatroom, GiftReceiveInfoModel;
|
||||
@class MewRoomInfoModel, NIMChatroom, MewGiftReceiveInfoModel;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol YMRoomProtocol <NSObject>
|
||||
@protocol MewRoomProtocol <NSObject>
|
||||
/// 进入房间成功
|
||||
- (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
|
@@ -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
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user