Finish all works!
@@ -492,6 +492,11 @@
|
|||||||
23FF42762AA6E1480055733C /* XPHomeRecommendOtherRoomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42752AA6E1480055733C /* XPHomeRecommendOtherRoomView.m */; };
|
23FF42762AA6E1480055733C /* XPHomeRecommendOtherRoomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42752AA6E1480055733C /* XPHomeRecommendOtherRoomView.m */; };
|
||||||
23FF42792AA6E19C0055733C /* HomeMenuSourceModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42782AA6E19C0055733C /* HomeMenuSourceModel.m */; };
|
23FF42792AA6E19C0055733C /* HomeMenuSourceModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42782AA6E19C0055733C /* HomeMenuSourceModel.m */; };
|
||||||
23FF428E2AAB2D3A0055733C /* XPCandyTreeBuyView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF428D2AAB2D3A0055733C /* XPCandyTreeBuyView.m */; };
|
23FF428E2AAB2D3A0055733C /* XPCandyTreeBuyView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF428D2AAB2D3A0055733C /* XPCandyTreeBuyView.m */; };
|
||||||
|
4C1392932D6D963700A6DFB5 /* SubRechargersViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1392922D6D963600A6DFB5 /* SubRechargersViewController.m */; };
|
||||||
|
4C1392962D6DA22B00A6DFB5 /* RechargerTransferHistoryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1392952D6DA22B00A6DFB5 /* RechargerTransferHistoryViewController.m */; };
|
||||||
|
4C1392992D6DB4CD00A6DFB5 /* MoliMoneyLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1392982D6DB4CD00A6DFB5 /* MoliMoneyLabel.m */; };
|
||||||
|
4C13929D2D70441500A6DFB5 /* giftgift.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 4C13929B2D70441500A6DFB5 /* giftgift.mp4 */; };
|
||||||
|
4C1392A12D71675900A6DFB5 /* coincoin.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 4C1392A02D71675900A6DFB5 /* coincoin.mp4 */; };
|
||||||
4C1892992CF84349004D4426 /* RoomCahtCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1892982CF84349004D4426 /* RoomCahtCell.m */; };
|
4C1892992CF84349004D4426 /* RoomCahtCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1892982CF84349004D4426 /* RoomCahtCell.m */; };
|
||||||
4C44BD5D2D151B5C00F321FA /* RoomSideMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C44BD5C2D151B5C00F321FA /* RoomSideMenu.m */; };
|
4C44BD5D2D151B5C00F321FA /* RoomSideMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C44BD5C2D151B5C00F321FA /* RoomSideMenu.m */; };
|
||||||
4C4707A52D53430300C8CD24 /* NSData+GZIP.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4707A42D53430300C8CD24 /* NSData+GZIP.m */; };
|
4C4707A52D53430300C8CD24 /* NSData+GZIP.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4707A42D53430300C8CD24 /* NSData+GZIP.m */; };
|
||||||
@@ -506,13 +511,26 @@
|
|||||||
4C6E31EE2D363CA800D8EEDD /* addMoveAnimationToView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6E31ED2D363CA800D8EEDD /* addMoveAnimationToView.m */; };
|
4C6E31EE2D363CA800D8EEDD /* addMoveAnimationToView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C6E31ED2D363CA800D8EEDD /* addMoveAnimationToView.m */; };
|
||||||
4C71C69F2D069D2B00ECCA24 /* GiftAnimationHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C71C69E2D069D2B00ECCA24 /* GiftAnimationHelper.m */; };
|
4C71C69F2D069D2B00ECCA24 /* GiftAnimationHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C71C69E2D069D2B00ECCA24 /* GiftAnimationHelper.m */; };
|
||||||
4C71C6A22D06DB3D00ECCA24 /* GiftAnimationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C71C6A12D06DB3D00ECCA24 /* GiftAnimationManager.m */; };
|
4C71C6A22D06DB3D00ECCA24 /* GiftAnimationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C71C6A12D06DB3D00ECCA24 /* GiftAnimationManager.m */; };
|
||||||
|
4C75CEFB2D6318FF009147A5 /* RoomEnterModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C75CEFA2D6318FF009147A5 /* RoomEnterModel.m */; };
|
||||||
|
4C75CEFE2D632CD5009147A5 /* CPEnterRoomTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C75CEFD2D632CD5009147A5 /* CPEnterRoomTableViewCell.m */; };
|
||||||
|
4C75CF002D633C27009147A5 /* CP进场.svga in Resources */ = {isa = PBXBuildFile; fileRef = 4C75CEFF2D633C27009147A5 /* CP进场.svga */; };
|
||||||
4C7989EC2D19392E006AE07B /* EmptyDataView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C7989EB2D19392E006AE07B /* EmptyDataView.m */; };
|
4C7989EC2D19392E006AE07B /* EmptyDataView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C7989EB2D19392E006AE07B /* EmptyDataView.m */; };
|
||||||
4C7989EF2D195277006AE07B /* RoomModeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C7989EE2D195277006AE07B /* RoomModeViewController.m */; };
|
4C7989EF2D195277006AE07B /* RoomModeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C7989EE2D195277006AE07B /* RoomModeViewController.m */; };
|
||||||
4C7989F32D1952DA006AE07B /* RoomModePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C7989F22D1952DA006AE07B /* RoomModePresenter.m */; };
|
4C7989F32D1952DA006AE07B /* RoomModePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C7989F22D1952DA006AE07B /* RoomModePresenter.m */; };
|
||||||
4C815A172CFEB758002A46A6 /* SuperBlockViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C815A162CFEB758002A46A6 /* SuperBlockViewController.m */; };
|
4C815A172CFEB758002A46A6 /* SuperBlockViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C815A162CFEB758002A46A6 /* SuperBlockViewController.m */; };
|
||||||
|
4C864A022D55F4F600191AE0 /* LuckyPackagePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C864A012D55F4F600191AE0 /* LuckyPackagePresenter.m */; };
|
||||||
|
4C864A052D561E1D00191AE0 /* LuckyPackageLogicManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C864A042D561E1D00191AE0 /* LuckyPackageLogicManager.m */; };
|
||||||
|
4CA532B42D5AEE9400B8F59F /* Api+LuckyPackage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA532B32D5AEE9400B8F59F /* Api+LuckyPackage.m */; };
|
||||||
|
4CA532B72D5B333200B8F59F /* RoomLuckyPackageInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA532B62D5B333200B8F59F /* RoomLuckyPackageInfoModel.m */; };
|
||||||
|
4CA532BA2D5C8EBE00B8F59F /* LuckyPackageBannerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA532B92D5C8EBE00B8F59F /* LuckyPackageBannerView.m */; };
|
||||||
|
4CA532BD2D5CA49A00B8F59F /* OpenLuckyPackageEntranceView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA532BC2D5CA49A00B8F59F /* OpenLuckyPackageEntranceView.m */; };
|
||||||
|
4CA532C02D5CA4D300B8F59F /* LuckyPackageStatusView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA532BF2D5CA4D300B8F59F /* LuckyPackageStatusView.m */; };
|
||||||
|
4CA532C32D5F37DC00B8F59F /* LuckyPackageMessageTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA532C22D5F37DC00B8F59F /* LuckyPackageMessageTableViewCell.m */; };
|
||||||
4CB753D22D30F10900B13DF5 /* LuckyPackageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CB753D12D30F10900B13DF5 /* LuckyPackageViewController.m */; };
|
4CB753D22D30F10900B13DF5 /* LuckyPackageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CB753D12D30F10900B13DF5 /* LuckyPackageViewController.m */; };
|
||||||
4CC6195A2CEC7770008C1EE8 /* MyDressingDataPresent.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC619592CEC7770008C1EE8 /* MyDressingDataPresent.m */; };
|
4CC6195A2CEC7770008C1EE8 /* MyDressingDataPresent.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC619592CEC7770008C1EE8 /* MyDressingDataPresent.m */; };
|
||||||
4CC6195D2CEC996E008C1EE8 /* MyDressingDataModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC6195C2CEC996E008C1EE8 /* MyDressingDataModel.m */; };
|
4CC6195D2CEC996E008C1EE8 /* MyDressingDataModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC6195C2CEC996E008C1EE8 /* MyDressingDataModel.m */; };
|
||||||
|
4CD6FF662D673A5C00262AB7 /* AgentMessageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD6FF652D673A5C00262AB7 /* AgentMessageModel.m */; };
|
||||||
|
4CD6FF692D673F7F00262AB7 /* AgentMessageTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CD6FF682D673F7F00262AB7 /* AgentMessageTableViewCell.m */; };
|
||||||
4CE3A9462D22754C003F0796 /* RechargeUserModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE3A9452D22754C003F0796 /* RechargeUserModel.m */; };
|
4CE3A9462D22754C003F0796 /* RechargeUserModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE3A9452D22754C003F0796 /* RechargeUserModel.m */; };
|
||||||
4CEB9EA72D09643E00443480 /* UserRoomCardViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEB9EA62D09643E00443480 /* UserRoomCardViewController.m */; };
|
4CEB9EA72D09643E00443480 /* UserRoomCardViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEB9EA62D09643E00443480 /* UserRoomCardViewController.m */; };
|
||||||
4CEB9EAA2D097E8400443480 /* MoliAvatar.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEB9EA92D097E8400443480 /* MoliAvatar.m */; };
|
4CEB9EAA2D097E8400443480 /* MoliAvatar.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEB9EA92D097E8400443480 /* MoliAvatar.m */; };
|
||||||
@@ -1074,7 +1092,6 @@
|
|||||||
E83645A82A40AF5400E0DBE4 /* NSBundle+Localizable.m in Sources */ = {isa = PBXBuildFile; fileRef = E83645A72A40AF5400E0DBE4 /* NSBundle+Localizable.m */; };
|
E83645A82A40AF5400E0DBE4 /* NSBundle+Localizable.m in Sources */ = {isa = PBXBuildFile; fileRef = E83645A72A40AF5400E0DBE4 /* NSBundle+Localizable.m */; };
|
||||||
E8383697298A598D00112E1C /* MessageTipsModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E8383696298A598D00112E1C /* MessageTipsModel.m */; };
|
E8383697298A598D00112E1C /* MessageTipsModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E8383696298A598D00112E1C /* MessageTipsModel.m */; };
|
||||||
E838369A298A59C100112E1C /* MessageTipsView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8383699298A59C100112E1C /* MessageTipsView.m */; };
|
E838369A298A59C100112E1C /* MessageTipsView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8383699298A59C100112E1C /* MessageTipsView.m */; };
|
||||||
E838D9A0275E1BF60079E0B5 /* XPRoomAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = E838D99F275E1BF60079E0B5 /* XPRoomAnimationView.m */; };
|
|
||||||
E839532D276A030F00CF2F24 /* XPMineDressUpListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E839532C276A030F00CF2F24 /* XPMineDressUpListViewController.m */; };
|
E839532D276A030F00CF2F24 /* XPMineDressUpListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E839532C276A030F00CF2F24 /* XPMineDressUpListViewController.m */; };
|
||||||
E8395331276A03AE00CF2F24 /* Api+DressUp.m in Sources */ = {isa = PBXBuildFile; fileRef = E8395330276A03AE00CF2F24 /* Api+DressUp.m */; };
|
E8395331276A03AE00CF2F24 /* Api+DressUp.m in Sources */ = {isa = PBXBuildFile; fileRef = E8395330276A03AE00CF2F24 /* Api+DressUp.m */; };
|
||||||
E8395334276A03C300CF2F24 /* XPMineDressUpPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8395333276A03C300CF2F24 /* XPMineDressUpPresenter.m */; };
|
E8395334276A03C300CF2F24 /* XPMineDressUpPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8395333276A03C300CF2F24 /* XPMineDressUpPresenter.m */; };
|
||||||
@@ -2589,6 +2606,14 @@
|
|||||||
23FF42782AA6E19C0055733C /* HomeMenuSourceModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeMenuSourceModel.m; sourceTree = "<group>"; };
|
23FF42782AA6E19C0055733C /* HomeMenuSourceModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeMenuSourceModel.m; sourceTree = "<group>"; };
|
||||||
23FF428C2AAB2D3A0055733C /* XPCandyTreeBuyView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPCandyTreeBuyView.h; sourceTree = "<group>"; };
|
23FF428C2AAB2D3A0055733C /* XPCandyTreeBuyView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPCandyTreeBuyView.h; sourceTree = "<group>"; };
|
||||||
23FF428D2AAB2D3A0055733C /* XPCandyTreeBuyView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPCandyTreeBuyView.m; sourceTree = "<group>"; };
|
23FF428D2AAB2D3A0055733C /* XPCandyTreeBuyView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPCandyTreeBuyView.m; sourceTree = "<group>"; };
|
||||||
|
4C1392912D6D963600A6DFB5 /* SubRechargersViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SubRechargersViewController.h; sourceTree = "<group>"; };
|
||||||
|
4C1392922D6D963600A6DFB5 /* SubRechargersViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SubRechargersViewController.m; sourceTree = "<group>"; };
|
||||||
|
4C1392942D6DA22B00A6DFB5 /* RechargerTransferHistoryViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RechargerTransferHistoryViewController.h; sourceTree = "<group>"; };
|
||||||
|
4C1392952D6DA22B00A6DFB5 /* RechargerTransferHistoryViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RechargerTransferHistoryViewController.m; sourceTree = "<group>"; };
|
||||||
|
4C1392972D6DB4CD00A6DFB5 /* MoliMoneyLabel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MoliMoneyLabel.h; sourceTree = "<group>"; };
|
||||||
|
4C1392982D6DB4CD00A6DFB5 /* MoliMoneyLabel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MoliMoneyLabel.m; sourceTree = "<group>"; };
|
||||||
|
4C13929B2D70441500A6DFB5 /* giftgift.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; path = giftgift.mp4; sourceTree = "<group>"; };
|
||||||
|
4C1392A02D71675900A6DFB5 /* coincoin.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; path = coincoin.mp4; sourceTree = "<group>"; };
|
||||||
4C1892972CF84349004D4426 /* RoomCahtCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomCahtCell.h; sourceTree = "<group>"; };
|
4C1892972CF84349004D4426 /* RoomCahtCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomCahtCell.h; sourceTree = "<group>"; };
|
||||||
4C1892982CF84349004D4426 /* RoomCahtCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomCahtCell.m; sourceTree = "<group>"; };
|
4C1892982CF84349004D4426 /* RoomCahtCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomCahtCell.m; sourceTree = "<group>"; };
|
||||||
4C44BD5B2D151B5C00F321FA /* RoomSideMenu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomSideMenu.h; sourceTree = "<group>"; };
|
4C44BD5B2D151B5C00F321FA /* RoomSideMenu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomSideMenu.h; sourceTree = "<group>"; };
|
||||||
@@ -2616,6 +2641,11 @@
|
|||||||
4C71C69E2D069D2B00ECCA24 /* GiftAnimationHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiftAnimationHelper.m; sourceTree = "<group>"; };
|
4C71C69E2D069D2B00ECCA24 /* GiftAnimationHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiftAnimationHelper.m; sourceTree = "<group>"; };
|
||||||
4C71C6A02D06DB3D00ECCA24 /* GiftAnimationManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiftAnimationManager.h; sourceTree = "<group>"; };
|
4C71C6A02D06DB3D00ECCA24 /* GiftAnimationManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiftAnimationManager.h; sourceTree = "<group>"; };
|
||||||
4C71C6A12D06DB3D00ECCA24 /* GiftAnimationManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiftAnimationManager.m; sourceTree = "<group>"; };
|
4C71C6A12D06DB3D00ECCA24 /* GiftAnimationManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiftAnimationManager.m; sourceTree = "<group>"; };
|
||||||
|
4C75CEF92D6318FF009147A5 /* RoomEnterModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomEnterModel.h; sourceTree = "<group>"; };
|
||||||
|
4C75CEFA2D6318FF009147A5 /* RoomEnterModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomEnterModel.m; sourceTree = "<group>"; };
|
||||||
|
4C75CEFC2D632CD5009147A5 /* CPEnterRoomTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CPEnterRoomTableViewCell.h; sourceTree = "<group>"; };
|
||||||
|
4C75CEFD2D632CD5009147A5 /* CPEnterRoomTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CPEnterRoomTableViewCell.m; sourceTree = "<group>"; };
|
||||||
|
4C75CEFF2D633C27009147A5 /* CP进场.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = "CP进场.svga"; sourceTree = "<group>"; };
|
||||||
4C7989EA2D19392E006AE07B /* EmptyDataView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EmptyDataView.h; sourceTree = "<group>"; };
|
4C7989EA2D19392E006AE07B /* EmptyDataView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EmptyDataView.h; sourceTree = "<group>"; };
|
||||||
4C7989EB2D19392E006AE07B /* EmptyDataView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EmptyDataView.m; sourceTree = "<group>"; };
|
4C7989EB2D19392E006AE07B /* EmptyDataView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EmptyDataView.m; sourceTree = "<group>"; };
|
||||||
4C7989ED2D195277006AE07B /* RoomModeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomModeViewController.h; sourceTree = "<group>"; };
|
4C7989ED2D195277006AE07B /* RoomModeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomModeViewController.h; sourceTree = "<group>"; };
|
||||||
@@ -2624,12 +2654,32 @@
|
|||||||
4C7989F22D1952DA006AE07B /* RoomModePresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomModePresenter.m; sourceTree = "<group>"; };
|
4C7989F22D1952DA006AE07B /* RoomModePresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomModePresenter.m; sourceTree = "<group>"; };
|
||||||
4C815A152CFEB758002A46A6 /* SuperBlockViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SuperBlockViewController.h; sourceTree = "<group>"; };
|
4C815A152CFEB758002A46A6 /* SuperBlockViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SuperBlockViewController.h; sourceTree = "<group>"; };
|
||||||
4C815A162CFEB758002A46A6 /* SuperBlockViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SuperBlockViewController.m; sourceTree = "<group>"; };
|
4C815A162CFEB758002A46A6 /* SuperBlockViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SuperBlockViewController.m; sourceTree = "<group>"; };
|
||||||
|
4C864A002D55F4F600191AE0 /* LuckyPackagePresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LuckyPackagePresenter.h; sourceTree = "<group>"; };
|
||||||
|
4C864A012D55F4F600191AE0 /* LuckyPackagePresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LuckyPackagePresenter.m; sourceTree = "<group>"; };
|
||||||
|
4C864A032D561E1D00191AE0 /* LuckyPackageLogicManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LuckyPackageLogicManager.h; sourceTree = "<group>"; };
|
||||||
|
4C864A042D561E1D00191AE0 /* LuckyPackageLogicManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LuckyPackageLogicManager.m; sourceTree = "<group>"; };
|
||||||
|
4CA532B22D5AEE9400B8F59F /* Api+LuckyPackage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Api+LuckyPackage.h"; sourceTree = "<group>"; };
|
||||||
|
4CA532B32D5AEE9400B8F59F /* Api+LuckyPackage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "Api+LuckyPackage.m"; sourceTree = "<group>"; };
|
||||||
|
4CA532B52D5B333200B8F59F /* RoomLuckyPackageInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomLuckyPackageInfoModel.h; sourceTree = "<group>"; };
|
||||||
|
4CA532B62D5B333200B8F59F /* RoomLuckyPackageInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomLuckyPackageInfoModel.m; sourceTree = "<group>"; };
|
||||||
|
4CA532B82D5C8EBE00B8F59F /* LuckyPackageBannerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LuckyPackageBannerView.h; sourceTree = "<group>"; };
|
||||||
|
4CA532B92D5C8EBE00B8F59F /* LuckyPackageBannerView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LuckyPackageBannerView.m; sourceTree = "<group>"; };
|
||||||
|
4CA532BB2D5CA49A00B8F59F /* OpenLuckyPackageEntranceView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OpenLuckyPackageEntranceView.h; sourceTree = "<group>"; };
|
||||||
|
4CA532BC2D5CA49A00B8F59F /* OpenLuckyPackageEntranceView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OpenLuckyPackageEntranceView.m; sourceTree = "<group>"; };
|
||||||
|
4CA532BE2D5CA4D300B8F59F /* LuckyPackageStatusView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LuckyPackageStatusView.h; sourceTree = "<group>"; };
|
||||||
|
4CA532BF2D5CA4D300B8F59F /* LuckyPackageStatusView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LuckyPackageStatusView.m; sourceTree = "<group>"; };
|
||||||
|
4CA532C12D5F37DC00B8F59F /* LuckyPackageMessageTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LuckyPackageMessageTableViewCell.h; sourceTree = "<group>"; };
|
||||||
|
4CA532C22D5F37DC00B8F59F /* LuckyPackageMessageTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LuckyPackageMessageTableViewCell.m; sourceTree = "<group>"; };
|
||||||
4CB753D02D30F10900B13DF5 /* LuckyPackageViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LuckyPackageViewController.h; sourceTree = "<group>"; };
|
4CB753D02D30F10900B13DF5 /* LuckyPackageViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LuckyPackageViewController.h; sourceTree = "<group>"; };
|
||||||
4CB753D12D30F10900B13DF5 /* LuckyPackageViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LuckyPackageViewController.m; sourceTree = "<group>"; };
|
4CB753D12D30F10900B13DF5 /* LuckyPackageViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LuckyPackageViewController.m; sourceTree = "<group>"; };
|
||||||
4CC619582CEC7770008C1EE8 /* MyDressingDataPresent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyDressingDataPresent.h; sourceTree = "<group>"; };
|
4CC619582CEC7770008C1EE8 /* MyDressingDataPresent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyDressingDataPresent.h; sourceTree = "<group>"; };
|
||||||
4CC619592CEC7770008C1EE8 /* MyDressingDataPresent.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyDressingDataPresent.m; sourceTree = "<group>"; };
|
4CC619592CEC7770008C1EE8 /* MyDressingDataPresent.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyDressingDataPresent.m; sourceTree = "<group>"; };
|
||||||
4CC6195B2CEC996E008C1EE8 /* MyDressingDataModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyDressingDataModel.h; sourceTree = "<group>"; };
|
4CC6195B2CEC996E008C1EE8 /* MyDressingDataModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyDressingDataModel.h; sourceTree = "<group>"; };
|
||||||
4CC6195C2CEC996E008C1EE8 /* MyDressingDataModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyDressingDataModel.m; sourceTree = "<group>"; };
|
4CC6195C2CEC996E008C1EE8 /* MyDressingDataModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyDressingDataModel.m; sourceTree = "<group>"; };
|
||||||
|
4CD6FF642D673A5C00262AB7 /* AgentMessageModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AgentMessageModel.h; sourceTree = "<group>"; };
|
||||||
|
4CD6FF652D673A5C00262AB7 /* AgentMessageModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AgentMessageModel.m; sourceTree = "<group>"; };
|
||||||
|
4CD6FF672D673F7F00262AB7 /* AgentMessageTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AgentMessageTableViewCell.h; sourceTree = "<group>"; };
|
||||||
|
4CD6FF682D673F7F00262AB7 /* AgentMessageTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AgentMessageTableViewCell.m; sourceTree = "<group>"; };
|
||||||
4CE3A9442D22754C003F0796 /* RechargeUserModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RechargeUserModel.h; sourceTree = "<group>"; };
|
4CE3A9442D22754C003F0796 /* RechargeUserModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RechargeUserModel.h; sourceTree = "<group>"; };
|
||||||
4CE3A9452D22754C003F0796 /* RechargeUserModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RechargeUserModel.m; sourceTree = "<group>"; };
|
4CE3A9452D22754C003F0796 /* RechargeUserModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RechargeUserModel.m; sourceTree = "<group>"; };
|
||||||
4CEB9EA52D09643E00443480 /* UserRoomCardViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UserRoomCardViewController.h; sourceTree = "<group>"; };
|
4CEB9EA52D09643E00443480 /* UserRoomCardViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UserRoomCardViewController.h; sourceTree = "<group>"; };
|
||||||
@@ -3574,8 +3624,6 @@
|
|||||||
E8383696298A598D00112E1C /* MessageTipsModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MessageTipsModel.m; sourceTree = "<group>"; };
|
E8383696298A598D00112E1C /* MessageTipsModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MessageTipsModel.m; sourceTree = "<group>"; };
|
||||||
E8383698298A59C100112E1C /* MessageTipsView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessageTipsView.h; sourceTree = "<group>"; };
|
E8383698298A59C100112E1C /* MessageTipsView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessageTipsView.h; sourceTree = "<group>"; };
|
||||||
E8383699298A59C100112E1C /* MessageTipsView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MessageTipsView.m; sourceTree = "<group>"; };
|
E8383699298A59C100112E1C /* MessageTipsView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MessageTipsView.m; sourceTree = "<group>"; };
|
||||||
E838D99E275E1BF60079E0B5 /* XPRoomAnimationView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomAnimationView.h; sourceTree = "<group>"; };
|
|
||||||
E838D99F275E1BF60079E0B5 /* XPRoomAnimationView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomAnimationView.m; sourceTree = "<group>"; };
|
|
||||||
E839532B276A030F00CF2F24 /* XPMineDressUpListViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineDressUpListViewController.h; sourceTree = "<group>"; };
|
E839532B276A030F00CF2F24 /* XPMineDressUpListViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineDressUpListViewController.h; sourceTree = "<group>"; };
|
||||||
E839532C276A030F00CF2F24 /* XPMineDressUpListViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineDressUpListViewController.m; sourceTree = "<group>"; };
|
E839532C276A030F00CF2F24 /* XPMineDressUpListViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineDressUpListViewController.m; sourceTree = "<group>"; };
|
||||||
E839532F276A03AE00CF2F24 /* Api+DressUp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Api+DressUp.h"; sourceTree = "<group>"; };
|
E839532F276A03AE00CF2F24 /* Api+DressUp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Api+DressUp.h"; sourceTree = "<group>"; };
|
||||||
@@ -5245,6 +5293,8 @@
|
|||||||
E8B825CC26EA18C8009E8E9F /* DJDKMIMOMColor.m */,
|
E8B825CC26EA18C8009E8E9F /* DJDKMIMOMColor.m */,
|
||||||
4CEB9EA82D097E8400443480 /* MoliAvatar.h */,
|
4CEB9EA82D097E8400443480 /* MoliAvatar.h */,
|
||||||
4CEB9EA92D097E8400443480 /* MoliAvatar.m */,
|
4CEB9EA92D097E8400443480 /* MoliAvatar.m */,
|
||||||
|
4C1392972D6DB4CD00A6DFB5 /* MoliMoneyLabel.h */,
|
||||||
|
4C1392982D6DB4CD00A6DFB5 /* MoliMoneyLabel.m */,
|
||||||
4CEB9EAB2D09AA0400443480 /* SexAgeLabel.h */,
|
4CEB9EAB2D09AA0400443480 /* SexAgeLabel.h */,
|
||||||
4CEB9EAC2D09AA0400443480 /* SexAgeLabel.m */,
|
4CEB9EAC2D09AA0400443480 /* SexAgeLabel.m */,
|
||||||
4C7989EA2D19392E006AE07B /* EmptyDataView.h */,
|
4C7989EA2D19392E006AE07B /* EmptyDataView.h */,
|
||||||
@@ -6683,8 +6733,20 @@
|
|||||||
4CB753CF2D30F08E00B13DF5 /* LuckyPackage */ = {
|
4CB753CF2D30F08E00B13DF5 /* LuckyPackage */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
4C864A002D55F4F600191AE0 /* LuckyPackagePresenter.h */,
|
||||||
|
4C864A012D55F4F600191AE0 /* LuckyPackagePresenter.m */,
|
||||||
4CB753D02D30F10900B13DF5 /* LuckyPackageViewController.h */,
|
4CB753D02D30F10900B13DF5 /* LuckyPackageViewController.h */,
|
||||||
4CB753D12D30F10900B13DF5 /* LuckyPackageViewController.m */,
|
4CB753D12D30F10900B13DF5 /* LuckyPackageViewController.m */,
|
||||||
|
4C864A032D561E1D00191AE0 /* LuckyPackageLogicManager.h */,
|
||||||
|
4C864A042D561E1D00191AE0 /* LuckyPackageLogicManager.m */,
|
||||||
|
4CA532B82D5C8EBE00B8F59F /* LuckyPackageBannerView.h */,
|
||||||
|
4CA532B92D5C8EBE00B8F59F /* LuckyPackageBannerView.m */,
|
||||||
|
4CA532BB2D5CA49A00B8F59F /* OpenLuckyPackageEntranceView.h */,
|
||||||
|
4CA532BC2D5CA49A00B8F59F /* OpenLuckyPackageEntranceView.m */,
|
||||||
|
4CA532BE2D5CA4D300B8F59F /* LuckyPackageStatusView.h */,
|
||||||
|
4CA532BF2D5CA4D300B8F59F /* LuckyPackageStatusView.m */,
|
||||||
|
4CA532C12D5F37DC00B8F59F /* LuckyPackageMessageTableViewCell.h */,
|
||||||
|
4CA532C22D5F37DC00B8F59F /* LuckyPackageMessageTableViewCell.m */,
|
||||||
);
|
);
|
||||||
path = LuckyPackage;
|
path = LuckyPackage;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -6742,6 +6804,8 @@
|
|||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
54C608502CBE0BEB003DD5D2 /* game_floating_bg.svga */,
|
54C608502CBE0BEB003DD5D2 /* game_floating_bg.svga */,
|
||||||
|
4C13929B2D70441500A6DFB5 /* giftgift.mp4 */,
|
||||||
|
4C1392A02D71675900A6DFB5 /* coincoin.mp4 */,
|
||||||
);
|
);
|
||||||
path = game;
|
path = game;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -6776,6 +6840,7 @@
|
|||||||
54FFD3802C9BD12600DE61E5 /* cp */ = {
|
54FFD3802C9BD12600DE61E5 /* cp */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
4C75CEFF2D633C27009147A5 /* CP进场.svga */,
|
||||||
544B19B72CA169BE00885BEB /* level up 1.svga */,
|
544B19B72CA169BE00885BEB /* level up 1.svga */,
|
||||||
544B19B82CA169BE00885BEB /* level up 2.svga */,
|
544B19B82CA169BE00885BEB /* level up 2.svga */,
|
||||||
544B19B92CA169BE00885BEB /* level up 3.svga */,
|
544B19B92CA169BE00885BEB /* level up 3.svga */,
|
||||||
@@ -7579,6 +7644,10 @@
|
|||||||
544879EF2CD22D4B00D58DC1 /* CustomRoomBGItemModel.m */,
|
544879EF2CD22D4B00D58DC1 /* CustomRoomBGItemModel.m */,
|
||||||
4C5527BA2D1BDCDE00833FFD /* RoomLevelInfoModel.h */,
|
4C5527BA2D1BDCDE00833FFD /* RoomLevelInfoModel.h */,
|
||||||
4C5527BB2D1BDCDE00833FFD /* RoomLevelInfoModel.m */,
|
4C5527BB2D1BDCDE00833FFD /* RoomLevelInfoModel.m */,
|
||||||
|
4CA532B52D5B333200B8F59F /* RoomLuckyPackageInfoModel.h */,
|
||||||
|
4CA532B62D5B333200B8F59F /* RoomLuckyPackageInfoModel.m */,
|
||||||
|
4C75CEF92D6318FF009147A5 /* RoomEnterModel.h */,
|
||||||
|
4C75CEFA2D6318FF009147A5 /* RoomEnterModel.m */,
|
||||||
);
|
);
|
||||||
path = Model;
|
path = Model;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -7594,6 +7663,8 @@
|
|||||||
546104182CD4C06400066B21 /* Api+CustomBackground.m */,
|
546104182CD4C06400066B21 /* Api+CustomBackground.m */,
|
||||||
4CFFEFCE2D3A5E130035D016 /* Api+SuperAdmin.h */,
|
4CFFEFCE2D3A5E130035D016 /* Api+SuperAdmin.h */,
|
||||||
4CFFEFCF2D3A5E130035D016 /* Api+SuperAdmin.m */,
|
4CFFEFCF2D3A5E130035D016 /* Api+SuperAdmin.m */,
|
||||||
|
4CA532B22D5AEE9400B8F59F /* Api+LuckyPackage.h */,
|
||||||
|
4CA532B32D5AEE9400B8F59F /* Api+LuckyPackage.m */,
|
||||||
);
|
);
|
||||||
path = Api;
|
path = Api;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -7916,6 +7987,8 @@
|
|||||||
235714882BECC38F004C81D6 /* MessageHeadlinesTextModel.m */,
|
235714882BECC38F004C81D6 /* MessageHeadlinesTextModel.m */,
|
||||||
54C9A1202C3E6C3200C6D970 /* MessageGameOrderModel.h */,
|
54C9A1202C3E6C3200C6D970 /* MessageGameOrderModel.h */,
|
||||||
54C9A1212C3E6C3200C6D970 /* MessageGameOrderModel.m */,
|
54C9A1212C3E6C3200C6D970 /* MessageGameOrderModel.m */,
|
||||||
|
4CD6FF642D673A5C00262AB7 /* AgentMessageModel.h */,
|
||||||
|
4CD6FF652D673A5C00262AB7 /* AgentMessageModel.m */,
|
||||||
);
|
);
|
||||||
path = SesssionModel;
|
path = SesssionModel;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -8362,8 +8435,6 @@
|
|||||||
9B86D8792817DD8400494FCD /* XPRoomEnterHideTipView.m */,
|
9B86D8792817DD8400494FCD /* XPRoomEnterHideTipView.m */,
|
||||||
E8998D7E28597B0300C68558 /* XPRoomLuckyBigPrizeView.h */,
|
E8998D7E28597B0300C68558 /* XPRoomLuckyBigPrizeView.h */,
|
||||||
E8998D7F28597B0300C68558 /* XPRoomLuckyBigPrizeView.m */,
|
E8998D7F28597B0300C68558 /* XPRoomLuckyBigPrizeView.m */,
|
||||||
E838D99E275E1BF60079E0B5 /* XPRoomAnimationView.h */,
|
|
||||||
E838D99F275E1BF60079E0B5 /* XPRoomAnimationView.m */,
|
|
||||||
4C71C6A02D06DB3D00ECCA24 /* GiftAnimationManager.h */,
|
4C71C6A02D06DB3D00ECCA24 /* GiftAnimationManager.h */,
|
||||||
4C71C6A12D06DB3D00ECCA24 /* GiftAnimationManager.m */,
|
4C71C6A12D06DB3D00ECCA24 /* GiftAnimationManager.m */,
|
||||||
4C71C69D2D069D2B00ECCA24 /* GiftAnimationHelper.h */,
|
4C71C69D2D069D2B00ECCA24 /* GiftAnimationHelper.h */,
|
||||||
@@ -9270,6 +9341,10 @@
|
|||||||
E85E7B832A4EC99200B6D00A /* XPMineGiveDiamondDetailsVC.m */,
|
E85E7B832A4EC99200B6D00A /* XPMineGiveDiamondDetailsVC.m */,
|
||||||
E85E7B812A4EC99200B6D00A /* XPMineGiveDiamondVC.h */,
|
E85E7B812A4EC99200B6D00A /* XPMineGiveDiamondVC.h */,
|
||||||
E85E7B9A2A4EC99200B6D00A /* XPMineGiveDiamondVC.m */,
|
E85E7B9A2A4EC99200B6D00A /* XPMineGiveDiamondVC.m */,
|
||||||
|
4C1392912D6D963600A6DFB5 /* SubRechargersViewController.h */,
|
||||||
|
4C1392922D6D963600A6DFB5 /* SubRechargersViewController.m */,
|
||||||
|
4C1392942D6DA22B00A6DFB5 /* RechargerTransferHistoryViewController.h */,
|
||||||
|
4C1392952D6DA22B00A6DFB5 /* RechargerTransferHistoryViewController.m */,
|
||||||
);
|
);
|
||||||
path = View;
|
path = View;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -9366,6 +9441,8 @@
|
|||||||
E875A1B729755EE200AB1BBD /* SessionUserInfoTableViewCell.m */,
|
E875A1B729755EE200AB1BBD /* SessionUserInfoTableViewCell.m */,
|
||||||
E885D531297798E1004DC088 /* SessionSettingTableViewCell.h */,
|
E885D531297798E1004DC088 /* SessionSettingTableViewCell.h */,
|
||||||
E885D532297798E1004DC088 /* SessionSettingTableViewCell.m */,
|
E885D532297798E1004DC088 /* SessionSettingTableViewCell.m */,
|
||||||
|
4CD6FF672D673F7F00262AB7 /* AgentMessageTableViewCell.h */,
|
||||||
|
4CD6FF682D673F7F00262AB7 /* AgentMessageTableViewCell.m */,
|
||||||
);
|
);
|
||||||
path = Cell;
|
path = Cell;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -11296,6 +11373,8 @@
|
|||||||
9BE01ACD28925F7D00B50299 /* XPMineNewUserRechargeView.m */,
|
9BE01ACD28925F7D00B50299 /* XPMineNewUserRechargeView.m */,
|
||||||
4C815A152CFEB758002A46A6 /* SuperBlockViewController.h */,
|
4C815A152CFEB758002A46A6 /* SuperBlockViewController.h */,
|
||||||
4C815A162CFEB758002A46A6 /* SuperBlockViewController.m */,
|
4C815A162CFEB758002A46A6 /* SuperBlockViewController.m */,
|
||||||
|
4C75CEFC2D632CD5009147A5 /* CPEnterRoomTableViewCell.h */,
|
||||||
|
4C75CEFD2D632CD5009147A5 /* CPEnterRoomTableViewCell.m */,
|
||||||
);
|
);
|
||||||
path = SubViews;
|
path = SubViews;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -11534,6 +11613,7 @@
|
|||||||
E80EC88728ACD84000D133C5 /* emoji_29@2x.png in Resources */,
|
E80EC88728ACD84000D133C5 /* emoji_29@2x.png in Resources */,
|
||||||
E80EC83728ACD84000D133C5 /* emoji_112@2x.png in Resources */,
|
E80EC83728ACD84000D133C5 /* emoji_112@2x.png in Resources */,
|
||||||
E80EC88C28ACD84000D133C5 /* emoji_46@2x.png in Resources */,
|
E80EC88C28ACD84000D133C5 /* emoji_46@2x.png in Resources */,
|
||||||
|
4C13929D2D70441500A6DFB5 /* giftgift.mp4 in Resources */,
|
||||||
E80EC86028ACD84000D133C5 /* emoji_30@2x.png in Resources */,
|
E80EC86028ACD84000D133C5 /* emoji_30@2x.png in Resources */,
|
||||||
E80EC84928ACD84000D133C5 /* emoji_116@2x.png in Resources */,
|
E80EC84928ACD84000D133C5 /* emoji_116@2x.png in Resources */,
|
||||||
E80EC89328ACD84000D133C5 /* emoji_166@2x.png in Resources */,
|
E80EC89328ACD84000D133C5 /* emoji_166@2x.png in Resources */,
|
||||||
@@ -11560,6 +11640,7 @@
|
|||||||
548E01C52C3F78360071C83D /* FeedBackViewController.xib in Resources */,
|
548E01C52C3F78360071C83D /* FeedBackViewController.xib in Resources */,
|
||||||
23FF25622ABAE6310064E904 /* pi_room_game_fine_love.svga in Resources */,
|
23FF25622ABAE6310064E904 /* pi_room_game_fine_love.svga in Resources */,
|
||||||
23FF42672AA5CFBB0055733C /* home_sound_wave.gif in Resources */,
|
23FF42672AA5CFBB0055733C /* home_sound_wave.gif in Resources */,
|
||||||
|
4C1392A12D71675900A6DFB5 /* coincoin.mp4 in Resources */,
|
||||||
E80EC88A28ACD84000D133C5 /* emoji_25@2x.png in Resources */,
|
E80EC88A28ACD84000D133C5 /* emoji_25@2x.png in Resources */,
|
||||||
E80EC87828ACD84000D133C5 /* emoji_135@2x.png in Resources */,
|
E80EC87828ACD84000D133C5 /* emoji_135@2x.png in Resources */,
|
||||||
E80EC8AD28ACD84100D133C5 /* emoji_07@2x.png in Resources */,
|
E80EC8AD28ACD84100D133C5 /* emoji_07@2x.png in Resources */,
|
||||||
@@ -11727,6 +11808,7 @@
|
|||||||
23CEFC572AFB8FC100576D89 /* pay_off@2x.png in Resources */,
|
23CEFC572AFB8FC100576D89 /* pay_off@2x.png in Resources */,
|
||||||
E80EC86328ACD84000D133C5 /* emoji_41@2x.png in Resources */,
|
E80EC86328ACD84000D133C5 /* emoji_41@2x.png in Resources */,
|
||||||
2396FCE42B22BE5D0014021D /* pi_area_info.json in Resources */,
|
2396FCE42B22BE5D0014021D /* pi_area_info.json in Resources */,
|
||||||
|
4C75CF002D633C27009147A5 /* CP进场.svga in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -11855,6 +11937,7 @@
|
|||||||
E85E7B112A4EB0D200B6D00A /* GuildPersonIncomeRecordModel.m in Sources */,
|
E85E7B112A4EB0D200B6D00A /* GuildPersonIncomeRecordModel.m in Sources */,
|
||||||
54283CEB2CE48B71009729B5 /* ShoppingMallCategoryListView.m in Sources */,
|
54283CEB2CE48B71009729B5 /* ShoppingMallCategoryListView.m in Sources */,
|
||||||
548E01CC2C3FB1C70071C83D /* i18nGiftNameMap.m in Sources */,
|
548E01CC2C3FB1C70071C83D /* i18nGiftNameMap.m in Sources */,
|
||||||
|
4CA532B42D5AEE9400B8F59F /* Api+LuckyPackage.m in Sources */,
|
||||||
9BD2ECD2288F833B00F5CD9A /* XPMineFootPrintModel.m in Sources */,
|
9BD2ECD2288F833B00F5CD9A /* XPMineFootPrintModel.m in Sources */,
|
||||||
E824546626F5FF6000BE8163 /* XPMineResetPayPasswordProtocol.h in Sources */,
|
E824546626F5FF6000BE8163 /* XPMineResetPayPasswordProtocol.h in Sources */,
|
||||||
23D321E22ADFD0FB006B259C /* PIRedPacketChooseTypeCell.m in Sources */,
|
23D321E22ADFD0FB006B259C /* PIRedPacketChooseTypeCell.m in Sources */,
|
||||||
@@ -12163,6 +12246,7 @@
|
|||||||
9B42869C28C1FD3D009034D2 /* XPOpenRedPacketCell.m in Sources */,
|
9B42869C28C1FD3D009034D2 /* XPOpenRedPacketCell.m in Sources */,
|
||||||
23D321D22ADD0EBC006B259C /* PIRoomPhotoAlbumItemPresenter.m in Sources */,
|
23D321D22ADD0EBC006B259C /* PIRoomPhotoAlbumItemPresenter.m in Sources */,
|
||||||
239D0FD22C046EAD002977CE /* MSTabbarRoomGameView.m in Sources */,
|
239D0FD22C046EAD002977CE /* MSTabbarRoomGameView.m in Sources */,
|
||||||
|
4C864A052D561E1D00191AE0 /* LuckyPackageLogicManager.m in Sources */,
|
||||||
9BFE992E288142FD009DA429 /* RoomClassifyModel.m in Sources */,
|
9BFE992E288142FD009DA429 /* RoomClassifyModel.m in Sources */,
|
||||||
2331C1B72A60F32D00E1D940 /* XPCandyRankContainerView.m in Sources */,
|
2331C1B72A60F32D00E1D940 /* XPCandyRankContainerView.m in Sources */,
|
||||||
239D0FF72C05BD2A002977CE /* MSRoomGameVictoryView.m in Sources */,
|
239D0FF72C05BD2A002977CE /* MSRoomGameVictoryView.m in Sources */,
|
||||||
@@ -12324,6 +12408,7 @@
|
|||||||
9B2EA7CC2804245500ED17BF /* XPAnchorPKPanelUserView.m in Sources */,
|
9B2EA7CC2804245500ED17BF /* XPAnchorPKPanelUserView.m in Sources */,
|
||||||
23EE970A2BA2D39C00475D69 /* PIWebViewSavePhotoView.m in Sources */,
|
23EE970A2BA2D39C00475D69 /* PIWebViewSavePhotoView.m in Sources */,
|
||||||
2331C1B42A60F32D00E1D940 /* XPCandyTreeRankTableViewCell.m in Sources */,
|
2331C1B42A60F32D00E1D940 /* XPCandyTreeRankTableViewCell.m in Sources */,
|
||||||
|
4CA532BD2D5CA49A00B8F59F /* OpenLuckyPackageEntranceView.m in Sources */,
|
||||||
9B85B6DA279FDC5200A0A1AC /* XPUserCardSkillCollectionViewCell.m in Sources */,
|
9B85B6DA279FDC5200A0A1AC /* XPUserCardSkillCollectionViewCell.m in Sources */,
|
||||||
E85E7B0D2A4EB0D200B6D00A /* GuildSuperAdminInfoModel.m in Sources */,
|
E85E7B0D2A4EB0D200B6D00A /* GuildSuperAdminInfoModel.m in Sources */,
|
||||||
54F1790A2C8EDDF400CB5219 /* CountdownRingView.m in Sources */,
|
54F1790A2C8EDDF400CB5219 /* CountdownRingView.m in Sources */,
|
||||||
@@ -12413,7 +12498,9 @@
|
|||||||
23194DBB2AD13EAB00649F51 /* PILoginManager.m in Sources */,
|
23194DBB2AD13EAB00649F51 /* PILoginManager.m in Sources */,
|
||||||
E8DEC99E2764A5B60078CB70 /* XPRoomMoreMenuViewController.m in Sources */,
|
E8DEC99E2764A5B60078CB70 /* XPRoomMoreMenuViewController.m in Sources */,
|
||||||
4C6E1F7C2CEB25B10073D0A3 /* ShoppingMallItemPreview.m in Sources */,
|
4C6E1F7C2CEB25B10073D0A3 /* ShoppingMallItemPreview.m in Sources */,
|
||||||
|
4CA532C02D5CA4D300B8F59F /* LuckyPackageStatusView.m in Sources */,
|
||||||
E82325F2274E2DE6003A3332 /* XPUserCardViewController.m in Sources */,
|
E82325F2274E2DE6003A3332 /* XPUserCardViewController.m in Sources */,
|
||||||
|
4CA532B72D5B333200B8F59F /* RoomLuckyPackageInfoModel.m in Sources */,
|
||||||
E85E7B512A4EB0D300B6D00A /* Api+Guild.m in Sources */,
|
E85E7B512A4EB0D300B6D00A /* Api+Guild.m in Sources */,
|
||||||
E83645682A40A2DC00E0DBE4 /* XPSkillCardPlayerManager.m in Sources */,
|
E83645682A40A2DC00E0DBE4 /* XPSkillCardPlayerManager.m in Sources */,
|
||||||
E8F65C222869A36F009BB5B9 /* ContentShareMonentsModel.m in Sources */,
|
E8F65C222869A36F009BB5B9 /* ContentShareMonentsModel.m in Sources */,
|
||||||
@@ -12474,6 +12561,7 @@
|
|||||||
9B1B72BF2800422E003FACE9 /* XPAnchorPKRuleView.m in Sources */,
|
9B1B72BF2800422E003FACE9 /* XPAnchorPKRuleView.m in Sources */,
|
||||||
54F469352C29711400A83655 /* XPMomentUserDataViewController.m in Sources */,
|
54F469352C29711400A83655 /* XPMomentUserDataViewController.m in Sources */,
|
||||||
1427219729A75F6F00C7C423 /* DDRange.m in Sources */,
|
1427219729A75F6F00C7C423 /* DDRange.m in Sources */,
|
||||||
|
4CD6FF662D673A5C00262AB7 /* AgentMessageModel.m in Sources */,
|
||||||
E85E7B6E2A4EC4AE00B6D00A /* XPMineGuildPresenter.m in Sources */,
|
E85E7B6E2A4EC4AE00B6D00A /* XPMineGuildPresenter.m in Sources */,
|
||||||
23CEFC5B2AFB8FC100576D89 /* BSSelectView.m in Sources */,
|
23CEFC5B2AFB8FC100576D89 /* BSSelectView.m in Sources */,
|
||||||
E81125CA296E606F000D9804 /* QPhotoImageModel.m in Sources */,
|
E81125CA296E606F000D9804 /* QPhotoImageModel.m in Sources */,
|
||||||
@@ -12498,6 +12586,7 @@
|
|||||||
18A61BE8274F9CF000A09A54 /* SessionListViewController.m in Sources */,
|
18A61BE8274F9CF000A09A54 /* SessionListViewController.m in Sources */,
|
||||||
E8C1CD6A27D8937800376F83 /* XPRoomFaceCollectionViewCell.m in Sources */,
|
E8C1CD6A27D8937800376F83 /* XPRoomFaceCollectionViewCell.m in Sources */,
|
||||||
9B2EA7C02804037700ED17BF /* AnchorPKStageView.m in Sources */,
|
9B2EA7C02804037700ED17BF /* AnchorPKStageView.m in Sources */,
|
||||||
|
4C1392992D6DB4CD00A6DFB5 /* MoliMoneyLabel.m in Sources */,
|
||||||
23CEFC622AFB8FC100576D89 /* BSLogNetDetailViewController.m in Sources */,
|
23CEFC622AFB8FC100576D89 /* BSLogNetDetailViewController.m in Sources */,
|
||||||
238B37CF2AC55A2C00BFC9D5 /* XPTreasureFairySendRecordView.m in Sources */,
|
238B37CF2AC55A2C00BFC9D5 /* XPTreasureFairySendRecordView.m in Sources */,
|
||||||
238B37C52AC55A2C00BFC9D5 /* XPTreasureFairyMoreView.m in Sources */,
|
238B37C52AC55A2C00BFC9D5 /* XPTreasureFairyMoreView.m in Sources */,
|
||||||
@@ -12610,6 +12699,7 @@
|
|||||||
237700D72BC7D51400D661F1 /* UIButton+MSRTL.m in Sources */,
|
237700D72BC7D51400D661F1 /* UIButton+MSRTL.m in Sources */,
|
||||||
E85E7B4F2A4EB0D300B6D00A /* XPMineExchangeAuthorityVC.m in Sources */,
|
E85E7B4F2A4EB0D300B6D00A /* XPMineExchangeAuthorityVC.m in Sources */,
|
||||||
23FE47DB2BB4171C00F09D23 /* PINobleCenterListView.m in Sources */,
|
23FE47DB2BB4171C00F09D23 /* PINobleCenterListView.m in Sources */,
|
||||||
|
4C75CEFB2D6318FF009147A5 /* RoomEnterModel.m in Sources */,
|
||||||
E84A2E932A527EC800D6AF8A /* XPIncomeRecordPresent.m in Sources */,
|
E84A2E932A527EC800D6AF8A /* XPIncomeRecordPresent.m in Sources */,
|
||||||
236B2E432AA07D06003967A8 /* NSString+RW.m in Sources */,
|
236B2E432AA07D06003967A8 /* NSString+RW.m in Sources */,
|
||||||
239D0FC92C045F92002977CE /* MSRoomGameVC.m in Sources */,
|
239D0FC92C045F92002977CE /* MSRoomGameVC.m in Sources */,
|
||||||
@@ -12663,6 +12753,7 @@
|
|||||||
E81366E726F0A49E0076364C /* NSString+Utils.m in Sources */,
|
E81366E726F0A49E0076364C /* NSString+Utils.m in Sources */,
|
||||||
23194DD22AD14BF000649F51 /* DDFileLogger.m in Sources */,
|
23194DD22AD14BF000649F51 /* DDFileLogger.m in Sources */,
|
||||||
E8EEB90126FC31B6007C6EBA /* XPMineUserInfoPresenter.m in Sources */,
|
E8EEB90126FC31B6007C6EBA /* XPMineUserInfoPresenter.m in Sources */,
|
||||||
|
4C864A022D55F4F600191AE0 /* LuckyPackagePresenter.m in Sources */,
|
||||||
E81A65312834E53600F55894 /* XPMomentsLatestViewController.m in Sources */,
|
E81A65312834E53600F55894 /* XPMomentsLatestViewController.m in Sources */,
|
||||||
18F404BB2760982000A6C548 /* ChatLimitModel.m in Sources */,
|
18F404BB2760982000A6C548 /* ChatLimitModel.m in Sources */,
|
||||||
E8A30BE828534A63003B4873 /* XPSessionFindNewTableViewCell.m in Sources */,
|
E8A30BE828534A63003B4873 /* XPSessionFindNewTableViewCell.m in Sources */,
|
||||||
@@ -12687,6 +12778,7 @@
|
|||||||
2331C1AB2A60F32D00E1D940 /* CandyTreeResultModel.m in Sources */,
|
2331C1AB2A60F32D00E1D940 /* CandyTreeResultModel.m in Sources */,
|
||||||
23C9DFC32B84807A00B51558 /* PIRoomActivityClickView.m in Sources */,
|
23C9DFC32B84807A00B51558 /* PIRoomActivityClickView.m in Sources */,
|
||||||
1427218B29A75F6F00C7C423 /* HTTPFileResponse.m in Sources */,
|
1427218B29A75F6F00C7C423 /* HTTPFileResponse.m in Sources */,
|
||||||
|
4C75CEFE2D632CD5009147A5 /* CPEnterRoomTableViewCell.m in Sources */,
|
||||||
E839533C276A0CCD00CF2F24 /* XPMineCarTableViewCell.m in Sources */,
|
E839533C276A0CCD00CF2F24 /* XPMineCarTableViewCell.m in Sources */,
|
||||||
2331C1B62A60F32D00E1D940 /* XPCandyTreeInsufficientBalanceView.m in Sources */,
|
2331C1B62A60F32D00E1D940 /* XPCandyTreeInsufficientBalanceView.m in Sources */,
|
||||||
E8751E7128A6541B0056EF44 /* RoomSailingRankModel.m in Sources */,
|
E8751E7128A6541B0056EF44 /* RoomSailingRankModel.m in Sources */,
|
||||||
@@ -12750,6 +12842,7 @@
|
|||||||
9B6E8577281ABECC0041A321 /* XPRoomInsideRecommendEmptyCell.m in Sources */,
|
9B6E8577281ABECC0041A321 /* XPRoomInsideRecommendEmptyCell.m in Sources */,
|
||||||
E85E7BC22A4EE82300B6D00A /* XPMineListCell.m in Sources */,
|
E85E7BC22A4EE82300B6D00A /* XPMineListCell.m in Sources */,
|
||||||
E880B3A6278BD69900A83B0D /* XPAcrossRoomPKTableViewCell.m in Sources */,
|
E880B3A6278BD69900A83B0D /* XPAcrossRoomPKTableViewCell.m in Sources */,
|
||||||
|
4C1392932D6D963700A6DFB5 /* SubRechargersViewController.m in Sources */,
|
||||||
5456F3C82C6EF962000E1805 /* VIPCenterViewController.m in Sources */,
|
5456F3C82C6EF962000E1805 /* VIPCenterViewController.m in Sources */,
|
||||||
E8EEB90926FC579A007C6EBA /* XPMineUserInfoEditTableViewCell.m in Sources */,
|
E8EEB90926FC579A007C6EBA /* XPMineUserInfoEditTableViewCell.m in Sources */,
|
||||||
E8F1559028125E2D00EE8C06 /* MessageAudioCenter.m in Sources */,
|
E8F1559028125E2D00EE8C06 /* MessageAudioCenter.m in Sources */,
|
||||||
@@ -12961,6 +13054,7 @@
|
|||||||
54E4D5332C90658C009E1FEA /* LuckyGiftWinningBannerView.m in Sources */,
|
54E4D5332C90658C009E1FEA /* LuckyGiftWinningBannerView.m in Sources */,
|
||||||
E86A16BF2856D4D5004228B8 /* XPSessionFindNewGreetListView.m in Sources */,
|
E86A16BF2856D4D5004228B8 /* XPSessionFindNewGreetListView.m in Sources */,
|
||||||
E85E7B312A4EB0D300B6D00A /* XPNewGuildIncomeHeaderView.m in Sources */,
|
E85E7B312A4EB0D300B6D00A /* XPNewGuildIncomeHeaderView.m in Sources */,
|
||||||
|
4CA532C32D5F37DC00B8F59F /* LuckyPackageMessageTableViewCell.m in Sources */,
|
||||||
9B0997A327F19DE500EB8F14 /* QGHWDShaders.metal in Sources */,
|
9B0997A327F19DE500EB8F14 /* QGHWDShaders.metal in Sources */,
|
||||||
E8778AF02988EF0600CF139B /* XPSessionSayHelloViewController.m in Sources */,
|
E8778AF02988EF0600CF139B /* XPSessionSayHelloViewController.m in Sources */,
|
||||||
187EEEE126E89BFB002833B2 /* AccountModel.m in Sources */,
|
187EEEE126E89BFB002833B2 /* AccountModel.m in Sources */,
|
||||||
@@ -12973,6 +13067,8 @@
|
|||||||
238B37B12AC55A2C00BFC9D5 /* XPTreasureFairyFriendCell.m in Sources */,
|
238B37B12AC55A2C00BFC9D5 /* XPTreasureFairyFriendCell.m in Sources */,
|
||||||
E8751E7428A665BC0056EF44 /* RoomSailingInfoModel.m in Sources */,
|
E8751E7428A665BC0056EF44 /* RoomSailingInfoModel.m in Sources */,
|
||||||
E80EC81328ACD84000D133C5 /* QKeyboardManager.m in Sources */,
|
E80EC81328ACD84000D133C5 /* QKeyboardManager.m in Sources */,
|
||||||
|
4CD6FF692D673F7F00262AB7 /* AgentMessageTableViewCell.m in Sources */,
|
||||||
|
4C1392962D6DA22B00A6DFB5 /* RechargerTransferHistoryViewController.m in Sources */,
|
||||||
E87DF4B32A429C6E009C1185 /* FirstChargeRoomWindowModel.m in Sources */,
|
E87DF4B32A429C6E009C1185 /* FirstChargeRoomWindowModel.m in Sources */,
|
||||||
E8AC722126F47E23007D6E91 /* XPMineAboutUsViewController.m in Sources */,
|
E8AC722126F47E23007D6E91 /* XPMineAboutUsViewController.m in Sources */,
|
||||||
E8E21A9E28B4DFE8008F7C9D /* XPSailingBuyFuelView.m in Sources */,
|
E8E21A9E28B4DFE8008F7C9D /* XPSailingBuyFuelView.m in Sources */,
|
||||||
@@ -13069,7 +13165,6 @@
|
|||||||
54B9C6E72C9C2CA1003F1CC5 /* XPMineGuildTableViewCell.m in Sources */,
|
54B9C6E72C9C2CA1003F1CC5 /* XPMineGuildTableViewCell.m in Sources */,
|
||||||
E84B0E462727EF9D008818C6 /* XPRoomMessageParser.m in Sources */,
|
E84B0E462727EF9D008818C6 /* XPRoomMessageParser.m in Sources */,
|
||||||
23E9E9A12A80C7E000B792F2 /* XPMineGuildPersonalBillRecordModel.m in Sources */,
|
23E9E9A12A80C7E000B792F2 /* XPMineGuildPersonalBillRecordModel.m in Sources */,
|
||||||
E838D9A0275E1BF60079E0B5 /* XPRoomAnimationView.m in Sources */,
|
|
||||||
9B0086C627BA392B0032BD2B /* AnchorStageView.m in Sources */,
|
9B0086C627BA392B0032BD2B /* AnchorStageView.m in Sources */,
|
||||||
9BCD02C72796C02800F396AA /* MicroNobleWaveView.m in Sources */,
|
9BCD02C72796C02800F396AA /* MicroNobleWaveView.m in Sources */,
|
||||||
2305F3382AD9194B00AD403C /* PIRoomMessageUnlockPhotoAlbumView.m in Sources */,
|
2305F3382AD9194B00AD403C /* PIRoomMessageUnlockPhotoAlbumView.m in Sources */,
|
||||||
@@ -13093,6 +13188,7 @@
|
|||||||
23194DCF2AD14BF000649F51 /* DispatchQueueLogFormatter.m in Sources */,
|
23194DCF2AD14BF000649F51 /* DispatchQueueLogFormatter.m in Sources */,
|
||||||
E8A30BE328534A28003B4873 /* XPSessionFindNewViewController.m in Sources */,
|
E8A30BE328534A28003B4873 /* XPSessionFindNewViewController.m in Sources */,
|
||||||
140A7F52299CC69000841594 /* XPTabBar.m in Sources */,
|
140A7F52299CC69000841594 /* XPTabBar.m in Sources */,
|
||||||
|
4CA532BA2D5C8EBE00B8F59F /* LuckyPackageBannerView.m in Sources */,
|
||||||
E85E7B0C2A4EB0D200B6D00A /* XPGuildMangerListPresenter.m in Sources */,
|
E85E7B0C2A4EB0D200B6D00A /* XPGuildMangerListPresenter.m in Sources */,
|
||||||
14DCAD0B299B5D3A00A7DD31 /* XPLoginInputView.m in Sources */,
|
14DCAD0B299B5D3A00A7DD31 /* XPLoginInputView.m in Sources */,
|
||||||
E839806B290288660084BFC8 /* XPMessageInfoModel.m in Sources */,
|
E839806B290288660084BFC8 /* XPMessageInfoModel.m in Sources */,
|
||||||
@@ -13350,7 +13446,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 20.20.50;
|
MARKETING_VERSION = 20.20.51;
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
@@ -13684,7 +13780,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 20.20.50;
|
MARKETING_VERSION = 20.20.51;
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
|
BIN
YuMi/Assets.xcassets/20.20.50/cp_enter_message.imageset/2 (2).png
vendored
Normal file
After Width: | Height: | Size: 144 KiB |
21
YuMi/Assets.xcassets/20.20.50/cp_enter_message.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "2 (2).png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
21
YuMi/Assets.xcassets/20.20.50/cp_enter_message_ar.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "组 41.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/cp_enter_message_ar.imageset/组 41.png
vendored
Normal file
After Width: | Height: | Size: 146 KiB |
BIN
YuMi/Assets.xcassets/20.20.50/cp_onmic_message.imageset/1.png
vendored
Normal file
After Width: | Height: | Size: 185 KiB |
21
YuMi/Assets.xcassets/20.20.50/cp_onmic_message.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "1.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
21
YuMi/Assets.xcassets/20.20.50/cp_onmic_message_ar.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "组 42.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/cp_onmic_message_ar.imageset/组 42.png
vendored
Normal file
After Width: | Height: | Size: 179 KiB |
21
YuMi/Assets.xcassets/20.20.50/luck_package_arrow.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "形状 5@3x (1).png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_arrow.imageset/形状 5@3x (1).png
vendored
Normal file
After Width: | Height: | Size: 1012 B |
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_bag_lv1.imageset/5864-CP-奢华黑金 舞会.png
vendored
Normal file
After Width: | Height: | Size: 54 KiB |
21
YuMi/Assets.xcassets/20.20.50/luck_package_bag_lv1.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "5864-CP-奢华黑金 舞会.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_bag_lv2.imageset/5864-CP-奢华黑金 舞会 (1).png
vendored
Normal file
After Width: | Height: | Size: 60 KiB |
21
YuMi/Assets.xcassets/20.20.50/luck_package_bag_lv2.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "5864-CP-奢华黑金 舞会 (1).png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_bag_lv3.imageset/5864-CP-奢华黑金 舞会 (2).png
vendored
Normal file
After Width: | Height: | Size: 63 KiB |
21
YuMi/Assets.xcassets/20.20.50/luck_package_bag_lv3.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "5864-CP-奢华黑金 舞会 (2).png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_bag_lv4.imageset/5864-CP-奢华黑金 舞会 (3).png
vendored
Normal file
After Width: | Height: | Size: 66 KiB |
21
YuMi/Assets.xcassets/20.20.50/luck_package_bag_lv4.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "5864-CP-奢华黑金 舞会 (3).png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_banner_coin.imageset/3@3x.png
vendored
Normal file
After Width: | Height: | Size: 328 KiB |
21
YuMi/Assets.xcassets/20.20.50/luck_package_banner_coin.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "3@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_banner_gift.imageset/3@3x (1).png
vendored
Normal file
After Width: | Height: | Size: 323 KiB |
21
YuMi/Assets.xcassets/20.20.50/luck_package_banner_gift.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "3@3x (1).png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
21
YuMi/Assets.xcassets/20.20.50/luck_package_banner_go.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "go@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_banner_go.imageset/go@3x.png
vendored
Normal file
After Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 132 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_message_coin.imageset/2@3x (1).png
vendored
Normal file
After Width: | Height: | Size: 261 KiB |
21
YuMi/Assets.xcassets/20.20.50/luck_package_message_coin.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "2@3x (1).png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_message_coin_ar.imageset/2@3x (2).png
vendored
Normal file
After Width: | Height: | Size: 237 KiB |
21
YuMi/Assets.xcassets/20.20.50/luck_package_message_coin_ar.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "2@3x (2).png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_message_gift.imageset/4@3x.png
vendored
Normal file
After Width: | Height: | Size: 233 KiB |
21
YuMi/Assets.xcassets/20.20.50/luck_package_message_gift.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "4@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_message_gift_ar.imageset/5@3x.png
vendored
Normal file
After Width: | Height: | Size: 234 KiB |
21
YuMi/Assets.xcassets/20.20.50/luck_package_message_gift_ar.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "5@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
21
YuMi/Assets.xcassets/20.20.50/luck_package_popup_coin.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "缺省@3x (1).png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_popup_coin.imageset/缺省@3x (1).png
vendored
Normal file
After Width: | Height: | Size: 198 KiB |
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_popup_gift.imageset/缺省@3x.png
vendored
Normal file
After Width: | Height: | Size: 188 KiB |
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 407 KiB After Width: | Height: | Size: 407 KiB |
@@ -9,7 +9,7 @@
|
|||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename" : "zz 拷贝@3x.png",
|
"filename" : "zz 拷贝 2@3x.png",
|
||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"scale" : "3x"
|
"scale" : "3x"
|
||||||
}
|
}
|
||||||
|
BIN
YuMi/Assets.xcassets/20.20.50/luck_package_right.imageset/zz 拷贝 2@3x.png
vendored
Normal file
After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 4.0 KiB |
21
YuMi/Assets.xcassets/20.20.50/send_image_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "切图 64@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/send_image_icon.imageset/切图 64@3x.png
vendored
Normal file
After Width: | Height: | Size: 2.3 KiB |
21
YuMi/Assets.xcassets/20.20.50/sub_recharger_arrow.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "切图 30@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
YuMi/Assets.xcassets/20.20.50/sub_recharger_arrow.imageset/切图 30@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 168 KiB |
@@ -74,7 +74,7 @@ typedef NS_ENUM(NSInteger, FaceLivenessStrategy) {
|
|||||||
@property (nonatomic, strong) NSArray<NSString *> *officialMsgUids;
|
@property (nonatomic, strong) NSArray<NSString *> *officialMsgUids;
|
||||||
///官方账号 小秘书 红包消息
|
///官方账号 小秘书 红包消息
|
||||||
@property (nonatomic,strong) NSArray<NSString *> *officialAccountUids;
|
@property (nonatomic,strong) NSArray<NSString *> *officialAccountUids;
|
||||||
@property(nonatomic,copy) NSDictionary *publicChatRoomIdMap;
|
//@property(nonatomic,copy) NSDictionary *publicChatRoomIdMap; // 公聊大厅房间 IDs,已不使用该业务逻辑
|
||||||
///星座礼物顶部是否开启
|
///星座礼物顶部是否开启
|
||||||
@property (nonatomic,assign) BOOL twelveStarSwitch;
|
@property (nonatomic,assign) BOOL twelveStarSwitch;
|
||||||
/// 开房是否需要实名
|
/// 开房是否需要实名
|
||||||
|
29
YuMi/CustomUI/MoliMoneyLabel.h
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
//
|
||||||
|
// MoliMoneyLabel.h
|
||||||
|
// YuMi
|
||||||
|
//
|
||||||
|
// Created by P on 2025/2/25.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface MoliMoneyLabel : UIView
|
||||||
|
|
||||||
|
/// 带金币 icon 的 label view
|
||||||
|
/// - Parameters:
|
||||||
|
/// - textColor: 文本颜色
|
||||||
|
/// - font: 文本字体
|
||||||
|
/// - position: icon 位置,1: 左,2:右
|
||||||
|
/// - size: icon 大小
|
||||||
|
+ (MoliMoneyLabel *)moneyLabelWithTextColot:(UIColor *)textColor font:(UIFont *)font moneyPostion:(NSInteger)position moneySize:(CGSize)size;
|
||||||
|
|
||||||
|
- (void)updateContent:(NSString *)content;
|
||||||
|
- (void)updateFont:(UIFont *)font size:(CGSize)size;
|
||||||
|
- (void)displayIcon:(BOOL)displayOrNot;
|
||||||
|
- (void)updateSpacing:(NSInteger)space;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
66
YuMi/CustomUI/MoliMoneyLabel.m
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
//
|
||||||
|
// MoliMoneyLabel.m
|
||||||
|
// YuMi
|
||||||
|
//
|
||||||
|
// Created by P on 2025/2/25.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MoliMoneyLabel.h"
|
||||||
|
|
||||||
|
@interface MoliMoneyLabel()
|
||||||
|
|
||||||
|
@property(nonatomic, strong) UILabel *label;
|
||||||
|
@property(nonatomic, strong) UIImageView *money;
|
||||||
|
@property(nonatomic, strong) UIStackView *stackView;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation MoliMoneyLabel
|
||||||
|
|
||||||
|
+ (MoliMoneyLabel *)moneyLabelWithTextColot:(UIColor *)textColor
|
||||||
|
font:(UIFont *)font
|
||||||
|
moneyPostion:(NSInteger)position
|
||||||
|
moneySize:(CGSize)size {
|
||||||
|
MoliMoneyLabel *containerView = [[MoliMoneyLabel alloc] init];
|
||||||
|
containerView.label = [UILabel labelInitWithText:@"" font:font textColor:textColor];
|
||||||
|
containerView.label.minimumScaleFactor = 0.7;
|
||||||
|
containerView.label.adjustsFontSizeToFitWidth = YES;
|
||||||
|
|
||||||
|
containerView.money = [[UIImageView alloc] initWithImage:kImage(@"moli_money_icon")];
|
||||||
|
containerView.money.contentMode = UIViewContentModeScaleAspectFill;
|
||||||
|
NSArray *subviews = position == 1 ? @[containerView.money, containerView.label] : @[containerView.label, containerView.money];
|
||||||
|
containerView.stackView = [[UIStackView alloc] initWithArrangedSubviews:subviews];
|
||||||
|
containerView.stackView.spacing = 3;
|
||||||
|
[containerView addSubview:containerView.stackView];
|
||||||
|
[containerView.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.edges.mas_equalTo(containerView);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[containerView.money mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.size.mas_equalTo(size);
|
||||||
|
}];
|
||||||
|
|
||||||
|
return containerView;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)updateSpacing:(NSInteger)space {
|
||||||
|
self.stackView.spacing = space;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)displayIcon:(BOOL)displayOrNot {
|
||||||
|
self.money.hidden = !displayOrNot;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)updateContent:(NSString *)content {
|
||||||
|
self.label.text = content;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)updateFont:(UIFont *)font size:(CGSize)size {
|
||||||
|
self.label.font = font;
|
||||||
|
[self.money mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.size.mas_equalTo(size);
|
||||||
|
}];
|
||||||
|
[self layoutIfNeeded];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
@@ -58,6 +58,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
corners:(CACornerMask)corners
|
corners:(CACornerMask)corners
|
||||||
borderWidth:(CGFloat)borderWidth
|
borderWidth:(CGFloat)borderWidth
|
||||||
borderColor:(UIColor *)borderColor;
|
borderColor:(UIColor *)borderColor;
|
||||||
|
|
||||||
|
- (void)setAllCornerRadius:(CGFloat)radius
|
||||||
|
borderWidth:(CGFloat)borderWidth
|
||||||
|
borderColor:(UIColor *)borderColor;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
@@ -107,5 +107,19 @@
|
|||||||
self.layer.borderWidth = borderWidth;
|
self.layer.borderWidth = borderWidth;
|
||||||
self.layer.borderColor = borderColor.CGColor;
|
self.layer.borderColor = borderColor.CGColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)setAllCornerRadius:(CGFloat)radius
|
||||||
|
borderWidth:(CGFloat)borderWidth
|
||||||
|
borderColor:(UIColor *)borderColor {
|
||||||
|
// 设置指定角的圆角
|
||||||
|
self.layer.cornerRadius = radius;
|
||||||
|
self.layer.maskedCorners = UIRectCornerTopLeft | UIRectCornerTopRight | UIRectCornerBottomLeft | UIRectCornerBottomRight;
|
||||||
|
self.layer.masksToBounds = YES; // 确保内容不会超出边界
|
||||||
|
|
||||||
|
// 设置边框
|
||||||
|
self.layer.borderWidth = borderWidth;
|
||||||
|
self.layer.borderColor = borderColor.CGColor;
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@@ -107,6 +107,8 @@ typedef NS_ENUM(NSUInteger, URLType) {
|
|||||||
KBoomRule,
|
KBoomRule,
|
||||||
/// 房间等级说明
|
/// 房间等级说明
|
||||||
KRoomLevelRule,
|
KRoomLevelRule,
|
||||||
|
/// 红包规则说明
|
||||||
|
KLuckyPackageRule,
|
||||||
};
|
};
|
||||||
|
|
||||||
NSString * const URLWithType(URLType type);
|
NSString * const URLWithType(URLType type);
|
||||||
|
@@ -25,7 +25,8 @@ NSString * const URLWithType(URLType type) {
|
|||||||
@(kLUDOUrl) : @"modules/gameRank/index.html",///LUDO排行榜路径
|
@(kLUDOUrl) : @"modules/gameRank/index.html",///LUDO排行榜路径
|
||||||
@(kCPRule) : @"modules/rule/cpRule.html",
|
@(kCPRule) : @"modules/rule/cpRule.html",
|
||||||
@(KBoomRule) : @"modules/rule/boom.html?partitionId=",///收益记录,
|
@(KBoomRule) : @"modules/rule/boom.html?partitionId=",///收益记录,
|
||||||
@(KRoomLevelRule) : @"modules/roomLevel/index.html",///收益记录,
|
@(KRoomLevelRule) : @"modules/roomLevel/index.html",///房间等级,
|
||||||
|
@(KLuckyPackageRule) : @"modules/luckyBagRules/index.html",///红包礼物,
|
||||||
};
|
};
|
||||||
NSString * newUrl = [newDic objectForKey:@(type)];
|
NSString * newUrl = [newDic objectForKey:@(type)];
|
||||||
if(newUrl != nil){
|
if(newUrl != nil){
|
||||||
|
@@ -143,5 +143,7 @@
|
|||||||
</array>
|
</array>
|
||||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||||
<true/>
|
<true/>
|
||||||
|
<key>FacebookAutoLogAppEventsEnabled</key>
|
||||||
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
@@ -310,7 +310,7 @@ static NSArray<NSDictionary<NSString *, NSNumber *> *> *MyDressUpOptions(void) {
|
|||||||
[TTPopup dismiss];
|
[TTPopup dismiss];
|
||||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||||
[self showSuccessToast:YMLocalizedString(@"XPDressUpShopListViewController0")];
|
[self showSuccessToast:YMLocalizedString(@"XPDressUpShopListViewController0")];
|
||||||
[self.listView refreshCurrentPageData];
|
[self.listView updateSelectedItem:indexPath];
|
||||||
});
|
});
|
||||||
} failure:^(NSError * _Nonnull error) {
|
} failure:^(NSError * _Nonnull error) {
|
||||||
@kStrongify(self);
|
@kStrongify(self);
|
||||||
|
@@ -33,7 +33,6 @@ typedef void (^FetchDataForMyDressingPage)(NSInteger pageIndex, NSInteger pageNu
|
|||||||
@property(nonatomic, copy) void(^returnMyDressingSelectedModel)(MyDressingDataModel * _Nullable model, NSInteger type, NSIndexPath *indexPath);
|
@property(nonatomic, copy) void(^returnMyDressingSelectedModel)(MyDressingDataModel * _Nullable model, NSInteger type, NSIndexPath *indexPath);
|
||||||
|
|
||||||
- (void)updateSelectedItem:(NSIndexPath *)indexPath;
|
- (void)updateSelectedItem:(NSIndexPath *)indexPath;
|
||||||
- (void)refreshCurrentPageData;
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@@ -790,6 +790,7 @@
|
|||||||
@property (nonatomic, strong) UIScrollView *mallItemsScrollView;
|
@property (nonatomic, strong) UIScrollView *mallItemsScrollView;
|
||||||
@property (nonatomic, strong) NSMutableArray<ShoppingMallCategoryCard *> *categoryCardArray;
|
@property (nonatomic, strong) NSMutableArray<ShoppingMallCategoryCard *> *categoryCardArray;
|
||||||
@property (nonatomic, strong) NSMutableArray<UICollectionView *> *itemCollectionViewArray;
|
@property (nonatomic, strong) NSMutableArray<UICollectionView *> *itemCollectionViewArray;
|
||||||
|
@property (nonatomic, strong) NSMutableArray<UIActivityIndicatorView *> *itemCollectionLoadingViewArray;
|
||||||
@property (nonatomic, strong) NSMutableDictionary<NSNumber *, NSArray <DressUpShopModel *>*> *dataCache; // 缓存每页数据 - 商城页
|
@property (nonatomic, strong) NSMutableDictionary<NSNumber *, NSArray <DressUpShopModel *>*> *dataCache; // 缓存每页数据 - 商城页
|
||||||
@property (nonatomic, strong) NSMutableDictionary<NSNumber *, NSArray <MyDressingDataModel *>*> *myDressingDataCache; // 缓存每页数据 - 我的装扮页
|
@property (nonatomic, strong) NSMutableDictionary<NSNumber *, NSArray <MyDressingDataModel *>*> *myDressingDataCache; // 缓存每页数据 - 我的装扮页
|
||||||
@property (nonatomic, strong) NSMutableSet<NSNumber *> *requestedPages; // 记录已经请求的数据页, 通过下标判断
|
@property (nonatomic, strong) NSMutableSet<NSNumber *> *requestedPages; // 记录已经请求的数据页, 通过下标判断
|
||||||
@@ -845,6 +846,7 @@
|
|||||||
|
|
||||||
self.categoryCardArray = [NSMutableArray array];
|
self.categoryCardArray = [NSMutableArray array];
|
||||||
self.itemCollectionViewArray = [NSMutableArray array];
|
self.itemCollectionViewArray = [NSMutableArray array];
|
||||||
|
self.itemCollectionLoadingViewArray = [NSMutableArray array];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)setItems:(NSArray *)items {
|
- (void)setItems:(NSArray *)items {
|
||||||
@@ -896,8 +898,15 @@
|
|||||||
[collectionView registerClass:[MyDressingItemCard class] forCellWithReuseIdentifier:@"MyDressingItemCard"];
|
[collectionView registerClass:[MyDressingItemCard class] forCellWithReuseIdentifier:@"MyDressingItemCard"];
|
||||||
[collectionView registerClass:[MyDressingItemCard class] forCellWithReuseIdentifier:@"MyDressingItemCard_NotUsed"];
|
[collectionView registerClass:[MyDressingItemCard class] forCellWithReuseIdentifier:@"MyDressingItemCard_NotUsed"];
|
||||||
|
|
||||||
|
UIActivityIndicatorView *loading = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
|
||||||
|
loading.frame = CGRectMake(screenWidth/2 - 30, 180, 60, 60);
|
||||||
|
loading.hidesWhenStopped = YES;
|
||||||
|
[collectionView addSubview:loading];
|
||||||
|
[loading startAnimating];
|
||||||
|
|
||||||
[self.mallItemsScrollView addSubview:collectionView];
|
[self.mallItemsScrollView addSubview:collectionView];
|
||||||
[self.itemCollectionViewArray addObject:collectionView];
|
[self.itemCollectionViewArray addObject:collectionView];
|
||||||
|
[self.itemCollectionLoadingViewArray addObject:loading];
|
||||||
|
|
||||||
if (self.isForMyDressingPage) {
|
if (self.isForMyDressingPage) {
|
||||||
[self addRefreshControl:collectionView];
|
[self addRefreshControl:collectionView];
|
||||||
@@ -968,7 +977,7 @@
|
|||||||
|
|
||||||
// 我的装扮页逻辑,若有使用中的装扮,选中。否则选中“未使用”
|
// 我的装扮页逻辑,若有使用中的装扮,选中。否则选中“未使用”
|
||||||
for (UICollectionView *itemView in self.itemCollectionViewArray) {
|
for (UICollectionView *itemView in self.itemCollectionViewArray) {
|
||||||
[itemView reloadData];
|
|
||||||
NSArray *items = [self.myDressingDataCache objectForKey:@(index)];
|
NSArray *items = [self.myDressingDataCache objectForKey:@(index)];
|
||||||
if (items.count > 0) {
|
if (items.count > 0) {
|
||||||
NSInteger selectedIndex = 0;
|
NSInteger selectedIndex = 0;
|
||||||
@@ -993,11 +1002,19 @@
|
|||||||
NSArray *data = self.dataCache[@(itemView.tag)];
|
NSArray *data = self.dataCache[@(itemView.tag)];
|
||||||
self.returnSelectedModel(data.firstObject);
|
self.returnSelectedModel(data.firstObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[itemView reloadData];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)updateItemCollectionViewWithShoppingMallData:(NSArray <DressUpShopModel *>*)data
|
- (void)updateItemCollectionViewWithShoppingMallData:(NSArray <DressUpShopModel *>*)data
|
||||||
atIndex:(NSInteger)index {
|
atIndex:(NSInteger)index {
|
||||||
|
|
||||||
|
UIActivityIndicatorView *loading = [self.itemCollectionLoadingViewArray xpSafeObjectAtIndex:index];
|
||||||
|
if (loading) {
|
||||||
|
[loading stopAnimating];
|
||||||
|
}
|
||||||
|
|
||||||
if (!data) {
|
if (!data) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1012,12 +1029,18 @@
|
|||||||
if (self.returnSelectedModel) {
|
if (self.returnSelectedModel) {
|
||||||
self.returnSelectedModel(data.firstObject);
|
self.returnSelectedModel(data.firstObject);
|
||||||
}
|
}
|
||||||
|
[itemView reloadData];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)updateItemCollectionViewWithMyDressingData:(NSArray <MyDressingDataModel *>*)data
|
- (void)updateItemCollectionViewWithMyDressingData:(NSArray <MyDressingDataModel *>*)data
|
||||||
pageNum:(NSInteger)pageNum
|
pageNum:(NSInteger)pageNum
|
||||||
atIndex:(NSInteger)index {
|
atIndex:(NSInteger)index {
|
||||||
|
UIActivityIndicatorView *loading = [self.itemCollectionLoadingViewArray xpSafeObjectAtIndex:index];
|
||||||
|
if (loading) {
|
||||||
|
[loading stopAnimating];
|
||||||
|
}
|
||||||
|
|
||||||
NSMutableArray <MyDressingDataModel *>*sortedData = data.mutableCopy;
|
NSMutableArray <MyDressingDataModel *>*sortedData = data.mutableCopy;
|
||||||
[sortedData sortUsingComparator:^NSComparisonResult(MyDressingDataModel * _Nonnull obj1, MyDressingDataModel * _Nonnull obj2) {
|
[sortedData sortUsingComparator:^NSComparisonResult(MyDressingDataModel * _Nonnull obj1, MyDressingDataModel * _Nonnull obj2) {
|
||||||
if (obj1.used) {
|
if (obj1.used) {
|
||||||
@@ -1054,7 +1077,6 @@
|
|||||||
[itemView.refreshControl endRefreshing];
|
[itemView.refreshControl endRefreshing];
|
||||||
[itemView.mj_header endRefreshing];
|
[itemView.mj_header endRefreshing];
|
||||||
[itemView.mj_footer endRefreshing];
|
[itemView.mj_footer endRefreshing];
|
||||||
[itemView reloadData];
|
|
||||||
|
|
||||||
if (data.count == 0 || data.count < 20) {
|
if (data.count == 0 || data.count < 20) {
|
||||||
[itemView.mj_footer endRefreshingWithNoMoreData];
|
[itemView.mj_footer endRefreshingWithNoMoreData];
|
||||||
@@ -1066,6 +1088,8 @@
|
|||||||
withObject:currentPageNum];
|
withObject:currentPageNum];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[itemView reloadData];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -23,7 +23,7 @@
|
|||||||
if (failure) {
|
if (failure) {
|
||||||
failure([NSError errorWithDomain:[NSString isEmpty:msg] ? @"" : msg code:code userInfo:nil]);
|
failure([NSError errorWithDomain:[NSString isEmpty:msg] ? @"" : msg code:code userInfo:nil]);
|
||||||
}
|
}
|
||||||
} showLoading:YES errorToast:YES]
|
} showLoading:NO errorToast:YES]
|
||||||
dressType:@(type).stringValue];
|
dressType:@(type).stringValue];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -161,13 +161,13 @@ static NSArray<NSDictionary<NSString *, NSNumber *> *> *DressUpOptions(void) {
|
|||||||
#pragma mark -
|
#pragma mark -
|
||||||
- (void)fetchDataForPage:(NSInteger)pageIndex
|
- (void)fetchDataForPage:(NSInteger)pageIndex
|
||||||
completion:(FetchDataCompletion)completion {
|
completion:(FetchDataCompletion)completion {
|
||||||
[self.presenter loadCategoryItems:pageIndex success:^(NSArray <DressUpShopModel *>* array) {
|
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||||
if (completion) {
|
[self.presenter loadCategoryItems:pageIndex success:^(NSArray <DressUpShopModel *>* array) {
|
||||||
completion(array);
|
if (completion) {
|
||||||
}
|
completion(array);
|
||||||
} failure:^(NSError * _Nonnull error) {
|
}
|
||||||
// TODO: 增加错误处理
|
} failure:^(NSError * _Nonnull error) {}];
|
||||||
}];
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)updateBottomControlArea {
|
- (void)updateBottomControlArea {
|
||||||
|
@@ -69,9 +69,9 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
|
|||||||
@property(nonatomic,strong) UILabel *nextLabel;
|
@property(nonatomic,strong) UILabel *nextLabel;
|
||||||
|
|
||||||
///选择手机登录
|
///选择手机登录
|
||||||
@property(nonatomic,strong) UIButton *chooseAccountBtn;
|
@property(nonatomic,strong) UIButton *currentLoginWayButton;
|
||||||
///选择密码登录
|
///选择密码登录
|
||||||
@property(nonatomic,strong) UIButton *chooseSMSBtn;
|
@property(nonatomic,strong) UIButton *otherLoginWayButton;
|
||||||
/// 手机号输入框
|
/// 手机号输入框
|
||||||
@property (nonatomic, strong) XPLoginInputView *phoneInputView;
|
@property (nonatomic, strong) XPLoginInputView *phoneInputView;
|
||||||
/// 验证码输入框
|
/// 验证码输入框
|
||||||
@@ -162,8 +162,8 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
|
|||||||
[self.view addSubview:self.logoView];
|
[self.view addSubview:self.logoView];
|
||||||
[self.view addSubview:self.feedBackButton];
|
[self.view addSubview:self.feedBackButton];
|
||||||
|
|
||||||
[self.view addSubview:self.chooseAccountBtn];
|
[self.view addSubview:self.currentLoginWayButton];
|
||||||
[self.view addSubview:self.chooseSMSBtn];
|
[self.view addSubview:self.otherLoginWayButton];
|
||||||
|
|
||||||
[self.view addSubview:self.accountView];
|
[self.view addSubview:self.accountView];
|
||||||
[self.view addSubview:self.accountPwdView];
|
[self.view addSubview:self.accountPwdView];
|
||||||
@@ -205,18 +205,17 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
|
|||||||
}];
|
}];
|
||||||
|
|
||||||
CGFloat width = KScreenWidth/2;
|
CGFloat width = KScreenWidth/2;
|
||||||
[self.chooseAccountBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.currentLoginWayButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.centerX.equalTo(self.view);
|
make.centerX.equalTo(self.view);
|
||||||
make.height.mas_equalTo(kGetScaleWidth(22));
|
make.height.mas_equalTo(kGetScaleWidth(22));
|
||||||
make.width.mas_equalTo(width);
|
make.width.mas_equalTo(width);
|
||||||
make.top.equalTo(self.logoView.mas_bottom).mas_offset(kGetScaleWidth(31));
|
make.top.equalTo(self.logoView.mas_bottom).mas_offset(kGetScaleWidth(15));
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
|
||||||
[self.accountView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.accountView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.centerX.equalTo(self.view);
|
make.centerX.equalTo(self.view);
|
||||||
make.width.mas_equalTo(kGetScaleWidth(303));
|
make.width.mas_equalTo(kGetScaleWidth(303));
|
||||||
make.top.mas_equalTo(self.chooseAccountBtn.mas_bottom).offset(kGetScaleWidth(13));
|
make.top.mas_equalTo(self.currentLoginWayButton.mas_bottom).offset(kGetScaleWidth(13));
|
||||||
make.height.mas_equalTo(kGetScaleWidth(52));
|
make.height.mas_equalTo(kGetScaleWidth(52));
|
||||||
}];
|
}];
|
||||||
|
|
||||||
@@ -252,10 +251,10 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
|
|||||||
make.centerX.mas_equalTo(self.view);
|
make.centerX.mas_equalTo(self.view);
|
||||||
}];
|
}];
|
||||||
|
|
||||||
[self.chooseSMSBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.otherLoginWayButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.height.mas_equalTo(kGetScaleWidth(22));
|
make.height.mas_equalTo(kGetScaleWidth(22));
|
||||||
make.width.mas_equalTo(width);
|
make.width.mas_equalTo(width);
|
||||||
make.top.equalTo(self.stackView.mas_bottom).mas_offset(kGetScaleWidth(31));
|
make.top.equalTo(self.stackView.mas_bottom).mas_offset(kGetScaleWidth(23));
|
||||||
make.centerX.mas_equalTo(self.stackView);
|
make.centerX.mas_equalTo(self.stackView);
|
||||||
}];
|
}];
|
||||||
|
|
||||||
@@ -409,7 +408,6 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
|
|||||||
self.authBubbleView.alpha = 1.0;
|
self.authBubbleView.alpha = 1.0;
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 点击同意
|
/// 点击同意
|
||||||
@@ -495,18 +493,16 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
|
|||||||
}
|
}
|
||||||
|
|
||||||
-(void)chooseAccountAction{
|
-(void)chooseAccountAction{
|
||||||
self.loginType = 0;
|
// self.loginType = self.loginType == 0 ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)chooseSMSAction{
|
-(void)chooseSMSAction{
|
||||||
self.loginType = 1;
|
self.loginType = self.loginType == 0 ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
-(void)setLoginType:(int)selectType{
|
-(void)setLoginType:(int)selectType{
|
||||||
_loginType = selectType;
|
_loginType = selectType;
|
||||||
|
|
||||||
_chooseAccountBtn.selected = _loginType == 0;
|
|
||||||
_chooseSMSBtn.selected = _loginType != 0;
|
|
||||||
_forgetBtn.hidden = _loginType != 0;
|
_forgetBtn.hidden = _loginType != 0;
|
||||||
|
|
||||||
_accountView.hidden = _loginType != 0;
|
_accountView.hidden = _loginType != 0;
|
||||||
@@ -514,6 +510,21 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
|
|||||||
|
|
||||||
_phoneInputView.hidden = _loginType == 0;
|
_phoneInputView.hidden = _loginType == 0;
|
||||||
_codeInputView.hidden = _loginType == 0;
|
_codeInputView.hidden = _loginType == 0;
|
||||||
|
|
||||||
|
switch (selectType) {
|
||||||
|
case 0:
|
||||||
|
[_currentLoginWayButton setTitle:YMLocalizedString(@"XPLoginPhoneViewController9") forState:UIControlStateNormal];
|
||||||
|
[_otherLoginWayButton setTitle:YMLocalizedString(@"1.0.37_text_27")forState:UIControlStateNormal];
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
[_currentLoginWayButton setTitle:YMLocalizedString(@"XPLoginPhoneViewController10") forState:UIControlStateNormal];
|
||||||
|
[_otherLoginWayButton setTitle:YMLocalizedString(@"1.0.37_text_26")forState:UIControlStateNormal];
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - XPLoginInputViewDelegate
|
#pragma mark - XPLoginInputViewDelegate
|
||||||
@@ -812,31 +823,32 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
|
|||||||
return _loginBtn;
|
return _loginBtn;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (UIButton *)chooseAccountBtn{
|
- (UIButton *)currentLoginWayButton{
|
||||||
if(!_chooseAccountBtn){
|
if(!_currentLoginWayButton){
|
||||||
_chooseAccountBtn = [UIButton new];
|
_currentLoginWayButton = [UIButton new];
|
||||||
[_chooseAccountBtn setTitle:YMLocalizedString(@"XPLoginPhoneViewController9" ) forState:UIControlStateNormal];
|
[_currentLoginWayButton setTitle:YMLocalizedString(@"XPLoginPhoneViewController9" ) forState:UIControlStateNormal];
|
||||||
[_chooseAccountBtn setTitleColor:UIColorFromRGB(0x84868A) forState:UIControlStateNormal];
|
[_currentLoginWayButton setTitleColor:UIColorFromRGB(0xafb1b3) forState:UIControlStateNormal];
|
||||||
[_chooseAccountBtn setTitleColor:UIColorFromRGB(0x000000) forState:UIControlStateSelected];
|
[_currentLoginWayButton setTitleColor:UIColorFromRGB(0x000000) forState:UIControlStateSelected];
|
||||||
_chooseAccountBtn.titleLabel.font = kFontMedium(16);
|
_currentLoginWayButton.titleLabel.font = kFontMedium(16);
|
||||||
[_chooseAccountBtn setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
[_currentLoginWayButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
||||||
_chooseAccountBtn.selected = YES;
|
_currentLoginWayButton.selected = NO;
|
||||||
[_chooseAccountBtn addTarget:self action:@selector(chooseAccountAction) forControlEvents:UIControlEventTouchUpInside];
|
[_currentLoginWayButton addTarget:self action:@selector(chooseAccountAction) forControlEvents:UIControlEventTouchUpInside];
|
||||||
}
|
}
|
||||||
return _chooseAccountBtn;
|
return _currentLoginWayButton;
|
||||||
}
|
}
|
||||||
- (UIButton *)chooseSMSBtn{
|
- (UIButton *)otherLoginWayButton{
|
||||||
if(!_chooseSMSBtn){
|
if(!_otherLoginWayButton){
|
||||||
_chooseSMSBtn = [UIButton new];
|
_otherLoginWayButton = [UIButton new];
|
||||||
[_chooseSMSBtn setTitle:YMLocalizedString(@"XPLoginPhoneViewController10") forState:UIControlStateNormal];
|
[_otherLoginWayButton setTitle:YMLocalizedString(@"1.0.37_text_27") forState:UIControlStateNormal];
|
||||||
[_chooseSMSBtn setTitleColor:UIColorFromRGB(0x84868A) forState:UIControlStateNormal];
|
[_otherLoginWayButton setTitleColor:UIColorFromRGB(0x313131) forState:UIControlStateNormal];
|
||||||
[_chooseSMSBtn setTitleColor:UIColorFromRGB(0x000000) forState:UIControlStateSelected];
|
[_otherLoginWayButton setTitleColor:UIColorFromRGB(0x000000) forState:UIControlStateSelected];
|
||||||
_chooseSMSBtn.titleLabel.font = kFontMedium(16);
|
_otherLoginWayButton.titleLabel.font = kFontMedium(14);
|
||||||
[_chooseSMSBtn setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
_otherLoginWayButton.selected = YES;
|
||||||
[_chooseSMSBtn addTarget:self action:@selector(chooseSMSAction) forControlEvents:UIControlEventTouchUpInside];
|
[_otherLoginWayButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
||||||
|
[_otherLoginWayButton addTarget:self action:@selector(chooseSMSAction) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
|
||||||
}
|
}
|
||||||
return _chooseSMSBtn;
|
return _otherLoginWayButton;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (XPLoginInputView *)accountView {
|
- (XPLoginInputView *)accountView {
|
||||||
|
@@ -15,6 +15,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
+ (void)checkLimit:(HttpRequestHelperCompletion)completion receiverUid:(NSString *)receiverUid;
|
+ (void)checkLimit:(HttpRequestHelperCompletion)completion receiverUid:(NSString *)receiverUid;
|
||||||
|
|
||||||
|
+ (void)sendRoomImageMessage:(HttpRequestHelperCompletion)completion picUrl:(NSString *)picUrl roomUid:(NSInteger)roomUid;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
@@ -18,5 +18,9 @@
|
|||||||
[self makeRequest:@"privateChat/limitV2" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, receiverUid,nil];
|
[self makeRequest:@"privateChat/limitV2" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, receiverUid,nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+ (void)sendRoomImageMessage:(HttpRequestHelperCompletion)completion picUrl:(NSString *)picUrl roomUid:(NSInteger)roomUid {
|
||||||
|
[self makeRequest:@"roomScreen/sendPic" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, picUrl, @(roomUid), nil];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@@ -142,9 +142,28 @@ typedef NS_ENUM(NSUInteger, CustomMessageType) {
|
|||||||
|
|
||||||
///房间等级更新
|
///房间等级更新
|
||||||
CustomMessageType_RoomLevel_Update = 114,
|
CustomMessageType_RoomLevel_Update = 114,
|
||||||
|
|
||||||
|
/// 进房类型
|
||||||
|
CustomMessageType_User_Enter_Room = 115,
|
||||||
|
|
||||||
|
/// 新系統消息
|
||||||
|
CustomMessageType_System_message = 116,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/// first = CustomMessageType_System_message
|
||||||
|
typedef NS_ENUM(NSUInteger, CustomMessageTypeSystemmessage) {
|
||||||
|
Custom_Message_Sub_System_message = 1160,
|
||||||
|
};
|
||||||
|
|
||||||
|
///first = CustomMessageType_User_Enter_Room
|
||||||
|
typedef NS_ENUM(NSUInteger, CustomMessageTypeUserEnterRoom) {
|
||||||
|
/// 图片消息
|
||||||
|
Custom_Message_Sub_Pic_Message = 1151,
|
||||||
|
/// 用户进房
|
||||||
|
Custom_Message_Sub_User_Enter_Room = 1152,
|
||||||
|
};
|
||||||
|
|
||||||
///first = CustomMessageType_Room_Tip
|
///first = CustomMessageType_Room_Tip
|
||||||
typedef NS_ENUM(NSUInteger, CustomMessageSubRoomTip) {
|
typedef NS_ENUM(NSUInteger, CustomMessageSubRoomTip) {
|
||||||
///分享房间
|
///分享房间
|
||||||
@@ -381,6 +400,8 @@ typedef NS_ENUM(NSUInteger, CustomMessageSubRedPacket) {
|
|||||||
Custom_Message_Sub_AllDiamandRedPacket = 604, //全服钻石红包
|
Custom_Message_Sub_AllDiamandRedPacket = 604, //全服钻石红包
|
||||||
Custom_Message_Sub_OpenRedPacketSuccess = 605,//抢红包成功
|
Custom_Message_Sub_OpenRedPacketSuccess = 605,//抢红包成功
|
||||||
Custom_Message_Sub_NewRoomDiamandRedPacket = 606, //新版本房间钻石红包
|
Custom_Message_Sub_NewRoomDiamandRedPacket = 606, //新版本房间钻石红包
|
||||||
|
|
||||||
|
Custom_Message_Sub_LuckyPackage = 607, // 最新版本房间红包推送
|
||||||
};
|
};
|
||||||
|
|
||||||
///first = CustomMessageType_Collection_Room
|
///first = CustomMessageType_Collection_Room
|
||||||
@@ -755,6 +776,8 @@ typedef NS_ENUM(NSUInteger, CustomMessageTypeRoomLevelUpdate) {
|
|||||||
@property (nonatomic,assign) int second;
|
@property (nonatomic,assign) int second;
|
||||||
@property(nonatomic,assign) BOOL isBroadcast;
|
@property(nonatomic,assign) BOOL isBroadcast;
|
||||||
|
|
||||||
|
@property(nonatomic, assign) NSInteger seq; // 本地序号,用于将一条消息分解为多条有次序的消息
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
@@ -18,64 +18,64 @@
|
|||||||
return [self toJSONString];
|
return [self toJSONString];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSDictionary *)toDictionary {
|
//- (NSDictionary *)toDictionary {
|
||||||
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
|
// NSMutableDictionary *dict = [NSMutableDictionary dictionary];
|
||||||
|
//
|
||||||
if (self.data) {
|
// if (self.data) {
|
||||||
dict[@"data"] = self.data;
|
// dict[@"data"] = self.data;
|
||||||
}
|
// }
|
||||||
dict[@"first"] = @(self.first);
|
// dict[@"first"] = @(self.first);
|
||||||
dict[@"second"] = @(self.second);
|
// dict[@"second"] = @(self.second);
|
||||||
dict[@"isBroadcast"] = @(self.isBroadcast);
|
// dict[@"isBroadcast"] = @(self.isBroadcast);
|
||||||
|
//
|
||||||
return [dict copy];
|
// return [dict copy];
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
- (NSString *)convertModelToJSONString:(AttachmentModel *)model {
|
//- (NSString *)convertModelToJSONString:(AttachmentModel *)model {
|
||||||
if (!model) {
|
// if (!model) {
|
||||||
return nil;
|
// return nil;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 获取模型的字典表示
|
// // 获取模型的字典表示
|
||||||
NSDictionary *modelDict = [model toDictionary];
|
// NSDictionary *modelDict = [model toDictionary];
|
||||||
|
//
|
||||||
// 将字典序列化为 JSON 数据
|
// // 将字典序列化为 JSON 数据
|
||||||
NSError *error;
|
// NSError *error;
|
||||||
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:modelDict options:0 error:&error];
|
// NSData *jsonData = [NSJSONSerialization dataWithJSONObject:modelDict options:0 error:&error];
|
||||||
|
//
|
||||||
if (error) {
|
// if (error) {
|
||||||
NSLog(@"JSON 序列化失败: %@", error.localizedDescription);
|
// NSLog(@"JSON 序列化失败: %@", error.localizedDescription);
|
||||||
return nil;
|
// return nil;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 转换为字符串
|
// // 转换为字符串
|
||||||
return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
|
// return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
- (NSString *)compressJSONString:(NSString *)jsonString {
|
//- (NSString *)compressJSONString:(NSString *)jsonString {
|
||||||
if (!jsonString) return nil;
|
// if (!jsonString) return nil;
|
||||||
|
//
|
||||||
// 将 JSON 字符串转为对象(字典或数组)
|
// // 将 JSON 字符串转为对象(字典或数组)
|
||||||
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
|
// NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
|
||||||
NSError *error;
|
// NSError *error;
|
||||||
id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
|
// id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
|
||||||
|
//
|
||||||
if (error) {
|
// if (error) {
|
||||||
NSLog(@"JSON 解析错误: %@", error.localizedDescription);
|
// NSLog(@"JSON 解析错误: %@", error.localizedDescription);
|
||||||
return nil;
|
// return nil;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 将对象重新序列化为紧凑格式的 JSON 数据
|
// // 将对象重新序列化为紧凑格式的 JSON 数据
|
||||||
NSData *compressedData = [NSJSONSerialization dataWithJSONObject:jsonObject options:0 error:&error];
|
// NSData *compressedData = [NSJSONSerialization dataWithJSONObject:jsonObject options:0 error:&error];
|
||||||
|
//
|
||||||
if (error) {
|
// if (error) {
|
||||||
NSLog(@"JSON 序列化错误: %@", error.localizedDescription);
|
// NSLog(@"JSON 序列化错误: %@", error.localizedDescription);
|
||||||
return nil;
|
// return nil;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 转换为字符串
|
// // 转换为字符串
|
||||||
NSString *compressedString = [[NSString alloc] initWithData:compressedData encoding:NSUTF8StringEncoding];
|
// NSString *compressedString = [[NSString alloc] initWithData:compressedData encoding:NSUTF8StringEncoding];
|
||||||
return compressedString;
|
// return compressedString;
|
||||||
}
|
//}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@@ -0,0 +1,17 @@
|
|||||||
|
//
|
||||||
|
// AgentMessageTableViewCell.h
|
||||||
|
// YuMi
|
||||||
|
//
|
||||||
|
// Created by P on 2025/2/20.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MessageContentCustomView.h"
|
||||||
|
#import "UIView+NIM.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface AgentMessageTableViewCell : MessageContentCustomView
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,167 @@
|
|||||||
|
//
|
||||||
|
// AgentMessageTableViewCell.m
|
||||||
|
// YuMi
|
||||||
|
//
|
||||||
|
// Created by P on 2025/2/20.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "AgentMessageTableViewCell.h"
|
||||||
|
|
||||||
|
#import "AgentMessageModel.h"
|
||||||
|
|
||||||
|
@interface AgentMessageTableViewCell ()
|
||||||
|
|
||||||
|
@property(nonatomic, strong) UILabel *titleLabel;
|
||||||
|
@property(nonatomic, strong) UILabel *messageLabel;
|
||||||
|
@property(nonatomic, strong) UIButton *agreeButton;
|
||||||
|
@property(nonatomic, strong) UIButton *rejectButton;
|
||||||
|
@property(nonatomic, strong) UIStackView *stackView;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation AgentMessageTableViewCell
|
||||||
|
|
||||||
|
- (void)initSubViews {
|
||||||
|
[super initSubViews];
|
||||||
|
|
||||||
|
self.backView.backgroundColor = [UIColor whiteColor];
|
||||||
|
|
||||||
|
[self.backView addSubview:self.titleLabel];
|
||||||
|
[self.backView addSubview:self.messageLabel];
|
||||||
|
[self.backView addSubview:self.stackView];
|
||||||
|
[self.stackView addArrangedSubview:self.rejectButton];
|
||||||
|
[self.stackView addArrangedSubview:self.agreeButton];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)initSubViewConstraints {
|
||||||
|
[super initSubViewConstraints];
|
||||||
|
|
||||||
|
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.centerX.mas_equalTo(self.backView);
|
||||||
|
make.top.mas_equalTo(self.backView).mas_equalTo(10);
|
||||||
|
make.height.mas_equalTo(22);
|
||||||
|
}];
|
||||||
|
[self.messageLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.leading.trailing.mas_equalTo(self.backView);
|
||||||
|
make.top.mas_equalTo(self.titleLabel.mas_bottom).mas_equalTo(10);
|
||||||
|
make.bottom.mas_equalTo(self.backView).offset(-40);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.centerX.mas_equalTo(self.backView);
|
||||||
|
make.height.mas_equalTo(30);
|
||||||
|
make.bottom.mas_equalTo(-8);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.rejectButton mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.height.mas_equalTo(30);
|
||||||
|
make.width.mas_equalTo(94);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.agreeButton mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.height.mas_equalTo(30);
|
||||||
|
make.width.mas_equalTo(94);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)render:(MessageBaseModel *)message {
|
||||||
|
AgentMessageModel *model = (AgentMessageModel *)message;
|
||||||
|
|
||||||
|
switch (model.layoutType) {
|
||||||
|
case 1: {
|
||||||
|
self.agreeButton.hidden = NO;
|
||||||
|
self.rejectButton.hidden = NO;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2: {
|
||||||
|
self.agreeButton.hidden = NO;
|
||||||
|
self.rejectButton.hidden = YES;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3: {
|
||||||
|
self.agreeButton.hidden = YES;
|
||||||
|
self.rejectButton.hidden = NO;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.titleLabel.text = model.title;
|
||||||
|
self.messageLabel.text = model.content;
|
||||||
|
#if DEBUG
|
||||||
|
self.messageLabel.text = @"Agency member ID:10087 has applied to quit. Please review it within 24 hours. Otherwise, it will be resolved by the system within 24 hours.";
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark -
|
||||||
|
- (void)didTapAgree {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)didTapReject {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark -
|
||||||
|
|
||||||
|
- (UILabel *)titleLabel {
|
||||||
|
if (!_titleLabel) {
|
||||||
|
_titleLabel = [[UILabel alloc]initWithFrame:CGRectZero];
|
||||||
|
_titleLabel.textAlignment = NSTextAlignmentCenter;
|
||||||
|
_titleLabel.preferredMaxLayoutWidth = CONTENT_WIDTH_MAX - MESSAGE_PADDING * 2;
|
||||||
|
_titleLabel.textColor = UIColorFromRGB(0x313131);
|
||||||
|
_titleLabel.font = kFontSemibold(15);
|
||||||
|
}
|
||||||
|
return _titleLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)messageLabel {
|
||||||
|
if (!_messageLabel) {
|
||||||
|
_messageLabel = [[UILabel alloc]initWithFrame:CGRectZero];
|
||||||
|
_messageLabel.textAlignment = NSTextAlignmentCenter;
|
||||||
|
_messageLabel.preferredMaxLayoutWidth = CONTENT_WIDTH_MAX - MESSAGE_PADDING * 2;
|
||||||
|
_messageLabel.textColor = UIColorFromRGB(0x313131);
|
||||||
|
_messageLabel.font = kFontRegular(14);
|
||||||
|
_messageLabel.numberOfLines = 0;
|
||||||
|
}
|
||||||
|
return _messageLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIButton *)agreeButton {
|
||||||
|
if (!_agreeButton) {
|
||||||
|
_agreeButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_agreeButton addGradientBackgroundWithColors:@[
|
||||||
|
UIColorFromRGB(0xE29030),
|
||||||
|
UIColorFromRGB(0xFCC074),
|
||||||
|
] startPoint:CGPointMake(0, 0.5) endPoint:CGPointMake(1, 0.5) cornerRadius:15];
|
||||||
|
[_agreeButton setTitle:YMLocalizedString(@"XPAnchorPKInviteView7") forState:UIControlStateNormal];
|
||||||
|
[_agreeButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||||
|
_agreeButton.titleLabel.font = kFontMedium(14);
|
||||||
|
[_agreeButton addTarget:self action:@selector(didTapAgree) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
}
|
||||||
|
return _agreeButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIButton *)rejectButton {
|
||||||
|
if (!_rejectButton) {
|
||||||
|
_rejectButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
_rejectButton.backgroundColor = UIColorFromRGB(0xEBEBEB);
|
||||||
|
[_rejectButton setCornerRadius:15];
|
||||||
|
[_rejectButton setTitle:YMLocalizedString(@"XPAnchorPKInviteView6") forState:UIControlStateNormal];
|
||||||
|
[_rejectButton setTitleColor:UIColorFromRGB(0x7b7b7d) forState:UIControlStateNormal];
|
||||||
|
_rejectButton.titleLabel.font = kFontMedium(14);
|
||||||
|
[_rejectButton addTarget:self action:@selector(didTapReject) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
}
|
||||||
|
return _rejectButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIStackView *)stackView {
|
||||||
|
if (!_stackView) {
|
||||||
|
_stackView = [[UIStackView alloc] init];
|
||||||
|
_stackView.spacing = 12;
|
||||||
|
}
|
||||||
|
return _stackView;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
@@ -87,21 +87,6 @@
|
|||||||
MessageTextClickModel * textModel = (MessageTextClickModel *)message;
|
MessageTextClickModel * textModel = (MessageTextClickModel *)message;
|
||||||
_messageText.attributedText = textModel.attributedText;
|
_messageText.attributedText = textModel.attributedText;
|
||||||
_contentInfo = textModel.contentInfo;
|
_contentInfo = textModel.contentInfo;
|
||||||
|
|
||||||
// CGFloat oneHeight = [YMLocalizedString(@"MessageContentTweetView0") boundingRectWithSize:CGSizeMake(240, CGFLOAT_MAX) options:NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin
|
|
||||||
// attributes:[self messageTextAttibutes:[UIFont systemFontOfSize:16] color:[DJDKMIMOMColor mainTextColor]] context:nil].size.height + 2.5;
|
|
||||||
//
|
|
||||||
// CGFloat titleHeight = [textModel.attributedText.string boundingRectWithSize:CGSizeMake(240, CGFLOAT_MAX) options:NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin
|
|
||||||
// attributes:[self messageTextAttibutes:[UIFont systemFontOfSize:16] color:[DJDKMIMOMColor mainTextColor]] context:nil].size.height;
|
|
||||||
// if (titleHeight <= oneHeight * 2) {
|
|
||||||
// [self.messageText mas_updateConstraints:^(MASConstraintMaker *make) {
|
|
||||||
// make.height.mas_equalTo(titleHeight + 5);
|
|
||||||
// }];
|
|
||||||
// } else{
|
|
||||||
// [self.messageText mas_updateConstraints:^(MASConstraintMaker *make) {
|
|
||||||
// make.height.mas_equalTo(oneHeight * 2);
|
|
||||||
// }];
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
- (NSDictionary<NSAttributedStringKey, id> *)messageTextAttibutes:(UIFont *)font color:(UIColor *)color {
|
- (NSDictionary<NSAttributedStringKey, id> *)messageTextAttibutes:(UIFont *)font color:(UIColor *)color {
|
||||||
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
|
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
|
||||||
|
@@ -0,0 +1,34 @@
|
|||||||
|
//
|
||||||
|
// AgentMessageModel.h
|
||||||
|
// YuMi
|
||||||
|
//
|
||||||
|
// Created by P on 2025/2/20.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MessageBaseModel.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface AgentTextStyleMessageModel: PIBaseModel
|
||||||
|
|
||||||
|
@property(nonatomic, copy) NSString *content;
|
||||||
|
@property(nonatomic, assign) NSInteger fontSize;
|
||||||
|
@property(nonatomic, copy) NSString *fontColor;
|
||||||
|
@property(nonatomic, assign) bool fontBold;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface AgentMessageModel : MessageBaseModel
|
||||||
|
|
||||||
|
@property(nonatomic, copy) NSString *url;
|
||||||
|
@property(nonatomic, copy) NSString *title;
|
||||||
|
@property(nonatomic, copy) NSString *content;
|
||||||
|
@property(nonatomic, assign) NSInteger titleFontSize;
|
||||||
|
@property(nonatomic, assign) NSInteger contentFontSize;
|
||||||
|
@property(nonatomic, assign) NSInteger layoutType; // (0没有确定取消按钮,1,确定取消按钮,2,只有确定 3,只有取消)
|
||||||
|
@property(nonatomic, copy) NSArray <AgentTextStyleMessageModel *> *titleStyles;
|
||||||
|
@property(nonatomic, copy) NSArray <AgentTextStyleMessageModel *> *contentStyles;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,70 @@
|
|||||||
|
//
|
||||||
|
// AgentMessageModel.m
|
||||||
|
// YuMi
|
||||||
|
//
|
||||||
|
// Created by P on 2025/2/20.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "AgentMessageModel.h"
|
||||||
|
#import "AttachmentModel.h"
|
||||||
|
|
||||||
|
@implementation AgentTextStyleMessageModel
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
@implementation AgentMessageModel
|
||||||
|
|
||||||
|
- (instancetype)initWithMessage:(NIMMessage *)message {
|
||||||
|
if (self = [super init]) {
|
||||||
|
self.message = message;
|
||||||
|
self.isHiddenAvatar = NO;
|
||||||
|
self.messageType = SessionMessageType_Custom;
|
||||||
|
|
||||||
|
NIMCustomObject *obj = (NIMCustomObject *)message.messageObject;
|
||||||
|
AttachmentModel *attachment = (AttachmentModel *)obj.attachment;
|
||||||
|
NSDictionary *data = attachment.data;
|
||||||
|
if (data) {
|
||||||
|
AgentMessageModel *model = [AgentMessageModel modelWithJSON:data];
|
||||||
|
//#if DEBUG
|
||||||
|
// model.url = @"/guildMember/quitAudit?uid\\u003d3456\\u0026";
|
||||||
|
//#endif
|
||||||
|
self.url = model.url;
|
||||||
|
self.title = model.title;
|
||||||
|
self.content = model.content;
|
||||||
|
self.titleFontSize = model.titleFontSize;
|
||||||
|
self.contentSize = model.contentSize;
|
||||||
|
self.layoutType = model.layoutType;
|
||||||
|
self.titleStyles = model.titleStyles;
|
||||||
|
self.contentStyles = model.contentStyles;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CGSize maxSize = CGSizeMake(260, CGFLOAT_MAX);
|
||||||
|
|
||||||
|
// 使用 NSString 的 boundingRectWithSize 方法来计算高度
|
||||||
|
CGRect textRect = [self.content boundingRectWithSize:maxSize
|
||||||
|
options:NSStringDrawingUsesLineFragmentOrigin
|
||||||
|
attributes:@{NSFontAttributeName: kFontRegular(14)}
|
||||||
|
context:nil];
|
||||||
|
|
||||||
|
CGFloat titleHeight = 30;
|
||||||
|
CGFloat contentHeight = textRect.size.height;
|
||||||
|
//#if DEBUG
|
||||||
|
// contentHeight = 150;
|
||||||
|
// self.layoutType = 2;
|
||||||
|
//#endif
|
||||||
|
CGFloat buttonHeight = self.layoutType == 0 ? 0 : 40;
|
||||||
|
self.height = titleHeight + contentHeight + buttonHeight + 20;
|
||||||
|
|
||||||
|
// TODO: 補充富文本格式 | 補充 API call 邏輯
|
||||||
|
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString *)cellContent:(MessageBaseModel *)model {
|
||||||
|
return @"AgentMessageTableViewCell";
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
@@ -80,6 +80,7 @@
|
|||||||
#import "MessageGameOrderModel.h"
|
#import "MessageGameOrderModel.h"
|
||||||
#import "VIPCenterViewController.h"
|
#import "VIPCenterViewController.h"
|
||||||
#import "XPSkillCardPlayerManager.h"
|
#import "XPSkillCardPlayerManager.h"
|
||||||
|
#import "AgentMessageModel.h"
|
||||||
|
|
||||||
@interface CheckLimitModel :PIBaseModel
|
@interface CheckLimitModel :PIBaseModel
|
||||||
@property (nonatomic, assign) BOOL chat;
|
@property (nonatomic, assign) BOOL chat;
|
||||||
@@ -170,9 +171,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (void)headerRefresh {
|
- (void)headerRefresh {
|
||||||
|
@kWeakify(self);
|
||||||
if (self.messages.count > 0) {
|
if (self.messages.count > 0) {
|
||||||
MessageBaseModel * model = self.messages.firstObject;
|
MessageBaseModel * model = self.messages.firstObject;
|
||||||
[[[NIMSDK sharedSDK] conversationManager] messagesInSession:self.session message:model.message limit:20 completion:^(NSError * _Nullable error, NSArray<NIMMessage *> * _Nullable messages) {
|
[[[NIMSDK sharedSDK] conversationManager] messagesInSession:self.session message:model.message limit:20 completion:^(NSError * _Nullable error, NSArray<NIMMessage *> * _Nullable messages) {
|
||||||
|
@kStrongify(self);
|
||||||
[self.sessionTableView.mj_header endRefreshing];
|
[self.sessionTableView.mj_header endRefreshing];
|
||||||
if (error == nil && messages.count > 0) {
|
if (error == nil && messages.count > 0) {
|
||||||
for (int i = ((int)messages.count -1); i >= 0; i--) {
|
for (int i = ((int)messages.count -1); i >= 0; i--) {
|
||||||
@@ -193,6 +196,7 @@
|
|||||||
}];
|
}];
|
||||||
} else {
|
} else {
|
||||||
[[[NIMSDK sharedSDK] conversationManager] messagesInSession:self.session message:nil limit:20 completion:^(NSError * _Nullable error, NSArray<NIMMessage *> * _Nullable messages) {
|
[[[NIMSDK sharedSDK] conversationManager] messagesInSession:self.session message:nil limit:20 completion:^(NSError * _Nullable error, NSArray<NIMMessage *> * _Nullable messages) {
|
||||||
|
@kStrongify(self);
|
||||||
[self.sessionTableView.mj_header endRefreshing];
|
[self.sessionTableView.mj_header endRefreshing];
|
||||||
if (error == nil) {
|
if (error == nil) {
|
||||||
for (int i = 0; i < messages.count; i++) {
|
for (int i = 0; i < messages.count; i++) {
|
||||||
@@ -251,7 +255,17 @@
|
|||||||
MessageBaseModel * model;
|
MessageBaseModel * model;
|
||||||
NIMCustomObject *obj = (NIMCustomObject *)message.messageObject;
|
NIMCustomObject *obj = (NIMCustomObject *)message.messageObject;
|
||||||
AttachmentModel *attachment = (AttachmentModel *)obj.attachment;
|
AttachmentModel *attachment = (AttachmentModel *)obj.attachment;
|
||||||
if (attachment.first == CustomMessageType_Gift && attachment.second == Custom_Message_Sub_Gift_Send) {
|
// if (attachment.first == CustomMessageType_System_message) {
|
||||||
|
// switch (attachment.second) {
|
||||||
|
// case Custom_Message_Sub_System_message:
|
||||||
|
// model = [[AgentMessageModel alloc] initWithMessage:message];
|
||||||
|
// break;
|
||||||
|
//
|
||||||
|
// default:
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
if (attachment.first == CustomMessageType_Gift && attachment.second == Custom_Message_Sub_Gift_Send) {
|
||||||
model = [[MessageGiftModel alloc] initWithMessage:message];
|
model = [[MessageGiftModel alloc] initWithMessage:message];
|
||||||
} else if(attachment.first == CustomMessageType_Secretary) {
|
} else if(attachment.first == CustomMessageType_Secretary) {
|
||||||
model = [[MessageTextClickModel alloc] initWithMessage:message];
|
model = [[MessageTextClickModel alloc] initWithMessage:message];
|
||||||
|
@@ -31,7 +31,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
///是否已经喜欢了
|
///是否已经喜欢了
|
||||||
@property (nonatomic,assign) BOOL isLike;
|
@property (nonatomic,assign) BOOL isLike;
|
||||||
|
|
||||||
@property(nonatomic,assign) BOOL isPublicChatHall;
|
//@property(nonatomic,assign) BOOL isPublicChatHall;
|
||||||
///代理
|
///代理
|
||||||
@property (nonatomic,weak) id<SessionNavViewDelegate> delegate;
|
@property (nonatomic,weak) id<SessionNavViewDelegate> delegate;
|
||||||
///是否在房间中
|
///是否在房间中
|
||||||
|
@@ -51,12 +51,7 @@
|
|||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
- (void)setIsPublicChatHall:(BOOL)isPublicChatHall{
|
|
||||||
_isPublicChatHall = isPublicChatHall;
|
|
||||||
self.liveView.hidden = _isPublicChatHall;
|
|
||||||
self.reportButton.hidden = _isPublicChatHall;
|
|
||||||
self.likeButton.hidden = _isPublicChatHall;
|
|
||||||
}
|
|
||||||
#pragma mark - Private Method
|
#pragma mark - Private Method
|
||||||
- (void)initSubViews {
|
- (void)initSubViews {
|
||||||
self.backgroundColor = [DJDKMIMOMColor appCellBackgroundColor];
|
self.backgroundColor = [DJDKMIMOMColor appCellBackgroundColor];
|
||||||
@@ -124,7 +119,7 @@
|
|||||||
#pragma mark - Getters And Setters
|
#pragma mark - Getters And Setters
|
||||||
- (void)setUserInfo:(UserInfoModel *)userInfo {
|
- (void)setUserInfo:(UserInfoModel *)userInfo {
|
||||||
_userInfo = userInfo;
|
_userInfo = userInfo;
|
||||||
if (self.isPublicChatHall == YES){return;}
|
|
||||||
if (_userInfo) {
|
if (_userInfo) {
|
||||||
NSString * userId = [NSString stringWithFormat:@"%ld", userInfo.uid];
|
NSString * userId = [NSString stringWithFormat:@"%ld", userInfo.uid];
|
||||||
self.userId = userId;
|
self.userId = userId;
|
||||||
@@ -138,11 +133,9 @@
|
|||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
self.subTitleLabel.hidden = ![[NIMSDK sharedSDK].userManager isUserInBlackList:userId];
|
self.subTitleLabel.hidden = ![[NIMSDK sharedSDK].userManager isUserInBlackList:userId];
|
||||||
self.liveView.hidden = ([[NIMSDK sharedSDK].userManager isUserInBlackList:userId] || _userInfo.roomUid.length <= 0);
|
self.liveView.hidden = ([[NIMSDK sharedSDK].userManager isUserInBlackList:userId] || _userInfo.roomUid.length <= 0);
|
||||||
self.reportButton.hidden = [NIMMessageUtils isOfficalAccount:self.userId] || self.isInRoom;
|
self.reportButton.hidden = [NIMMessageUtils isOfficalAccount:self.userId] || self.isInRoom;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,10 +143,8 @@
|
|||||||
_title = title;
|
_title = title;
|
||||||
if (_title) {
|
if (_title) {
|
||||||
NSString * nick = title;
|
NSString * nick = title;
|
||||||
if(self.isPublicChatHall == NO){
|
if (nick.length > 10 ) {
|
||||||
if (nick.length > 10 ) {
|
nick = [nick substringToIndex:10];
|
||||||
nick = [nick substringToIndex:10];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
self.nickLabel.text = nick;
|
self.nickLabel.text = nick;
|
||||||
}
|
}
|
||||||
|
@@ -54,8 +54,10 @@
|
|||||||
NSString * uid = recent.session.sessionId;
|
NSString * uid = recent.session.sessionId;
|
||||||
if (uid > 0) {
|
if (uid > 0) {
|
||||||
NSArray * uids = @[uid];
|
NSArray * uids = @[uid];
|
||||||
|
@kWeakify(self);
|
||||||
[[NIMSDK sharedSDK].userManager fetchUserInfos:uids completion:^(NSArray<NIMUser *> * _Nullable users, NSError * _Nullable error) {
|
[[NIMSDK sharedSDK].userManager fetchUserInfos:uids completion:^(NSArray<NIMUser *> * _Nullable users, NSError * _Nullable error) {
|
||||||
if (error == nil) {
|
if (error == nil) {
|
||||||
|
@kStrongify(self);
|
||||||
NIMUser * userInfo = users.firstObject;
|
NIMUser * userInfo = users.firstObject;
|
||||||
self.nameLabel.text = userInfo.userInfo.nickName;
|
self.nameLabel.text = userInfo.userInfo.nickName;
|
||||||
NSString *avatarUrl = userInfo.userInfo.avatarUrl;
|
NSString *avatarUrl = userInfo.userInfo.avatarUrl;
|
||||||
|
@@ -9,6 +9,47 @@
|
|||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface DiamondGiveHistoryVo : PIBaseModel
|
||||||
|
@property(nonatomic, copy) NSString *id;
|
||||||
|
@property(nonatomic, assign) NSInteger fromUid;
|
||||||
|
@property(nonatomic, assign) NSInteger targetUid;
|
||||||
|
@property(nonatomic, assign) NSInteger targetErbanNo;
|
||||||
|
@property(nonatomic, assign) NSInteger readDiamondNum;
|
||||||
|
@property(nonatomic, copy) NSString *createTimeStr;
|
||||||
|
@property(nonatomic, copy) NSString *targetNick;
|
||||||
|
@property(nonatomic, copy) NSString *targetAvatar;
|
||||||
|
@property(nonatomic, assign) NSInteger diamondNum;
|
||||||
|
@property(nonatomic, assign) NSTimeInterval createTime;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface DiamondHistoryModel : PIBaseModel
|
||||||
|
|
||||||
|
@property(nonatomic, assign) NSInteger totalGiveGold;
|
||||||
|
@property(nonatomic, assign) NSInteger totalGiveGoldUsd;
|
||||||
|
@property(nonatomic, copy) NSString *cycleDateStr;
|
||||||
|
@property(nonatomic, copy) NSArray <DiamondGiveHistoryVo *>* diamondGiveHistoryVoList;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
@interface SubRechargeUserModel : PIBaseModel
|
||||||
|
|
||||||
|
@property(nonatomic, copy) NSString *id;
|
||||||
|
@property(nonatomic, assign) NSInteger uid;
|
||||||
|
@property(nonatomic, assign) NSInteger manageUid;
|
||||||
|
@property(nonatomic, assign) NSInteger starLevel;
|
||||||
|
@property(nonatomic, assign) BOOL hasCharge;
|
||||||
|
@property(nonatomic, copy) NSString *erbanNo;
|
||||||
|
@property(nonatomic, copy) NSString *nick;
|
||||||
|
@property(nonatomic, copy) NSString *avatar;
|
||||||
|
@property(nonatomic, assign) BOOL isOnline;
|
||||||
|
@property(nonatomic, assign) NSInteger seq;
|
||||||
|
@property(nonatomic, assign) NSInteger starLevelSeq;
|
||||||
|
@property(nonatomic, assign) CGFloat totalGiveGoldUsd; //薪资
|
||||||
|
@property(nonatomic, assign) CGFloat totalGiveGold; //转赠金币
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
@interface RechargeUserModel : PIBaseModel
|
@interface RechargeUserModel : PIBaseModel
|
||||||
|
|
||||||
@property(nonatomic, copy) NSString *avatar;
|
@property(nonatomic, copy) NSString *avatar;
|
||||||
@@ -21,6 +62,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property(nonatomic, assign) NSInteger starLevel;
|
@property(nonatomic, assign) NSInteger starLevel;
|
||||||
@property(nonatomic, assign) NSInteger type;
|
@property(nonatomic, assign) NSInteger type;
|
||||||
@property(nonatomic, assign) NSInteger uid;
|
@property(nonatomic, assign) NSInteger uid;
|
||||||
|
@property(nonatomic, assign) CGFloat totalGiveGoldUsd; //薪资
|
||||||
|
@property(nonatomic, assign) CGFloat totalGiveGold; //转赠金币
|
||||||
|
@property(nonatomic, assign) NSInteger subNum;
|
||||||
|
|
||||||
+ (RechargeUserModel *)testModel;
|
+ (RechargeUserModel *)testModel;
|
||||||
|
|
||||||
|
@@ -7,6 +7,25 @@
|
|||||||
|
|
||||||
#import "RechargeUserModel.h"
|
#import "RechargeUserModel.h"
|
||||||
|
|
||||||
|
@implementation DiamondGiveHistoryVo
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation DiamondHistoryModel
|
||||||
|
|
||||||
|
+ (NSDictionary *)objectClassInArray{
|
||||||
|
return @{
|
||||||
|
@"diamondGiveHistoryVoList":DiamondGiveHistoryVo.class
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation SubRechargeUserModel
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
@implementation RechargeUserModel
|
@implementation RechargeUserModel
|
||||||
|
|
||||||
+ (RechargeUserModel *)testModel {
|
+ (RechargeUserModel *)testModel {
|
||||||
|
@@ -46,6 +46,23 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
+(void)rechargeUserInfo:(HttpRequestHelperCompletion)completion;
|
+(void)rechargeUserInfo:(HttpRequestHelperCompletion)completion;
|
||||||
|
|
||||||
|
/// 子代理接口
|
||||||
|
+(void)subrechargeListInfo:(HttpRequestHelperCompletion)completion;
|
||||||
|
|
||||||
|
|
||||||
|
/// 用户转增历史
|
||||||
|
/// - Parameters:
|
||||||
|
/// - completion: completion description
|
||||||
|
/// - periodType: 1-当前周期;2-上个周期
|
||||||
|
/// - pageSize: 页内容数量
|
||||||
|
/// - pageNo: 页数
|
||||||
|
/// - type: 1-金币转赠历史,2-代发薪资历史
|
||||||
|
+(void)transferDiamondHistory:(HttpRequestHelperCompletion)completion
|
||||||
|
periodType:(NSInteger)periodType
|
||||||
|
pageSize:(NSInteger)pageSize
|
||||||
|
pageNo:(NSInteger)pageNo
|
||||||
|
type:(NSInteger)type;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
@@ -28,4 +28,18 @@
|
|||||||
+(void)rechargeUserInfo:(HttpRequestHelperCompletion)completion {
|
+(void)rechargeUserInfo:(HttpRequestHelperCompletion)completion {
|
||||||
[self makeRequest:@"recharge/user/info" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
|
[self makeRequest:@"recharge/user/info" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+(void)subrechargeListInfo:(HttpRequestHelperCompletion)completion {
|
||||||
|
[self makeRequest:@"recharge/user/subList" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
|
||||||
|
}
|
||||||
|
|
||||||
|
+(void)transferDiamondHistory:(HttpRequestHelperCompletion)completion
|
||||||
|
periodType:(NSInteger)periodType
|
||||||
|
pageSize:(NSInteger)pageSize
|
||||||
|
pageNo:(NSInteger)pageNo
|
||||||
|
type:(NSInteger)type {
|
||||||
|
[self makeRequest:@"user/diamond/history" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, @(periodType), @(pageSize), @(pageNo), @(type), nil];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@@ -28,6 +28,19 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
///充值代理信息
|
///充值代理信息
|
||||||
- (void)rechargeUserInfo;
|
- (void)rechargeUserInfo;
|
||||||
|
|
||||||
|
- (void)subrechargeInfoList;
|
||||||
|
|
||||||
|
|
||||||
|
/// yonghu1
|
||||||
|
/// - Parameters:
|
||||||
|
/// - periodType: 1: 当前周期,2: 上个周期
|
||||||
|
/// - page: 页数
|
||||||
|
/// - type: 1-金币转赠历史,2-代发薪资历史
|
||||||
|
- (void)userTransferHistory:(NSInteger)periodType
|
||||||
|
page:(NSInteger)page
|
||||||
|
type:(NSInteger)type;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
@@ -30,7 +30,9 @@
|
|||||||
-(void)getGiveDiamondRecord{
|
-(void)getGiveDiamondRecord{
|
||||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||||
NSString * ticket = [AccountInfoStorage instance].getTicket;
|
NSString * ticket = [AccountInfoStorage instance].getTicket;
|
||||||
|
@kWeakify(self);
|
||||||
[Api getGiveDiamondList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
[Api getGiveDiamondList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||||
|
@kStrongify(self);
|
||||||
NSArray * array = [XPMineGiveDiamondModel modelsWithArray:data.data];
|
NSArray * array = [XPMineGiveDiamondModel modelsWithArray:data.data];
|
||||||
[[self getView] getGiveDiamondListSuccess:array];
|
[[self getView] getGiveDiamondListSuccess:array];
|
||||||
}] ticket:ticket uid:uid pageNum:@"1" pageSize:@"100"];
|
}] ticket:ticket uid:uid pageNum:@"1" pageSize:@"100"];
|
||||||
@@ -101,6 +103,31 @@
|
|||||||
|
|
||||||
} showLoading:YES errorToast:YES]];
|
} showLoading:YES errorToast:YES]];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)subrechargeInfoList {
|
||||||
|
@kWeakify(self);
|
||||||
|
[Api subrechargeListInfo:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||||
|
@kStrongify(self);
|
||||||
|
if ([[self getView] respondsToSelector:@selector(loadSubRechargerInfoSuccess:)]) {
|
||||||
|
[[self getView] loadSubRechargerInfoSuccess:[SubRechargeUserModel modelsWithArray:data.data]];
|
||||||
|
}
|
||||||
|
} fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||||
|
|
||||||
|
} showLoading:YES errorToast:YES]];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)userTransferHistory:(NSInteger)periodType page:(NSInteger)page type:(NSInteger)type{
|
||||||
|
@kWeakify(self);
|
||||||
|
[Api transferDiamondHistory:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||||
|
@kStrongify(self);
|
||||||
|
if ([[self getView] respondsToSelector:@selector(loadTransferHistorySuccess:)]) {
|
||||||
|
[[self getView] loadTransferHistorySuccess:[DiamondHistoryModel modelWithJSON:data.data]];
|
||||||
|
}
|
||||||
|
} fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||||
|
|
||||||
|
} showLoading:YES errorToast:YES] periodType:periodType pageSize:20 pageNo:page type:type];
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
@class WalletInfoModel,XPMineGiveDiamondSearchModel,XPMineGiveDiamondDetailsModel,GiftInfoModel, RechargeUserModel;
|
@class WalletInfoModel,XPMineGiveDiamondSearchModel,XPMineGiveDiamondDetailsModel,GiftInfoModel, RechargeUserModel, SubRechargeUserModel, DiamondHistoryModel;
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@protocol XPMineGiveDiamondProtocol <NSObject>
|
@protocol XPMineGiveDiamondProtocol <NSObject>
|
||||||
@@ -40,6 +40,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
- (void)loadRechargeUserSuccess:(RechargeUserModel *)userModel;
|
- (void)loadRechargeUserSuccess:(RechargeUserModel *)userModel;
|
||||||
|
|
||||||
|
- (void)loadSubRechargerInfoSuccess:(NSArray <SubRechargeUserModel *>*)infos;
|
||||||
|
|
||||||
|
- (void)loadTransferHistorySuccess:(DiamondHistoryModel *)infos;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
@@ -378,7 +378,7 @@
|
|||||||
NetImageConfig *config = [[NetImageConfig alloc]init];
|
NetImageConfig *config = [[NetImageConfig alloc]init];
|
||||||
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
||||||
_headView = [[NetImageView alloc]initWithConfig:config];
|
_headView = [[NetImageView alloc]initWithConfig:config];
|
||||||
_headView.layer.cornerRadius = kGetScaleWidth(25);
|
_headView.layer.cornerRadius = kGetScaleWidth(59/2);
|
||||||
_headView.layer.masksToBounds = YES;
|
_headView.layer.masksToBounds = YES;
|
||||||
}
|
}
|
||||||
return _headView;
|
return _headView;
|
||||||
|
@@ -12,6 +12,10 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
|
|
||||||
@interface XPMineGiveDiamondCell : UITableViewCell
|
@interface XPMineGiveDiamondCell : UITableViewCell
|
||||||
@property (nonatomic,strong) XPMineGiveDiamondModel *giveDiamondModel;
|
@property (nonatomic,strong) XPMineGiveDiamondModel *giveDiamondModel;
|
||||||
|
|
||||||
|
@property(nonatomic, copy) void(^handleTapTransfer)(XPMineGiveDiamondModel *giveDiamondModel);
|
||||||
|
@property(nonatomic, copy) void(^handleTapHistory)(XPMineGiveDiamondModel *giveDiamondModel);
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
@@ -18,7 +18,8 @@
|
|||||||
/// id
|
/// id
|
||||||
@property (nonatomic,strong) UILabel * IdTitleView;
|
@property (nonatomic,strong) UILabel * IdTitleView;
|
||||||
|
|
||||||
@property (nonatomic,strong) UIImageView *arrowView;
|
@property(nonatomic, strong) UIButton *transferButton;
|
||||||
|
@property(nonatomic, strong) UIButton *historyButton;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@@ -40,10 +41,11 @@
|
|||||||
- (void)initSubViews {
|
- (void)initSubViews {
|
||||||
self.backgroundColor = [UIColor clearColor];
|
self.backgroundColor = [UIColor clearColor];
|
||||||
self.selectionStyle = 0;
|
self.selectionStyle = 0;
|
||||||
[self addSubview:self.headView];
|
[self.contentView addSubview:self.headView];
|
||||||
[self addSubview:self.titleView];
|
[self.contentView addSubview:self.titleView];
|
||||||
[self addSubview:self.IdTitleView];
|
[self.contentView addSubview:self.IdTitleView];
|
||||||
[self addSubview:self.arrowView];
|
[self.contentView addSubview:self.transferButton];
|
||||||
|
[self.contentView addSubview:self.historyButton];
|
||||||
|
|
||||||
}
|
}
|
||||||
- (void)initSubViewConstraints {
|
- (void)initSubViewConstraints {
|
||||||
@@ -57,7 +59,7 @@
|
|||||||
make.leading.equalTo(self.headView.mas_trailing).mas_offset( kGetScaleWidth(10));
|
make.leading.equalTo(self.headView.mas_trailing).mas_offset( kGetScaleWidth(10));
|
||||||
make.height.mas_equalTo(kGetScaleWidth(17));
|
make.height.mas_equalTo(kGetScaleWidth(17));
|
||||||
make.top.equalTo(self.headView.mas_top).mas_offset(kGetScaleWidth(8));
|
make.top.equalTo(self.headView.mas_top).mas_offset(kGetScaleWidth(8));
|
||||||
make.trailing.mas_equalTo(-kGetScaleWidth(15));
|
make.trailing.mas_equalTo(self.transferButton.mas_leading).offset(-4);
|
||||||
}];
|
}];
|
||||||
|
|
||||||
[self.IdTitleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.IdTitleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
@@ -66,22 +68,33 @@
|
|||||||
make.top.equalTo(self.titleView.mas_bottom).mas_offset(kGetScaleWidth(4));
|
make.top.equalTo(self.titleView.mas_bottom).mas_offset(kGetScaleWidth(4));
|
||||||
}];
|
}];
|
||||||
|
|
||||||
[self.arrowView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.historyButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.width.height.mas_equalTo(kGetScaleWidth(20));
|
make.trailing.equalTo(self).offset(-15);
|
||||||
make.centerY.equalTo(self);
|
make.height.mas_equalTo(30);
|
||||||
make.trailing.mas_equalTo(-kGetScaleWidth(15));
|
make.width.mas_equalTo(68);
|
||||||
|
make.centerY.equalTo(self.headView);
|
||||||
}];
|
}];
|
||||||
|
|
||||||
UIView *line = [[UIView alloc] init];
|
[self.transferButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
line.backgroundColor = UIColorFromRGB(0xe4e4e4);
|
make.trailing.equalTo(self.historyButton.mas_leading).offset(-10);
|
||||||
[self addSubview: line];
|
make.height.mas_equalTo(30);
|
||||||
[line mas_makeConstraints:^(MASConstraintMaker *make) {
|
make.width.mas_equalTo(68);
|
||||||
make.bottom.mas_equalTo(self);
|
make.centerY.equalTo(self.headView);
|
||||||
make.leading.mas_equalTo(self.headView);
|
|
||||||
make.trailing.mas_equalTo(self.arrowView);
|
|
||||||
make.height.mas_equalTo(0.5);
|
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)didTapTransfer {
|
||||||
|
if (_handleTapTransfer) {
|
||||||
|
self.handleTapTransfer(self.giveDiamondModel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)didTapHistory {
|
||||||
|
if (_handleTapHistory) {
|
||||||
|
self.handleTapHistory(self.giveDiamondModel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#pragma mark - 懒加载
|
#pragma mark - 懒加载
|
||||||
- (NetImageView *)headView{
|
- (NetImageView *)headView{
|
||||||
if (!_headView){
|
if (!_headView){
|
||||||
@@ -109,12 +122,31 @@
|
|||||||
}
|
}
|
||||||
return _IdTitleView;
|
return _IdTitleView;
|
||||||
}
|
}
|
||||||
- (UIImageView *)arrowView{
|
|
||||||
if (!_arrowView){
|
- (UIButton *)transferButton {
|
||||||
_arrowView = [UIImageView new];
|
if (!_transferButton) {
|
||||||
_arrowView.image = [[UIImage imageNamed:@"grey_right_arrow"] ms_SetImageForRTL];
|
_transferButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_transferButton.titleLabel setFont:kFontMedium(13)];
|
||||||
|
[_transferButton setTitle:YMLocalizedString(@"1.0.37_text_46") forState:UIControlStateNormal];
|
||||||
|
[_transferButton setTitleColor:UIColorFromRGB(0xCD6300) forState:UIControlStateNormal];
|
||||||
|
[_transferButton setBackgroundColor:UIColorFromRGB(0xFFEFDC)];
|
||||||
|
[_transferButton addTarget:self action:@selector(didTapTransfer) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
[_transferButton setCornerRadius:15];
|
||||||
}
|
}
|
||||||
return _arrowView;
|
return _transferButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIButton *)historyButton {
|
||||||
|
if (!_historyButton) {
|
||||||
|
_historyButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_historyButton.titleLabel setFont:kFontMedium(13)];
|
||||||
|
[_historyButton setTitle:YMLocalizedString(@"1.0.37_text_47") forState:UIControlStateNormal];
|
||||||
|
[_historyButton setTitleColor:UIColorFromRGB(0x3b70c8) forState:UIControlStateNormal];
|
||||||
|
[_historyButton setBackgroundColor:UIColorFromRGB(0xe4eeff)];
|
||||||
|
[_historyButton addTarget:self action:@selector(didTapHistory) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
[_historyButton setCornerRadius:15];
|
||||||
|
}
|
||||||
|
return _historyButton;
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@@ -8,18 +8,23 @@
|
|||||||
#import "XPMineGiveDiamondDetailsCell.h"
|
#import "XPMineGiveDiamondDetailsCell.h"
|
||||||
#import "NetImageView.h"
|
#import "NetImageView.h"
|
||||||
#import "NSDate+DateUtils.h"
|
#import "NSDate+DateUtils.h"
|
||||||
|
#import "MoliMoneyLabel.h"
|
||||||
@interface XPMineGiveDiamondDetailsCell()
|
@interface XPMineGiveDiamondDetailsCell()
|
||||||
///礼物/钻石图标
|
///礼物/钻石图标
|
||||||
@property (nonatomic,strong) NetImageView * avatarImageView;
|
@property (nonatomic,strong) NetImageView * avatarImageView;
|
||||||
///礼物标题
|
///礼物标题
|
||||||
@property (nonatomic,strong) UILabel *titleLabel;
|
@property (nonatomic,strong) UILabel *titleLabel;
|
||||||
///时间
|
///时间
|
||||||
@property (nonatomic,strong) UILabel *timeLabel;
|
@property (nonatomic,strong) UILabel *timeLabel;
|
||||||
///转赠钻石数量
|
///转赠钻石数量
|
||||||
@property (nonatomic,strong) UILabel *contentLabel;
|
@property (nonatomic,strong) UILabel *contentLabel;
|
||||||
///转赠钻石支出
|
///转赠钻石支出
|
||||||
@property (nonatomic,strong) UILabel *spendingView;
|
@property (nonatomic,strong) UILabel *spendingView;
|
||||||
|
|
||||||
|
@property (nonatomic,strong) UILabel *idLabel;
|
||||||
|
|
||||||
|
@property(nonatomic, strong) MoliMoneyLabel *moneyLabel;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
@implementation XPMineGiveDiamondDetailsCell
|
@implementation XPMineGiveDiamondDetailsCell
|
||||||
|
|
||||||
@@ -41,6 +46,8 @@
|
|||||||
[self.contentView addSubview:self.timeLabel];
|
[self.contentView addSubview:self.timeLabel];
|
||||||
[self.contentView addSubview:self.contentLabel];
|
[self.contentView addSubview:self.contentLabel];
|
||||||
[self.contentView addSubview:self.spendingView];
|
[self.contentView addSubview:self.spendingView];
|
||||||
|
[self.contentView addSubview:self.moneyLabel];
|
||||||
|
[self.contentView addSubview:self.idLabel];
|
||||||
}
|
}
|
||||||
- (void)initSubViewConstraints {
|
- (void)initSubViewConstraints {
|
||||||
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
@@ -52,19 +59,13 @@
|
|||||||
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.leading.mas_equalTo(kGetScaleWidth(65));
|
make.leading.mas_equalTo(kGetScaleWidth(65));
|
||||||
make.top.mas_equalTo(self.avatarImageView).offset(3);
|
make.top.mas_equalTo(self.avatarImageView).offset(3);
|
||||||
make.trailing.equalTo(self.timeLabel.mas_leading).mas_offset(-kGetScaleWidth(10));
|
|
||||||
}];
|
|
||||||
|
|
||||||
[self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
||||||
make.trailing.mas_equalTo(-kGetScaleWidth(15));
|
|
||||||
make.centerY.equalTo(self.contentLabel);
|
|
||||||
}];
|
}];
|
||||||
|
|
||||||
[self.contentLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.contentLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.top.equalTo(self.avatarImageView.mas_top).mas_offset(3);
|
make.top.equalTo(self.avatarImageView.mas_top).mas_offset(3);
|
||||||
make.leading.mas_equalTo(self.avatarImageView.mas_trailing).offset(10);
|
make.leading.mas_equalTo(self.avatarImageView.mas_trailing).offset(10);
|
||||||
make.height.mas_equalTo(kGetScaleWidth(21));
|
make.height.mas_equalTo(kGetScaleWidth(21));
|
||||||
make.trailing.equalTo(self.timeLabel.mas_leading).mas_offset(-kGetScaleWidth(10));
|
make.trailing.equalTo(self.moneyLabel.mas_leading).mas_offset(-10);
|
||||||
}];
|
}];
|
||||||
[self.spendingView mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.spendingView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.leading.equalTo(self.contentLabel);
|
make.leading.equalTo(self.contentLabel);
|
||||||
@@ -73,15 +74,23 @@
|
|||||||
make.height.mas_equalTo(kGetScaleWidth(14));
|
make.height.mas_equalTo(kGetScaleWidth(14));
|
||||||
}];
|
}];
|
||||||
|
|
||||||
UIView *line = [[UIView alloc] init];
|
[self.idLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
line.backgroundColor = UIColorFromRGB(0xe4e4e4);
|
make.leading.mas_equalTo(self.contentLabel);
|
||||||
[self addSubview: line];
|
make.top.mas_equalTo(self.contentLabel.mas_bottom).offset(3);
|
||||||
[line mas_makeConstraints:^(MASConstraintMaker *make) {
|
make.height.mas_equalTo(20);
|
||||||
make.bottom.mas_equalTo(self);
|
|
||||||
make.leading.mas_equalTo(self.avatarImageView);
|
|
||||||
make.trailing.mas_equalTo(self.timeLabel);
|
|
||||||
make.height.mas_equalTo(0.5);
|
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
[self.moneyLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.trailing.mas_equalTo(-15);
|
||||||
|
make.top.mas_equalTo(self.titleLabel);
|
||||||
|
make.height.mas_equalTo(22);
|
||||||
|
make.width.mas_greaterThanOrEqualTo(30);
|
||||||
|
}];
|
||||||
|
|
||||||
|
// 设置 label 优先级,确保右边的 label 能够完整显示
|
||||||
|
[self.moneyLabel setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
|
||||||
|
[self.titleLabel setContentCompressionResistancePriority:UILayoutPriorityDefaultLow forAxis:UILayoutConstraintAxisHorizontal];
|
||||||
|
|
||||||
}
|
}
|
||||||
#pragma mark - 赋值
|
#pragma mark - 赋值
|
||||||
- (void)setModel:(XPMineGiveDiamondDetailsModel *)model{
|
- (void)setModel:(XPMineGiveDiamondDetailsModel *)model{
|
||||||
@@ -97,17 +106,25 @@
|
|||||||
|
|
||||||
if(self.model.type.intValue == 0){
|
if(self.model.type.intValue == 0){
|
||||||
// 转赠钻石
|
// 转赠钻石
|
||||||
|
[self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.trailing.mas_equalTo(-kGetScaleWidth(15));
|
||||||
|
make.bottom.equalTo(self.contentView).offset(-15);
|
||||||
|
}];
|
||||||
|
self.moneyLabel.hidden = NO;
|
||||||
self.titleLabel.hidden = YES;
|
self.titleLabel.hidden = YES;
|
||||||
self.contentLabel.hidden = NO;
|
self.contentLabel.hidden = NO;
|
||||||
self.spendingView.hidden = NO;
|
self.idLabel.hidden = NO;
|
||||||
|
self.idLabel.text = [NSString stringWithFormat:@"ID:%@", self.model.targetUid];
|
||||||
self.avatarImageView.image = [UIImage imageNamed:@"moli_money_icon"];
|
self.avatarImageView.image = [UIImage imageNamed:@"moli_money_icon"];
|
||||||
self.avatarImageView.imageUrl = self.model.targetAvatar;
|
self.avatarImageView.imageUrl = self.model.targetAvatar;
|
||||||
self.contentLabel.text = self.model.targetNick;
|
self.contentLabel.text = self.model.targetNick;
|
||||||
self.timeLabel.text = [NSDate timestampSwitchTime:self.model.createTime/1000 andFormatter:@"yyyy-MM-dd HH:mm:ss"];
|
self.timeLabel.text = [NSDate timestampSwitchTime:self.model.createTime/1000 andFormatter:@"yyyy-MM-dd HH:mm:ss"];
|
||||||
NSString *realDiamondNum = [NSString stringWithFormat:@"%.2f",self.model.realDiamondNum];
|
[self.moneyLabel updateContent:[NSString stringWithFormat:@"-%@", self.model.diamondNum]];
|
||||||
self.spendingView.text = [NSString stringWithFormat:YMLocalizedString(@"XPMineGiveDiamondDetailsCell0"),realDiamondNum];
|
|
||||||
} else {
|
} else {
|
||||||
// 转赠礼物
|
[self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.trailing.mas_equalTo(-kGetScaleWidth(15));
|
||||||
|
make.centerY.equalTo(self.contentLabel);
|
||||||
|
}];
|
||||||
self.avatarImageView.image = [UIImageConstant defaultAvatarPlaceholder];
|
self.avatarImageView.image = [UIImageConstant defaultAvatarPlaceholder];
|
||||||
self.avatarImageView.imageUrl = self.model.giftUrl;
|
self.avatarImageView.imageUrl = self.model.giftUrl;
|
||||||
self.titleLabel.text = [NSString stringWithFormat:@"%@ x%@",self.model.giftName,self.model.giftNum];
|
self.titleLabel.text = [NSString stringWithFormat:@"%@ x%@",self.model.giftName,self.model.giftNum];
|
||||||
@@ -125,7 +142,7 @@
|
|||||||
_avatarImageView.backgroundColor = UIColorFromRGB(0xF3F5FA);
|
_avatarImageView.backgroundColor = UIColorFromRGB(0xF3F5FA);
|
||||||
_avatarImageView.layer.cornerRadius = kGetScaleWidth(49)/2;
|
_avatarImageView.layer.cornerRadius = kGetScaleWidth(49)/2;
|
||||||
_avatarImageView.clipsToBounds = YES;
|
_avatarImageView.clipsToBounds = YES;
|
||||||
_avatarImageView.contentMode = UIViewContentModeScaleAspectFit;
|
_avatarImageView.contentMode = UIViewContentModeScaleAspectFill;
|
||||||
}
|
}
|
||||||
return _avatarImageView;
|
return _avatarImageView;
|
||||||
}
|
}
|
||||||
@@ -170,4 +187,23 @@
|
|||||||
return _spendingView;
|
return _spendingView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (MoliMoneyLabel *)moneyLabel {
|
||||||
|
if (!_moneyLabel) {
|
||||||
|
_moneyLabel = [MoliMoneyLabel moneyLabelWithTextColot:UIColorFromRGB(0xFF8C03)
|
||||||
|
font:kFontSemibold(16)
|
||||||
|
moneyPostion:2
|
||||||
|
moneySize:CGSizeMake(22, 22)];
|
||||||
|
_moneyLabel.hidden = YES;
|
||||||
|
}
|
||||||
|
return _moneyLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)idLabel {
|
||||||
|
if (!_idLabel) {
|
||||||
|
_idLabel = [UILabel labelInitWithText:@"" font:kFontRegular(13) textColor:UIColorFromRGB(0x7b7b7d)];
|
||||||
|
_idLabel.hidden = YES;
|
||||||
|
}
|
||||||
|
return _idLabel;
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@@ -72,7 +72,8 @@
|
|||||||
_tableView.delegate = self;
|
_tableView.delegate = self;
|
||||||
_tableView.dataSource = self;
|
_tableView.dataSource = self;
|
||||||
_tableView.showsVerticalScrollIndicator = NO;
|
_tableView.showsVerticalScrollIndicator = NO;
|
||||||
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
|
_tableView.separatorInset = UIEdgeInsetsMake(0, 15, 0, 15);
|
||||||
|
_tableView.separatorColor = UIColorFromRGB(0xf7f7f7);
|
||||||
_tableView.backgroundColor = [UIColor clearColor];
|
_tableView.backgroundColor = [UIColor clearColor];
|
||||||
[_tableView registerClass:[XPMineGiveDiamondDetailsCell class] forCellReuseIdentifier:NSStringFromClass([XPMineGiveDiamondDetailsCell class])];
|
[_tableView registerClass:[XPMineGiveDiamondDetailsCell class] forCellReuseIdentifier:NSStringFromClass([XPMineGiveDiamondDetailsCell class])];
|
||||||
[_tableView registerClass:[XPMineFriendEmptyTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMineFriendEmptyTableViewCell class])];
|
[_tableView registerClass:[XPMineFriendEmptyTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMineFriendEmptyTableViewCell class])];
|
||||||
|
@@ -0,0 +1,18 @@
|
|||||||
|
//
|
||||||
|
// RechargerTransferHistoryViewController.h
|
||||||
|
// YuMi
|
||||||
|
//
|
||||||
|
// Created by P on 2025/2/25.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MvpViewController.h"
|
||||||
|
@class UserInfoModel;
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface RechargerTransferHistoryViewController : MvpViewController
|
||||||
|
|
||||||
|
- (instancetype)initWithUserInfo:(UserInfoModel *)userInfo;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,538 @@
|
|||||||
|
//
|
||||||
|
// RechargerTransferHistoryViewController.m
|
||||||
|
// YuMi
|
||||||
|
//
|
||||||
|
// Created by P on 2025/2/25.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "RechargerTransferHistoryViewController.h"
|
||||||
|
#import "MoliMoneyLabel.h"
|
||||||
|
#import "UserInfoModel.h"
|
||||||
|
#import "RechargeUserModel.h"
|
||||||
|
#import "XPMineGiveDiamondPresenter.h"
|
||||||
|
#import "XPMineGiveDiamondProtocol.h"
|
||||||
|
|
||||||
|
@interface RechargerTransferHistoryCell : UITableViewCell
|
||||||
|
@property(nonatomic, strong) NetImageView *avatarImageView;
|
||||||
|
@property(nonatomic, strong) UILabel *nameLabel;
|
||||||
|
@property(nonatomic, strong) UILabel *idLabel;
|
||||||
|
@property(nonatomic, strong) MoliMoneyLabel *moneyLabel;
|
||||||
|
@property(nonatomic, strong) UILabel *timeLabel;
|
||||||
|
@property(nonatomic, strong) DiamondGiveHistoryVo *cellModel;
|
||||||
|
@property(nonatomic, strong) UILabel *settlementLabel;
|
||||||
|
@property(nonatomic, assign) BOOL isArabia;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation RechargerTransferHistoryCell
|
||||||
|
|
||||||
|
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
||||||
|
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
|
||||||
|
self.backgroundColor = [UIColor whiteColor];
|
||||||
|
self.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||||
|
[self.contentView addSubview:self.avatarImageView];
|
||||||
|
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.centerY.mas_equalTo(self.contentView);
|
||||||
|
make.leading.mas_equalTo(16);
|
||||||
|
make.size.mas_equalTo(49);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.contentView addSubview:self.nameLabel];
|
||||||
|
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(self.avatarImageView.mas_top).offset(3);
|
||||||
|
make.leading.mas_equalTo(self.avatarImageView.mas_trailing).offset(11);
|
||||||
|
make.height.mas_equalTo(18);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.contentView addSubview:self.idLabel];
|
||||||
|
[self.idLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.bottom.mas_equalTo(self.contentView).offset(-12);
|
||||||
|
make.leading.mas_equalTo(self.avatarImageView.mas_trailing).offset(11);
|
||||||
|
make.height.mas_equalTo(18);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.contentView addSubview:self.moneyLabel];
|
||||||
|
[self.moneyLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.centerY.mas_equalTo(self.nameLabel);
|
||||||
|
make.trailing.mas_equalTo(self.contentView).offset(-16);
|
||||||
|
make.height.mas_equalTo(22);
|
||||||
|
make.width.mas_greaterThanOrEqualTo(30);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.contentView addSubview:self.settlementLabel];
|
||||||
|
[self.settlementLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.centerY.mas_equalTo(self.moneyLabel);
|
||||||
|
make.trailing.mas_equalTo(self.moneyLabel.mas_leading).offset(-4);
|
||||||
|
make.height.mas_equalTo(18);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.contentView addSubview:self.timeLabel];
|
||||||
|
[self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(self.moneyLabel.mas_bottom).offset(8);
|
||||||
|
make.trailing.mas_equalTo(self.moneyLabel);
|
||||||
|
make.height.mas_equalTo(18);
|
||||||
|
}];
|
||||||
|
|
||||||
|
// 设置 label 优先级,确保右边的 label 能够完整显示
|
||||||
|
[self.moneyLabel setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
|
||||||
|
[self.settlementLabel setContentCompressionResistancePriority:UILayoutPriorityDefaultLow forAxis:UILayoutConstraintAxisHorizontal];
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setIsArabia:(BOOL)isArabia {
|
||||||
|
_isArabia = isArabia;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)updateCellModel:(DiamondGiveHistoryVo *)cellModel isDisplayÜS:(BOOL)isDisplayÜS {
|
||||||
|
_cellModel = cellModel;
|
||||||
|
|
||||||
|
self.avatarImageView.imageUrl = cellModel.targetAvatar;
|
||||||
|
self.nameLabel.text = cellModel.targetNick;
|
||||||
|
self.idLabel.text = [NSString stringWithFormat:@"ID: %@", @(cellModel.targetUid)];
|
||||||
|
[self.moneyLabel updateContent: [NSString stringWithFormat:@"%@", @(cellModel.diamondNum)]];
|
||||||
|
self.timeLabel.text = cellModel.createTimeStr;
|
||||||
|
if (self.isArabia) {
|
||||||
|
// self.settlementLabel.text = [NSString stringWithFormat:YMLocalizedString(@"1.0.37_text_48"), cellModel.];
|
||||||
|
if (isDisplayÜS) {
|
||||||
|
[self.moneyLabel updateFont:kFontRegular(12) size:CGSizeMake(13, 13)];
|
||||||
|
} else {
|
||||||
|
[self.moneyLabel updateFont:kFontSemibold(16) size:CGSizeMake(22, 22)];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark -
|
||||||
|
- (NetImageView *)avatarImageView {
|
||||||
|
if (!_avatarImageView) {
|
||||||
|
_avatarImageView = [[NetImageView alloc] init];
|
||||||
|
_avatarImageView.contentMode = UIViewContentModeScaleAspectFill;
|
||||||
|
[_avatarImageView setCornerRadius:kGetScaleWidth(49/2)];
|
||||||
|
}
|
||||||
|
return _avatarImageView;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)nameLabel {
|
||||||
|
if (!_nameLabel) {
|
||||||
|
_nameLabel = [UILabel labelInitWithText:@"" font:kFontSemibold(15) textColor:UIColorFromRGB(0x313131)];
|
||||||
|
}
|
||||||
|
return _nameLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)idLabel {
|
||||||
|
if (!_idLabel) {
|
||||||
|
_idLabel = [UILabel labelInitWithText:@"" font:kFontRegular(13) textColor:UIColorFromRGB(0x7b7b7d)];
|
||||||
|
}
|
||||||
|
return _idLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (MoliMoneyLabel *)moneyLabel {
|
||||||
|
if (!_moneyLabel) {
|
||||||
|
_moneyLabel = [MoliMoneyLabel moneyLabelWithTextColot:UIColorFromRGB(0xFF8C03) font:kFontSemibold(16) moneyPostion:2 moneySize:CGSizeMake(22, 22)];
|
||||||
|
}
|
||||||
|
return _moneyLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)timeLabel {
|
||||||
|
if (!_timeLabel) {
|
||||||
|
_timeLabel = [UILabel labelInitWithText:@"" font:kFontRegular(13) textColor:UIColorFromRGB(0x7b7b7d)];
|
||||||
|
}
|
||||||
|
return _timeLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)settlementLabel {
|
||||||
|
if (!_settlementLabel) {
|
||||||
|
_settlementLabel = [UILabel labelInitWithText:@"" font:kFontMedium(13) textColor:UIColorFromRGB(0x313131)];
|
||||||
|
}
|
||||||
|
return _settlementLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface RechargerTransferHistoryViewController () <UITableViewDelegate, UITableViewDataSource>
|
||||||
|
|
||||||
|
@property(nonatomic, strong) UserInfoModel *userInfo;
|
||||||
|
|
||||||
|
@property(nonatomic, strong) UIButton *thisCycleButton;
|
||||||
|
@property(nonatomic, strong) UIButton *lastCycleButton;
|
||||||
|
@property(nonatomic, strong) UIView *topSelectedTab;
|
||||||
|
@property(nonatomic, strong) UILabel *durationsLabel;
|
||||||
|
@property(nonatomic, strong) UIButton *ÜSSettlementButton;
|
||||||
|
@property(nonatomic, strong) UIButton *transferCoinsButton;
|
||||||
|
@property(nonatomic, strong) UILabel *totalAmountTitleLabel;
|
||||||
|
@property(nonatomic, strong) UILabel *amountLabel;
|
||||||
|
@property(nonatomic, strong) MoliMoneyLabel *moliAmountLabel;
|
||||||
|
@property(nonatomic, strong) UITableView *historyTableView;
|
||||||
|
|
||||||
|
@property(nonatomic, assign) NSInteger periodType; // 1: this, 2: last
|
||||||
|
@property(nonatomic, assign) NSInteger transferType; // 1-金币转赠历史,2-代发薪资历史
|
||||||
|
|
||||||
|
//@property(nonatomic, strong) NSMutableArray */*dataSource*/;
|
||||||
|
@property(nonatomic, strong) DiamondHistoryModel *dataSourceModel;
|
||||||
|
@property(nonatomic, copy) NSArray *sectionTitles;
|
||||||
|
@property(nonatomic, copy) NSArray *sectionData;
|
||||||
|
@property(nonatomic, strong) NSMutableArray *originalDiamondGiveHistoryVoList;
|
||||||
|
|
||||||
|
@property(nonatomic, assign) NSInteger page;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation RechargerTransferHistoryViewController
|
||||||
|
|
||||||
|
- (XPMineGiveDiamondPresenter *)createPresenter {
|
||||||
|
return [[XPMineGiveDiamondPresenter alloc] init];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (instancetype)initWithUserInfo:(UserInfoModel *)userInfo {
|
||||||
|
if (self = [super init]) {
|
||||||
|
self.userInfo = userInfo;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewDidLoad {
|
||||||
|
[super viewDidLoad];
|
||||||
|
|
||||||
|
self.page = 1;
|
||||||
|
self.periodType = 1;
|
||||||
|
self.transferType = 1;
|
||||||
|
|
||||||
|
self.title = YMLocalizedString(@"1.0.37_text_41");
|
||||||
|
self.view.backgroundColor = [UIColor whiteColor];
|
||||||
|
|
||||||
|
[self.view addSubview:self.thisCycleButton];
|
||||||
|
[self.view addSubview:self.lastCycleButton];
|
||||||
|
[self.thisCycleButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(8);
|
||||||
|
make.leading.mas_equalTo(16);
|
||||||
|
make.height.mas_equalTo(24);
|
||||||
|
}];
|
||||||
|
[self.lastCycleButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(8);
|
||||||
|
make.leading.mas_equalTo(self.thisCycleButton.mas_trailing).offset(30);
|
||||||
|
make.height.mas_equalTo(24);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.view addSubview:self.durationsLabel];
|
||||||
|
[self.durationsLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(self.thisCycleButton.mas_bottom).offset(21);
|
||||||
|
make.leading.mas_equalTo(self.thisCycleButton);
|
||||||
|
make.height.mas_equalTo(18);
|
||||||
|
}];
|
||||||
|
|
||||||
|
if ([self.userInfo isArabia]) {
|
||||||
|
self.transferType = 2;
|
||||||
|
[self.moliAmountLabel displayIcon:NO];
|
||||||
|
self.ÜSSettlementButton.selected = YES;
|
||||||
|
self.transferCoinsButton.selected = NO;
|
||||||
|
UIStackView *stack = [[UIStackView alloc] initWithArrangedSubviews:@[
|
||||||
|
self.ÜSSettlementButton,
|
||||||
|
self.transferCoinsButton
|
||||||
|
]];
|
||||||
|
stack.backgroundColor = UIColorFromRGB(0xf7f7f7);
|
||||||
|
[stack setCornerRadius:16];
|
||||||
|
[self.view addSubview:stack];
|
||||||
|
[stack mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(self.durationsLabel.mas_bottom).offset(13);
|
||||||
|
make.leading.trailing.mas_equalTo(self.view).inset(16);
|
||||||
|
make.height.mas_equalTo(32);
|
||||||
|
}];
|
||||||
|
[self.ÜSSettlementButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.width.mas_equalTo(stack.mas_width).multipliedBy(0.5);
|
||||||
|
make.height.mas_equalTo(stack.mas_height);
|
||||||
|
}];
|
||||||
|
[self.transferCoinsButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.width.mas_equalTo(stack.mas_width).multipliedBy(0.5);
|
||||||
|
make.height.mas_equalTo(stack.mas_height);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
[self.view addSubview:self.totalAmountTitleLabel];
|
||||||
|
[self.totalAmountTitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(self.durationsLabel.mas_bottom).offset([self.userInfo isArabia] ? 56 : 12);
|
||||||
|
make.leading.mas_equalTo(self.durationsLabel);
|
||||||
|
make.height.mas_equalTo(22);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.view addSubview:self.moliAmountLabel];
|
||||||
|
[self.moliAmountLabel updateContent:@""];
|
||||||
|
[self.moliAmountLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(self.totalAmountTitleLabel.mas_bottom).offset(9);
|
||||||
|
make.leading.mas_equalTo(self.totalAmountTitleLabel);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.view addSubview:self.historyTableView];
|
||||||
|
[self.historyTableView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(self.moliAmountLabel.mas_bottom).offset(16);
|
||||||
|
make.bottom.mas_equalTo(self.view).offset(-kSafeAreaBottomHeight);
|
||||||
|
make.leading.trailing.mas_equalTo(self.view);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self reloadAPI];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)reloadAPI {
|
||||||
|
[self.presenter userTransferHistory:self.periodType page:self.page type:self.transferType];
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark -
|
||||||
|
- (void)didTapThisCycle {
|
||||||
|
if (self.thisCycleButton.isSelected) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
self.thisCycleButton.selected = YES;
|
||||||
|
self.lastCycleButton.selected = NO;
|
||||||
|
|
||||||
|
self.page = 1;
|
||||||
|
self.periodType = 1;
|
||||||
|
[self reloadAPI];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)didTapLastCycle {
|
||||||
|
if (self.lastCycleButton.isSelected) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
self.thisCycleButton.selected = NO;
|
||||||
|
self.lastCycleButton.selected = YES;
|
||||||
|
|
||||||
|
self.page = 1;
|
||||||
|
self.periodType = 2;
|
||||||
|
[self reloadAPI];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)didTapÜSSettlement {
|
||||||
|
if (self.ÜSSettlementButton.isSelected) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
self.ÜSSettlementButton.selected = YES;
|
||||||
|
self.transferCoinsButton.selected = NO;
|
||||||
|
[self.moliAmountLabel displayIcon:NO];
|
||||||
|
self.page = 1;
|
||||||
|
self.transferType = 2;
|
||||||
|
[self reloadAPI];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)didTapTransferCoins {
|
||||||
|
if (self.transferCoinsButton.isSelected) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
self.ÜSSettlementButton.selected = NO;
|
||||||
|
self.transferCoinsButton.selected = YES;
|
||||||
|
[self.moliAmountLabel displayIcon:YES];
|
||||||
|
self.page = 1;
|
||||||
|
self.transferType = 1;
|
||||||
|
[self reloadAPI];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)footerRefresh {
|
||||||
|
self.page++;
|
||||||
|
[self reloadAPI];
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark -
|
||||||
|
- (void)loadTransferHistorySuccess:(DiamondHistoryModel *)infos {
|
||||||
|
self.dataSourceModel = infos;
|
||||||
|
self.durationsLabel.text = infos.cycleDateStr;
|
||||||
|
if ([self.userInfo isArabia] && self.transferType == 2) {
|
||||||
|
[self.moliAmountLabel updateContent:[NSString stringWithFormat:YMLocalizedString(@"1.0.37_text_49"), @(infos.totalGiveGoldUsd)]];
|
||||||
|
} else {
|
||||||
|
[self.moliAmountLabel updateContent:@(infos.totalGiveGold).stringValue];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (self.page == 1) {
|
||||||
|
self.originalDiamondGiveHistoryVoList = @[].mutableCopy;
|
||||||
|
} else {
|
||||||
|
[self.historyTableView.mj_footer endRefreshing];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (infos.diamondGiveHistoryVoList.count == 0) {
|
||||||
|
[self.historyTableView.mj_footer endRefreshingWithNoMoreData];
|
||||||
|
if (self.page > 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[self.originalDiamondGiveHistoryVoList addObjectsFromArray:infos.diamondGiveHistoryVoList];
|
||||||
|
|
||||||
|
// Step 1: 按日期进行分组
|
||||||
|
NSMutableDictionary<NSString *, NSMutableArray *> *groupedData = [NSMutableDictionary dictionary];
|
||||||
|
|
||||||
|
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
|
||||||
|
dateFormatter.dateFormat = @"yyyy-MM-dd";
|
||||||
|
|
||||||
|
for (DiamondGiveHistoryVo *history in self.originalDiamondGiveHistoryVoList) {
|
||||||
|
// 将 createTime 转换为 NSDate
|
||||||
|
NSDate *date = [NSDate dateWithTimeIntervalSince1970:history.createTime/1000];
|
||||||
|
NSString *dateString = [dateFormatter stringFromDate:date];
|
||||||
|
|
||||||
|
// 根据日期字符串分组
|
||||||
|
if (!groupedData[dateString]) {
|
||||||
|
groupedData[dateString] = [NSMutableArray array];
|
||||||
|
}
|
||||||
|
[groupedData[dateString] addObject:history];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Step 2: 将分组后的数据转换为一个数组,供 tableView 使用
|
||||||
|
self.sectionTitles = [groupedData allKeys];
|
||||||
|
self.sectionData = [groupedData allValues];
|
||||||
|
|
||||||
|
// 刷新 tableView 数据
|
||||||
|
[self.historyTableView reloadData];
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark -
|
||||||
|
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||||
|
return self.sectionTitles.count;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||||
|
return [self.sectionData[section] count];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
|
||||||
|
return 38;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
|
||||||
|
UIView *container = [[UIView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 38)];
|
||||||
|
container.backgroundColor = UIColorFromRGB(0xf4f4f4);
|
||||||
|
UILabel *label = [UILabel labelInitWithText:self.sectionTitles[section]
|
||||||
|
font:kFontMedium(14)
|
||||||
|
textColor:UIColorFromRGB(0x313131)];
|
||||||
|
[container addSubview:label];
|
||||||
|
[label mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.centerY.mas_equalTo(container);
|
||||||
|
make.leading.mas_equalTo(15);
|
||||||
|
make.height.mas_equalTo(20);
|
||||||
|
}];
|
||||||
|
return container;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||||
|
return 72;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||||
|
RechargerTransferHistoryCell *cell = [tableView dequeueReusableCellWithIdentifier:@"RechargerTransferHistoryCell" forIndexPath:indexPath];
|
||||||
|
cell.isArabia = [self.userInfo isArabia];
|
||||||
|
DiamondGiveHistoryVo *history = self.sectionData[indexPath.section][indexPath.row];
|
||||||
|
|
||||||
|
[cell updateCellModel:history isDisplayÜS:self.transferType == 2];
|
||||||
|
return cell;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark -
|
||||||
|
- (UIButton *)thisCycleButton {
|
||||||
|
if (!_thisCycleButton) {
|
||||||
|
_thisCycleButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_thisCycleButton.titleLabel setFont:kFontMedium(16)];
|
||||||
|
[_thisCycleButton setTitle:YMLocalizedString(@"1.0.37_text_42") forState:UIControlStateNormal];
|
||||||
|
[_thisCycleButton setTitle:YMLocalizedString(@"1.0.37_text_42") forState:UIControlStateSelected];
|
||||||
|
[_thisCycleButton setTitleColor:UIColorFromRGB(0x313131) forState:UIControlStateSelected];
|
||||||
|
[_thisCycleButton setTitleColor:UIColorFromRGB(0xafb1b3) forState:UIControlStateNormal];
|
||||||
|
[_thisCycleButton addTarget:self action:@selector(didTapThisCycle) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
[_thisCycleButton setSelected:YES];
|
||||||
|
}
|
||||||
|
return _thisCycleButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIButton *)lastCycleButton {
|
||||||
|
if (!_lastCycleButton) {
|
||||||
|
_lastCycleButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_lastCycleButton.titleLabel setFont:kFontMedium(16)];
|
||||||
|
[_lastCycleButton setTitle:YMLocalizedString(@"1.0.37_text_43") forState:UIControlStateNormal];
|
||||||
|
[_lastCycleButton setTitle:YMLocalizedString(@"1.0.37_text_43") forState:UIControlStateSelected];
|
||||||
|
[_lastCycleButton setTitleColor:UIColorFromRGB(0x313131) forState:UIControlStateSelected];
|
||||||
|
[_lastCycleButton setTitleColor:UIColorFromRGB(0xafb1b3) forState:UIControlStateNormal];
|
||||||
|
[_lastCycleButton addTarget:self action:@selector(didTapLastCycle) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
}
|
||||||
|
return _lastCycleButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)durationsLabel {
|
||||||
|
if (!_durationsLabel) {
|
||||||
|
_durationsLabel = [UILabel labelInitWithText:@"" font:kFontRegular(12) textColor:UIColorFromRGB(0x7b7b7d)];
|
||||||
|
}
|
||||||
|
return _durationsLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIButton *)ÜSSettlementButton {
|
||||||
|
if (!_ÜSSettlementButton) {
|
||||||
|
_ÜSSettlementButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_ÜSSettlementButton.titleLabel setFont:kFontMedium(13)];
|
||||||
|
[_ÜSSettlementButton setTitle:YMLocalizedString(@"1.0.37_text_38") forState:UIControlStateNormal];
|
||||||
|
[_ÜSSettlementButton setTitleColor:UIColorFromRGB(0xafb1b3) forState:UIControlStateNormal];
|
||||||
|
[_ÜSSettlementButton setTitleColor:UIColorFromRGB(0xffffff) forState:UIControlStateSelected];
|
||||||
|
[_ÜSSettlementButton setBackgroundImage:[UIImage imageWithColor:[UIColor clearColor]] forState:UIControlStateNormal];
|
||||||
|
[_ÜSSettlementButton setBackgroundImage:[UIImage imageWithColor:UIColorFromRGB(0xff8c03)] forState:UIControlStateSelected];
|
||||||
|
[_ÜSSettlementButton setCornerRadius:16];
|
||||||
|
[_ÜSSettlementButton addTarget:self action:@selector(didTapÜSSettlement) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
[_ÜSSettlementButton setSelected:YES];
|
||||||
|
}
|
||||||
|
return _ÜSSettlementButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIButton *)transferCoinsButton {
|
||||||
|
if (!_transferCoinsButton) {
|
||||||
|
_transferCoinsButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_transferCoinsButton.titleLabel setFont:kFontMedium(13)];
|
||||||
|
[_transferCoinsButton setTitle:YMLocalizedString(@"1.0.37_text_34") forState:UIControlStateNormal];
|
||||||
|
[_transferCoinsButton setTitleColor:UIColorFromRGB(0xafb1b3) forState:UIControlStateNormal];
|
||||||
|
[_transferCoinsButton setTitleColor:UIColorFromRGB(0xffffff) forState:UIControlStateSelected];
|
||||||
|
[_transferCoinsButton setBackgroundImage:[UIImage imageWithColor:[UIColor clearColor]] forState:UIControlStateNormal];
|
||||||
|
[_transferCoinsButton setBackgroundImage:[UIImage imageWithColor:UIColorFromRGB(0xff8c03)] forState:UIControlStateSelected];
|
||||||
|
[_transferCoinsButton setCornerRadius:16];
|
||||||
|
[_transferCoinsButton addTarget:self action:@selector(didTapTransferCoins) forControlEvents:UIControlEventTouchUpInside];
|
||||||
|
}
|
||||||
|
return _transferCoinsButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)totalAmountTitleLabel {
|
||||||
|
if (!_totalAmountTitleLabel) {
|
||||||
|
_totalAmountTitleLabel = [UILabel labelInitWithText:YMLocalizedString(@"1.0.37_text_44")
|
||||||
|
font:kFontMedium(14)
|
||||||
|
textColor:UIColorFromRGB(0x313131)];
|
||||||
|
}
|
||||||
|
return _totalAmountTitleLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)amountLabel {
|
||||||
|
if (!_amountLabel) {
|
||||||
|
_amountLabel = [UILabel labelInitWithText:@""
|
||||||
|
font:kFontSemibold(26)
|
||||||
|
textColor:UIColorFromRGB(0xFF8C03)];
|
||||||
|
}
|
||||||
|
return _amountLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (MoliMoneyLabel *)moliAmountLabel {
|
||||||
|
if (!_moliAmountLabel) {
|
||||||
|
_moliAmountLabel = [MoliMoneyLabel moneyLabelWithTextColot:UIColorFromRGB(0xFF8C03)
|
||||||
|
font:kFontSemibold(26)
|
||||||
|
moneyPostion:2
|
||||||
|
moneySize:CGSizeMake(30, 30)];
|
||||||
|
}
|
||||||
|
return _moliAmountLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UITableView *)historyTableView {
|
||||||
|
if (!_historyTableView) {
|
||||||
|
_historyTableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
|
||||||
|
_historyTableView.delegate = self;
|
||||||
|
_historyTableView.dataSource = self;
|
||||||
|
_historyTableView.separatorColor = UIColorFromRGB(0xf4f4f4);
|
||||||
|
_historyTableView.separatorInset = UIEdgeInsetsMake(0, 15, 0, 15);
|
||||||
|
_historyTableView.backgroundColor = [UIColor clearColor];
|
||||||
|
_historyTableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
|
||||||
|
_historyTableView.contentInset = UIEdgeInsetsZero;
|
||||||
|
[_historyTableView registerClass:[RechargerTransferHistoryCell class] forCellReuseIdentifier:@"RechargerTransferHistoryCell"];
|
||||||
|
|
||||||
|
MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(footerRefresh)];
|
||||||
|
footer.stateLabel.textColor = [DJDKMIMOMColor secondTextColor];
|
||||||
|
footer.stateLabel.font = [UIFont systemFontOfSize:10.0];
|
||||||
|
_historyTableView.mj_footer = footer;
|
||||||
|
}
|
||||||
|
return _historyTableView;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
@@ -0,0 +1,16 @@
|
|||||||
|
//
|
||||||
|
// SubRechargersViewController.h
|
||||||
|
// YuMi
|
||||||
|
//
|
||||||
|
// Created by P on 2025/2/25.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MvpViewController.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface SubRechargersViewController : MvpViewController
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,323 @@
|
|||||||
|
//
|
||||||
|
// SubRechargersViewController.m
|
||||||
|
// YuMi
|
||||||
|
//
|
||||||
|
// Created by P on 2025/2/25.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "SubRechargersViewController.h"
|
||||||
|
#import "XPMineGiveDiamondPresenter.h"
|
||||||
|
#import "RechargeUserModel.h"
|
||||||
|
#import "MoliMoneyLabel.h"
|
||||||
|
|
||||||
|
@interface SubRechargersCell : UITableViewCell
|
||||||
|
|
||||||
|
@property(nonatomic, strong) SubRechargeUserModel *cellModel;
|
||||||
|
|
||||||
|
@property(nonatomic, strong) NetImageView *avatarImageView;
|
||||||
|
@property(nonatomic, strong) UILabel *nameLabel;
|
||||||
|
@property(nonatomic, strong) UILabel *idLabel;
|
||||||
|
@property(nonatomic, strong) UIStackView *starsStack;
|
||||||
|
@property(nonatomic, strong) UIButton *star_1;
|
||||||
|
@property(nonatomic, strong) UIButton *star_2;
|
||||||
|
@property(nonatomic, strong) UIButton *star_3;
|
||||||
|
@property(nonatomic, strong) UIButton *star_4;
|
||||||
|
@property(nonatomic, strong) UIButton *star_5;
|
||||||
|
@property(nonatomic, strong) UILabel *lastTransferDateLabel;
|
||||||
|
@property(nonatomic, strong) MoliMoneyLabel *totalCostLabel;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation SubRechargersCell
|
||||||
|
|
||||||
|
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
||||||
|
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
|
||||||
|
self.backgroundColor = [UIColor clearColor];
|
||||||
|
self.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||||
|
|
||||||
|
UIView *container = [[UIView alloc] init];
|
||||||
|
container.backgroundColor = UIColorFromRGB(0xf4f4f4);
|
||||||
|
[container setCornerRadius:8];
|
||||||
|
[self.contentView addSubview:container];
|
||||||
|
[container mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.leading.trailing.mas_equalTo(self.contentView);
|
||||||
|
make.height.mas_equalTo(80);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[container addSubview:self.avatarImageView];
|
||||||
|
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(13);
|
||||||
|
make.leading.mas_equalTo(9);
|
||||||
|
make.size.mas_equalTo(CGSizeMake(55, 55));
|
||||||
|
}];
|
||||||
|
|
||||||
|
[container addSubview:self.nameLabel];
|
||||||
|
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(11);
|
||||||
|
make.leading.mas_equalTo(self.avatarImageView.mas_trailing).offset(12);
|
||||||
|
make.height.mas_equalTo(24);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[container addSubview:self.idLabel];
|
||||||
|
[self.idLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(self.nameLabel.mas_bottom);
|
||||||
|
make.leading.mas_equalTo(self.avatarImageView.mas_trailing).offset(12);
|
||||||
|
make.height.mas_equalTo(18);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[container addSubview:self.starsStack];
|
||||||
|
[self.starsStack mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.leading.mas_equalTo(self.avatarImageView.mas_trailing).offset(12);
|
||||||
|
make.top.mas_equalTo(self.idLabel.mas_bottom).offset(2);
|
||||||
|
make.height.mas_equalTo(15);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.star_1 mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.size.mas_equalTo(CGSizeMake(15, 15));
|
||||||
|
}];
|
||||||
|
[self.star_2 mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.size.mas_equalTo(CGSizeMake(15, 15));
|
||||||
|
}];
|
||||||
|
[self.star_3 mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.size.mas_equalTo(CGSizeMake(15, 15));
|
||||||
|
}];
|
||||||
|
[self.star_4 mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.size.mas_equalTo(CGSizeMake(15, 15));
|
||||||
|
}];
|
||||||
|
[self.star_5 mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.size.mas_equalTo(CGSizeMake(15, 15));
|
||||||
|
}];
|
||||||
|
|
||||||
|
[container addSubview:self.lastTransferDateLabel];
|
||||||
|
[self.lastTransferDateLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(self.nameLabel);
|
||||||
|
make.trailing.mas_equalTo(container).offset(-9);
|
||||||
|
make.height.mas_equalTo(18);
|
||||||
|
}];
|
||||||
|
|
||||||
|
[container addSubview:self.totalCostLabel];
|
||||||
|
[self.totalCostLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.centerY.mas_equalTo(self.avatarImageView);
|
||||||
|
make.trailing.mas_equalTo(container).offset(-9);
|
||||||
|
make.height.mas_equalTo(22);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setCellModel:(SubRechargeUserModel *)cellModel {
|
||||||
|
_cellModel = cellModel;
|
||||||
|
self.avatarImageView.imageUrl = cellModel.avatar;
|
||||||
|
self.nameLabel.text = cellModel.nick;
|
||||||
|
self.idLabel.text = [NSString stringWithFormat:@"ID:%@", @(cellModel.uid)];
|
||||||
|
[self.totalCostLabel updateContent:@(cellModel.totalGiveGold).stringValue];
|
||||||
|
|
||||||
|
[self.star_1 setSelected:NO];
|
||||||
|
[self.star_2 setSelected:NO];
|
||||||
|
[self.star_3 setSelected:NO];
|
||||||
|
[self.star_4 setSelected:NO];
|
||||||
|
[self.star_5 setSelected:NO];
|
||||||
|
if (cellModel.starLevel > 0) {
|
||||||
|
[self.star_1 setSelected:YES];
|
||||||
|
}
|
||||||
|
if (cellModel.starLevel > 1) {
|
||||||
|
[self.star_2 setSelected:YES];
|
||||||
|
}
|
||||||
|
if (cellModel.starLevel > 2) {
|
||||||
|
[self.star_3 setSelected:YES];
|
||||||
|
}
|
||||||
|
if (cellModel.starLevel > 3) {
|
||||||
|
[self.star_4 setSelected:YES];
|
||||||
|
}
|
||||||
|
if (cellModel.starLevel > 4) {
|
||||||
|
[self.star_5 setSelected:YES];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NetImageView *)avatarImageView {
|
||||||
|
if (!_avatarImageView) {
|
||||||
|
_avatarImageView = [[NetImageView alloc] init];
|
||||||
|
_avatarImageView.contentMode = UIViewContentModeScaleAspectFill;
|
||||||
|
[_avatarImageView setCornerRadius:55/2];
|
||||||
|
}
|
||||||
|
return _avatarImageView;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)nameLabel {
|
||||||
|
if (!_nameLabel) {
|
||||||
|
_nameLabel = [UILabel labelInitWithText:@"" font:kFontSemibold(15) textColor:UIColorFromRGB(0x313131)];
|
||||||
|
}
|
||||||
|
return _nameLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)idLabel {
|
||||||
|
if (!_idLabel) {
|
||||||
|
_idLabel = [UILabel labelInitWithText:@"" font:kFontRegular(13) textColor:UIColorFromRGB(0x7b7b7d)];
|
||||||
|
}
|
||||||
|
return _idLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UILabel *)lastTransferDateLabel {
|
||||||
|
if (!_lastTransferDateLabel) {
|
||||||
|
_lastTransferDateLabel = [UILabel labelInitWithText:YMLocalizedString(@"1.0.37_text_40")
|
||||||
|
font:kFontRegular(12)
|
||||||
|
textColor:UIColorFromRGB(0x7b7b7d)];
|
||||||
|
}
|
||||||
|
return _lastTransferDateLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (MoliMoneyLabel *)totalCostLabel {
|
||||||
|
if (!_totalCostLabel) {
|
||||||
|
_totalCostLabel = [MoliMoneyLabel moneyLabelWithTextColot:UIColorFromRGB(0xff8c03)
|
||||||
|
font:kFontSemibold(16)
|
||||||
|
moneyPostion:2
|
||||||
|
moneySize:CGSizeMake(22, 22)];
|
||||||
|
}
|
||||||
|
return _totalCostLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIStackView *)starsStack {
|
||||||
|
if (!_starsStack) {
|
||||||
|
_starsStack = [[UIStackView alloc] initWithArrangedSubviews:@[
|
||||||
|
self.star_1,
|
||||||
|
self.star_2,
|
||||||
|
self.star_3,
|
||||||
|
self.star_4,
|
||||||
|
self.star_5,
|
||||||
|
]];
|
||||||
|
_starsStack.spacing = 4;
|
||||||
|
}
|
||||||
|
return _starsStack;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIButton *)star_1 {
|
||||||
|
if (!_star_1) {
|
||||||
|
_star_1 = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_star_1 setBackgroundImage:kImage(@"star_white") forState:UIControlStateNormal];
|
||||||
|
[_star_1 setBackgroundImage:kImage(@"star_yellow") forState:UIControlStateSelected];
|
||||||
|
}
|
||||||
|
return _star_1;
|
||||||
|
}
|
||||||
|
- (UIButton *)star_2 {
|
||||||
|
if (!_star_2) {
|
||||||
|
_star_2 = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_star_2 setBackgroundImage:kImage(@"star_white") forState:UIControlStateNormal];
|
||||||
|
[_star_2 setBackgroundImage:kImage(@"star_yellow") forState:UIControlStateSelected];
|
||||||
|
}
|
||||||
|
return _star_2;
|
||||||
|
}
|
||||||
|
- (UIButton *)star_3 {
|
||||||
|
if (!_star_3) {
|
||||||
|
_star_3 = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_star_3 setBackgroundImage:kImage(@"star_white") forState:UIControlStateNormal];
|
||||||
|
[_star_3 setBackgroundImage:kImage(@"star_yellow") forState:UIControlStateSelected];
|
||||||
|
}
|
||||||
|
return _star_3;
|
||||||
|
}
|
||||||
|
- (UIButton *)star_4 {
|
||||||
|
if (!_star_4) {
|
||||||
|
_star_4 = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_star_4 setBackgroundImage:kImage(@"star_white") forState:UIControlStateNormal];
|
||||||
|
[_star_4 setBackgroundImage:kImage(@"star_yellow") forState:UIControlStateSelected];
|
||||||
|
}
|
||||||
|
return _star_4;
|
||||||
|
}
|
||||||
|
- (UIButton *)star_5 {
|
||||||
|
if (!_star_5) {
|
||||||
|
_star_5 = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||||
|
[_star_5 setBackgroundImage:kImage(@"star_white") forState:UIControlStateNormal];
|
||||||
|
[_star_5 setBackgroundImage:kImage(@"star_yellow") forState:UIControlStateSelected];
|
||||||
|
}
|
||||||
|
return _star_5;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface SubRechargersViewController () <UITableViewDelegate, UITableViewDataSource>
|
||||||
|
|
||||||
|
@property(nonatomic, copy) NSArray *dataSource;
|
||||||
|
@property(nonatomic, strong) UITableView *tableView;
|
||||||
|
@property(nonatomic, strong) UIImageView *emptyImageView;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation SubRechargersViewController
|
||||||
|
|
||||||
|
- (XPMineGiveDiamondPresenter *)createPresenter {
|
||||||
|
return [[XPMineGiveDiamondPresenter alloc] init];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewDidLoad {
|
||||||
|
[super viewDidLoad];
|
||||||
|
|
||||||
|
self.title = YMLocalizedString(@"1.0.37_text_39");
|
||||||
|
self.view.backgroundColor = [UIColor whiteColor];
|
||||||
|
|
||||||
|
[self setupUI];
|
||||||
|
[self.presenter subrechargeInfoList];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setupUI {
|
||||||
|
[self.view addSubview:self.tableView];
|
||||||
|
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.edges.mas_equalTo(self.view).insets(UIEdgeInsetsMake(18, 15, 18, 15));
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self.view addSubview:self.emptyImageView];
|
||||||
|
[self.emptyImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.top.mas_equalTo(self.view).offset(150);
|
||||||
|
make.centerX.mas_equalTo(self.view);
|
||||||
|
make.size.mas_equalTo(CGSizeMake(200, 200));
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark - XPMineGiveDiamondProtocol
|
||||||
|
- (void)loadSubRechargerInfoSuccess:(NSArray <SubRechargeUserModel *>*)infos {
|
||||||
|
self.dataSource = infos;
|
||||||
|
[self.tableView reloadData];
|
||||||
|
if (infos.count == 0) {
|
||||||
|
self.emptyImageView.hidden = NO;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark - UITableView DataSource & Delegate
|
||||||
|
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||||
|
return self.dataSource.count;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||||
|
return 94;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||||
|
SubRechargersCell *cell = [tableView dequeueReusableCellWithIdentifier:@"SubRechargersCell" forIndexPath:indexPath];
|
||||||
|
cell.cellModel = [self.dataSource xpSafeObjectAtIndex:indexPath.row];
|
||||||
|
return cell;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark -
|
||||||
|
- (UITableView *)tableView {
|
||||||
|
if (!_tableView) {
|
||||||
|
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
|
||||||
|
_tableView.delegate = self;
|
||||||
|
_tableView.dataSource = self;
|
||||||
|
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
|
||||||
|
_tableView.backgroundColor = [UIColor clearColor];
|
||||||
|
[_tableView registerClass:[SubRechargersCell class] forCellReuseIdentifier:@"SubRechargersCell"];
|
||||||
|
}
|
||||||
|
return _tableView;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIImageView *)emptyImageView {
|
||||||
|
if (!_emptyImageView) {
|
||||||
|
_emptyImageView = [[UIImageView alloc] init];
|
||||||
|
_emptyImageView.hidden = YES;
|
||||||
|
_emptyImageView.userInteractionEnabled = YES;
|
||||||
|
_emptyImageView.image = [UIImageConstant defaultEmptyPlaceholder_UFO];
|
||||||
|
_emptyImageView.layer.masksToBounds = YES;
|
||||||
|
_emptyImageView.contentMode = UIViewContentModeScaleAspectFit;
|
||||||
|
}
|
||||||
|
return _emptyImageView;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|