新用户渠道打招呼
@@ -296,11 +296,11 @@
|
||||
E801275827E347FD00BAC3F2 /* RoomPKRecordModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E801275727E347FD00BAC3F2 /* RoomPKRecordModel.m */; };
|
||||
E80487652717DDD9008595F2 /* XPRoomMenuItem.m in Sources */ = {isa = PBXBuildFile; fileRef = E80487642717DDD9008595F2 /* XPRoomMenuItem.m */; };
|
||||
E8098CB4282E97550090B9F0 /* XPMineBlackListPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8098CB3282E97550090B9F0 /* XPMineBlackListPresenter.m */; };
|
||||
E80A086227F2AC190027B30C /* RoomPKDetailInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E80A086127F2AC190027B30C /* RoomPKDetailInfoModel.m */; };
|
||||
E80A086527F318620027B30C /* XPRoomPKPlayingView.m in Sources */ = {isa = PBXBuildFile; fileRef = E80A086427F318620027B30C /* XPRoomPKPlayingView.m */; };
|
||||
E80B0712280D0A6700A79F63 /* FansInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E80B0711280D0A6700A79F63 /* FansInfoModel.m */; };
|
||||
E80B0734280D740600A79F63 /* MessageContentGuildView.m in Sources */ = {isa = PBXBuildFile; fileRef = E80B0733280D740600A79F63 /* MessageContentGuildView.m */; };
|
||||
E80B0737280D790400A79F63 /* GuildMessageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E80B0736280D790400A79F63 /* GuildMessageModel.m */; };
|
||||
E80A086227F2AC190027B30C /* RoomPKDetailInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E80A086127F2AC190027B30C /* RoomPKDetailInfoModel.m */; };
|
||||
E80A086527F318620027B30C /* XPRoomPKPlayingView.m in Sources */ = {isa = PBXBuildFile; fileRef = E80A086427F318620027B30C /* XPRoomPKPlayingView.m */; };
|
||||
E80CBDE627D0C1CF001E1EC2 /* HomeMenuSourceModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E80CBDE527D0C1CF001E1EC2 /* HomeMenuSourceModel.m */; };
|
||||
E80CBDEA27D0C53F001E1EC2 /* XPWeakTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = E80CBDE927D0C53F001E1EC2 /* XPWeakTimer.m */; };
|
||||
E80CBDED27D0D899001E1EC2 /* XPHomeLikeEmptyTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E80CBDEC27D0D899001E1EC2 /* XPHomeLikeEmptyTableViewCell.m */; };
|
||||
@@ -655,6 +655,9 @@
|
||||
E8AEAEF027141C430017FCE0 /* XPRoomMenuContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AEAEEF27141C430017FCE0 /* XPRoomMenuContainerView.m */; };
|
||||
E8AEAEF327141C7C0017FCE0 /* XPRoomMessageContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AEAEF227141C7C0017FCE0 /* XPRoomMessageContainerView.m */; };
|
||||
E8AEAEF927141CA30017FCE0 /* RoomHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AEAEF827141CA30017FCE0 /* RoomHeaderView.m */; };
|
||||
E8B3E7FE28489232009746AB /* XPNewUserGreetRoomAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B3E7FD28489232009746AB /* XPNewUserGreetRoomAlertView.m */; };
|
||||
E8B3E8092848B871009746AB /* InviteUserInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B3E8082848B871009746AB /* InviteUserInfoModel.m */; };
|
||||
E8B3E80C2848BA40009746AB /* NewUserGreetModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B3E80B2848BA40009746AB /* NewUserGreetModel.m */; };
|
||||
E8B825BF26E9E57D009E8E9F /* LoginTicketInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B825BE26E9E57D009E8E9F /* LoginTicketInfo.m */; };
|
||||
E8B825C226EA00DF009E8E9F /* LoginVerifCodePresent.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B825C126EA00DF009E8E9F /* LoginVerifCodePresent.m */; };
|
||||
E8B825C726EA0D9A009E8E9F /* LoginVerifCodeProtocol.h in Sources */ = {isa = PBXBuildFile; fileRef = E8B825C626EA0995009E8E9F /* LoginVerifCodeProtocol.h */; };
|
||||
@@ -1411,16 +1414,16 @@
|
||||
E8098CB2282E97550090B9F0 /* XPMineBlackListPresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineBlackListPresenter.h; sourceTree = "<group>"; };
|
||||
E8098CB3282E97550090B9F0 /* XPMineBlackListPresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineBlackListPresenter.m; sourceTree = "<group>"; };
|
||||
E8098CB6282E97AC0090B9F0 /* XPMineBlackListProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineBlackListProtocol.h; sourceTree = "<group>"; };
|
||||
E80A086027F2AC190027B30C /* RoomPKDetailInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomPKDetailInfoModel.h; sourceTree = "<group>"; };
|
||||
E80A086127F2AC190027B30C /* RoomPKDetailInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomPKDetailInfoModel.m; sourceTree = "<group>"; };
|
||||
E80A086327F318620027B30C /* XPRoomPKPlayingView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomPKPlayingView.h; sourceTree = "<group>"; };
|
||||
E80A086427F318620027B30C /* XPRoomPKPlayingView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomPKPlayingView.m; sourceTree = "<group>"; };
|
||||
E80B0710280D0A6700A79F63 /* FansInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FansInfoModel.h; sourceTree = "<group>"; };
|
||||
E80B0711280D0A6700A79F63 /* FansInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FansInfoModel.m; sourceTree = "<group>"; };
|
||||
E80B0732280D740600A79F63 /* MessageContentGuildView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessageContentGuildView.h; sourceTree = "<group>"; };
|
||||
E80B0733280D740600A79F63 /* MessageContentGuildView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MessageContentGuildView.m; sourceTree = "<group>"; };
|
||||
E80B0735280D790400A79F63 /* GuildMessageModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuildMessageModel.h; sourceTree = "<group>"; };
|
||||
E80B0736280D790400A79F63 /* GuildMessageModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GuildMessageModel.m; sourceTree = "<group>"; };
|
||||
E80A086027F2AC190027B30C /* RoomPKDetailInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomPKDetailInfoModel.h; sourceTree = "<group>"; };
|
||||
E80A086127F2AC190027B30C /* RoomPKDetailInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomPKDetailInfoModel.m; sourceTree = "<group>"; };
|
||||
E80A086327F318620027B30C /* XPRoomPKPlayingView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomPKPlayingView.h; sourceTree = "<group>"; };
|
||||
E80A086427F318620027B30C /* XPRoomPKPlayingView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomPKPlayingView.m; sourceTree = "<group>"; };
|
||||
E80CBDE427D0C1CF001E1EC2 /* HomeMenuSourceModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeMenuSourceModel.h; sourceTree = "<group>"; };
|
||||
E80CBDE527D0C1CF001E1EC2 /* HomeMenuSourceModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeMenuSourceModel.m; sourceTree = "<group>"; };
|
||||
E80CBDE827D0C53F001E1EC2 /* XPWeakTimer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWeakTimer.h; sourceTree = "<group>"; };
|
||||
@@ -2132,6 +2135,12 @@
|
||||
E8AEAEF227141C7C0017FCE0 /* XPRoomMessageContainerView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMessageContainerView.m; sourceTree = "<group>"; };
|
||||
E8AEAEF727141CA30017FCE0 /* RoomHeaderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomHeaderView.h; sourceTree = "<group>"; };
|
||||
E8AEAEF827141CA30017FCE0 /* RoomHeaderView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomHeaderView.m; sourceTree = "<group>"; };
|
||||
E8B3E7FC28489232009746AB /* XPNewUserGreetRoomAlertView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNewUserGreetRoomAlertView.h; sourceTree = "<group>"; };
|
||||
E8B3E7FD28489232009746AB /* XPNewUserGreetRoomAlertView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNewUserGreetRoomAlertView.m; sourceTree = "<group>"; };
|
||||
E8B3E8072848B871009746AB /* InviteUserInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = InviteUserInfoModel.h; sourceTree = "<group>"; };
|
||||
E8B3E8082848B871009746AB /* InviteUserInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = InviteUserInfoModel.m; sourceTree = "<group>"; };
|
||||
E8B3E80A2848BA40009746AB /* NewUserGreetModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NewUserGreetModel.h; sourceTree = "<group>"; };
|
||||
E8B3E80B2848BA40009746AB /* NewUserGreetModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NewUserGreetModel.m; sourceTree = "<group>"; };
|
||||
E8B825BD26E9E57D009E8E9F /* LoginTicketInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LoginTicketInfo.h; sourceTree = "<group>"; };
|
||||
E8B825BE26E9E57D009E8E9F /* LoginTicketInfo.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LoginTicketInfo.m; sourceTree = "<group>"; };
|
||||
E8B825C026EA00DF009E8E9F /* LoginVerifCodePresent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LoginVerifCodePresent.h; sourceTree = "<group>"; };
|
||||
@@ -3016,13 +3025,11 @@
|
||||
18E7B1B426E8B2960064BC9B /* Tabbar */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
18E7B1B526E8B2D10064BC9B /* Api+Main.h */,
|
||||
18E7B1B626E8B2D10064BC9B /* Api+Main.m */,
|
||||
18E7B1B026E8AF980064BC9B /* MainPresenter.h */,
|
||||
18E7B1B126E8AF980064BC9B /* MainPresenter.m */,
|
||||
18E7B1AE26E8AD760064BC9B /* MainProtocol.h */,
|
||||
189DD53226DE255300AB55B1 /* TabbarViewController.h */,
|
||||
189DD53326DE255300AB55B1 /* TabbarViewController.m */,
|
||||
E8B3E8062848B84F009746AB /* Model */,
|
||||
E8B3E8052848B849009746AB /* Api */,
|
||||
E8B3E8042848B842009746AB /* View */,
|
||||
E8B3E8032848B838009746AB /* Presenter */,
|
||||
E8B3E8022848B828009746AB /* Protocol */,
|
||||
E8DEC99327648FA50078CB70 /* ClientConfig.h */,
|
||||
E8DEC99427648FA50078CB70 /* ClientConfig.m */,
|
||||
E875FA8527D619820086ED04 /* ClientDataModel.h */,
|
||||
@@ -3929,7 +3936,6 @@
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
||||
E800805227FD33950055A8AB /* Guild */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -3951,27 +3957,6 @@
|
||||
E8C167202806A0BA00ECB15C /* Setting */,
|
||||
E8C1671F2806A0AC00ECB15C /* Income */,
|
||||
E8C1671E2806A0A200ECB15C /* SuperAdmin */,
|
||||
);
|
||||
path = Protocol;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E801273827E322D700BAC3F2 /* RoomPK */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E801273D27E3230F00BAC3F2 /* Model */,
|
||||
E801273C27E3230400BAC3F2 /* Api */,
|
||||
E801273B27E322FE00BAC3F2 /* View */,
|
||||
E801273A27E322F500BAC3F2 /* Presenter */,
|
||||
E801273927E322E900BAC3F2 /* Protocol */,
|
||||
);
|
||||
path = RoomPK;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E801273927E322E900BAC3F2 /* Protocol */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E801274427E3240000BAC3F2 /* XPRoomPKProtocol.h */,
|
||||
E8664EE027E45EE6000171BA /* XPRoomPKRecordProtocol.h */,
|
||||
);
|
||||
path = Protocol;
|
||||
sourceTree = "<group>";
|
||||
@@ -3988,23 +3973,10 @@
|
||||
E8C1671B2806A06D00ECB15C /* Setting */,
|
||||
E8C1671A2806A05B00ECB15C /* Income */,
|
||||
E8C167192806A04300ECB15C /* SuperAdmin */,
|
||||
);
|
||||
path = Presenter;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
||||
E801273A27E322F500BAC3F2 /* Presenter */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E801274127E323E500BAC3F2 /* XPRoomPKPresenter.h */,
|
||||
E801274227E323E500BAC3F2 /* XPRoomPKPresenter.m */,
|
||||
E8664EDD27E45EC7000171BA /* XPRoomPKRecordPresenter.h */,
|
||||
E8664EDE27E45EC7000171BA /* XPRoomPKRecordPresenter.m */,
|
||||
);
|
||||
path = Presenter;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
||||
E800805527FD33DF0055A8AB /* View */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -4019,30 +3991,10 @@
|
||||
E8C1670528067D5F00ECB15C /* Setting */,
|
||||
E8C1670428067D3200ECB15C /* IncomeStatis */,
|
||||
E8C1670628067D8A00ECB15C /* SuperAdmin */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E801273B27E322FE00BAC3F2 /* View */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E801275227E3321C00BAC3F2 /* SubViews */,
|
||||
E801274827E3278E00BAC3F2 /* Cell */,
|
||||
E801273E27E323C800BAC3F2 /* XPRoomPKViewController.h */,
|
||||
E801273F27E323C800BAC3F2 /* XPRoomPKViewController.m */,
|
||||
E8664ED427E434D5000171BA /* XPRoomPKRecordViewController.h */,
|
||||
E8664ED527E434D5000171BA /* XPRoomPKRecordViewController.m */,
|
||||
E81AF32327F1D5B8003B9E43 /* XPRoomPKProgressView.h */,
|
||||
E81AF32427F1D5B8003B9E43 /* XPRoomPKProgressView.m */,
|
||||
E80A086327F318620027B30C /* XPRoomPKPlayingView.h */,
|
||||
E80A086427F318620027B30C /* XPRoomPKPlayingView.m */,
|
||||
E84843AD27F59E7E0050D365 /* XPRoomPKResultView.h */,
|
||||
E84843AE27F59E7E0050D365 /* XPRoomPKResultView.m */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
||||
E800805627FD33E90055A8AB /* Model */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -4091,10 +4043,88 @@
|
||||
E8C1670F28067E8D00ECB15C /* Setting */,
|
||||
E8C1670D28067E1500ECB15C /* Income */,
|
||||
E8C1670E28067E3100ECB15C /* SuperAdmin */,
|
||||
);
|
||||
);
|
||||
path = Cell;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E800805F27FD36EB0055A8AB /* SubViews */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E800806327FD37A20055A8AB /* XPGuildHeaderView.h */,
|
||||
E800806427FD37A20055A8AB /* XPGuildHeaderView.m */,
|
||||
E800806627FD3B520055A8AB /* XPClanMenuView.h */,
|
||||
E800806727FD3B520055A8AB /* XPClanMenuView.m */,
|
||||
E800808627FDA5100055A8AB /* XPClanSectionView.h */,
|
||||
E800808727FDA5100055A8AB /* XPClanSectionView.m */,
|
||||
E851E45D27FF0FEB002F3ACB /* XPGuildSearchNavView.h */,
|
||||
E851E45E27FF0FEB002F3ACB /* XPGuildSearchNavView.m */,
|
||||
E80016242803CB2800D6D17A /* XPGuildIncomeHeaderView.h */,
|
||||
E80016252803CB2800D6D17A /* XPGuildIncomeHeaderView.m */,
|
||||
E8001633280410BD00D6D17A /* XPGuildIncomeSectionView.h */,
|
||||
E8001634280410BD00D6D17A /* XPGuildIncomeSectionView.m */,
|
||||
E883E82C28153BDF0000005D /* XPGuildAnchorIncomeSectionView.h */,
|
||||
E883E82D28153BDF0000005D /* XPGuildAnchorIncomeSectionView.m */,
|
||||
E855514C2805152B005F293F /* XPGuildTimePickView.h */,
|
||||
E855514D2805152B005F293F /* XPGuildTimePickView.m */,
|
||||
E855514F28055581005F293F /* XPGuildTimeMonthPickerView.h */,
|
||||
E855515028055581005F293F /* XPGuildTimeMonthPickerView.m */,
|
||||
E8C167312806CADF00ECB15C /* XPGuildSuperAdminMenuView.h */,
|
||||
E8C167322806CADF00ECB15C /* XPGuildSuperAdminMenuView.m */,
|
||||
);
|
||||
path = SubViews;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E801273827E322D700BAC3F2 /* RoomPK */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E801273D27E3230F00BAC3F2 /* Model */,
|
||||
E801273C27E3230400BAC3F2 /* Api */,
|
||||
E801273B27E322FE00BAC3F2 /* View */,
|
||||
E801273A27E322F500BAC3F2 /* Presenter */,
|
||||
E801273927E322E900BAC3F2 /* Protocol */,
|
||||
);
|
||||
path = RoomPK;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E801273927E322E900BAC3F2 /* Protocol */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E801274427E3240000BAC3F2 /* XPRoomPKProtocol.h */,
|
||||
E8664EE027E45EE6000171BA /* XPRoomPKRecordProtocol.h */,
|
||||
);
|
||||
path = Protocol;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E801273A27E322F500BAC3F2 /* Presenter */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E801274127E323E500BAC3F2 /* XPRoomPKPresenter.h */,
|
||||
E801274227E323E500BAC3F2 /* XPRoomPKPresenter.m */,
|
||||
E8664EDD27E45EC7000171BA /* XPRoomPKRecordPresenter.h */,
|
||||
E8664EDE27E45EC7000171BA /* XPRoomPKRecordPresenter.m */,
|
||||
);
|
||||
path = Presenter;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E801273B27E322FE00BAC3F2 /* View */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E801275227E3321C00BAC3F2 /* SubViews */,
|
||||
E801274827E3278E00BAC3F2 /* Cell */,
|
||||
E801273E27E323C800BAC3F2 /* XPRoomPKViewController.h */,
|
||||
E801273F27E323C800BAC3F2 /* XPRoomPKViewController.m */,
|
||||
E8664ED427E434D5000171BA /* XPRoomPKRecordViewController.h */,
|
||||
E8664ED527E434D5000171BA /* XPRoomPKRecordViewController.m */,
|
||||
E81AF32327F1D5B8003B9E43 /* XPRoomPKProgressView.h */,
|
||||
E81AF32427F1D5B8003B9E43 /* XPRoomPKProgressView.m */,
|
||||
E80A086327F318620027B30C /* XPRoomPKPlayingView.h */,
|
||||
E80A086427F318620027B30C /* XPRoomPKPlayingView.m */,
|
||||
E84843AD27F59E7E0050D365 /* XPRoomPKResultView.h */,
|
||||
E84843AE27F59E7E0050D365 /* XPRoomPKResultView.m */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E801273C27E3230400BAC3F2 /* Api */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -4142,34 +4172,6 @@
|
||||
path = Cell;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E800805F27FD36EB0055A8AB /* SubViews */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E800806327FD37A20055A8AB /* XPGuildHeaderView.h */,
|
||||
E800806427FD37A20055A8AB /* XPGuildHeaderView.m */,
|
||||
E800806627FD3B520055A8AB /* XPClanMenuView.h */,
|
||||
E800806727FD3B520055A8AB /* XPClanMenuView.m */,
|
||||
E800808627FDA5100055A8AB /* XPClanSectionView.h */,
|
||||
E800808727FDA5100055A8AB /* XPClanSectionView.m */,
|
||||
E851E45D27FF0FEB002F3ACB /* XPGuildSearchNavView.h */,
|
||||
E851E45E27FF0FEB002F3ACB /* XPGuildSearchNavView.m */,
|
||||
E80016242803CB2800D6D17A /* XPGuildIncomeHeaderView.h */,
|
||||
E80016252803CB2800D6D17A /* XPGuildIncomeHeaderView.m */,
|
||||
E8001633280410BD00D6D17A /* XPGuildIncomeSectionView.h */,
|
||||
E8001634280410BD00D6D17A /* XPGuildIncomeSectionView.m */,
|
||||
E883E82C28153BDF0000005D /* XPGuildAnchorIncomeSectionView.h */,
|
||||
E883E82D28153BDF0000005D /* XPGuildAnchorIncomeSectionView.m */,
|
||||
E855514C2805152B005F293F /* XPGuildTimePickView.h */,
|
||||
E855514D2805152B005F293F /* XPGuildTimePickView.m */,
|
||||
E855514F28055581005F293F /* XPGuildTimeMonthPickerView.h */,
|
||||
E855515028055581005F293F /* XPGuildTimeMonthPickerView.m */,
|
||||
E8C167312806CADF00ECB15C /* XPGuildSuperAdminMenuView.h */,
|
||||
E8C167322806CADF00ECB15C /* XPGuildSuperAdminMenuView.m */,
|
||||
);
|
||||
path = SubViews;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
||||
E801275227E3321C00BAC3F2 /* SubViews */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -5656,6 +5658,54 @@
|
||||
path = StageView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8B3E8022848B828009746AB /* Protocol */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
18E7B1AE26E8AD760064BC9B /* MainProtocol.h */,
|
||||
);
|
||||
path = Protocol;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8B3E8032848B838009746AB /* Presenter */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
18E7B1B026E8AF980064BC9B /* MainPresenter.h */,
|
||||
18E7B1B126E8AF980064BC9B /* MainPresenter.m */,
|
||||
);
|
||||
path = Presenter;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8B3E8042848B842009746AB /* View */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8B3E7FC28489232009746AB /* XPNewUserGreetRoomAlertView.h */,
|
||||
E8B3E7FD28489232009746AB /* XPNewUserGreetRoomAlertView.m */,
|
||||
189DD53226DE255300AB55B1 /* TabbarViewController.h */,
|
||||
189DD53326DE255300AB55B1 /* TabbarViewController.m */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8B3E8052848B849009746AB /* Api */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
18E7B1B526E8B2D10064BC9B /* Api+Main.h */,
|
||||
18E7B1B626E8B2D10064BC9B /* Api+Main.m */,
|
||||
);
|
||||
path = Api;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8B3E8062848B84F009746AB /* Model */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8B3E8072848B871009746AB /* InviteUserInfoModel.h */,
|
||||
E8B3E8082848B871009746AB /* InviteUserInfoModel.m */,
|
||||
E8B3E80A2848BA40009746AB /* NewUserGreetModel.h */,
|
||||
E8B3E80B2848BA40009746AB /* NewUserGreetModel.m */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8B825BC26E9E520009E8E9F /* Model */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -7025,7 +7075,6 @@
|
||||
E8E70D7A26F2F16600F03460 /* XPMinePresent.m in Sources */,
|
||||
E855516128059228005F293F /* XPMineGuildIncomeDetailViewController.m in Sources */,
|
||||
E8A1E45B27620F4900B294CA /* XPRoomHalfWebView.m in Sources */,
|
||||
9B7D80562753C595003DAC0C /* SendMessageView.m in Sources */,
|
||||
E8A88D3027E85EEA00CA8837 /* RoomPKInfoModel.m in Sources */,
|
||||
E8A86E0527BA38DB001C21F9 /* NSString+RW.m in Sources */,
|
||||
E800162C2803FE4900D6D17A /* GuildIncomeRecordModel.m in Sources */,
|
||||
@@ -7079,6 +7128,7 @@
|
||||
9BE9F0F927FED12D00667200 /* XPAnchorFansPrivilegeModel.m in Sources */,
|
||||
E8B846CF26FDD96100A777FE /* XPMineRechageHeadView.m in Sources */,
|
||||
186A534926FC6ED900D67B2C /* TTAlertMessageAttributedConfig.m in Sources */,
|
||||
E8B3E80C2848BA40009746AB /* NewUserGreetModel.m in Sources */,
|
||||
E81C27AE26EF39AB0031E639 /* AppDelegate+ThirdConfig.m in Sources */,
|
||||
E877A7F127842B2F00EFACED /* XPRoomDatingWebAlertView.m in Sources */,
|
||||
E80016382804140D00D6D17A /* XPMineGuildIncomeStatisViewController.m in Sources */,
|
||||
@@ -7111,6 +7161,7 @@
|
||||
9BC9DAEF27E33B3F009EE409 /* XPRoomGiftAnimationParser.m in Sources */,
|
||||
E8E859CB28264C2300EE4857 /* MultipartMessageHeaderField.m in Sources */,
|
||||
9B2A12DB2783F88800CED41B /* XPNoblePrivilegeCell.m in Sources */,
|
||||
E8B3E7FE28489232009746AB /* XPNewUserGreetRoomAlertView.m in Sources */,
|
||||
E81366E326F0A1FC0076364C /* LoginBindPhoneViewController.m in Sources */,
|
||||
9B2EA7CC2804245500ED17BF /* XPAnchorPKPanelUserView.m in Sources */,
|
||||
E851E46527FF1F53002F3ACB /* XPMineGuildSetNameViewController.m in Sources */,
|
||||
@@ -7157,6 +7208,7 @@
|
||||
9BC8C83028090C9200C24F85 /* XPRoomAnchorRankBannerView.m in Sources */,
|
||||
E851E45827FF024B002F3ACB /* XPMineGuildSearchViewController.m in Sources */,
|
||||
E8395331276A03AE00CF2F24 /* Api+DressUp.m in Sources */,
|
||||
E8B3E8092848B871009746AB /* InviteUserInfoModel.m in Sources */,
|
||||
E8DEC99E2764A5B60078CB70 /* XPRoomMoreMenuViewController.m in Sources */,
|
||||
E82325F2274E2DE6003A3332 /* XPUserCardViewController.m in Sources */,
|
||||
E8E859D228264C2300EE4857 /* HTTPServer.m in Sources */,
|
||||
|
6
xplan-ios/Assets.xcassets/Home/Greet/Contents.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
22
xplan-ios/Assets.xcassets/Home/Greet/home_new_user_greet_avatar_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "home_new_user_greet_avatar_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "home_new_user_greet_avatar_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 47 KiB |
22
xplan-ios/Assets.xcassets/Home/Greet/home_new_user_greet_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "home_new_user_greet_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "home_new_user_greet_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
xplan-ios/Assets.xcassets/Home/Greet/home_new_user_greet_bg.imageset/home_new_user_greet_bg@2x.png
vendored
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
xplan-ios/Assets.xcassets/Home/Greet/home_new_user_greet_bg.imageset/home_new_user_greet_bg@3x.png
vendored
Normal file
After Width: | Height: | Size: 31 KiB |
22
xplan-ios/Assets.xcassets/Home/Greet/home_new_user_greet_close.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "home_new_user_greet_close@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "home_new_user_greet_close@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 562 B |
After Width: | Height: | Size: 931 B |
22
xplan-ios/Assets.xcassets/Home/Greet/home_new_user_greet_nick_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "home_new_user_greet_nick_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "home_new_user_greet_nick_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 9.5 KiB |
22
xplan-ios/Assets.xcassets/Home/Greet/home_new_user_greet_start_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "home_new_user_greet_start_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "home_new_user_greet_start_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 9.8 KiB |
After Width: | Height: | Size: 16 KiB |
@@ -20,6 +20,7 @@ NSString * const kRoomBackMusicCaptureVolumeKey = @"kRoomBackMusicCaptureVolumeK
|
||||
NSString * const kRoomBackMusicAudioMixingVolumeKey = @"kRoomBackMusicAudioMixingVolumeKey";///房间背景音乐 背景音乐的大小
|
||||
NSString * const kRoomBackMusicPlayMusicOrderKey = @"kRoomBackMusicPlayMusicOrderKey";///房间背景音乐 播放顺序 单曲 顺序 1 0
|
||||
NSString * const kRoomBackMusicPlayMusicFinishKey = @"kRoomBackMusicPlayMusicFinishKey";///房间背景音乐 播放完毕的key
|
||||
NSString * const kUserCompleteInfoFinishKey = @"kUserCompleteInfoFinishKey";///补全资料完成
|
||||
///在里面进行判断当前环境是什么
|
||||
NSString * const KeyWithType(KeyType type) {
|
||||
BOOL isRelase = NO;
|
||||
|
@@ -86,7 +86,6 @@ UIKIT_EXTERN NSString *kHomeMoreScrollPageKey;
|
||||
make.top.mas_equalTo(self.homeNavView.mas_bottom);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - JXCategoryListContainerViewDelegate
|
||||
- (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView {
|
||||
return self.titles.count;
|
||||
|
@@ -23,6 +23,8 @@
|
||||
#import "LoginFullInfoPresenter.h"
|
||||
#import "LoginFullInfoProtocol.h"
|
||||
|
||||
UIKIT_EXTERN NSString * kUserCompleteInfoFinishKey;
|
||||
|
||||
@interface LoginFullInfoViewController ()<LoginFullInfoProtocol>
|
||||
///完善资料
|
||||
@property (nonatomic,strong) UILabel *titleLabel;
|
||||
@@ -226,6 +228,8 @@
|
||||
}
|
||||
[vc dismissViewControllerAnimated:YES completion:^{
|
||||
}];
|
||||
NSString * inviteCode = self.codeTextField.text.length > 0 ? self.codeTextField.text : @"";
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:kUserCompleteInfoFinishKey object:inviteCode];
|
||||
}
|
||||
#pragma mark - Event Response
|
||||
- (void)nextButtonAction:(UIButton *)sender {
|
||||
|
@@ -20,6 +20,20 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// 初始化配置
|
||||
/// @param complection 完成
|
||||
+ (void)clientInitConfig:(HttpRequestHelperCompletion)complection;
|
||||
|
||||
///邀请码进房
|
||||
/// @param completion 完成
|
||||
/// @param inviteCode 邀请码
|
||||
+ (void)checkInviteUserInRoom:(HttpRequestHelperCompletion)completion inviteCode:(NSString *)inviteCode;
|
||||
|
||||
/// 新用户打招呼
|
||||
/// @param completion 完成
|
||||
+ (void)newUserGreetInfo:(HttpRequestHelperCompletion)completion;
|
||||
|
||||
/// 推荐进入的房间
|
||||
/// @param completion 完成
|
||||
/// @param uid 用户的uid
|
||||
+ (void)shortCutRecommendRoom:(HttpRequestHelperCompletion)completion uid:(NSString *)uid;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -49,6 +49,26 @@
|
||||
+ (void)clientInitConfig:(HttpRequestHelperCompletion)complection {
|
||||
[HttpRequestHelper request:@"client/init" method:HttpRequestHelperMethodGET params:[NSMutableDictionary dictionary] completion:complection];
|
||||
}
|
||||
|
||||
|
||||
|
||||
///邀请码进房 邀请人信息
|
||||
/// @param completion 完成
|
||||
/// @param inviteCode 邀请码
|
||||
+ (void)checkInviteUserInRoom:(HttpRequestHelperCompletion)completion inviteCode:(NSString *)inviteCode {
|
||||
[self makeRequest:@"user/v2/checkInviteUserInRoom" method:HttpRequestHelperMethodGET completion:completion,__FUNCTION__, inviteCode, nil];
|
||||
}
|
||||
|
||||
/// 首页新用户打招呼
|
||||
/// @param completion 完成
|
||||
+ (void)newUserGreetInfo:(HttpRequestHelperCompletion)completion {
|
||||
[self makeRequest:@"newUserStart/indexSayHello" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
|
||||
}
|
||||
|
||||
/// 推荐进入的房间
|
||||
/// @param completion 完成
|
||||
/// @param uid 用户的uid
|
||||
+ (void)shortCutRecommendRoom:(HttpRequestHelperCompletion)completion uid:(NSString *)uid {
|
||||
[self makeRequest:@"room/shortcut/recommend" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, uid, nil];
|
||||
}
|
||||
|
||||
@end
|
@@ -1,20 +0,0 @@
|
||||
//
|
||||
// MainProtocol.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by zu on 2021/9/8.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "UserInfoModel.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol MainProtocol <NSObject>
|
||||
|
||||
- (void)autoLoginSuccess;
|
||||
- (void)getUserInfoSuccess:(UserInfoModel *)userInfo;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
25
xplan-ios/Main/Tabbar/Model/InviteUserInfoModel.h
Normal file
@@ -0,0 +1,25 @@
|
||||
//
|
||||
// InviteUserInfoModel.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/6/2.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "XPEnum.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface InviteUserInfoModel : NSObject
|
||||
///邀请人的名字
|
||||
@property (nonatomic,copy) NSString *inviteNick;
|
||||
///邀请人的uid
|
||||
@property (nonatomic,copy) NSString * inviteUid;
|
||||
///是否在房间中
|
||||
@property (nonatomic,assign) BOOL isInRoom;
|
||||
///房间uid
|
||||
@property (nonatomic,copy) NSString *roomUid;
|
||||
///来源
|
||||
@property (nonatomic,assign) UserEnterRoomFromType fromType;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
12
xplan-ios/Main/Tabbar/Model/InviteUserInfoModel.m
Normal file
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// InviteUserInfoModel.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/6/2.
|
||||
//
|
||||
|
||||
#import "InviteUserInfoModel.h"
|
||||
|
||||
@implementation InviteUserInfoModel
|
||||
|
||||
@end
|
27
xplan-ios/Main/Tabbar/Model/NewUserGreetModel.h
Normal file
@@ -0,0 +1,27 @@
|
||||
//
|
||||
// NewUserGreetModel.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/6/2.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface NewUserGreetModel : NSObject
|
||||
///房主的uid
|
||||
@property (nonatomic,copy) NSString *roomUid;
|
||||
///打招呼的内容
|
||||
@property (nonatomic,copy) NSString *sayHelloMsg;
|
||||
///打招呼用户的头像
|
||||
@property (nonatomic,copy) NSString *sayHelloUserAvatar;
|
||||
///打招呼用户平台id
|
||||
@property (nonatomic,copy) NSString *sayHelloUserErbanNo;
|
||||
///打招呼都想的昵称
|
||||
@property (nonatomic,copy) NSString *sayHelloUserNickname;
|
||||
///是否可以打招呼
|
||||
@property (nonatomic,assign) BOOL sayHello;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
12
xplan-ios/Main/Tabbar/Model/NewUserGreetModel.m
Normal file
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// NewUserGreetModel.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/6/2.
|
||||
//
|
||||
|
||||
#import "NewUserGreetModel.h"
|
||||
|
||||
@implementation NewUserGreetModel
|
||||
|
||||
@end
|
@@ -19,6 +19,16 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/// 巨量广告
|
||||
- (void)juliandAdCallBackApi;
|
||||
|
||||
///获取邀请人信息
|
||||
- (void)checkInviteUserInfo:(NSString *)inviteCode;
|
||||
|
||||
///获取新用户打招呼信息
|
||||
- (void)getNewUserGreetInfo;
|
||||
|
||||
/// 获取快捷推荐进房
|
||||
- (void)getShortCutRecommendRoom;
|
||||
@end
|
||||
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -13,6 +13,8 @@
|
||||
#import "MainProtocol.h"
|
||||
#import "NSObject+MJExtension.h"
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
#import "InviteUserInfoModel.h"
|
||||
#import "NewUserGreetModel.h"
|
||||
|
||||
@implementation MainPresenter
|
||||
|
||||
@@ -76,4 +78,28 @@
|
||||
}
|
||||
|
||||
|
||||
///获取邀请人信息
|
||||
- (void)checkInviteUserInfo:(NSString *)inviteCode {
|
||||
[Api checkInviteUserInRoom:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
InviteUserInfoModel * info= [InviteUserInfoModel modelWithDictionary:data.data];
|
||||
[[self getView] checkInviteUserInfoSuccess:info];
|
||||
}] inviteCode:inviteCode];
|
||||
}
|
||||
|
||||
///获取新用户打招呼信息
|
||||
- (void)getNewUserGreetInfo {
|
||||
[Api newUserGreetInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
NewUserGreetModel * greetInfo = [NewUserGreetModel modelWithDictionary:data.data];
|
||||
[[self getView] getNewUserGreetInfoSucces:greetInfo];
|
||||
}];
|
||||
}
|
||||
|
||||
/// 获取快捷推荐进房
|
||||
- (void)getShortCutRecommendRoom {
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
[Api shortCutRecommendRoom:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
NSString * roomUid = [data.data stringValue];
|
||||
[[self getView] getShortCutRecommendRoomSuccces:roomUid];
|
||||
}] uid:uid];
|
||||
}
|
||||
@end
|
26
xplan-ios/Main/Tabbar/Protocol/MainProtocol.h
Normal file
@@ -0,0 +1,26 @@
|
||||
//
|
||||
// MainProtocol.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by zu on 2021/9/8.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "UserInfoModel.h"
|
||||
@class InviteUserInfoModel, NewUserGreetModel;
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol MainProtocol <NSObject>
|
||||
|
||||
- (void)autoLoginSuccess;
|
||||
- (void)getUserInfoSuccess:(UserInfoModel *)userInfo;
|
||||
|
||||
///获取邀请人的信息成功
|
||||
- (void)checkInviteUserInfoSuccess:(InviteUserInfoModel *)inviteInfo;
|
||||
///获取新用户打招呼信息成功
|
||||
- (void)getNewUserGreetInfoSucces:(NewUserGreetModel *)greetInfo;
|
||||
///快捷推荐进房成功
|
||||
- (void)getShortCutRecommendRoomSuccces:(NSString *)roomUid;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -21,12 +21,15 @@
|
||||
#import "ClientConfig.h"
|
||||
#import "RtcManager.h"
|
||||
#import "XCCurrentVCStackManager.h"
|
||||
#import "Api+Home.h"
|
||||
///Model
|
||||
#import "AccountModel.h"
|
||||
#import "RoomInfoModel.h"
|
||||
#import "AttachmentModel.h"
|
||||
#import "NobleLevelUpModel.h"
|
||||
#import "XPMineVisitorUnReadModel.h"
|
||||
#import "InviteUserInfoModel.h"
|
||||
#import "NewUserGreetModel.h"
|
||||
///VC
|
||||
#import "TabbarViewController.h"
|
||||
#import "BaseViewController.h"
|
||||
@@ -42,11 +45,15 @@
|
||||
#import "XPTeenagerAlertView.h"
|
||||
#import "XPRoomViewController.h"
|
||||
#import "XPNobleUpgradeLevelView.h"
|
||||
#import "XPNewUserGreetRoomAlertView.h"
|
||||
///Present
|
||||
#import "MainPresenter.h"
|
||||
#import "MainProtocol.h"
|
||||
#import "RoomHostDelegate.h"
|
||||
|
||||
UIKIT_EXTERN NSString * kUserCompleteInfoFinishKey;
|
||||
NSString * const kUserFirstLoginKey = @"kUserFirstLoginKey";
|
||||
|
||||
@interface TabbarViewController () <BaseMvpProtocol, MainProtocol, NIMLoginManagerDelegate, NIMSystemNotificationManagerDelegate>
|
||||
|
||||
@property (nonatomic, strong) MainPresenter *presenter;
|
||||
@@ -68,6 +75,10 @@
|
||||
[[NSNotificationCenter defaultCenter] addObserverForName:kRoomMiniNotificationKey object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) {
|
||||
[self configRoomMiniNView:note.userInfo];
|
||||
}];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserverForName:kUserCompleteInfoFinishKey object:nil queue:nil usingBlock:^(NSNotification * _Nonnull note) {
|
||||
[self completeUserInfoFinish:note.object];
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
@@ -116,10 +127,42 @@
|
||||
return;
|
||||
}
|
||||
[self initTabs:YES];
|
||||
[self initQuickEnterRoom];
|
||||
[self showTeenagerAlertView:userInfo];
|
||||
[[NIMSDK sharedSDK].systemNotificationManager addDelegate:self];
|
||||
}
|
||||
|
||||
- (void)checkInviteUserInfoSuccess:(InviteUserInfoModel *)inviteInfo {
|
||||
if (inviteInfo && inviteInfo.isInRoom) {
|
||||
[XPRoomViewController openRoom:inviteInfo.roomUid fromNick:inviteInfo.inviteNick fromType:inviteInfo.fromType fromUid:inviteInfo.inviteUid viewController:self];
|
||||
} else { //不在房间
|
||||
///新用户打招呼引导
|
||||
[self.presenter getNewUserGreetInfo];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)getNewUserGreetInfoSucces:(NewUserGreetModel *)greetInfo {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:kUserFirstLoginKey];
|
||||
if (greetInfo.sayHello) {
|
||||
XPNewUserGreetRoomAlertView * alertView = [[XPNewUserGreetRoomAlertView alloc] init];
|
||||
alertView.greetInfo = greetInfo;
|
||||
alertView.currentVC = self;
|
||||
TTPopupService * config = [[TTPopupService alloc] init];
|
||||
config.contentView = alertView;
|
||||
config.shouldDismissOnBackgroundTouch = NO;
|
||||
config.maskBackgroundAlpha = 0.8;
|
||||
[TTPopup popupWithConfig:config];
|
||||
} else {
|
||||
[self.presenter getShortCutRecommendRoom];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)getShortCutRecommendRoomSuccces:(NSString *)roomUid {
|
||||
if (roomUid.length > 0) {
|
||||
[XPRoomViewController openRoom:roomUid viewController:self];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - BaseMvpProtocol
|
||||
- (void)tokenInvalid {
|
||||
LoginViewController *lvc = [[LoginViewController alloc] init];
|
||||
@@ -291,6 +334,27 @@
|
||||
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:teenagerKey];
|
||||
}
|
||||
|
||||
#pragma mark - 快捷进房
|
||||
- (void)initQuickEnterRoom {
|
||||
BOOL isNotFirstLogin = [[NSUserDefaults standardUserDefaults] boolForKey:kUserFirstLoginKey];
|
||||
if (isNotFirstLogin) {
|
||||
[self.presenter getShortCutRecommendRoom];
|
||||
} else {
|
||||
///新用户
|
||||
[self.presenter getNewUserGreetInfo];
|
||||
}
|
||||
}
|
||||
|
||||
///跳转优先级 闪屏→linkedMe→邀请码→新用户打招呼引导→渠道指定房间
|
||||
- (void)completeUserInfoFinish:(NSString *)inviteCode {
|
||||
if (inviteCode && inviteCode.length > 0) {
|
||||
///邀请码进房
|
||||
[self.presenter checkInviteUserInfo:inviteCode];
|
||||
} else {
|
||||
///新用户打招呼引导
|
||||
[self.presenter getNewUserGreetInfo];
|
||||
}
|
||||
}
|
||||
#pragma mark -NIMSystemNotificationManagerDelegate
|
||||
- (void)onReceiveCustomSystemNotification:(NIMCustomSystemNotification *)notification {
|
||||
if (notification.receiverType == NIMSessionTypeP2P) {
|
17
xplan-ios/Main/Tabbar/View/XPNewUserGreetRoomAlertView.h
Normal file
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// XPHomeNewUserGreetView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/6/2.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class NewUserGreetModel;
|
||||
@interface XPNewUserGreetRoomAlertView : UIView
|
||||
@property (nonatomic,strong) NewUserGreetModel *greetInfo;
|
||||
@property (nonatomic,weak) UIViewController* currentVC;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
223
xplan-ios/Main/Tabbar/View/XPNewUserGreetRoomAlertView.m
Normal file
@@ -0,0 +1,223 @@
|
||||
//
|
||||
// XPHomeNewUserGreetView.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/6/2.
|
||||
//
|
||||
|
||||
#import "XPNewUserGreetRoomAlertView.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
///Tool
|
||||
#import "ThemeColor.h"
|
||||
#import "NetImageView.h"
|
||||
#import "XPMacro.h"
|
||||
#import "TTPopup.h"
|
||||
///Model
|
||||
#import "NewUserGreetModel.h"
|
||||
///View
|
||||
#import "XPRoomViewController.h"
|
||||
|
||||
@interface XPNewUserGreetRoomAlertView ()
|
||||
///关闭按钮
|
||||
@property (nonatomic,strong) UIButton *closeButton;
|
||||
///头像覆盖
|
||||
@property (nonatomic,strong) UIImageView *avatarCoverView;
|
||||
///头像
|
||||
@property (nonatomic,strong) NetImageView *avatarImageView;
|
||||
///昵称
|
||||
@property (nonatomic,strong) UIButton *nickButton;
|
||||
///id
|
||||
@property (nonatomic,strong) UILabel *idLabel;
|
||||
///打招呼
|
||||
@property (nonatomic,strong) UIImageView *greetImageView;
|
||||
///打招呼文案
|
||||
@property (nonatomic,strong) UILabel *greetLabel;
|
||||
///开始浪漫之旅
|
||||
@property (nonatomic,strong) UIButton *startButton;
|
||||
@end
|
||||
|
||||
|
||||
@implementation XPNewUserGreetRoomAlertView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self addSubview:self.closeButton];
|
||||
[self addSubview:self.avatarImageView];
|
||||
[self addSubview:self.avatarCoverView];
|
||||
[self addSubview:self.nickButton];
|
||||
[self addSubview:self.idLabel];
|
||||
[self addSubview:self.greetImageView];
|
||||
[self addSubview:self.greetLabel];
|
||||
[self addSubview:self.startButton];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(KScreenWidth);
|
||||
make.bottom.mas_equalTo(self.startButton.mas_bottom);
|
||||
}];
|
||||
|
||||
[self.closeButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(22, 22));
|
||||
make.top.mas_equalTo(self);
|
||||
make.right.mas_equalTo(self).offset(-52);
|
||||
}];
|
||||
|
||||
[self.avatarCoverView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(253, 219));
|
||||
make.centerX.mas_equalTo(self);
|
||||
make.top.mas_equalTo(self.closeButton.mas_bottom).offset(32);
|
||||
}];
|
||||
|
||||
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(150, 150));
|
||||
make.centerX.mas_equalTo(self.avatarCoverView);
|
||||
make.top.mas_equalTo(self.avatarCoverView).offset(60);
|
||||
}];
|
||||
|
||||
[self.nickButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(165, 28));
|
||||
make.centerX.mas_equalTo(self);
|
||||
make.top.mas_equalTo(self.avatarCoverView.mas_bottom).offset(3);
|
||||
}];
|
||||
|
||||
[self.idLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.mas_equalTo(self);
|
||||
make.top.mas_equalTo(self.nickButton.mas_bottom).offset(7);
|
||||
}];
|
||||
|
||||
[self.greetImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(289, 86));
|
||||
make.centerX.mas_equalTo(self);
|
||||
make.top.mas_equalTo(self.idLabel.mas_bottom).offset(15);
|
||||
}];
|
||||
|
||||
[self.greetLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self.greetImageView).inset(48);
|
||||
make.centerY.mas_equalTo(self.greetImageView);
|
||||
}];
|
||||
|
||||
[self.startButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(240, 47));
|
||||
make.centerX.mas_equalTo(self);
|
||||
make.top.mas_equalTo(self.greetImageView.mas_bottom).offset(36);
|
||||
}];
|
||||
}
|
||||
#pragma mark - Event Response
|
||||
- (void)closeButtonAction:(UIButton *)sender {
|
||||
[TTPopup dismiss];
|
||||
}
|
||||
|
||||
- (void)startButtonAction:(UIButton *)sender {
|
||||
[TTPopup dismiss];
|
||||
if (self.greetInfo.roomUid.length > 0) {
|
||||
[XPRoomViewController openRoom:self.greetInfo.roomUid fromNick:self.greetInfo.sayHelloUserNickname fromType:UserEnterRoomFromType_Follow_User fromUid:self.greetInfo.roomUid viewController:self.currentVC];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setGreetInfo:(NewUserGreetModel *)greetInfo {
|
||||
_greetInfo = greetInfo;
|
||||
if (_greetInfo) {
|
||||
self.avatarImageView.imageUrl = _greetInfo.sayHelloUserAvatar;
|
||||
NSString * nick = _greetInfo.sayHelloUserNickname;
|
||||
if (nick.length > 6) {
|
||||
nick = [nick substringToIndex:6];
|
||||
}
|
||||
[self.nickButton setTitle:nick forState:UIControlStateNormal];
|
||||
self.idLabel.text = [NSString stringWithFormat:@"ID:%@", _greetInfo.sayHelloUserErbanNo];
|
||||
self.greetLabel.text = _greetInfo.sayHelloMsg.length > 0 ? _greetInfo.sayHelloMsg : @"欢迎来到大鹅开黑,Ta已经等待你很久啦,快来一起玩吧~";
|
||||
}
|
||||
}
|
||||
|
||||
- (UIButton *)closeButton {
|
||||
if (!_closeButton) {
|
||||
_closeButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_closeButton setImage:[UIImage imageNamed:@"home_new_user_greet_close"] forState:UIControlStateNormal];
|
||||
[_closeButton setImage:[UIImage imageNamed:@"home_new_user_greet_close"] forState:UIControlStateSelected];
|
||||
[_closeButton addTarget:self action:@selector(closeButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _closeButton;
|
||||
}
|
||||
|
||||
- (UIImageView *)avatarCoverView {
|
||||
if (!_avatarCoverView) {
|
||||
_avatarCoverView = [[UIImageView alloc] init];
|
||||
_avatarCoverView.userInteractionEnabled = YES;
|
||||
_avatarCoverView.image = [UIImage imageNamed:@"home_new_user_greet_avatar_bg"];
|
||||
}
|
||||
return _avatarCoverView;
|
||||
}
|
||||
|
||||
- (NetImageView *)avatarImageView {
|
||||
if (!_avatarImageView) {
|
||||
NetImageConfig * config = [[NetImageConfig alloc]init];
|
||||
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
||||
_avatarImageView = [[NetImageView alloc] initWithConfig:config];
|
||||
_avatarImageView.layer.masksToBounds = YES;
|
||||
_avatarImageView.layer.cornerRadius = 150/2;
|
||||
}
|
||||
return _avatarImageView;
|
||||
}
|
||||
|
||||
- (UIButton *)nickButton {
|
||||
if (!_nickButton) {
|
||||
_nickButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_nickButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
_nickButton.titleLabel.font = [UIFont systemFontOfSize:14];
|
||||
[_nickButton setBackgroundImage:[UIImage imageNamed:@"home_new_user_greet_nick_bg"] forState:UIControlStateNormal];
|
||||
}
|
||||
return _nickButton;
|
||||
}
|
||||
|
||||
- (UILabel *)idLabel {
|
||||
if (!_idLabel) {
|
||||
_idLabel = [[UILabel alloc] init];
|
||||
_idLabel.font = [UIFont systemFontOfSize:12];
|
||||
_idLabel.textColor = [UIColor whiteColor];
|
||||
}
|
||||
return _idLabel;
|
||||
}
|
||||
|
||||
- (UIImageView *)greetImageView {
|
||||
if (!_greetImageView) {
|
||||
_greetImageView = [[UIImageView alloc] init];
|
||||
_greetImageView.userInteractionEnabled = YES;
|
||||
_greetImageView.image = [UIImage imageNamed:@"home_new_user_greet_bg"];
|
||||
}
|
||||
return _greetImageView;
|
||||
}
|
||||
|
||||
- (UILabel *)greetLabel {
|
||||
if (!_greetLabel) {
|
||||
_greetLabel = [[UILabel alloc] init];
|
||||
_greetLabel.font = [UIFont systemFontOfSize:12];
|
||||
_greetLabel.textColor = UIColorFromRGB(0xA00BBB);
|
||||
_greetLabel.numberOfLines = 3;
|
||||
|
||||
}
|
||||
return _greetLabel;
|
||||
}
|
||||
|
||||
- (UIButton *)startButton {
|
||||
if (!_startButton) {
|
||||
_startButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_startButton setTitle:@"开启浪漫之旅" forState:UIControlStateNormal];
|
||||
[_startButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
_startButton.titleLabel.font = [UIFont systemFontOfSize:20 weight:UIFontWeightBold];
|
||||
[_startButton setBackgroundImage:[UIImage imageNamed:@"home_new_user_greet_start_bg"] forState:UIControlStateNormal];
|
||||
[_startButton addTarget:self action:@selector(startButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _startButton;
|
||||
}
|
||||
@end
|