Compare commits
49 Commits
enterprise
...
enterprise
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7fbc7d2e68 | ||
![]() |
bbbb5215b0 | ||
![]() |
49ca351985 | ||
![]() |
e585a5e47a | ||
![]() |
6f75c535c1 | ||
![]() |
9688b04a25 | ||
![]() |
d9d9976046 | ||
![]() |
de67e0b3f9 | ||
![]() |
5554197b7c | ||
![]() |
09ba817622 | ||
![]() |
4dd0447c6f | ||
![]() |
905e3ed441 | ||
![]() |
d00366238e | ||
![]() |
d0f4ad4e12 | ||
![]() |
49fcca821b | ||
![]() |
7ae5cc9a4c | ||
![]() |
12a1dd9284 | ||
![]() |
2f2456fa18 | ||
![]() |
a189cdfaa8 | ||
![]() |
5f0d52451c | ||
![]() |
06b39c2671 | ||
![]() |
32c6c8c7d2 | ||
![]() |
6cbf6c55ca | ||
![]() |
8e1ca7fa99 | ||
![]() |
fe423a27a5 | ||
![]() |
29c188788d | ||
![]() |
9f12705a8b | ||
![]() |
1455e352b7 | ||
![]() |
628b4f0c9f | ||
![]() |
a75f291364 | ||
![]() |
470ecd99e7 | ||
![]() |
c670d7be6d | ||
![]() |
10a1e6e09e | ||
![]() |
5c057821a7 | ||
![]() |
6007611a3b | ||
![]() |
3a576925a2 | ||
![]() |
1bd2382d6a | ||
![]() |
509c47cc2a | ||
![]() |
0f47ed8ed7 | ||
![]() |
972f6d61ea | ||
![]() |
5e2c5080c5 | ||
![]() |
ce308df1b6 | ||
![]() |
6a3201135b | ||
![]() |
6e8ead27dd | ||
![]() |
a8bef5946e | ||
![]() |
3afa60587a | ||
![]() |
52e7d4ff7e | ||
![]() |
566d8a3672 | ||
![]() |
8dffff8492 |
3
Podfile
@@ -11,6 +11,7 @@ target 'YuMi' do
|
||||
pod 'FBSDKLoginKit'
|
||||
pod 'FBSDKCoreKit'
|
||||
pod 'FBSDKShareKit'
|
||||
pod 'LineSDKSwift'
|
||||
# 滑动标签栏
|
||||
pod 'JXCategoryView'
|
||||
pod 'JXPagingView/Pager'
|
||||
@@ -64,7 +65,7 @@ target 'YuMi' do
|
||||
pod 'mob_linksdk_pro'
|
||||
pod 'mob_sharesdk'
|
||||
pod 'mob_sharesdk/ShareSDKPlatforms/Apple'
|
||||
pod 'mob_sharesdk/ShareSDKPlatforms/Line'
|
||||
#pod 'mob_sharesdk/ShareSDKPlatforms/Line'
|
||||
pod 'mob_sharesdk/ShareSDKExtension'
|
||||
|
||||
pod 'UMCommon'
|
||||
|
@@ -206,6 +206,7 @@
|
||||
234489082AC3C5DA0070E5D5 /* SudMGP.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 234489072AC3C5DA0070E5D5 /* SudMGP.framework */; };
|
||||
234489092AC3C5FF0070E5D5 /* SudMGP.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 234489072AC3C5DA0070E5D5 /* SudMGP.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
234D821E2AEC57CF0022EFEB /* YYTextAsyncLayer+PITextAsyncLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 234D821D2AEC57CF0022EFEB /* YYTextAsyncLayer+PITextAsyncLayer.m */; };
|
||||
234F44E32B3EA4F900E2B532 /* PILineManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 234F44E22B3EA4F900E2B532 /* PILineManager.swift */; };
|
||||
235A451A2B04A352009753F5 /* PIRoomActivityWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = 235A45192B04A352009753F5 /* PIRoomActivityWebView.m */; };
|
||||
235A451D2B04A452009753F5 /* PIRoomActivityWebCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 235A451C2B04A452009753F5 /* PIRoomActivityWebCell.m */; };
|
||||
235A45232B04BEB6009753F5 /* PIBaseModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 235A45222B04BEB6009753F5 /* PIBaseModel.m */; };
|
||||
@@ -235,6 +236,8 @@
|
||||
237B94BE2A984DA7007853E3 /* XPRoomTrumpetViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 237B94B72A984DA7007853E3 /* XPRoomTrumpetViewController.m */; };
|
||||
237B94BF2A984DA7007853E3 /* XPRoomTrumpetView.m in Sources */ = {isa = PBXBuildFile; fileRef = 237B94B82A984DA7007853E3 /* XPRoomTrumpetView.m */; };
|
||||
237B94C02A984DA7007853E3 /* Api+RoomTrumpet.m in Sources */ = {isa = PBXBuildFile; fileRef = 237B94BA2A984DA7007853E3 /* Api+RoomTrumpet.m */; };
|
||||
238A90072BA9729200828123 /* PIUniversalBannerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 238A90062BA9729200828123 /* PIUniversalBannerView.m */; };
|
||||
238A900A2BA9756600828123 /* PIUniversalBannerModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238A90092BA9756600828123 /* PIUniversalBannerModel.m */; };
|
||||
238B37A32AC55A2C00BFC9D5 /* XPTreasureFailyPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B37242AC55A2C00BFC9D5 /* XPTreasureFailyPresenter.m */; };
|
||||
238B37A42AC55A2C00BFC9D5 /* TreasureFairyLimitModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B372B2AC55A2C00BFC9D5 /* TreasureFairyLimitModel.m */; };
|
||||
238B37A52AC55A2C00BFC9D5 /* TreasureFailyKeyInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 238B372C2AC55A2C00BFC9D5 /* TreasureFailyKeyInfoModel.m */; };
|
||||
@@ -300,12 +303,23 @@
|
||||
239141C92AE1358F00322CA9 /* PIInputEntireServerScrollingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 239141C82AE1358F00322CA9 /* PIInputEntireServerScrollingView.m */; };
|
||||
239141CC2AE267EF00322CA9 /* PIReceiveRedPacketSuccessView.m in Sources */ = {isa = PBXBuildFile; fileRef = 239141CB2AE267EF00322CA9 /* PIReceiveRedPacketSuccessView.m */; };
|
||||
23942E912A86424500D0ECC2 /* XPLoginAuthCodeVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 23942E902A86424500D0ECC2 /* XPLoginAuthCodeVC.m */; };
|
||||
2396FCE42B22BE5D0014021D /* pi_area_info.json in Resources */ = {isa = PBXBuildFile; fileRef = 2396FCE32B22BE5D0014021D /* pi_area_info.json */; };
|
||||
239BEEDB2AA1E058005CDA94 /* PIHoemCategoryTitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 239BEEDA2AA1E058005CDA94 /* PIHoemCategoryTitleView.m */; };
|
||||
23A03F2D2B4408CD0094227A /* pi_room_lucky_gift.svga in Resources */ = {isa = PBXBuildFile; fileRef = 23A03F2C2B4408CD0094227A /* pi_room_lucky_gift.svga */; };
|
||||
23A439742AA1CF7C002E6039 /* XPNewHomeHeadView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23A439732AA1CF7C002E6039 /* XPNewHomeHeadView.m */; };
|
||||
23B2AEC12A64E9C200543D17 /* LoginForgetEditView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B2AEC02A64E9C200543D17 /* LoginForgetEditView.m */; };
|
||||
23B2AEC42A6516C200543D17 /* LoginForgetPasswordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B2AEC22A6516C200543D17 /* LoginForgetPasswordViewController.m */; };
|
||||
23B8D8D82B85F8B900CA472F /* PIHoemCategoryTitleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B8D8D72B85F8B900CA472F /* PIHoemCategoryTitleCell.m */; };
|
||||
23B8D8DB2B85FDDD00CA472F /* PIHomeCategoryTitleModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B8D8DA2B85FDDD00CA472F /* PIHomeCategoryTitleModel.m */; };
|
||||
23B8D8DE2B860B8800CA472F /* PIHoemCategoryCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B8D8DD2B860B8800CA472F /* PIHoemCategoryCollectionView.m */; };
|
||||
23B8D8E12B87715100CA472F /* PIGeneralPublicScreenModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B8D8E02B87715100CA472F /* PIGeneralPublicScreenModel.m */; };
|
||||
23BA165B2A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23BA165A2A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.m */; };
|
||||
23C7C0B72A7CD7B000802205 /* XPNewMineGuildItemView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C7C0B62A7CD7B000802205 /* XPNewMineGuildItemView.m */; };
|
||||
23C9DFC32B84807A00B51558 /* PIRoomActivityClickView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C9DFC22B84807A00B51558 /* PIRoomActivityClickView.m */; };
|
||||
23C9DFC62B84903500B51558 /* PIRoomActivityChoosePlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C9DFC52B84903500B51558 /* PIRoomActivityChoosePlayView.m */; };
|
||||
23C9DFC92B84917B00B51558 /* PIRoomActivityChoosePlayCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C9DFC82B84917B00B51558 /* PIRoomActivityChoosePlayCell.m */; };
|
||||
23C9DFCC2B85DD8B00B51558 /* PIGuildAnchorIncomeSectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C9DFCB2B85DD8B00B51558 /* PIGuildAnchorIncomeSectionView.m */; };
|
||||
23C9DFCF2B85E21E00B51558 /* PIGuildSingleRoomIncomeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C9DFCE2B85E21E00B51558 /* PIGuildSingleRoomIncomeCell.m */; };
|
||||
23CEFB6C2AFB803B00576D89 /* PISwitchingEnvironmentVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 23CEFB6B2AFB803B00576D89 /* PISwitchingEnvironmentVC.m */; };
|
||||
23CEFC4A2AFB8FC100576D89 /* BSNSStringUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 23CEFC0C2AFB8FC100576D89 /* BSNSStringUtil.m */; };
|
||||
23CEFC4B2AFB8FC100576D89 /* BSUIDemoUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 23CEFC0D2AFB8FC100576D89 /* BSUIDemoUtil.m */; };
|
||||
@@ -390,6 +404,8 @@
|
||||
23E9EB252A84E98300B792F2 /* pi_new_mine_info_online.svga in Resources */ = {isa = PBXBuildFile; fileRef = 23E9EB232A84E98300B792F2 /* pi_new_mine_info_online.svga */; };
|
||||
23E9EB312A85E5D100B792F2 /* pi_app_logo_new_bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 23E9EB302A85E5D100B792F2 /* pi_app_logo_new_bg.png */; };
|
||||
23E9EB332A85E97C00B792F2 /* pi_login_new_logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 23E9EB322A85E97B00B792F2 /* pi_login_new_logo.png */; };
|
||||
23EE96F22B9FF6BE00475D69 /* pi_crazy_zoo.svga in Resources */ = {isa = PBXBuildFile; fileRef = 23EE96F12B9FF6BE00475D69 /* pi_crazy_zoo.svga */; };
|
||||
23EE970A2BA2D39C00475D69 /* PIWebViewSavePhotoView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23EE97092BA2D39C00475D69 /* PIWebViewSavePhotoView.m */; };
|
||||
23FF255B2AB956D50064E904 /* pi_home_new_pk.svga in Resources */ = {isa = PBXBuildFile; fileRef = 23FF255A2AB956D50064E904 /* pi_home_new_pk.svga */; };
|
||||
23FF25622ABAE6310064E904 /* pi_room_game_fine_love.svga in Resources */ = {isa = PBXBuildFile; fileRef = 23FF25612ABAE6310064E904 /* pi_room_game_fine_love.svga */; };
|
||||
23FF25652ABC3B3C0064E904 /* XPHomeGameView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF25642ABC3B3B0064E904 /* XPHomeGameView.m */; };
|
||||
@@ -495,8 +511,6 @@
|
||||
9BA8A47727C60DF7000365A3 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BA8A47627C60DF7000365A3 /* AVFoundation.framework */; };
|
||||
9BAA5FED277A1BBE007453F3 /* XPPrivacyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAA5FEC277A1BBE007453F3 /* XPPrivacyViewController.m */; };
|
||||
9BAA5FF0277A23F4007453F3 /* XPPermissionsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAA5FEF277A23F4007453F3 /* XPPermissionsViewController.m */; };
|
||||
9BAC92EE28E6989400147DD8 /* XPRoomActivityPlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAC92ED28E6989400147DD8 /* XPRoomActivityPlayView.m */; };
|
||||
9BAC92F228E6A05600147DD8 /* XPRoomActivityPlayModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAC92F128E6A05600147DD8 /* XPRoomActivityPlayModel.m */; };
|
||||
9BAC92F528E6E63000147DD8 /* XPRoomInsideOperationCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAC92F428E6E63000147DD8 /* XPRoomInsideOperationCell.m */; };
|
||||
9BB89DC327FE7F3A00586A83 /* XPAnchorFansRelationModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BB89DC227FE7F3A00586A83 /* XPAnchorFansRelationModel.m */; };
|
||||
9BB89DC627FEB9E100586A83 /* XPAnchorFansTaskViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BB89DC527FEB9E100586A83 /* XPAnchorFansTaskViewController.m */; };
|
||||
@@ -975,7 +989,6 @@
|
||||
E85E7B1B2A4EB0D200B6D00A /* XPMineMainIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A8A2A4EB0D200B6D00A /* XPMineMainIncomeStatisViewController.m */; };
|
||||
E85E7B1C2A4EB0D200B6D00A /* XPMineHallAnchorIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A8B2A4EB0D200B6D00A /* XPMineHallAnchorIncomeStatisViewController.m */; };
|
||||
E85E7B1D2A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A8C2A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.m */; };
|
||||
E85E7B1E2A4EB0D200B6D00A /* XPMineAnchorIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A912A4EB0D200B6D00A /* XPMineAnchorIncomeStatisViewController.m */; };
|
||||
E85E7B1F2A4EB0D300B6D00A /* XPMineGuildIncomeStatisViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A932A4EB0D200B6D00A /* XPMineGuildIncomeStatisViewController.m */; };
|
||||
E85E7B202A4EB0D300B6D00A /* XPMineGuildIncomeDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A942A4EB0D200B6D00A /* XPMineGuildIncomeDetailViewController.m */; };
|
||||
E85E7B212A4EB0D300B6D00A /* XPNewMineGuildIncomeRecordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E85E7A952A4EB0D200B6D00A /* XPNewMineGuildIncomeRecordViewController.m */; };
|
||||
@@ -1259,9 +1272,6 @@
|
||||
E89DCF5D2900E5EE001647EC /* WishGiftHistoryModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5C2900E5EE001647EC /* WishGiftHistoryModel.m */; };
|
||||
E89DCF602900F4FB001647EC /* XPWishGiftEnterView.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5F2900F4FB001647EC /* XPWishGiftEnterView.m */; };
|
||||
E8A03DFF27635F960098D9EA /* XPRoomCandyGiftView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A03DFE27635F960098D9EA /* XPRoomCandyGiftView.m */; };
|
||||
E8A1F794290642500099C952 /* XPRoomMorePlayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A1F793290642500099C952 /* XPRoomMorePlayViewController.m */; };
|
||||
E8A1F7972906426B0099C952 /* XPRoomMorePlayPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A1F7962906426B0099C952 /* XPRoomMorePlayPresenter.m */; };
|
||||
E8A1F79C290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A1F79B290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.m */; };
|
||||
E8A30BE328534A28003B4873 /* XPSessionFindNewViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A30BE228534A28003B4873 /* XPSessionFindNewViewController.m */; };
|
||||
E8A30BE828534A63003B4873 /* XPSessionFindNewTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A30BE728534A63003B4873 /* XPSessionFindNewTableViewCell.m */; };
|
||||
E8A30BEB28534A96003B4873 /* XPSessionFindNewFiltrateView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A30BEA28534A96003B4873 /* XPSessionFindNewFiltrateView.m */; };
|
||||
@@ -1873,6 +1883,7 @@
|
||||
234489072AC3C5DA0070E5D5 /* SudMGP.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SudMGP.framework; sourceTree = "<group>"; };
|
||||
234D821C2AEC57CF0022EFEB /* YYTextAsyncLayer+PITextAsyncLayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "YYTextAsyncLayer+PITextAsyncLayer.h"; path = "YuMi/Appdelegate/YYTextAsyncLayer+PITextAsyncLayer.h"; sourceTree = SOURCE_ROOT; };
|
||||
234D821D2AEC57CF0022EFEB /* YYTextAsyncLayer+PITextAsyncLayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "YYTextAsyncLayer+PITextAsyncLayer.m"; path = "YuMi/Appdelegate/YYTextAsyncLayer+PITextAsyncLayer.m"; sourceTree = SOURCE_ROOT; };
|
||||
234F44E22B3EA4F900E2B532 /* PILineManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PILineManager.swift; sourceTree = "<group>"; };
|
||||
235A45182B04A352009753F5 /* PIRoomActivityWebView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIRoomActivityWebView.h; sourceTree = "<group>"; };
|
||||
235A45192B04A352009753F5 /* PIRoomActivityWebView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIRoomActivityWebView.m; sourceTree = "<group>"; };
|
||||
235A451B2B04A452009753F5 /* PIRoomActivityWebCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIRoomActivityWebCell.h; sourceTree = "<group>"; };
|
||||
@@ -1932,6 +1943,10 @@
|
||||
237B94B82A984DA7007853E3 /* XPRoomTrumpetView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPRoomTrumpetView.m; sourceTree = "<group>"; };
|
||||
237B94BA2A984DA7007853E3 /* Api+RoomTrumpet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Api+RoomTrumpet.m"; sourceTree = "<group>"; };
|
||||
237B94BB2A984DA7007853E3 /* Api+RoomTrumpet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Api+RoomTrumpet.h"; sourceTree = "<group>"; };
|
||||
238A90052BA9729200828123 /* PIUniversalBannerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIUniversalBannerView.h; sourceTree = "<group>"; };
|
||||
238A90062BA9729200828123 /* PIUniversalBannerView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIUniversalBannerView.m; sourceTree = "<group>"; };
|
||||
238A90082BA9756600828123 /* PIUniversalBannerModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIUniversalBannerModel.h; sourceTree = "<group>"; };
|
||||
238A90092BA9756600828123 /* PIUniversalBannerModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIUniversalBannerModel.m; sourceTree = "<group>"; };
|
||||
238B37242AC55A2C00BFC9D5 /* XPTreasureFailyPresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTreasureFailyPresenter.m; sourceTree = "<group>"; };
|
||||
238B37252AC55A2C00BFC9D5 /* XPTreasureFailyPresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFailyPresenter.h; sourceTree = "<group>"; };
|
||||
238B37272AC55A2C00BFC9D5 /* XPTreasureFailyProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTreasureFailyProtocol.h; sourceTree = "<group>"; };
|
||||
@@ -2063,18 +2078,38 @@
|
||||
239141CB2AE267EF00322CA9 /* PIReceiveRedPacketSuccessView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIReceiveRedPacketSuccessView.m; sourceTree = "<group>"; };
|
||||
23942E8F2A86424500D0ECC2 /* XPLoginAuthCodeVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPLoginAuthCodeVC.h; sourceTree = "<group>"; };
|
||||
23942E902A86424500D0ECC2 /* XPLoginAuthCodeVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPLoginAuthCodeVC.m; sourceTree = "<group>"; };
|
||||
2396FCE32B22BE5D0014021D /* pi_area_info.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = pi_area_info.json; sourceTree = "<group>"; };
|
||||
239BEED92AA1E058005CDA94 /* PIHoemCategoryTitleView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIHoemCategoryTitleView.h; sourceTree = "<group>"; };
|
||||
239BEEDA2AA1E058005CDA94 /* PIHoemCategoryTitleView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIHoemCategoryTitleView.m; sourceTree = "<group>"; };
|
||||
23A03F2C2B4408CD0094227A /* pi_room_lucky_gift.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = pi_room_lucky_gift.svga; sourceTree = "<group>"; };
|
||||
23A439722AA1CF7C002E6039 /* XPNewHomeHeadView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNewHomeHeadView.h; sourceTree = "<group>"; };
|
||||
23A439732AA1CF7C002E6039 /* XPNewHomeHeadView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNewHomeHeadView.m; sourceTree = "<group>"; };
|
||||
23B2AEBF2A64E9C200543D17 /* LoginForgetEditView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginForgetEditView.h; sourceTree = "<group>"; };
|
||||
23B2AEC02A64E9C200543D17 /* LoginForgetEditView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginForgetEditView.m; sourceTree = "<group>"; };
|
||||
23B2AEC22A6516C200543D17 /* LoginForgetPasswordViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginForgetPasswordViewController.m; sourceTree = "<group>"; };
|
||||
23B2AEC32A6516C200543D17 /* LoginForgetPasswordViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginForgetPasswordViewController.h; sourceTree = "<group>"; };
|
||||
23B8D8D62B85F8B900CA472F /* PIHoemCategoryTitleCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIHoemCategoryTitleCell.h; sourceTree = "<group>"; };
|
||||
23B8D8D72B85F8B900CA472F /* PIHoemCategoryTitleCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIHoemCategoryTitleCell.m; sourceTree = "<group>"; };
|
||||
23B8D8D92B85FDDD00CA472F /* PIHomeCategoryTitleModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIHomeCategoryTitleModel.h; sourceTree = "<group>"; };
|
||||
23B8D8DA2B85FDDD00CA472F /* PIHomeCategoryTitleModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIHomeCategoryTitleModel.m; sourceTree = "<group>"; };
|
||||
23B8D8DC2B860B8800CA472F /* PIHoemCategoryCollectionView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIHoemCategoryCollectionView.h; sourceTree = "<group>"; };
|
||||
23B8D8DD2B860B8800CA472F /* PIHoemCategoryCollectionView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIHoemCategoryCollectionView.m; sourceTree = "<group>"; };
|
||||
23B8D8DF2B87715100CA472F /* PIGeneralPublicScreenModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIGeneralPublicScreenModel.h; sourceTree = "<group>"; };
|
||||
23B8D8E02B87715100CA472F /* PIGeneralPublicScreenModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIGeneralPublicScreenModel.m; sourceTree = "<group>"; };
|
||||
23BA16592A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIBaseAnimationViewModel.h; sourceTree = "<group>"; };
|
||||
23BA165A2A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIBaseAnimationViewModel.m; sourceTree = "<group>"; };
|
||||
23C7C0B52A7CD7B000802205 /* XPNewMineGuildItemView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNewMineGuildItemView.h; sourceTree = "<group>"; };
|
||||
23C7C0B62A7CD7B000802205 /* XPNewMineGuildItemView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNewMineGuildItemView.m; sourceTree = "<group>"; };
|
||||
23C9DFC12B84807A00B51558 /* PIRoomActivityClickView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIRoomActivityClickView.h; sourceTree = "<group>"; };
|
||||
23C9DFC22B84807A00B51558 /* PIRoomActivityClickView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIRoomActivityClickView.m; sourceTree = "<group>"; };
|
||||
23C9DFC42B84903500B51558 /* PIRoomActivityChoosePlayView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIRoomActivityChoosePlayView.h; sourceTree = "<group>"; };
|
||||
23C9DFC52B84903500B51558 /* PIRoomActivityChoosePlayView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIRoomActivityChoosePlayView.m; sourceTree = "<group>"; };
|
||||
23C9DFC72B84917B00B51558 /* PIRoomActivityChoosePlayCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIRoomActivityChoosePlayCell.h; sourceTree = "<group>"; };
|
||||
23C9DFC82B84917B00B51558 /* PIRoomActivityChoosePlayCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIRoomActivityChoosePlayCell.m; sourceTree = "<group>"; };
|
||||
23C9DFCA2B85DD8B00B51558 /* PIGuildAnchorIncomeSectionView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIGuildAnchorIncomeSectionView.h; sourceTree = "<group>"; };
|
||||
23C9DFCB2B85DD8B00B51558 /* PIGuildAnchorIncomeSectionView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIGuildAnchorIncomeSectionView.m; sourceTree = "<group>"; };
|
||||
23C9DFCD2B85E21E00B51558 /* PIGuildSingleRoomIncomeCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIGuildSingleRoomIncomeCell.h; sourceTree = "<group>"; };
|
||||
23C9DFCE2B85E21E00B51558 /* PIGuildSingleRoomIncomeCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIGuildSingleRoomIncomeCell.m; sourceTree = "<group>"; };
|
||||
23CEFB6A2AFB803B00576D89 /* PISwitchingEnvironmentVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PISwitchingEnvironmentVC.h; sourceTree = "<group>"; };
|
||||
23CEFB6B2AFB803B00576D89 /* PISwitchingEnvironmentVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PISwitchingEnvironmentVC.m; sourceTree = "<group>"; };
|
||||
23CEFC0B2AFB8FC100576D89 /* BSXWDateUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSXWDateUtil.h; sourceTree = "<group>"; };
|
||||
@@ -2231,6 +2266,9 @@
|
||||
23E9EB232A84E98300B792F2 /* pi_new_mine_info_online.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = pi_new_mine_info_online.svga; sourceTree = "<group>"; };
|
||||
23E9EB302A85E5D100B792F2 /* pi_app_logo_new_bg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pi_app_logo_new_bg.png; sourceTree = "<group>"; };
|
||||
23E9EB322A85E97B00B792F2 /* pi_login_new_logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pi_login_new_logo.png; sourceTree = "<group>"; };
|
||||
23EE96F12B9FF6BE00475D69 /* pi_crazy_zoo.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = pi_crazy_zoo.svga; sourceTree = "<group>"; };
|
||||
23EE97082BA2D39C00475D69 /* PIWebViewSavePhotoView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIWebViewSavePhotoView.h; sourceTree = "<group>"; };
|
||||
23EE97092BA2D39C00475D69 /* PIWebViewSavePhotoView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIWebViewSavePhotoView.m; sourceTree = "<group>"; };
|
||||
23FF255A2AB956D50064E904 /* pi_home_new_pk.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = pi_home_new_pk.svga; sourceTree = "<group>"; };
|
||||
23FF25612ABAE6310064E904 /* pi_room_game_fine_love.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = pi_room_game_fine_love.svga; sourceTree = "<group>"; };
|
||||
23FF25632ABC3B3B0064E904 /* XPHomeGameView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPHomeGameView.h; sourceTree = "<group>"; };
|
||||
@@ -2434,10 +2472,6 @@
|
||||
9BAA5FEC277A1BBE007453F3 /* XPPrivacyViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPPrivacyViewController.m; sourceTree = "<group>"; };
|
||||
9BAA5FEE277A23F4007453F3 /* XPPermissionsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPPermissionsViewController.h; sourceTree = "<group>"; };
|
||||
9BAA5FEF277A23F4007453F3 /* XPPermissionsViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPPermissionsViewController.m; sourceTree = "<group>"; };
|
||||
9BAC92EC28E6989400147DD8 /* XPRoomActivityPlayView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomActivityPlayView.h; sourceTree = "<group>"; };
|
||||
9BAC92ED28E6989400147DD8 /* XPRoomActivityPlayView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomActivityPlayView.m; sourceTree = "<group>"; };
|
||||
9BAC92F028E6A05600147DD8 /* XPRoomActivityPlayModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomActivityPlayModel.h; sourceTree = "<group>"; };
|
||||
9BAC92F128E6A05600147DD8 /* XPRoomActivityPlayModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomActivityPlayModel.m; sourceTree = "<group>"; };
|
||||
9BAC92F328E6E63000147DD8 /* XPRoomInsideOperationCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomInsideOperationCell.h; sourceTree = "<group>"; };
|
||||
9BAC92F428E6E63000147DD8 /* XPRoomInsideOperationCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomInsideOperationCell.m; sourceTree = "<group>"; };
|
||||
9BAD41AD28C6ECBA005E47B3 /* XPInRoomRecordProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPInRoomRecordProtocol.h; sourceTree = "<group>"; };
|
||||
@@ -3250,7 +3284,6 @@
|
||||
E85E7A842A4EB0D200B6D00A /* GuildSearchUserInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuildSearchUserInfoModel.h; sourceTree = "<group>"; };
|
||||
E85E7A872A4EB0D200B6D00A /* XPMineGuildIncomeStatisViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineGuildIncomeStatisViewController.h; sourceTree = "<group>"; };
|
||||
E85E7A882A4EB0D200B6D00A /* XPMineGoldIncomeRecordVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineGoldIncomeRecordVC.m; sourceTree = "<group>"; };
|
||||
E85E7A892A4EB0D200B6D00A /* XPMineAnchorIncomeStatisViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineAnchorIncomeStatisViewController.h; sourceTree = "<group>"; };
|
||||
E85E7A8A2A4EB0D200B6D00A /* XPMineMainIncomeStatisViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineMainIncomeStatisViewController.m; sourceTree = "<group>"; };
|
||||
E85E7A8B2A4EB0D200B6D00A /* XPMineHallAnchorIncomeStatisViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineHallAnchorIncomeStatisViewController.m; sourceTree = "<group>"; };
|
||||
E85E7A8C2A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineClanIncomeStatisViewController.m; sourceTree = "<group>"; };
|
||||
@@ -3258,7 +3291,6 @@
|
||||
E85E7A8E2A4EB0D200B6D00A /* XPMineGuildIncomeDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineGuildIncomeDetailViewController.h; sourceTree = "<group>"; };
|
||||
E85E7A8F2A4EB0D200B6D00A /* XPMineGuildIncomeRecordViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineGuildIncomeRecordViewController.h; sourceTree = "<group>"; };
|
||||
E85E7A902A4EB0D200B6D00A /* XPMineMainIncomeStatisViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineMainIncomeStatisViewController.h; sourceTree = "<group>"; };
|
||||
E85E7A912A4EB0D200B6D00A /* XPMineAnchorIncomeStatisViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineAnchorIncomeStatisViewController.m; sourceTree = "<group>"; };
|
||||
E85E7A922A4EB0D200B6D00A /* XPMineGoldIncomeRecordVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineGoldIncomeRecordVC.h; sourceTree = "<group>"; };
|
||||
E85E7A932A4EB0D200B6D00A /* XPMineGuildIncomeStatisViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineGuildIncomeStatisViewController.m; sourceTree = "<group>"; };
|
||||
E85E7A942A4EB0D200B6D00A /* XPMineGuildIncomeDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineGuildIncomeDetailViewController.m; sourceTree = "<group>"; };
|
||||
@@ -3837,13 +3869,6 @@
|
||||
E89DCF5F2900F4FB001647EC /* XPWishGiftEnterView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftEnterView.m; sourceTree = "<group>"; };
|
||||
E8A03DFD27635F960098D9EA /* XPRoomCandyGiftView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomCandyGiftView.h; sourceTree = "<group>"; };
|
||||
E8A03DFE27635F960098D9EA /* XPRoomCandyGiftView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomCandyGiftView.m; sourceTree = "<group>"; };
|
||||
E8A1F792290642500099C952 /* XPRoomMorePlayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMorePlayViewController.h; sourceTree = "<group>"; };
|
||||
E8A1F793290642500099C952 /* XPRoomMorePlayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMorePlayViewController.m; sourceTree = "<group>"; };
|
||||
E8A1F7952906426B0099C952 /* XPRoomMorePlayPresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMorePlayPresenter.h; sourceTree = "<group>"; };
|
||||
E8A1F7962906426B0099C952 /* XPRoomMorePlayPresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMorePlayPresenter.m; sourceTree = "<group>"; };
|
||||
E8A1F7982906427D0099C952 /* XPRoomMorePlayProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMorePlayProtocol.h; sourceTree = "<group>"; };
|
||||
E8A1F79A290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMorePlayCollectionViewCell.h; sourceTree = "<group>"; };
|
||||
E8A1F79B290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMorePlayCollectionViewCell.m; sourceTree = "<group>"; };
|
||||
E8A30BE128534A28003B4873 /* XPSessionFindNewViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPSessionFindNewViewController.h; sourceTree = "<group>"; };
|
||||
E8A30BE228534A28003B4873 /* XPSessionFindNewViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPSessionFindNewViewController.m; sourceTree = "<group>"; };
|
||||
E8A30BE628534A63003B4873 /* XPSessionFindNewTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPSessionFindNewTableViewCell.h; sourceTree = "<group>"; };
|
||||
@@ -4343,6 +4368,8 @@
|
||||
E80E09AC2A41336500CD2BE7 /* XPWebViewNavView.m */,
|
||||
18E7B33026F317A20064BC9B /* XPWebViewController.h */,
|
||||
18E7B33126F317A20064BC9B /* XPWebViewController.m */,
|
||||
23EE97082BA2D39C00475D69 /* PIWebViewSavePhotoView.h */,
|
||||
23EE97092BA2D39C00475D69 /* PIWebViewSavePhotoView.m */,
|
||||
);
|
||||
path = YMWeb;
|
||||
sourceTree = "<group>";
|
||||
@@ -4593,6 +4620,7 @@
|
||||
E84A2EAC2A52F20900D6AF8A /* Launch Screen.storyboard */,
|
||||
23E9EB322A85E97B00B792F2 /* pi_login_new_logo.png */,
|
||||
23E9EB302A85E5D100B792F2 /* pi_app_logo_new_bg.png */,
|
||||
2396FCE32B22BE5D0014021D /* pi_area_info.json */,
|
||||
189DD53D26DE255600AB55B1 /* Info.plist */,
|
||||
E80E09AB2A40B70100CD2BE7 /* Localizable.strings */,
|
||||
189DD53E26DE255600AB55B1 /* main.m */,
|
||||
@@ -4787,6 +4815,7 @@
|
||||
189DD5A726DFA09700AB55B1 /* Tools */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234F44E12B3EA4DC00E2B532 /* YMLine */,
|
||||
23CEFC082AFB8FC100576D89 /* sdkContent */,
|
||||
23FF255C2ABA8EEE0064E904 /* PIIAPTool */,
|
||||
23E9EA9B2A84C42B00B792F2 /* SGYProgressView */,
|
||||
@@ -5364,6 +5393,14 @@
|
||||
path = UILabel;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
234F44E12B3EA4DC00E2B532 /* YMLine */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
234F44E22B3EA4F900E2B532 /* PILineManager.swift */,
|
||||
);
|
||||
path = YMLine;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
236B2E1B2AA0786E003967A8 /* Library */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -7492,6 +7529,8 @@
|
||||
F1D8556E2931FC86008C418F /* XPRoomYearActivityView.m */,
|
||||
E80E09B12A42071C00CD2BE7 /* XPRoomStarKitchenBannerView.h */,
|
||||
E80E09B22A42071D00CD2BE7 /* XPRoomStarKitchenBannerView.m */,
|
||||
238A90052BA9729200828123 /* PIUniversalBannerView.h */,
|
||||
238A90062BA9729200828123 /* PIUniversalBannerView.m */,
|
||||
);
|
||||
path = AnimationView;
|
||||
sourceTree = "<group>";
|
||||
@@ -7645,6 +7684,8 @@
|
||||
E80E09B52A42078F00CD2BE7 /* XPRoomStarKitchenModel.m */,
|
||||
23BA16592A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.h */,
|
||||
23BA165A2A5D2ACF0030C5A3 /* PIBaseAnimationViewModel.m */,
|
||||
238A90082BA9756600828123 /* PIUniversalBannerModel.h */,
|
||||
238A90092BA9756600828123 /* PIUniversalBannerModel.m */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
@@ -7890,6 +7931,8 @@
|
||||
E87A24F0272935920086A794 /* XPMessageRemoteExtModel.m */,
|
||||
E8398069290288660084BFC8 /* XPMessageInfoModel.h */,
|
||||
E839806A290288660084BFC8 /* XPMessageInfoModel.m */,
|
||||
23B8D8DF2B87715100CA472F /* PIGeneralPublicScreenModel.h */,
|
||||
23B8D8E02B87715100CA472F /* PIGeneralPublicScreenModel.m */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
@@ -8097,8 +8140,6 @@
|
||||
E85E7A862A4EB0D200B6D00A /* IncomeStatis */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E85E7A892A4EB0D200B6D00A /* XPMineAnchorIncomeStatisViewController.h */,
|
||||
E85E7A912A4EB0D200B6D00A /* XPMineAnchorIncomeStatisViewController.m */,
|
||||
E85E7A962A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.h */,
|
||||
E85E7A8C2A4EB0D200B6D00A /* XPMineClanIncomeStatisViewController.m */,
|
||||
E85E7A922A4EB0D200B6D00A /* XPMineGoldIncomeRecordVC.h */,
|
||||
@@ -8147,6 +8188,8 @@
|
||||
E85E7AB82A4EB0D200B6D00A /* XPGoldIncomeSectionView.m */,
|
||||
E85E7AB02A4EB0D200B6D00A /* XPGuildAnchorIncomeSectionView.h */,
|
||||
E85E7ABC2A4EB0D200B6D00A /* XPGuildAnchorIncomeSectionView.m */,
|
||||
23C9DFCA2B85DD8B00B51558 /* PIGuildAnchorIncomeSectionView.h */,
|
||||
23C9DFCB2B85DD8B00B51558 /* PIGuildAnchorIncomeSectionView.m */,
|
||||
E85E7AA52A4EB0D200B6D00A /* XPGuildHeaderView.h */,
|
||||
E85E7AB22A4EB0D200B6D00A /* XPGuildHeaderView.m */,
|
||||
E85E7AA92A4EB0D200B6D00A /* XPGuildIncomeHeaderView.h */,
|
||||
@@ -8238,6 +8281,8 @@
|
||||
E85E7AD72A4EB0D200B6D00A /* XPGuildPersonIncomeTableViewCell.m */,
|
||||
E85E7AD92A4EB0D200B6D00A /* XPGuildSingleRoomIncomeTableViewCell.h */,
|
||||
E85E7AD52A4EB0D200B6D00A /* XPGuildSingleRoomIncomeTableViewCell.m */,
|
||||
23C9DFCD2B85E21E00B51558 /* PIGuildSingleRoomIncomeCell.h */,
|
||||
23C9DFCE2B85E21E00B51558 /* PIGuildSingleRoomIncomeCell.m */,
|
||||
);
|
||||
path = Income;
|
||||
sourceTree = "<group>";
|
||||
@@ -8948,6 +8993,10 @@
|
||||
E87E625C2A3F5622002F68C9 /* XPNewHomeViewController.m */,
|
||||
239BEED92AA1E058005CDA94 /* PIHoemCategoryTitleView.h */,
|
||||
239BEEDA2AA1E058005CDA94 /* PIHoemCategoryTitleView.m */,
|
||||
23B8D8DC2B860B8800CA472F /* PIHoemCategoryCollectionView.h */,
|
||||
23B8D8DD2B860B8800CA472F /* PIHoemCategoryCollectionView.m */,
|
||||
23B8D8D62B85F8B900CA472F /* PIHoemCategoryTitleCell.h */,
|
||||
23B8D8D72B85F8B900CA472F /* PIHoemCategoryTitleCell.m */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
@@ -8982,6 +9031,8 @@
|
||||
E87DF4BE2A42C8C1009C1185 /* HomeTagModel.m */,
|
||||
23FF42712AA6CC480055733C /* PIHomeItemModel.h */,
|
||||
23FF42722AA6CC480055733C /* PIHomeItemModel.m */,
|
||||
23B8D8D92B85FDDD00CA472F /* PIHomeCategoryTitleModel.h */,
|
||||
23B8D8DA2B85FDDD00CA472F /* PIHomeCategoryTitleModel.m */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
@@ -9362,6 +9413,8 @@
|
||||
E8A1E45C276220B100B294CA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
23EE96F12B9FF6BE00475D69 /* pi_crazy_zoo.svga */,
|
||||
23A03F2C2B4408CD0094227A /* pi_room_lucky_gift.svga */,
|
||||
23FF256F2ABD456C0064E904 /* pi_home_new_play.svga */,
|
||||
23FF25612ABAE6310064E904 /* pi_room_game_fine_love.svga */,
|
||||
232C444A2AB4363200D4B2ED /* pi_room_tarrow_h5_banner.svga */,
|
||||
@@ -9377,62 +9430,6 @@
|
||||
path = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8A1F78D290641D80099C952 /* MorePlay */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8A1F791290642040099C952 /* Model */,
|
||||
E8A1F790290641FB0099C952 /* View */,
|
||||
E8A1F78F290641EB0099C952 /* Presenter */,
|
||||
E8A1F78E290641E50099C952 /* Protocol */,
|
||||
);
|
||||
path = MorePlay;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8A1F78E290641E50099C952 /* Protocol */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8A1F7982906427D0099C952 /* XPRoomMorePlayProtocol.h */,
|
||||
);
|
||||
path = Protocol;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8A1F78F290641EB0099C952 /* Presenter */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8A1F7952906426B0099C952 /* XPRoomMorePlayPresenter.h */,
|
||||
E8A1F7962906426B0099C952 /* XPRoomMorePlayPresenter.m */,
|
||||
);
|
||||
path = Presenter;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8A1F790290641FB0099C952 /* View */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8A1F799290644C20099C952 /* Cell */,
|
||||
E8A1F792290642500099C952 /* XPRoomMorePlayViewController.h */,
|
||||
E8A1F793290642500099C952 /* XPRoomMorePlayViewController.m */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8A1F791290642040099C952 /* Model */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9BAC92F028E6A05600147DD8 /* XPRoomActivityPlayModel.h */,
|
||||
9BAC92F128E6A05600147DD8 /* XPRoomActivityPlayModel.m */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8A1F799290644C20099C952 /* Cell */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8A1F79A290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.h */,
|
||||
E8A1F79B290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.m */,
|
||||
);
|
||||
path = Cell;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8A30BDB28534667003B4873 /* FindNew */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -9664,7 +9661,6 @@
|
||||
E8AEAEE927141ACC0017FCE0 /* MenuContainerView */,
|
||||
E8AEAEE627141ACC0017FCE0 /* MessageContainerView */,
|
||||
186F8B472733F2AE007A17BC /* MicroQueueProtocol.h */,
|
||||
E8A1F78D290641D80099C952 /* MorePlay */,
|
||||
E8DEC9962764A51F0078CB70 /* MoreView */,
|
||||
9B9BBF80288FBF93004E2E74 /* NewUserGift */,
|
||||
E87AE8C2284E1A6B00CAFBB3 /* NewUserGreet */,
|
||||
@@ -9704,8 +9700,12 @@
|
||||
children = (
|
||||
E8AE427127153A3500BEEBB2 /* XPRoomActivityContainerView.h */,
|
||||
E8AE427227153A3500BEEBB2 /* XPRoomActivityContainerView.m */,
|
||||
9BAC92EC28E6989400147DD8 /* XPRoomActivityPlayView.h */,
|
||||
9BAC92ED28E6989400147DD8 /* XPRoomActivityPlayView.m */,
|
||||
23C9DFC12B84807A00B51558 /* PIRoomActivityClickView.h */,
|
||||
23C9DFC22B84807A00B51558 /* PIRoomActivityClickView.m */,
|
||||
23C9DFC42B84903500B51558 /* PIRoomActivityChoosePlayView.h */,
|
||||
23C9DFC52B84903500B51558 /* PIRoomActivityChoosePlayView.m */,
|
||||
23C9DFC72B84917B00B51558 /* PIRoomActivityChoosePlayCell.h */,
|
||||
23C9DFC82B84917B00B51558 /* PIRoomActivityChoosePlayCell.m */,
|
||||
235A45182B04A352009753F5 /* PIRoomActivityWebView.h */,
|
||||
235A45192B04A352009753F5 /* PIRoomActivityWebView.m */,
|
||||
235A451B2B04A452009753F5 /* PIRoomActivityWebCell.h */,
|
||||
@@ -10568,6 +10568,7 @@
|
||||
E8729EEF2A3B34D30076D80A /* images in Resources */,
|
||||
E80EC86728ACD84000D133C5 /* emoji_11@2x.png in Resources */,
|
||||
E80EC88B28ACD84000D133C5 /* emoji_58@2x.png in Resources */,
|
||||
23EE96F22B9FF6BE00475D69 /* pi_crazy_zoo.svga in Resources */,
|
||||
E80EC85D28ACD84000D133C5 /* emoji_06@2x.png in Resources */,
|
||||
E80EC83428ACD84000D133C5 /* emoji_128@2x.png in Resources */,
|
||||
E80EC81C28ACD84000D133C5 /* emoji_92@2x.png in Resources */,
|
||||
@@ -10642,6 +10643,7 @@
|
||||
E80EC87128ACD84000D133C5 /* emoji_160@2x.png in Resources */,
|
||||
23E9EB252A84E98300B792F2 /* pi_new_mine_info_online.svga in Resources */,
|
||||
23FF42652AA5AC040055733C /* home_heat.gif in Resources */,
|
||||
23A03F2D2B4408CD0094227A /* pi_room_lucky_gift.svga in Resources */,
|
||||
E80EC86D28ACD84000D133C5 /* emoji_35@2x.png in Resources */,
|
||||
E80EC86528ACD84000D133C5 /* emoji_03@2x.png in Resources */,
|
||||
E80EC85B28ACD84000D133C5 /* emoji_69@2x.png in Resources */,
|
||||
@@ -10749,6 +10751,7 @@
|
||||
E80EC87628ACD84000D133C5 /* emoji_139@2x.png in Resources */,
|
||||
23CEFC572AFB8FC100576D89 /* pay_off@2x.png in Resources */,
|
||||
E80EC86328ACD84000D133C5 /* emoji_41@2x.png in Resources */,
|
||||
2396FCE42B22BE5D0014021D /* pi_area_info.json in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -10830,6 +10833,7 @@
|
||||
E839532D276A030F00CF2F24 /* XPMineDressUpListViewController.m in Sources */,
|
||||
E821077B2987D4AB00DE7040 /* MessageFindNewGreetModel.m in Sources */,
|
||||
E85E7BA32A4EC99300B6D00A /* XPMineGiveDiamondDetailsVC.m in Sources */,
|
||||
238A90072BA9729200828123 /* PIUniversalBannerView.m in Sources */,
|
||||
E8B846D826FDE17300A777FE /* XPMineRechargeProtocol.h in Sources */,
|
||||
E88C72A6282921D60047FB2B /* XPRoomBackMusicPlayerView.m in Sources */,
|
||||
E84CBCE72843807500D43221 /* XPMineFriendPresenter.m in Sources */,
|
||||
@@ -10865,6 +10869,7 @@
|
||||
E87C0AA027D9DE6400CB2241 /* RoomFaceSendInfoModel.m in Sources */,
|
||||
1464C5F629A4CA8C00AF7C94 /* XPIAPRechargeCollectionViewCell.m in Sources */,
|
||||
E8751E6328A646400056EF44 /* XPSailingRankView.m in Sources */,
|
||||
23C9DFCC2B85DD8B00B51558 /* PIGuildAnchorIncomeSectionView.m in Sources */,
|
||||
9BD9A18027A0EFC7004186FE /* XPMineVisitorTableViewCell.m in Sources */,
|
||||
233423D02AAEFBC300B1253F /* PICandyTreeSetModel.m in Sources */,
|
||||
E85E7B112A4EB0D200B6D00A /* GuildPersonIncomeRecordModel.m in Sources */,
|
||||
@@ -10970,7 +10975,6 @@
|
||||
E80E900C27E0358900434B90 /* XPRoomTopicAlertView.m in Sources */,
|
||||
9BDA3E7A27FD43EF00517FE6 /* XPAnchorFansTeamEntranceView.m in Sources */,
|
||||
E81C279826EB3AC40031E639 /* LoginForgetPasswordProtocol.h in Sources */,
|
||||
9BAC92F228E6A05600147DD8 /* XPRoomActivityPlayModel.m in Sources */,
|
||||
9BD8D4E328911E9900AE03FF /* XPMineCollectRoomListViewController.m in Sources */,
|
||||
2331C1732A5EB71000E1D940 /* XPNoblePrivilegeCell.m in Sources */,
|
||||
9B2EA7C628041EFC00ED17BF /* XPAnchorPkPanelView.m in Sources */,
|
||||
@@ -11027,13 +11031,13 @@
|
||||
23194DCD2AD14BF000649F51 /* DDASLLogger.m in Sources */,
|
||||
E85E7B492A4EB0D300B6D00A /* XPMineGuildSearchViewController.m in Sources */,
|
||||
9B86D88328192DC000494FCD /* XPRoomRankEntranceView.m in Sources */,
|
||||
238A900A2BA9756600828123 /* PIUniversalBannerModel.m in Sources */,
|
||||
E85E7B012A4EB0D200B6D00A /* XPSuperAdminSetPresenter.m in Sources */,
|
||||
18F404B7276095D700A6C548 /* SessionChatLimitView.m in Sources */,
|
||||
E8788942273A55AD00BF1D57 /* XPGiftUsersView.m in Sources */,
|
||||
9BD9A17927A0EC57004186FE /* XPMineVisitorPresenter.m in Sources */,
|
||||
E8BD0F8828A9E9E400DE050D /* RoomSailingPrizeModel.m in Sources */,
|
||||
238B37B32AC55A2C00BFC9D5 /* XPTreasureFairyPrizeRecordCell.m in Sources */,
|
||||
E8A1F79C290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.m in Sources */,
|
||||
23CEFC512AFB8FC100576D89 /* SystemUtil.m in Sources */,
|
||||
E8659909273E800D00EE349D /* XPGiftCollectionViewFlowLayout.m in Sources */,
|
||||
238B37BD2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsContentView.m in Sources */,
|
||||
@@ -11113,7 +11117,9 @@
|
||||
E8998D8B2859CB6A00C68558 /* XPMineUserInfoGiftWallSubViewController.m in Sources */,
|
||||
E8DEC9A42764A6600078CB70 /* XPMoreMenuPresenter.m in Sources */,
|
||||
189DD53426DE255300AB55B1 /* TabbarViewController.m in Sources */,
|
||||
23C9DFC92B84917B00B51558 /* PIRoomActivityChoosePlayCell.m in Sources */,
|
||||
9BA3B40B293DCDFD0071DF1C /* XPVersionUpdateModel.m in Sources */,
|
||||
23C9DFCF2B85E21E00B51558 /* PIGuildSingleRoomIncomeCell.m in Sources */,
|
||||
18EE401A2754BA9F00A452BF /* NIMMessageMaker.m in Sources */,
|
||||
E8EEB91D26FC9D58007C6EBA /* XPMineUserInfoDateView.m in Sources */,
|
||||
E82325E9274CE56A003A3332 /* XPShareItem.m in Sources */,
|
||||
@@ -11172,6 +11178,7 @@
|
||||
E81C27AB26EF2D920031E639 /* ThirdUserInfo.m in Sources */,
|
||||
23FF25682ABC3BC00064E904 /* XPHomeGameCell.m in Sources */,
|
||||
E8788950273A699900BF1D57 /* ThemeColor+SendGift.m in Sources */,
|
||||
23B8D8D82B85F8B900CA472F /* PIHoemCategoryTitleCell.m in Sources */,
|
||||
E81C279D26EEEC620031E639 /* YUMIConstant.m in Sources */,
|
||||
238B37AF2AC55A2C00BFC9D5 /* XPTreasureFairyViewController.m in Sources */,
|
||||
238B37DB2AC55A2C00BFC9D5 /* PITreasureFairyBuyElfShardSuccessView.m in Sources */,
|
||||
@@ -11285,6 +11292,7 @@
|
||||
1464C5F329A4C18000AF7C94 /* XPIAPRechargeViewController.m in Sources */,
|
||||
E85E7B662A4EC35A00B6D00A /* XPIncomeRecordGoldDetailsModel.m in Sources */,
|
||||
9B2EA7CC2804245500ED17BF /* XPAnchorPKPanelUserView.m in Sources */,
|
||||
23EE970A2BA2D39C00475D69 /* PIWebViewSavePhotoView.m in Sources */,
|
||||
2331C1B42A60F32D00E1D940 /* XPCandyTreeRankTableViewCell.m in Sources */,
|
||||
9B85B6DA279FDC5200A0A1AC /* XPUserCardSkillCollectionViewCell.m in Sources */,
|
||||
E85E7B0D2A4EB0D200B6D00A /* GuildSuperAdminInfoModel.m in Sources */,
|
||||
@@ -11317,7 +11325,6 @@
|
||||
9B0E1C5926E77022005D4442 /* BaseNavigationController.m in Sources */,
|
||||
E8664ED927E4355C000171BA /* XPRoomPKRecordTableViewCell.m in Sources */,
|
||||
238B37AB2AC55A2C00BFC9D5 /* TreasureFairyConvertRecordModel.m in Sources */,
|
||||
E8A1F794290642500099C952 /* XPRoomMorePlayViewController.m in Sources */,
|
||||
23FF42762AA6E1480055733C /* XPHomeRecommendOtherRoomView.m in Sources */,
|
||||
142721B229A7647F00C7C423 /* XPBlankViewController.m in Sources */,
|
||||
E85E7B6B2A4EC39400B6D00A /* XPMineExchangeAuthorityModel.m in Sources */,
|
||||
@@ -11331,7 +11338,6 @@
|
||||
2305EF0D2AD7CC9A00AD403C /* PIRoomPhotoAlbumChooseGiftCell.m in Sources */,
|
||||
E84BF7DD277C765400EF8877 /* XPRoomRoleEmptyTableViewCell.m in Sources */,
|
||||
E8F6135C291E26BD00E12650 /* NSMutableDictionary+Saft.m in Sources */,
|
||||
9BAC92EE28E6989400147DD8 /* XPRoomActivityPlayView.m in Sources */,
|
||||
1427213429A75A2600C7C423 /* XPMonentsLatestPresenter.m in Sources */,
|
||||
E83ABEFD280EB5E200322EE4 /* ContentOpenLiveInfoModel.m in Sources */,
|
||||
E85E7BAF2A4EC99300B6D00A /* XPMineChooseGiveDiamondVC.m in Sources */,
|
||||
@@ -11365,7 +11371,6 @@
|
||||
E82325F2274E2DE6003A3332 /* XPUserCardViewController.m in Sources */,
|
||||
E85E7B512A4EB0D300B6D00A /* Api+Guild.m in Sources */,
|
||||
E83645682A40A2DC00E0DBE4 /* XPSkillCardPlayerManager.m in Sources */,
|
||||
E8A1F7972906426B0099C952 /* XPRoomMorePlayPresenter.m in Sources */,
|
||||
E8F65C222869A36F009BB5B9 /* ContentShareMonentsModel.m in Sources */,
|
||||
9B6E856E281AABAB0041A321 /* XPRoomRecommendModel.m in Sources */,
|
||||
E84A2E992A52817E00D6AF8A /* XPIncomeRecordView.m in Sources */,
|
||||
@@ -11378,6 +11383,7 @@
|
||||
E8998D8028597B0300C68558 /* XPRoomLuckyBigPrizeView.m in Sources */,
|
||||
E88E4A80297673DC00019A50 /* SessionNavLiveView.m in Sources */,
|
||||
E81060DC298761F100B772F0 /* MessageTextModel.m in Sources */,
|
||||
23C9DFC62B84903500B51558 /* PIRoomActivityChoosePlayView.m in Sources */,
|
||||
235A45232B04BEB6009753F5 /* PIBaseModel.m in Sources */,
|
||||
E8DEC9A82764A68B0078CB70 /* Api+MoreMenu.m in Sources */,
|
||||
9B86D87A2817DD8400494FCD /* XPRoomEnterHideTipView.m in Sources */,
|
||||
@@ -11450,6 +11456,7 @@
|
||||
18F403EE2758CF2F00A6C548 /* MessageContentImage.m in Sources */,
|
||||
238B37A32AC55A2C00BFC9D5 /* XPTreasureFailyPresenter.m in Sources */,
|
||||
18E7B31E26F0984C0064BC9B /* UserLevelVo.m in Sources */,
|
||||
23B8D8DB2B85FDDD00CA472F /* PIHomeCategoryTitleModel.m in Sources */,
|
||||
2331C1762A5EB71000E1D940 /* ThemeColor+NobleCenter.m in Sources */,
|
||||
1427218C29A75F6F00C7C423 /* HTTPAsyncFileResponse.m in Sources */,
|
||||
E8DD25DA295583920043C7D5 /* XPAnchorRandomPKRuleView.m in Sources */,
|
||||
@@ -11609,6 +11616,7 @@
|
||||
E84150C227747BF700A7F548 /* FirstRechargeModel.m in Sources */,
|
||||
9B1EF3D227E81C0600554295 /* XPMineDressUpBubbleViewController.m in Sources */,
|
||||
2331C1AB2A60F32D00E1D940 /* CandyTreeResultModel.m in Sources */,
|
||||
23C9DFC32B84807A00B51558 /* PIRoomActivityClickView.m in Sources */,
|
||||
1427218B29A75F6F00C7C423 /* HTTPFileResponse.m in Sources */,
|
||||
E839533C276A0CCD00CF2F24 /* XPMineCarTableViewCell.m in Sources */,
|
||||
2331C1B62A60F32D00E1D940 /* XPCandyTreeInsufficientBalanceView.m in Sources */,
|
||||
@@ -11652,7 +11660,6 @@
|
||||
E8098CAA282E03B40090B9F0 /* XPMonentsRecommendPresenter.m in Sources */,
|
||||
E8F63CBB298B648300B338BA /* SessionSayHelloListModel.m in Sources */,
|
||||
9B1B729828002147003FACE9 /* XPMineFansTeamPresenter.m in Sources */,
|
||||
E85E7B1E2A4EB0D200B6D00A /* XPMineAnchorIncomeStatisViewController.m in Sources */,
|
||||
23FF42702AA6C7CF0055733C /* XPNewHomeItemCell.m in Sources */,
|
||||
E87DF4DA2A42C9D9009C1185 /* HomeCollectRoomModel.m in Sources */,
|
||||
E86507E8281A8212006951B0 /* ContentTweetModel.m in Sources */,
|
||||
@@ -11684,6 +11691,7 @@
|
||||
E81A6546283519CA00F55894 /* MonentsTopicModel.m in Sources */,
|
||||
E86E79D028A4E0B2006DAF48 /* ContentRistAlertModel.m in Sources */,
|
||||
9BFE0D922899042600F53C24 /* XPTaskCompleteTipView.m in Sources */,
|
||||
23B8D8DE2B860B8800CA472F /* PIHoemCategoryCollectionView.m in Sources */,
|
||||
9BE01AE728938AB600B50299 /* XPDressUpShopCardTableViewCell.m in Sources */,
|
||||
E82E75062828E76400C25EF7 /* XPCoreDataManager.m in Sources */,
|
||||
9B8DE0E4289CF7AA00FB6EC2 /* XPRoomGiftCompoundView.m in Sources */,
|
||||
@@ -11765,6 +11773,7 @@
|
||||
E873EB02280922720071030D /* XPMineUserInfoEmptyCollectionViewCell.m in Sources */,
|
||||
E872309326E8D31500B90D4F /* LoginVerifCodeView.m in Sources */,
|
||||
E82107872987E49100DE7040 /* MessageRedPacketModel.m in Sources */,
|
||||
23B8D8E12B87715100CA472F /* PIGeneralPublicScreenModel.m in Sources */,
|
||||
23194DD52AD292F200649F51 /* PIPageControl.m in Sources */,
|
||||
23E9EA9E2A84C42B00B792F2 /* SGYProgressView.m in Sources */,
|
||||
E87E91552796B6DE00A7B3F2 /* XPRoomInviteUserViewController.m in Sources */,
|
||||
@@ -11857,6 +11866,7 @@
|
||||
238B37D62AC55A2C00BFC9D5 /* XPTreasureFairyTrialsView.m in Sources */,
|
||||
E82109AD26F1C8A000FC3319 /* CountDownHelper.m in Sources */,
|
||||
E878B8582835F0D300E22DCF /* MonentsInteractiveModel.m in Sources */,
|
||||
234F44E32B3EA4F900E2B532 /* PILineManager.swift in Sources */,
|
||||
E87DF4E42A42CAD2009C1185 /* XPHomeSearchNavView.m in Sources */,
|
||||
9BD2ECCE288F829600F5CD9A /* XPMineFootPrintViewController.m in Sources */,
|
||||
9B4E920028E57A620033419E /* XPGiftHeadTypeView.m in Sources */,
|
||||
@@ -12197,10 +12207,11 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 20.20.2;
|
||||
MARKETING_VERSION = 20.20.14;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = 1;
|
||||
};
|
||||
@@ -12232,10 +12243,11 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 20.20.2;
|
||||
MARKETING_VERSION = 20.20.14;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = 1;
|
||||
};
|
||||
|
@@ -10,6 +10,8 @@
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
#import <ShareSDK/ShareSDK.h>
|
||||
#import <UserNotifications/UNUserNotificationCenter.h>
|
||||
#import <UserNotifications/UserNotifications.h>
|
||||
#import <MOBFoundation/MobSDK+Privacy.h>
|
||||
///Tool
|
||||
#import "YUMIConstant.h"
|
||||
#import "CustomAttachmentDecoder.h"
|
||||
@@ -23,13 +25,19 @@
|
||||
#import "XCCurrentVCStackManager.h"
|
||||
#import "ClientConfig.h"
|
||||
#import <Adjust/Adjust.h>
|
||||
#import <UserNotifications/UserNotifications.h>
|
||||
|
||||
|
||||
#import <Bugly/Bugly.h>
|
||||
|
||||
#import "YuMi-swift.h"
|
||||
|
||||
|
||||
UIKIT_EXTERN NSString * kYouMiNumberCountKey;
|
||||
UIKIT_EXTERN NSString * adImageName;
|
||||
|
||||
|
||||
|
||||
@implementation AppDelegate (ThirdConfig)
|
||||
|
||||
|
||||
@@ -40,6 +48,24 @@ UIKIT_EXTERN NSString * adImageName;
|
||||
[self initEmojiData];
|
||||
[self configAdjust];
|
||||
[self configBugly];
|
||||
[self registerNot];
|
||||
}
|
||||
-(void)registerNot{
|
||||
if (@available(iOS 10.0, *)) {
|
||||
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
|
||||
[center requestAuthorizationWithOptions:(UNAuthorizationOptionAlert | UNAuthorizationOptionBadge | UNAuthorizationOptionSound) completionHandler:^(BOOL granted, NSError * _Nullable error) {
|
||||
if (granted) {
|
||||
[center getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {
|
||||
if (settings.authorizationStatus == UNAuthorizationStatusAuthorized){
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[[UIApplication sharedApplication] registerForRemoteNotifications];
|
||||
});
|
||||
}
|
||||
}];
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
崩溃收集 Bugly
|
||||
@@ -69,7 +95,15 @@ UIKIT_EXTERN NSString * adImageName;
|
||||
//推荐在程序启动的时候初始化 NIMSDK
|
||||
NSString *appKey = KeyWithType(KeyType_NetEase);
|
||||
NIMSDKOption *option = [NIMSDKOption optionWithAppKey:appKey];
|
||||
#ifdef DEBUG
|
||||
option.apnsCername = @"pikoDevelopPush";
|
||||
#else
|
||||
option.apnsCername = @"newPiko";
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
[[NIMSDK sharedSDK] registerWithOption:option];
|
||||
|
||||
// NIM SDK初始化
|
||||
@@ -103,14 +137,22 @@ UIKIT_EXTERN NSString * adImageName;
|
||||
[Adjust appDidLaunch:adjustConfig];
|
||||
}
|
||||
- (void)configShareSDK {
|
||||
|
||||
|
||||
|
||||
|
||||
[PILineLoginManager registerLine];
|
||||
|
||||
[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {
|
||||
///faceBook
|
||||
// [platformsRegister setupFacebookWithAppkey:@"1266232494209868" appSecret:@"c9b170b383f8be9cdf118823b8632821" displayName:YMLocalizedString(@"AppDelegate_ThirdConfig0")];
|
||||
[platformsRegister setupLineAuthType:SSDKAuthorizeTypeBoth];
|
||||
}];
|
||||
NSString *isUpload = [[NSUserDefaults standardUserDefaults]valueForKey:@"kMobLinkUploadPrivacy"];
|
||||
if (isUpload == nil){
|
||||
[MobSDK uploadPrivacyPermissionStatus:YES onResult:^(BOOL success) {
|
||||
|
||||
}];
|
||||
[[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:@"kMobLinkUploadPrivacy"];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - 表情
|
||||
|
@@ -5,6 +5,8 @@
|
||||
// Created by admin on 2023/3/9.
|
||||
//
|
||||
|
||||
#import <MobLinkPro/MobLink.h>
|
||||
#import <MobLinkPro/MLSDKScene.h>
|
||||
#import "AppDelegate.h"
|
||||
#import "TabbarViewController.h"
|
||||
#import "BaseNavigationController.h"
|
||||
@@ -19,10 +21,13 @@
|
||||
#import <GoogleSignIn/GoogleSignIn.h>
|
||||
#import "XPLoginViewController.h"
|
||||
#import "AccountModel.h"
|
||||
#import "YuMi-swift.h"
|
||||
#import "SessionViewController.h"
|
||||
#import "LoginFullInfoViewController.h"
|
||||
@import Firebase;
|
||||
UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
||||
|
||||
@interface AppDelegate ()
|
||||
@interface AppDelegate ()<IMLSDKRestoreDelegate>
|
||||
|
||||
@end
|
||||
|
||||
@@ -57,12 +62,19 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
||||
}
|
||||
[[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
|
||||
[FIRApp configure];
|
||||
|
||||
[MobLink setDelegate:self];
|
||||
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void) IMLSDKWillRestoreScene:(MLSDKScene *)scene Restore:(void (^)(BOOL, RestoreStyle))restoreHandler
|
||||
{
|
||||
|
||||
|
||||
restoreHandler(YES, MLDefault);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -101,13 +113,45 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
||||
|
||||
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
|
||||
// 上传devicetoken至云信服务器。
|
||||
[[NIMSDK sharedSDK] updateApnsToken:deviceToken];
|
||||
[[NIMSDK sharedSDK] updateApnsToken:deviceToken ];
|
||||
}
|
||||
|
||||
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{
|
||||
|
||||
NSString *data = userInfo[@"data"];
|
||||
if(data){
|
||||
NSDictionary *dataDic = [data mj_JSONObject];
|
||||
NSString *userId = dataDic[@"uid"];
|
||||
if(userId){
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
[[NSNotificationCenter defaultCenter]postNotificationName:kOpenRoomNotification object:nil userInfo:@{@"type":@"kOpenChat",@"uid":userId,@"isNoAttention":@(YES)}];
|
||||
ClientConfig *config = [ClientConfig shareConfig];
|
||||
config.pushChatId = userId;
|
||||
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
NSString *userId = userInfo[@"uid"];
|
||||
if(userId){
|
||||
[[NSNotificationCenter defaultCenter]postNotificationName:kOpenRoomNotification object:nil userInfo:@{@"type":@"kOpenChat",@"uid":userId,@"isNoAttention":@(YES)}];
|
||||
ClientConfig *config = [ClientConfig shareConfig];
|
||||
config.pushChatId = userId;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
///URL Scheme跳转
|
||||
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options{
|
||||
|
||||
|
||||
NSString *bundleID = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"];
|
||||
if ([url.scheme isEqualToString:[NSString stringWithFormat:@"line3rdp.%@",bundleID]]) {
|
||||
return [PILineLoginManager applicationOpenurl:app open:url];
|
||||
}
|
||||
|
||||
NSString *text = [url query];
|
||||
if(text.length){
|
||||
@@ -133,6 +177,12 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
||||
[[NSNotificationCenter defaultCenter]postNotificationName:kOpenRoomNotification object:nil userInfo:@{@"type":@"kOpenChat",@"uid":uid}];
|
||||
ClientConfig *config = [ClientConfig shareConfig];
|
||||
config.chatId = uid;
|
||||
}else if (type == 8){
|
||||
NSString *inviteCode = paramsDict[@"inviteCode"];
|
||||
if (inviteCode != nil && [[AccountInfoStorage instance]getUid].length == 0){
|
||||
ClientConfig *config = [ClientConfig shareConfig];
|
||||
config.inviteCode = inviteCode;
|
||||
}
|
||||
}
|
||||
return YES;
|
||||
}
|
||||
|
6
YuMi/Assets.xcassets/webView/Contents.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
22
YuMi/Assets.xcassets/webView/pi_webView_code_bottom.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_webView_code_bottom@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_webView_code_bottom@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/webView/pi_webView_code_bottom.imageset/pi_webView_code_bottom@2x.png
vendored
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
YuMi/Assets.xcassets/webView/pi_webView_code_bottom.imageset/pi_webView_code_bottom@3x.png
vendored
Normal file
After Width: | Height: | Size: 27 KiB |
22
YuMi/Assets.xcassets/webView/pi_webView_code_btn_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_webView_code_btn_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_webView_code_btn_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/webView/pi_webView_code_btn_bg.imageset/pi_webView_code_btn_bg@2x.png
vendored
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
YuMi/Assets.xcassets/webView/pi_webView_code_btn_bg.imageset/pi_webView_code_btn_bg@3x.png
vendored
Normal file
After Width: | Height: | Size: 6.9 KiB |
22
YuMi/Assets.xcassets/webView/pi_webView_code_code_text.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_webView_code_code_text@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_webView_code_code_text@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/webView/pi_webView_code_code_text.imageset/pi_webView_code_code_text@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
YuMi/Assets.xcassets/webView/pi_webView_code_code_text.imageset/pi_webView_code_code_text@3x.png
vendored
Normal file
After Width: | Height: | Size: 3.1 KiB |
22
YuMi/Assets.xcassets/webView/pi_webView_code_top.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_webView_code_top@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_webView_code_top@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/webView/pi_webView_code_top.imageset/pi_webView_code_top@2x.png
vendored
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
YuMi/Assets.xcassets/webView/pi_webView_code_top.imageset/pi_webView_code_top@3x.png
vendored
Normal file
After Width: | Height: | Size: 138 KiB |
22
YuMi/Assets.xcassets/webView/pi_webView_code_top_text.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_webView_code_top_text@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_webView_code_top_text@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/webView/pi_webView_code_top_text.imageset/pi_webView_code_top_text@2x.png
vendored
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
YuMi/Assets.xcassets/webView/pi_webView_code_top_text.imageset/pi_webView_code_top_text@3x.png
vendored
Normal file
After Width: | Height: | Size: 5.9 KiB |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_send_bg@2x.png",
|
||||
"filename" : "share_save_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_menu_send_bg@3x.png",
|
||||
"filename" : "share_save_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
BIN
YuMi/Assets.xcassets/webView/share_save_icon.imageset/share_save_icon@2x.png
vendored
Normal file
After Width: | Height: | Size: 665 B |
BIN
YuMi/Assets.xcassets/webView/share_save_icon.imageset/share_save_icon@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
21
YuMi/Assets.xcassets/yna/AcrossRoomPK/room_across_pk_assist.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "room_across_pk_assist.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/yna/AcrossRoomPK/room_across_pk_assist.imageset/room_across_pk_assist.png
vendored
Normal file
After Width: | Height: | Size: 3.0 KiB |
21
YuMi/Assets.xcassets/yna/AcrossRoomPK/room_across_pk_onlookers.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "room_across_pk_onlookers.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/yna/AcrossRoomPK/room_across_pk_onlookers.imageset/room_across_pk_onlookers.png
vendored
Normal file
After Width: | Height: | Size: 2.8 KiB |
22
YuMi/Assets.xcassets/yna/Activity/pi_room_activity_click_arrow.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_room_activity_click_arrow@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_room_activity_click_arrow@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 297 B |
After Width: | Height: | Size: 394 B |
22
YuMi/Assets.xcassets/yna/Broadcast/pi_room_activity_choose_play_arrow.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_room_activity_choose_play_arrow@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_room_activity_choose_play_arrow@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 296 B |
After Width: | Height: | Size: 397 B |
21
YuMi/Assets.xcassets/yna/Menu/pi_room_menu_bottom_send_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "pi_room_menu_bottom_send_bg.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/yna/Menu/pi_room_menu_bottom_send_bg.imageset/pi_room_menu_bottom_send_bg.png
vendored
Normal file
After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 715 B |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 29 KiB |
@@ -29,6 +29,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic, copy) NSString *__nullable roomId;
|
||||
///用户id,用于外部h5跳转到聊天页面
|
||||
@property (nonatomic, copy) NSString *__nullable chatId;
|
||||
///用户id,推送跳转到聊天页面
|
||||
@property (nonatomic, copy) NSString *__nullable pushChatId;
|
||||
///邀请码,从外面进来会进入注册页面,并自动填写这个邀请码
|
||||
@property(nonatomic,copy) NSString *inviteCode;
|
||||
///表情---
|
||||
@property (nonatomic, copy) NSString *version;
|
||||
@property (nonatomic, copy) NSString *zipMd5;
|
||||
|
@@ -76,10 +76,10 @@
|
||||
self.numberLabel.hidden = !imageInfo.isSelect;
|
||||
self.chooseButton.selected = imageInfo.isSelect;
|
||||
if (!imageInfo.originImage) {
|
||||
[[TZImageManager manager] getPhotoWithAsset:imageInfo.assetInfo.asset photoWidth:200 completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) {
|
||||
[[TZImageManager manager] getPhotoWithAsset:imageInfo.assetInfo.asset completion:^(UIImage *photo, NSDictionary *info, BOOL isDegraded) {
|
||||
self.logoImageView.image = photo;
|
||||
self.imageInfo.originImage = photo;
|
||||
UIImage * image = [photo compressWithMaxLength:1024 * 10];
|
||||
UIImage * image = [photo compressWithMaxLength:1024 * 30];
|
||||
self.imageInfo.compressImage = image;
|
||||
} progressHandler:nil networkAccessAllowed:NO];
|
||||
} else {
|
||||
|
@@ -26,9 +26,13 @@ typedef enum : NSUInteger {
|
||||
XPShareItemTagCopyLink,
|
||||
///应用好友
|
||||
XPShareItemTagAppFriends,
|
||||
///保存到相册
|
||||
XPShareItemTagAppSaveAlbum,
|
||||
} XPShareItemTag;
|
||||
|
||||
@interface XPShareItem : NSObject
|
||||
@property(nonatomic,assign) BOOL isShareInvite;
|
||||
@property (nonatomic, copy) NSString *inviteTitle;
|
||||
@property (nonatomic, copy) NSString *title;
|
||||
@property (nonatomic, copy) NSString *imageName;
|
||||
@property (nonatomic, copy) NSString *disableImageName;
|
||||
|
@@ -12,6 +12,8 @@
|
||||
|
||||
@class XPShareView;
|
||||
@protocol XCShareViewDelegate <NSObject>
|
||||
///点击保存图片到相册
|
||||
- (void)shareView:(XPShareView *)shareView savePhoto:(XPShareInfoModel *)shareInfo;
|
||||
///点了取消分享
|
||||
- (void)shareViewDidClickCancel:(XPShareView *)shareView;
|
||||
///分享成功
|
||||
|
@@ -143,10 +143,11 @@
|
||||
[TTPopup dismiss];
|
||||
return;
|
||||
};
|
||||
|
||||
if([self isInstallClient:[self getSharePlatformType:item.type]] == NO){
|
||||
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPShareView9")];
|
||||
if (item.type == XPShareItemTagAppSaveAlbum){
|
||||
[TTPopup dismiss];
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(shareView:savePhoto:)]){
|
||||
[self.delegate shareView:self savePhoto:self.shareInfo];
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (item.type == XPShareItemTagAppFriends) {
|
||||
@@ -161,10 +162,15 @@
|
||||
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
|
||||
[pasteboard setString:urlString];
|
||||
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"XPShareView0")];
|
||||
|
||||
[TTPopup dismiss];
|
||||
return;
|
||||
}
|
||||
if([self isInstallClient:[self getSharePlatformType:item.type]] == NO){
|
||||
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPShareView9")];
|
||||
[TTPopup dismiss];
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
self.shareInfo.shareType = item.type;
|
||||
|
||||
@@ -177,21 +183,25 @@
|
||||
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPShareView2")];
|
||||
return;
|
||||
}
|
||||
FBtype = PlatformOfLine;
|
||||
[shareParams SSDKSetupLineParamsByText:encodedUrl image:nil type:SSDKContentTypeAuto];
|
||||
} else {
|
||||
title = YMLocalizedString(@"XPShareView3");
|
||||
platformType = SSDKPlatformTypeFacebook;
|
||||
FBtype = PlatformOfFB;
|
||||
content = YMLocalizedString(@"XPShareView4");
|
||||
[shareParams SSDKSetupFacebookParamsByText:title image:@"https://pic.lecheng163.com/ananLogo256.png" url:[NSURL URLWithString:urlString] urlTitle:@"title" urlName:@"name" attachementUrl:nil hashtag:@"#Piko" quote:@"Piko" shareType:SSDKFacebookShareTypeNative type:SSDKContentTypeWebPage];
|
||||
NSString*contentKey= [encodedUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet characterSetWithCharactersInString:@"`#%^{}\"[]|\\<> "].invertedSet];
|
||||
NSString*contentType =@"text";
|
||||
NSString*urlString = [NSString stringWithFormat:@"line://msg/%@/%@",contentType, contentKey];
|
||||
|
||||
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString] options:@{} completionHandler:^(BOOL success) {
|
||||
|
||||
}];
|
||||
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(shareView:didSuccess:)]) {
|
||||
[self.delegate shareView:self didSuccess:self.shareInfo];
|
||||
}
|
||||
return;
|
||||
|
||||
}
|
||||
if(item.type == XPShareItemTagFaceBook){
|
||||
if(item.type == XPShareItemTagFaceBook){
|
||||
FBSDKShareLinkContent*linkContent = [[FBSDKShareLinkContent alloc]init];
|
||||
urlString = [urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]];
|
||||
linkContent.contentURL= [NSURL URLWithString:urlString];
|
||||
linkContent.quote = content;
|
||||
|
||||
FBSDKShareDialog *shareDialog = [[FBSDKShareDialog alloc]initWithViewController:[XCCurrentVCStackManager shareManager].getCurrentVC content:linkContent delegate:self];
|
||||
// 需要指定模式,否则会调起web分享
|
||||
shareDialog.mode = FBSDKShareDialogModeNative;
|
||||
|
@@ -52,4 +52,5 @@ typedef NS_ENUM(NSUInteger, GradientType) {
|
||||
|
||||
-(UIImage *)compressWithMaxLength:(NSUInteger)maxLength;
|
||||
- (UIImage *)roundedImageWithCornerRadius:(CGFloat)cornerRadius size:(CGSize)size;
|
||||
+(UIImage *)getImageFromView:(UIView *)view;
|
||||
@end
|
||||
|
@@ -432,4 +432,23 @@
|
||||
UIGraphicsEndImageContext();
|
||||
return roundedImage;
|
||||
}
|
||||
+(UIImage *)getImageFromView:(UIView *)view {
|
||||
// 1. 创建一个新的图像上下文,大小与view的bounds相匹配
|
||||
UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
|
||||
|
||||
// 2. 获取当前图像上下文
|
||||
CGContextRef context = UIGraphicsGetCurrentContext();
|
||||
|
||||
// 3. 将view的层级渲染到上下文中
|
||||
[view.layer renderInContext:context];
|
||||
|
||||
// 4. 从上下文中获取生成的图片
|
||||
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
|
||||
|
||||
// 5. 结束图像上下文
|
||||
UIGraphicsEndImageContext();
|
||||
|
||||
// 6. 返回生成的图片
|
||||
return image;
|
||||
}
|
||||
@end
|
||||
|
@@ -103,5 +103,6 @@
|
||||
- (UIImage *)applyTintEffectWithColor:(UIColor *)tintColor;
|
||||
|
||||
- (UIImage *)applyBlurWithRadius:(CGFloat)blurRadius tintColor:(UIColor *)tintColor saturationDeltaFactor:(CGFloat)saturationDeltaFactor maskImage:(UIImage *)maskImage;
|
||||
|
||||
///为图片增加毛玻璃,value模糊程度
|
||||
+(UIImage *)setBlurImage:(UIImage *)image value:(CGFloat)value;
|
||||
@end
|
||||
|
@@ -273,6 +273,37 @@
|
||||
|
||||
return outputImage;
|
||||
}
|
||||
+(UIImage *)setBlurImage:(UIImage *)image value:(CGFloat)value{
|
||||
|
||||
|
||||
CIContext *context = [CIContext contextWithOptions:nil];
|
||||
CIImage * sourceImage = [CIImage imageWithCGImage:image.CGImage];//将图片转换成CIImage
|
||||
|
||||
///图片仿射滤镜
|
||||
|
||||
CIFilter * clamp = [CIFilter filterWithName:@"CIAffineClamp"];//设置绘制类型
|
||||
|
||||
[clamp setValue:sourceImage forKey:kCIInputImageKey];//设置要绘制的图片
|
||||
|
||||
CIImage *clampResult = [clamp valueForKey:kCIOutputImageKey];
|
||||
|
||||
///高斯模糊滤镜
|
||||
|
||||
CIFilter* gaussianBlur = [CIFilter filterWithName:@"CIGaussianBlur"];
|
||||
|
||||
[gaussianBlur setValue:clampResult forKey:kCIInputImageKey];
|
||||
|
||||
[gaussianBlur setValue:[NSNumber numberWithFloat:value] forKey:@"inputRadius"];//设置模糊值
|
||||
|
||||
CIImage * gaussianBlurResult = [gaussianBlur valueForKey:kCIOutputImageKey];
|
||||
|
||||
///转化获取图片
|
||||
|
||||
CGImageRef cgImage = [context createCGImage:gaussianBlurResult fromRect:[sourceImage extent]];
|
||||
|
||||
UIImage * resultImage = [UIImage imageWithCGImage:cgImage];
|
||||
return resultImage;
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -65,7 +65,7 @@ NSString * const KeyWithType(Pi_KeyType type) {
|
||||
NSDictionary * dic = @{
|
||||
@(KeyType_PasswordEncode) : @"1ea53d260ecf11e7b56e00163e046a26",
|
||||
@(KeyType_NTESQuickLoginBusinessId) : @"09c1214706c34f4798d3f05d86148608",
|
||||
@(KeyType_Agora) : @"7ae1a8dabe7a44a9a67c829faa409e70",
|
||||
@(KeyType_Agora) : @"f8713b6ec98c4c01adaf34cb4fa091b1",
|
||||
@(KeyType_TRTC) : @"1400741885",
|
||||
@(KeyType_NetEase) : @"1c3b8c6bf8467d8e4c33a004dbec5c94",
|
||||
@(keyType_YiDunBussinessId) : @"yinyouApnsDebug",
|
||||
@@ -97,7 +97,7 @@ NSString * const KeyWithType(Pi_KeyType type) {
|
||||
@(KeyType_NTESQuickLoginBusinessId) : @"sCsa0RnuPYtEeE+efSDuHRYEfCObccfLfAK/Sn1LC8X/YifkZfyHNlCts1syZE3R",///60cdaa83aa654e5ea184de7160b4073d
|
||||
@(KeyType_TRTC) : @"Phn3JPi/ZvZ7zVM099Q3dg==",///1400600174
|
||||
///h+GaKZVuHTQz0wEHbg8HLaUTL9mCjNDRcRo1OJTESWhiE/lzcnvMEv00/dxu8cOq
|
||||
@(KeyType_NetEase) : @"d55LVCUFT72SVZskbk1L3ZCVjG+tRnUnOqAGuG04kb9uz+qIvbyudhJLDmbOFDtE",///14ef7a0d0a84cb49bae1c22d78cf1ddf
|
||||
@(KeyType_NetEase) : @"d55LVCUFT72SVZskbk1L3ZCVjG+tRnUnOqAGuG04kb9uz+qIvbyudhJLDmbOFDtE",///d4d74e9ba6ac3364ccc7526ea4791215
|
||||
@(keyType_YiDunBussinessId) : @"tl2ZVgj6Mrf9lhoJ9ikxgu8tHJoloM5pxk+hsHIB4pulU6r531Qc7Ol5X8QR5Jy0",
|
||||
@(KeyType_FacePwdEncode) : @"mjaN83evhuwnbE4yEiLQpvH7sALhxCuJ6aPjPlq5amVpHsQtSdbgri3JoHqf/I9+",///1ea53d260ecf11e7b56e00163e046a26
|
||||
@(KeyType_GuildUidKey) : @"umyLNHTFzWIPw2FWQcYIeQ==",
|
||||
|
@@ -49,7 +49,7 @@ isPhoneXSeries = [[UIApplication sharedApplication] delegate].window.safeAreaIns
|
||||
|
||||
|
||||
///内置版本号
|
||||
#define PI_App_Version @"2.3.0"
|
||||
#define PI_App_Version @"2.6.4"
|
||||
///渠道
|
||||
#define PI_App_Source @"appstore"
|
||||
//#define PI_App_Source @"pi_tf"
|
||||
|
@@ -54,7 +54,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>9</string>
|
||||
<string>2</string>
|
||||
<key>FacebookAppID</key>
|
||||
<string>1266232494209868</string>
|
||||
<key>FacebookClientToken</key>
|
||||
|
@@ -13,13 +13,13 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic,copy) NSString *codeId;
|
||||
@property (nonatomic,copy) NSString *name;
|
||||
@property (nonatomic,copy) NSString *abbr;
|
||||
@property (nonatomic,copy) NSString *phone_area_code;
|
||||
@property (nonatomic,copy) NSString *pi_phoneAreaCode;
|
||||
@property (nonatomic,copy) NSString *code;
|
||||
@property (nonatomic,copy) NSString *seq;
|
||||
@property (nonatomic,copy) NSString *status;
|
||||
@property (nonatomic,copy) NSString *region;
|
||||
@property (nonatomic,copy) NSString *create_time;
|
||||
@property (nonatomic,copy) NSString *update_time;
|
||||
@property (nonatomic,copy) NSString * mcc;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -8,7 +8,5 @@
|
||||
#import "LoginAreaModel.h"
|
||||
|
||||
@implementation LoginAreaModel
|
||||
+ (NSDictionary *)replacedKeyFromPropertyName {
|
||||
return @{@"pi_phoneAreaCode":@"phoneAreaCode"};
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -25,6 +25,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
-(void)thirdLoginByGoogleWithPresentingViewController:(UIViewController *)presentingViewController configuration:(GIDConfiguration *)configuration;
|
||||
///第三方登录,fb登录
|
||||
-(void)thirdLoginByFBWithPresentingViewController:(UIViewController *)presentingViewController;
|
||||
///第三方登录,line登录
|
||||
-(void)thirdLoginByLine:(UIViewController *)presentingViewController;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -23,7 +23,7 @@
|
||||
|
||||
#import <FBSDKCoreKit/FBSDKCoreKit.h>
|
||||
#import <FBSDKLoginKit/FBSDKLoginKit.h>
|
||||
|
||||
#import "YuMi-swift.h"
|
||||
|
||||
@implementation LoginPresenter
|
||||
- (void)dealloc{
|
||||
@@ -159,6 +159,30 @@
|
||||
} showLoading:YES] openid:openid unionid:unionid access_token:access_token type:[NSString stringWithFormat:@"%lu", (unsigned long)type]];
|
||||
|
||||
|
||||
}
|
||||
-(void)thirdLoginByLine:(UIViewController *)presentingViewController {
|
||||
PILineLoginManager *line = [PILineLoginManager getSharedInstance];
|
||||
[XNDJTDDLoadingTool showOnlyView:kWindow];
|
||||
[line loginLineFromController:presentingViewController completeWithError:^(LineLoginResultStatus loginStatus, NSString * _Nullable token, NSString * _Nullable userId, NSString * _Nullable emali, NSError * _Nullable error) {
|
||||
|
||||
if (loginStatus == LineLoginResultStatusSuccess) {
|
||||
ThirdUserInfo * userInfo = [[ThirdUserInfo alloc] init];
|
||||
NSString * openid = userId.length > 0 ? userId : @"";
|
||||
NSString * access_token = token.length > 0 ? token : @"";
|
||||
NSString * unionid = userId.length > 0 ? userId : @"";
|
||||
userInfo.openid = openid;
|
||||
userInfo.access_token = access_token;
|
||||
userInfo.unionid = unionid;
|
||||
[AccountInfoStorage instance].thirdUserInfo = userInfo;
|
||||
[self loginWithThirdPartWithType:ThirdLoginType_Line];
|
||||
} else if (loginStatus == LineLoginResultStatusCancelled) {
|
||||
[XNDJTDDLoadingTool hideOnlyView:kWindow];
|
||||
[[self getView] showErrorToast:YMLocalizedString(@"LoginPresenter0")];
|
||||
} else if (loginStatus == LineLoginResultStatusError) {
|
||||
[XNDJTDDLoadingTool hideOnlyView:kWindow];
|
||||
[[self getView] showErrorToast:YMLocalizedString(@"LoginPresenter1")];
|
||||
}
|
||||
}];
|
||||
}
|
||||
-(void)thirdLoginByFBWithPresentingViewController:(UIViewController *)presentingViewController {
|
||||
[FBSDKProfile enableUpdatesOnAccessTokenChange:YES];
|
||||
|
@@ -144,7 +144,8 @@
|
||||
if (!_codeView){
|
||||
_codeView = [UILabel new];
|
||||
_codeView.userInteractionEnabled = YES;
|
||||
_codeView.attributedText = [self getChooseCodeText:@"+852"];
|
||||
NSString *code = [NSString getCountryCode];
|
||||
_codeView.attributedText = [self getChooseCodeText: code];
|
||||
|
||||
}
|
||||
return _codeView;
|
||||
|
@@ -177,7 +177,8 @@
|
||||
if (!_countryLabel) {
|
||||
_countryLabel = [[UILabel alloc] init];
|
||||
_countryLabel.font = [UIFont fontWithName:@"PingFang-SC-Medium" size:15];
|
||||
_countryLabel.text = @"+852";
|
||||
NSString *code = [NSString getCountryCode];
|
||||
_countryLabel.text = code;
|
||||
_countryLabel.textColor = [DJDKMIMOMColor mainTextColor];
|
||||
_countryLabel.backgroundColor = [UIColor clearColor];
|
||||
_countryLabel.textAlignment = NSTextAlignmentCenter;
|
||||
|
@@ -47,7 +47,8 @@
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
self.pi_phoneAreaCode = @"852";
|
||||
NSString *code = [NSString getCountryCode];
|
||||
self.pi_phoneAreaCode = [code stringByReplacingOccurrencesOfString:@"+" withString:@""];
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
[self initEvents];
|
||||
|
@@ -10,7 +10,7 @@
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface LoginFullInfoViewController : MvpViewController
|
||||
|
||||
@property(nonatomic,copy) NSString *inviteCode;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -24,7 +24,7 @@
|
||||
#import "LoginFullInfoPresenter.h"
|
||||
#import "LoginFullInfoProtocol.h"
|
||||
#import "PILoginManager.h"
|
||||
|
||||
#import "ClientConfig.h"
|
||||
|
||||
@interface LoginFullInfoViewController ()<LoginFullInfoProtocol>
|
||||
|
||||
@@ -81,6 +81,11 @@
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
[self initEvents];
|
||||
ClientConfig *config = [ClientConfig shareConfig];
|
||||
if (config.inviteCode.length > 0){
|
||||
self.inviteCode = config.inviteCode;
|
||||
config.inviteCode = @"";
|
||||
}
|
||||
}
|
||||
|
||||
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
|
||||
@@ -226,7 +231,10 @@
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
- (void)setInviteCode:(NSString *)inviteCode{
|
||||
_inviteCode = inviteCode;
|
||||
self.codeTextField.text = _inviteCode;
|
||||
}
|
||||
///更新用户信息
|
||||
- (void)updateUserInfo {
|
||||
[XNDJTDDLoadingTool showOnlyView:self.view];
|
||||
|
@@ -44,7 +44,8 @@
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
self.pi_phoneAreaCode = @"852";
|
||||
NSString *code = [NSString getCountryCode];
|
||||
self.pi_phoneAreaCode = [code stringByReplacingOccurrencesOfString:@"+" withString:@""];
|
||||
|
||||
[super viewDidLoad];
|
||||
[self createUI];
|
||||
|
@@ -14,7 +14,7 @@
|
||||
#import "Api+Login.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
@interface XPLoginAraeViewController ()<UITableViewDelegate,UITableViewDataSource>
|
||||
@interface XPLoginAraeViewController ()<UITableViewDelegate,UITableViewDataSource,XPLoginAreaTableViewCellDelegate>
|
||||
@property (nonatomic,strong) UITableView *tableView;
|
||||
@property (nonatomic,strong) NSMutableArray *listData;
|
||||
@property (nonatomic,strong) NSMutableArray *titleList;
|
||||
@@ -26,39 +26,49 @@
|
||||
[super viewDidLoad];
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
[Api getPhoneAreaCodeList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if (code == 200) {
|
||||
NSArray *list = [LoginAreaModel modelsWithArray:data.data];
|
||||
[self.titleList removeAllObjects];
|
||||
[self.listData removeAllObjects];
|
||||
[self getLocalPlistWithList:list];
|
||||
}
|
||||
}];
|
||||
[self getPhoneAreaCodeList];
|
||||
}
|
||||
#pragma mark - LoginVerifCodeProtocol
|
||||
|
||||
-(void)getPhoneAreaCodeListSuccess:(NSArray *)list{
|
||||
[self hideHUD];
|
||||
[self.titleList removeAllObjects];
|
||||
[self.listData removeAllObjects];
|
||||
[self getLocalPlistWithList:list];
|
||||
}
|
||||
-(void)getPhoneAreaCodeListFail{
|
||||
[self hideHUD];
|
||||
NSBundle *bundle = [NSBundle mainBundle];
|
||||
NSString *file = [bundle pathForResource:@"district" ofType:@"plist"];
|
||||
NSArray *dictArray = [NSArray arrayWithContentsOfFile:file];
|
||||
|
||||
NSArray *list = [LoginAreaModel modelsWithArray:dictArray];
|
||||
[self getLocalPlistWithList:list];
|
||||
-(void)getPhoneAreaCodeList{
|
||||
// 获取文件路径
|
||||
NSString *path = [[NSBundle mainBundle] pathForResource:@"pi_area_info" ofType:@"json"];
|
||||
// 将文件数据化
|
||||
NSData *data = [[NSData alloc] initWithContentsOfFile:path];
|
||||
// 对数据进行JSON格式化并返回字典形式
|
||||
NSDictionary *codeData = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
|
||||
NSArray *codeList = [LoginAreaModel modelsWithArray:codeData[@"RECORDS"]];
|
||||
[self getLocalPlistWithList:codeList];
|
||||
}
|
||||
-(void)getLocalPlistWithList:(NSArray *)list{
|
||||
|
||||
NSArray * letterList = @[@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z"];
|
||||
NSArray * letterList = @[@"",@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z"];
|
||||
NSMutableArray *otherList = [NSMutableArray array];
|
||||
NSMutableArray *defaultList = [NSMutableArray array];
|
||||
LoginAreaModel *TwModel;
|
||||
LoginAreaModel *HKModel ;
|
||||
LoginAreaModel *SPModel ;
|
||||
LoginAreaModel *MYModel ;
|
||||
LoginAreaModel *ChinsModel ;
|
||||
[self.titleList addObject:@""];
|
||||
for (NSString *letter in letterList) {
|
||||
NSMutableArray *modelList = [NSMutableArray array];
|
||||
for (LoginAreaModel *model in list) {
|
||||
if([model.code isEqualToString:@"886"]){
|
||||
TwModel = model;
|
||||
}
|
||||
if([model.code isEqualToString:@"852"]){
|
||||
HKModel = model;
|
||||
}
|
||||
if([model.code isEqualToString:@"65"]){
|
||||
SPModel = model;
|
||||
}
|
||||
if([model.code isEqualToString:@"60"]){
|
||||
MYModel = model;
|
||||
}
|
||||
if([model.code isEqualToString:@"86"]){
|
||||
ChinsModel = model;
|
||||
}
|
||||
NSString *fristLetter = [model.name substringWithRange:NSMakeRange(0, 1)];
|
||||
if([letter isEqualToString:fristLetter]){
|
||||
[modelList addObject:model];
|
||||
@@ -74,8 +84,26 @@
|
||||
[self.listData addObject:modelList];
|
||||
}
|
||||
}
|
||||
[self.listData addObject:otherList];
|
||||
[self.titleList addObject:@"#"];
|
||||
if(TwModel != nil){
|
||||
[defaultList addObject:TwModel];
|
||||
}
|
||||
if(HKModel != nil){
|
||||
[defaultList addObject:HKModel];
|
||||
}
|
||||
if(SPModel != nil){
|
||||
[defaultList addObject:SPModel];
|
||||
}
|
||||
if(MYModel != nil){
|
||||
[defaultList addObject:MYModel];
|
||||
}
|
||||
if(ChinsModel != nil){
|
||||
[defaultList addObject:ChinsModel];
|
||||
}
|
||||
[self.listData insertObject:defaultList atIndex:0];
|
||||
if(otherList.count > 0){
|
||||
[self.listData addObject:otherList];
|
||||
[self.titleList addObject:@"#"];
|
||||
}
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
#pragma mark - UITableViewDelegate
|
||||
@@ -96,6 +124,9 @@
|
||||
|
||||
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
XPLoginAreaTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPLoginAreaTableViewCell class]) forIndexPath:indexPath];
|
||||
if(cell.delegate == nil){
|
||||
cell.delegate = self;
|
||||
}
|
||||
if(indexPath.section < self.listData.count){
|
||||
NSArray *listModel = self.listData[indexPath.section];
|
||||
if(indexPath.row < listModel.count){
|
||||
@@ -104,13 +135,15 @@
|
||||
}
|
||||
return cell;
|
||||
}
|
||||
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
LoginAreaModel *codeModel = self.listData[indexPath.section][indexPath.row];
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(chooseAreaCodeSuccess:)]){
|
||||
|
||||
[self.delegate chooseAreaCodeSuccess:codeModel.pi_phoneAreaCode ?: codeModel.phone_area_code];
|
||||
}
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
#pragma mark - XPLoginAreaTableViewCellDelegate
|
||||
- (void)didSelectModel:(LoginAreaModel *)model{
|
||||
LoginAreaModel *codeModel = model;
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(chooseAreaCodeSuccess:)]){
|
||||
|
||||
[self.delegate chooseAreaCodeSuccess:codeModel.code];
|
||||
}
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
|
@@ -6,13 +6,19 @@
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class LoginAreaModel;
|
||||
@interface XPLoginAreaTableViewCell : UITableViewCell
|
||||
@protocol XPLoginAreaTableViewCellDelegate <NSObject>
|
||||
|
||||
@property (nonatomic,strong) LoginAreaModel *areaModel;
|
||||
-(void)didSelectModel:(LoginAreaModel *_Nullable)model;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPLoginAreaTableViewCell : UITableViewCell
|
||||
|
||||
@property (nonatomic,strong) LoginAreaModel *areaModel;
|
||||
@property(nonatomic,weak) id<XPLoginAreaTableViewCellDelegate>delegate;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -14,6 +14,7 @@
|
||||
@interface XPLoginAreaTableViewCell()
|
||||
@property (nonatomic,strong) UILabel *areaVeiw;
|
||||
@property (nonatomic,strong) UILabel *codeView;
|
||||
@property(nonatomic,strong) UIButton *clickBtn;
|
||||
@end
|
||||
@implementation XPLoginAreaTableViewCell
|
||||
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
||||
@@ -30,6 +31,7 @@
|
||||
self.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
[self.contentView addSubview:self.areaVeiw];
|
||||
[self.contentView addSubview:self.codeView];
|
||||
[self.contentView addSubview:self.clickBtn];
|
||||
}
|
||||
- (void)initSubViewConstraints {
|
||||
[self.areaVeiw mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
@@ -40,15 +42,21 @@
|
||||
make.right.mas_equalTo(-kGetScaleWidth(15));
|
||||
make.centerY.equalTo(self.contentView);
|
||||
}];
|
||||
[self.clickBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.left.bottom.equalTo(self.contentView);
|
||||
make.right.mas_equalTo(-kGetScaleWidth(20));
|
||||
}];
|
||||
}
|
||||
-(void)didClickBtnAction{
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(didSelectModel:)]){
|
||||
[self.delegate didSelectModel:self.areaModel];
|
||||
}
|
||||
}
|
||||
- (void)setAreaModel:(LoginAreaModel *)areaModel{
|
||||
_areaModel = areaModel;
|
||||
_areaVeiw.text = _areaModel.name;
|
||||
if(_areaModel.pi_phoneAreaCode == nil){
|
||||
_codeView.text = _areaModel.phone_area_code;
|
||||
return;
|
||||
}
|
||||
_codeView.text = _areaModel.pi_phoneAreaCode;
|
||||
_codeView.text = _areaModel.code;
|
||||
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
|
||||
@@ -70,5 +78,11 @@
|
||||
}
|
||||
return _codeView;
|
||||
}
|
||||
|
||||
- (UIButton *)clickBtn{
|
||||
if(!_clickBtn){
|
||||
_clickBtn = [UIButton new];
|
||||
[_clickBtn addTarget:self action:@selector(didClickBtnAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _clickBtn;
|
||||
}
|
||||
@end
|
||||
|
@@ -9,6 +9,7 @@
|
||||
#import "DJDKMIMOMColor.h"
|
||||
#import <Masonry.h>
|
||||
#import <ReactiveObjC.h>
|
||||
#import "LoginAreaModel.h"
|
||||
|
||||
@interface XPLoginInputView()
|
||||
|
||||
@@ -46,12 +47,16 @@
|
||||
areaImageView.userInteractionEnabled = NO;
|
||||
|
||||
/// 区号
|
||||
NSString *code = [NSString getCountryCode];
|
||||
UIButton *areaCodeBtn = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[areaCodeBtn setTitle:@"+852" forState:UIControlStateNormal];
|
||||
[areaCodeBtn setTitle:code forState:UIControlStateNormal];
|
||||
[areaCodeBtn setTitleColor:UIColorFromRGB(0x1F1B4F) forState:UIControlStateNormal];
|
||||
areaCodeBtn.titleLabel.font = kFontMedium(16);
|
||||
_areaCodeBtn = areaCodeBtn;
|
||||
areaCodeBtn.userInteractionEnabled = NO;
|
||||
|
||||
|
||||
|
||||
|
||||
UIStackView *areaStackView = [[UIStackView alloc] init];
|
||||
areaStackView.axis = UILayoutConstraintAxisHorizontal;
|
||||
|
@@ -67,7 +67,8 @@
|
||||
|
||||
- (void)viewDidLoad {
|
||||
self.selectType = 0;
|
||||
self.pi_phoneAreaCode = @"852";
|
||||
NSString *code = [NSString getCountryCode];
|
||||
self.pi_phoneAreaCode = [code stringByReplacingOccurrencesOfString:@"+" withString:@""];
|
||||
[super viewDidLoad];
|
||||
[self createUI];
|
||||
[self racBind];
|
||||
|
@@ -260,6 +260,9 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
|
||||
}else if(type == ThirdLoginType_FB){
|
||||
[self.presenter thirdLoginByFBWithPresentingViewController:self];
|
||||
return;
|
||||
}else if(type == ThirdLoginType_Line){
|
||||
[self.presenter thirdLoginByLine:self];
|
||||
return;
|
||||
}
|
||||
[self.presenter thirdLoginWithType:type];
|
||||
|
||||
|
@@ -54,7 +54,8 @@
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
self.pi_phoneAreaCode = @"852";
|
||||
NSString *code = [NSString getCountryCode];
|
||||
self.pi_phoneAreaCode = [code stringByReplacingOccurrencesOfString:@"+" withString:@""];
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
[self setConfigs];
|
||||
|
@@ -12,7 +12,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@interface Api (Message)
|
||||
|
||||
+ (void)getChatLimit:(HttpRequestHelperCompletion)complection receiverUid:(NSString *)receiverUid ;
|
||||
|
||||
///获取私聊限制接口
|
||||
+(void)getPrivateChatCheck:(HttpRequestHelperCompletion)complection content:(NSString *)content toUid:(NSString *)toUid;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -13,5 +13,8 @@
|
||||
NSString * fang = [NSString stringFromBase64String:@"cHJpdmF0ZUNoYXQvbGltaXQ="];///privateChat/limit
|
||||
[self makeRequest:fang method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, receiverUid,nil];
|
||||
}
|
||||
|
||||
///获取私聊限制接口
|
||||
+(void)getPrivateChatCheck:(HttpRequestHelperCompletion)complection content:(NSString *)content toUid:(NSString *)toUid{
|
||||
[self makeRequest:@"privateChat/check" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, content,toUid,nil];
|
||||
}
|
||||
@end
|
||||
|
@@ -96,8 +96,7 @@ typedef NS_ENUM(NSUInteger, CustomMessageType) {
|
||||
CustomMessageType_Gift_Compound = 93,
|
||||
///涂鸦礼物
|
||||
CustomMessageType_Graffiti_Gift = 94,
|
||||
///星级厨房飘屏
|
||||
CustomMessageType_Graffiti_Star_Kitchen = 95,
|
||||
|
||||
///免费礼物倒计时重置时间
|
||||
CustomMessageType_Free_Gift_Star_Reset_Time = 96,
|
||||
///精灵密藏
|
||||
@@ -110,6 +109,14 @@ typedef NS_ENUM(NSUInteger, CustomMessageType) {
|
||||
CustomMessageType_Common_H5 = 100,
|
||||
///房间相册
|
||||
CustomMessageType_Room_Album = 101,
|
||||
///守护星球
|
||||
CustomMessageType_Guardian_Planet = 102,
|
||||
///通用公屏信息
|
||||
CustomMessageType_General_Public_Screen = 103,
|
||||
///疯狂动物园飘屏
|
||||
CustomMessageType_Graffiti_Star_Kitchen = 104,
|
||||
///通用飘屏
|
||||
CustomMessageType_General_Floating_Screen = 105,
|
||||
};
|
||||
|
||||
|
||||
@@ -543,12 +550,11 @@ typedef NS_ENUM(NSUInteger, CustomMessageGraffitiGift) {
|
||||
|
||||
//first = CustomMessageType_Graffiti_Star_Kitchen
|
||||
typedef NS_ENUM(NSUInteger, CustomMessageGraffitiStarKitchen) {
|
||||
/// // 星级厨房礼物房间飘屏通知
|
||||
Custom_Message_Sub_Star_Kitchen_Room = 950,
|
||||
|
||||
/// // 星级厨房礼物全服飘屏通知
|
||||
Custom_Message_Sub_Star_Kitchen_Server = 951,
|
||||
Custom_Message_Sub_Star_Kitchen_Server = 1041,
|
||||
/// // 星级厨房礼物全服飘屏通知
|
||||
Custom_Message_Sub_Star_Kitchen_FullScreen = 952,
|
||||
Custom_Message_Sub_Star_Kitchen_FullScreen = 1042,
|
||||
};
|
||||
///夺宝精灵 CustomMessageType_Treasure_Fairy = 97,
|
||||
typedef NS_ENUM(NSInteger, CustomMessageTreasureFairy) {
|
||||
@@ -616,6 +622,26 @@ typedef NS_ENUM(NSUInteger, CustomMessageTypeRoomAlbum) {
|
||||
///所有房间
|
||||
Custom_Message_Sub_Room_Album = 1011,
|
||||
};
|
||||
//CustomMessageType_Guardian_Planet = 102,
|
||||
typedef NS_ENUM(NSUInteger, CustomMessageTypeGuardianPlanet) {
|
||||
///所有房间
|
||||
Custom_Message_Sub_Guardian_Planet_One_Room = 1021,//单房间
|
||||
Custom_Message_Sub_Guardian_Planet_All_Room = 1022,///全部房间
|
||||
};
|
||||
///通用公屏信息
|
||||
//CustomMessageType_General_Public_Screen = 10000,
|
||||
typedef NS_ENUM(NSUInteger, CustomMessageTypeGeneralPublicScreen) {
|
||||
///所有房间
|
||||
Custom_Message_Sub_General_Public_Screen_One_Room = 1031,//单房间
|
||||
Custom_Message_Sub_General_Public_Screen_All_Room = 1032,///全部房间
|
||||
};
|
||||
///通用飘屏
|
||||
//CustomMessageType_General_Floating_Screen = 105,
|
||||
typedef NS_ENUM(NSUInteger, CustomMessageTypeGeneralFloatingScreen) {
|
||||
///所有房间
|
||||
Custom_Message_Sub_General_Floating_Screen_One_Room = 1051,//单房间
|
||||
Custom_Message_Sub_General_Floating_Screen_All_Room = 1052,///全部房间
|
||||
};
|
||||
@interface AttachmentModel : PIBaseModel<NIMCustomAttachment>
|
||||
@property (nonatomic,assign) int first;
|
||||
@property (nonatomic,assign) int second;
|
||||
|
@@ -24,6 +24,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
// 获取用户信息
|
||||
- (void)getUserInfoWithUid:(NSString *)uid;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -71,7 +71,7 @@
|
||||
|
||||
|
||||
CGFloat desHeight = [model.desc boundingRectWithSize:CGSizeMake(240, CGFLOAT_MAX) options:NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin
|
||||
attributes:[self messageTextAttibutes:[UIFont systemFontOfSize:13] color:[DJDKMIMOMColor mainTextColor]] context:nil].size.height;
|
||||
attributes:[self messageTextAttibutes:[UIFont systemFontOfSize:13] color:[DJDKMIMOMColor mainTextColor]] context:nil].size.height + 10;
|
||||
[self.subTitleLabel mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(desHeight);
|
||||
}];
|
||||
|
@@ -77,7 +77,7 @@
|
||||
///P
|
||||
#import "MessagePresenter.h"
|
||||
#import "MessageProtocol.h"
|
||||
|
||||
#import "Api+Message.h"
|
||||
|
||||
@interface SessionViewController ()<MessageProtocol, UITableViewDelegate, UITableViewDataSource, NIMChatManagerDelegate, NIMConversationManagerDelegate, NIMMediaManagerDelegate, MessageCellDelegate, TZImagePickerControllerDelegate, SessionNavViewDelegate, SessionRiskViewDelegate,QInputBarViewDelegate, QInputBarViewDataSource,InputBoardDataSource ,InputBoardDelegate , QEmotionBoardViewDelegate, QinputPhotoViewDelegate, SessionUserInfoTableViewCellDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate>
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
- (void)loadAlbumPhotos {
|
||||
@kWeakify(self);
|
||||
[YYUtility checkAssetsLibrayAvailable:^{
|
||||
@kStrongify(self);
|
||||
|
||||
|
||||
} denied:^{
|
||||
|
||||
@@ -746,31 +746,66 @@
|
||||
}
|
||||
|
||||
- (void)didFailRetry:(NIMMessage *)message {
|
||||
if (message.isReceivedMsg) {
|
||||
[[NIMSDK sharedSDK].chatManager fetchMessageAttachment:message error:nil];
|
||||
} else {
|
||||
[[NIMSDK sharedSDK].chatManager resendMessage:message error:nil];
|
||||
}
|
||||
[Api getPrivateChatCheck:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if(code == 200){
|
||||
if (message.isReceivedMsg) {
|
||||
[[NIMSDK sharedSDK].chatManager fetchMessageAttachment:message error:nil];
|
||||
} else {
|
||||
[[NIMSDK sharedSDK].chatManager resendMessage:message error:nil];
|
||||
}
|
||||
return;
|
||||
}
|
||||
[self showErrorToast:msg];
|
||||
} content:@"" toUid:self.session.sessionId];
|
||||
|
||||
}
|
||||
|
||||
- (void)sendTextMessage:(NSString *)text {
|
||||
NIMMessage *message = [NIMMessageMaker msgWithText:text];
|
||||
[[[NIMSDK sharedSDK] chatManager] sendMessage:message toSession:self.session error:nil];
|
||||
[Api getPrivateChatCheck:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if(code == 200){
|
||||
NIMMessage *message = [NIMMessageMaker msgWithText:text];
|
||||
message.apnsPayload = @{@"uid": [AccountInfoStorage instance].getUid //表明该条消息的发送者的账号或者消息所属的群组 ID
|
||||
};
|
||||
[[[NIMSDK sharedSDK] chatManager] sendMessage:message toSession:self.session error:nil];
|
||||
return;
|
||||
}
|
||||
[self showErrorToast:msg];
|
||||
} content:text toUid:self.session.sessionId];
|
||||
|
||||
|
||||
}
|
||||
|
||||
- (void)audioRecordCompletion:(NSString *)recordPath {
|
||||
NIMMessage *message = [NIMMessageMaker msgWithAudio:recordPath];
|
||||
[[[NIMSDK sharedSDK] chatManager] sendMessage:message toSession:self.session error:nil];
|
||||
[Api getPrivateChatCheck:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if(code == 200){
|
||||
NIMMessage *message = [NIMMessageMaker msgWithAudio:recordPath];
|
||||
message.apnsPayload = @{@"uid": [AccountInfoStorage instance].getUid //表明该条消息的发送者的账号或者消息所属的群组 ID
|
||||
};
|
||||
[[[NIMSDK sharedSDK] chatManager] sendMessage:message toSession:self.session error:nil];
|
||||
return;
|
||||
}
|
||||
[self showErrorToast:msg];
|
||||
} content:@"" toUid:self.session.sessionId];
|
||||
|
||||
}
|
||||
|
||||
#pragma mark - TZImagePickerControllerDelegate
|
||||
- (void)imagePickerController:(TZImagePickerController *)picker didFinishPickingPhotos:(NSArray<UIImage *> *)photos sourceAssets:(NSArray *)assets isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto infos:(NSArray<NSDictionary *> *)infos {
|
||||
[photos enumerateObjectsUsingBlock:^(UIImage * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
|
||||
if (obj) {
|
||||
// 构造出具体会话
|
||||
NIMMessage * message = [NIMMessageMaker msgWithImage:obj];
|
||||
// 发送消息
|
||||
[[NIMSDK sharedSDK].chatManager sendMessage:message toSession:self.session error:nil];
|
||||
[Api getPrivateChatCheck:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if(code == 200){
|
||||
// 构造出具体会话
|
||||
NIMMessage * message = [NIMMessageMaker msgWithImage:obj];
|
||||
message.apnsPayload = @{@"uid": [AccountInfoStorage instance].getUid //表明该条消息的发送者的账号或者消息所属的群组 ID
|
||||
};
|
||||
// 发送消息
|
||||
[[NIMSDK sharedSDK].chatManager sendMessage:message toSession:self.session error:nil];
|
||||
return;
|
||||
}
|
||||
[self showErrorToast:msg];
|
||||
} content:@"" toUid:self.session.sessionId];
|
||||
|
||||
}
|
||||
}];
|
||||
}
|
||||
@@ -956,7 +991,9 @@
|
||||
[TTPopup alertWithConfig:config confirmHandler:^{
|
||||
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
|
||||
if ([[UIApplication sharedApplication] canOpenURL:url]) {
|
||||
[[UIApplication sharedApplication] openURL:url];
|
||||
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
|
||||
|
||||
}];
|
||||
}
|
||||
} cancelHandler:^{
|
||||
}];
|
||||
@@ -1024,11 +1061,20 @@
|
||||
if (image == nil){
|
||||
continue;
|
||||
}
|
||||
|
||||
// 发送消息
|
||||
NIMMessage * message = [NIMMessageMaker msgWithImage:image];
|
||||
// 发送消息
|
||||
[[NIMSDK sharedSDK].chatManager sendMessage:message toSession:self.session error:nil];
|
||||
[view resetChoosePhotos];
|
||||
[Api getPrivateChatCheck:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if(code == 200){
|
||||
message.apnsPayload = @{@"uid": [AccountInfoStorage instance].getUid //表明该条消息的发送者的账号或者消息所属的群组 ID
|
||||
};
|
||||
[[NIMSDK sharedSDK].chatManager sendMessage:message toSession:self.session error:nil];
|
||||
[view resetChoosePhotos];
|
||||
return;
|
||||
}
|
||||
[self showErrorToast:msg];
|
||||
} content:@"" toUid:self.session.sessionId];
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1051,10 +1097,19 @@
|
||||
if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) {
|
||||
UIImageWriteToSavedPhotosAlbum(selectedPhoto, nil, nil, nil);
|
||||
}
|
||||
// 构造出具体会话
|
||||
NIMMessage * message = [NIMMessageMaker msgWithImage:selectedPhoto];
|
||||
// 发送消息
|
||||
[[NIMSDK sharedSDK].chatManager sendMessage:message toSession:self.session error:nil];
|
||||
[Api getPrivateChatCheck:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if(code == 200){
|
||||
// 构造出具体会话
|
||||
NIMMessage * message = [NIMMessageMaker msgWithImage:selectedPhoto];
|
||||
message.apnsPayload = @{@"uid": [AccountInfoStorage instance].getUid //表明该条消息的发送者的账号或者消息所属的群组 ID
|
||||
};
|
||||
// 发送消息
|
||||
[[NIMSDK sharedSDK].chatManager sendMessage:message toSession:self.session error:nil];
|
||||
return;
|
||||
}
|
||||
[self showErrorToast:msg];
|
||||
} content:@"" toUid:self.session.sessionId];
|
||||
|
||||
}
|
||||
[picker dismissViewControllerAnimated:YES completion:^{}];
|
||||
}
|
||||
|
@@ -145,10 +145,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// 家族个播收入列表
|
||||
/// @param completion 完成
|
||||
/// @param uid 用户的uid
|
||||
/// @param clanId 家族的id
|
||||
/// @param hallId 家族的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
+ (void)getClanSingleRoomIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid clanId:(NSString *)clanId startTime:(NSString *)startTime endTime:(NSString *)endTime;
|
||||
+ (void)getClanSingleRoomIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid hallId:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime;
|
||||
|
||||
/// 公会个播收入列表
|
||||
/// @param completion 完成
|
||||
|
@@ -183,8 +183,8 @@
|
||||
/// @param clanId 家族的id
|
||||
/// @param startTime 开始时间
|
||||
/// @param endTime 结束时间
|
||||
+ (void)getClanSingleRoomIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid clanId:(NSString *)clanId startTime:(NSString *)startTime endTime:(NSString *)endTime {
|
||||
[self makeRequest:@"income/singleroom/incomeTotalV2" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, clanId, startTime, endTime, nil];
|
||||
+ (void)getClanSingleRoomIncomeRecord:(HttpRequestHelperCompletion)completion uid:(NSString *)uid hallId:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime {
|
||||
[self makeRequest:@"income/singleroom/incomeTotalV2" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, hallId, startTime, endTime, nil];
|
||||
}
|
||||
|
||||
/// 公会个播收入列表
|
||||
|
@@ -51,6 +51,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic,copy) NSString *anchorDiamondNum;
|
||||
///房间收入
|
||||
@property (nonatomic,copy) NSString *roomDiamondNum;
|
||||
|
||||
@property(nonatomic,assign) NSInteger timeDuration;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -55,7 +55,7 @@
|
||||
[[self getView] getClanAnchorTotalIncomeSuccess:incomeModel];
|
||||
} fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
[[self getView] getClanAnchorTotalIncomeFail:msg];
|
||||
}] uid:uid clanId:clanId startTime:startTime endTime:endTime];
|
||||
}] uid:uid hallId:clanId startTime:startTime endTime:endTime];
|
||||
}
|
||||
|
||||
/// 获取公会所有个播的收入记录
|
||||
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// PIGuildSingleRoomIncomeCell.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/2/21.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "GuildPersonIncomeRecordModel.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PIGuildSingleRoomIncomeCell : UITableViewCell
|
||||
@property (nonatomic,strong) GuildPersonIncomeUserInfoModel *userInfo;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,162 @@
|
||||
//
|
||||
// PIGuildSingleRoomIncomeCell.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/2/21.
|
||||
//
|
||||
|
||||
#import "PIGuildSingleRoomIncomeCell.h"
|
||||
@interface PIGuildSingleRoomIncomeCell()
|
||||
@property(nonatomic,strong) NetImageView *headView;
|
||||
@property(nonatomic,strong) UILabel *nameView;
|
||||
@property(nonatomic,strong) UILabel *numberView;
|
||||
@property(nonatomic,strong) UILabel *anchorNumView;
|
||||
@property(nonatomic,strong) UILabel *roomNumView;
|
||||
@property(nonatomic,strong) UILabel *timeView;
|
||||
@property(nonatomic,strong) UIView *lineView;
|
||||
@end
|
||||
@implementation PIGuildSingleRoomIncomeCell
|
||||
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
|
||||
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
|
||||
if(self){
|
||||
[self installUI];
|
||||
[self installConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)installUI{
|
||||
self.backgroundColor = [DJDKMIMOMColor appCellBackgroundColor];
|
||||
self.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
[self.contentView addSubview:self.headView];
|
||||
[self.contentView addSubview:self.nameView];
|
||||
[self.contentView addSubview:self.numberView];
|
||||
[self.contentView addSubview:self.anchorNumView];
|
||||
[self.contentView addSubview:self.roomNumView];
|
||||
[self.contentView addSubview:self.timeView];
|
||||
[self.contentView addSubview:self.lineView];
|
||||
}
|
||||
-(void)installConstraints{
|
||||
[self.headView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(kGetScaleWidth(44));
|
||||
make.leading.mas_equalTo(kGetScaleWidth(17));
|
||||
make.centerY.equalTo(self.contentView);
|
||||
|
||||
}];
|
||||
CGFloat width = kGetScaleWidth(242) / 3;
|
||||
[self.timeView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.trailing.mas_equalTo(0);
|
||||
make.width.mas_equalTo(width);
|
||||
make.centerY.equalTo(self.contentView);
|
||||
}];
|
||||
[self.roomNumView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(width);
|
||||
make.centerY.equalTo(self.contentView);
|
||||
make.trailing.equalTo(self.timeView.mas_leading).mas_offset(0);
|
||||
}];
|
||||
[self.anchorNumView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(width);
|
||||
make.centerY.equalTo(self.contentView);
|
||||
make.trailing.equalTo(self.roomNumView.mas_leading).mas_offset(0);
|
||||
}];
|
||||
[self.nameView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(self.headView.mas_top).mas_offset(kGetScaleWidth(4));
|
||||
make.leading.equalTo(self.headView.mas_trailing).mas_offset(kGetScaleWidth(6));
|
||||
make.trailing.equalTo(self.anchorNumView.mas_leading).mas_offset((0));
|
||||
make.height.mas_equalTo(kGetScaleWidth(20));
|
||||
}];
|
||||
[self.numberView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(self.nameView.mas_bottom).mas_offset(kGetScaleWidth(0));
|
||||
make.leading.equalTo(self.nameView);
|
||||
make.trailing.equalTo(self.nameView);
|
||||
}];
|
||||
}
|
||||
- (void)setUserInfo:(GuildPersonIncomeUserInfoModel *)userInfo {
|
||||
_userInfo = userInfo;
|
||||
if (_userInfo) {
|
||||
self.headView.image = nil;
|
||||
[self.headView loadImageWithUrl:_userInfo.avatar completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
|
||||
self.headView.image = image;
|
||||
}];
|
||||
|
||||
self.nameView.text = _userInfo.nick;
|
||||
self.numberView.text = [NSString stringWithFormat:@"ID:%@",_userInfo.erbanNo];
|
||||
self.anchorNumView.text = _userInfo.anchorDiamondNum;
|
||||
self.roomNumView.text = _userInfo.roomDiamondNum;
|
||||
NSInteger h = _userInfo.timeDuration / 60;
|
||||
NSInteger min = _userInfo.timeDuration % 60;
|
||||
if(h <= 0){
|
||||
self.timeView.text = [NSString stringWithFormat:@"%ldmin",_userInfo.timeDuration];
|
||||
}else if(min <= 0 && h > 0){
|
||||
self.timeView.text = [NSString stringWithFormat:@"%ldh",h];
|
||||
}else{
|
||||
self.timeView.text = [NSString stringWithFormat:@"%ldh%ldmin",h,min];
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
- (NetImageView *)headView{
|
||||
if(!_headView){
|
||||
NetImageConfig *config = [NetImageConfig new];
|
||||
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
||||
_headView = [[NetImageView alloc]initWithConfig:config];
|
||||
_headView.layer.cornerRadius = kGetScaleWidth(44)/2;
|
||||
_headView.layer.masksToBounds = YES;
|
||||
}
|
||||
return _headView;
|
||||
}
|
||||
- (UILabel *)nameView{
|
||||
if(!_nameView){
|
||||
_nameView = [UILabel labelInitWithText:@"" font:[UIFont systemFontOfSize:14 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0x1F1B4F)];
|
||||
}
|
||||
return _nameView;
|
||||
}
|
||||
- (UILabel *)numberView{
|
||||
if(!_numberView){
|
||||
_numberView = [UILabel labelInitWithText:@"" font:[UIFont systemFontOfSize:11 weight:UIFontWeightRegular] textColor:UIColorFromRGB(0x8A8CAB)];
|
||||
}
|
||||
return _numberView;
|
||||
}
|
||||
- (UILabel *)anchorNumView{
|
||||
if(!_anchorNumView){
|
||||
_anchorNumView = [UILabel labelInitWithText:@"0" font:[UIFont systemFontOfSize:14 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0x1F1B4F)];
|
||||
_anchorNumView.textAlignment = NSTextAlignmentCenter;
|
||||
_anchorNumView.numberOfLines = 2;
|
||||
}
|
||||
return _anchorNumView;
|
||||
}
|
||||
- (UILabel *)roomNumView{
|
||||
if(!_roomNumView){
|
||||
_roomNumView = [UILabel labelInitWithText:@"0" font:[UIFont systemFontOfSize:14 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0x1F1B4F)];
|
||||
_roomNumView.textAlignment = NSTextAlignmentCenter;
|
||||
_roomNumView.numberOfLines = 2;
|
||||
}
|
||||
return _roomNumView;
|
||||
}
|
||||
- (UILabel *)timeView{
|
||||
if(!_timeView){
|
||||
_timeView = [UILabel labelInitWithText:@"0h0min" font:[UIFont systemFontOfSize:14 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0x1F1B4F)];
|
||||
_timeView.textAlignment = NSTextAlignmentCenter;
|
||||
_timeView.numberOfLines = 2;
|
||||
}
|
||||
return _timeView;
|
||||
}
|
||||
- (UIView *)lineView{
|
||||
if(!_lineView){
|
||||
_lineView = [UIView new];
|
||||
_lineView.backgroundColor = UIColorFromRGB(0xF1F2F2);
|
||||
}
|
||||
return _lineView;
|
||||
}
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
}
|
||||
|
||||
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
||||
[super setSelected:selected animated:animated];
|
||||
|
||||
// Configure the view for the selected state
|
||||
}
|
||||
|
||||
@end
|
@@ -1,17 +0,0 @@
|
||||
//
|
||||
// XPMineAnchorIncomeStatisViewController.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by YuMi on 2022/4/11.
|
||||
//
|
||||
|
||||
#import "BaseViewController.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPMineAnchorIncomeStatisViewController : BaseViewController
|
||||
///家族的id
|
||||
@property (nonatomic,copy) NSString *clanId;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -1,148 +0,0 @@
|
||||
//
|
||||
// XPMineAnchorIncomeStatisViewController.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by YuMi on 2022/4/11.
|
||||
// 家族个播收入统计
|
||||
|
||||
#import "XPMineAnchorIncomeStatisViewController.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
#import <JXCategoryView/JXCategoryView.h>
|
||||
#import <JXCategoryView/JXCategoryIndicatorBackgroundView.h>
|
||||
#import <JXCategoryView/JXCategoryListContainerView.h>
|
||||
///Tool
|
||||
|
||||
#import "DJDKMIMOMColor.h"
|
||||
///View
|
||||
#import "XPMineGuildIncomeRecordViewController.h"
|
||||
|
||||
@interface XPMineAnchorIncomeStatisViewController ()<JXCategoryViewDelegate, JXCategoryListContainerViewDelegate>
|
||||
///分页标题
|
||||
@property (nonatomic, strong) NSArray<NSString *> *titles;
|
||||
///分页控件
|
||||
@property (nonatomic, strong) JXCategoryTitleView *titleView;
|
||||
///分页lineView
|
||||
@property (nonatomic, strong) JXCategoryListContainerView *contentView;
|
||||
///日
|
||||
@property (nonatomic,strong) XPMineGuildIncomeRecordViewController *dayRecordVC;
|
||||
///周
|
||||
@property (nonatomic,strong) XPMineGuildIncomeRecordViewController *weekRecordVC;
|
||||
@end
|
||||
|
||||
@implementation XPMineAnchorIncomeStatisViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
self.title = YMLocalizedString(@"XPMineAnchorIncomeStatisViewController0");
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self.view addSubview:self.titleView];
|
||||
[self.view addSubview:self.contentView];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.view).offset(10);
|
||||
make.left.right.mas_equalTo(self.view);
|
||||
make.height.mas_equalTo(30);
|
||||
}];
|
||||
|
||||
[self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.titleView.mas_bottom);
|
||||
make.left.right.bottom.mas_equalTo(self.view);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - JXCategoryViewDelegate
|
||||
- (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView {
|
||||
return self.titles.count;
|
||||
}
|
||||
|
||||
- (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index {
|
||||
if (index == 0) {
|
||||
return self.dayRecordVC;
|
||||
} else {
|
||||
return self.weekRecordVC;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
|
||||
if (index == 0) {
|
||||
self.dayRecordVC.timeType = GuildIncomeRecrdTimeType_Day;
|
||||
} else {
|
||||
self.weekRecordVC.timeType = GuildIncomeRecrdTimeType_Week;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setClanId:(NSString *)clanId {
|
||||
_clanId = clanId;
|
||||
self.dayRecordVC.clanId = _clanId;
|
||||
self.weekRecordVC.clanId = _clanId;
|
||||
self.dayRecordVC.timeType = GuildIncomeRecrdTimeType_Day;
|
||||
}
|
||||
|
||||
- (JXCategoryTitleView *)titleView {
|
||||
if (!_titleView) {
|
||||
_titleView = [[JXCategoryTitleView alloc] init];
|
||||
_titleView.delegate = self;
|
||||
_titleView.titles = self.titles;
|
||||
_titleView.backgroundColor = [DJDKMIMOMColor appBackgroundColor];
|
||||
_titleView.titleColor = [DJDKMIMOMColor secondTextColor];
|
||||
_titleView.titleSelectedColor = [DJDKMIMOMColor mainTextColor];
|
||||
_titleView.titleFont = [UIFont fontWithName:@"PingFang-SC-Medium" size:16];
|
||||
_titleView.titleSelectedFont = [UIFont fontWithName:@"PingFang-SC-Medium" size:16];
|
||||
_titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter;
|
||||
_titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
|
||||
_titleView.defaultSelectedIndex = 0;
|
||||
_titleView.cellSpacing = 5;
|
||||
_titleView.cellWidthIncrement = 5;
|
||||
_titleView.listContainer = self.contentView;
|
||||
|
||||
JXCategoryIndicatorLineView *lineView = [[JXCategoryIndicatorLineView alloc] init];
|
||||
lineView.indicatorColor = [DJDKMIMOMColor appMainColor];
|
||||
lineView.indicatorWidth = 8.f;
|
||||
lineView.indicatorHeight = 4.f;
|
||||
lineView.indicatorCornerRadius = 2.f;
|
||||
_titleView.indicators = @[lineView];
|
||||
}
|
||||
return _titleView;
|
||||
}
|
||||
|
||||
- (JXCategoryListContainerView *)contentView {
|
||||
if (!_contentView) {
|
||||
_contentView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
|
||||
_contentView.defaultSelectedIndex = 0;
|
||||
}
|
||||
return _contentView;
|
||||
}
|
||||
|
||||
- (NSArray<NSString *> *)titles {
|
||||
if (!_titles) {
|
||||
_titles = @[YMLocalizedString(@"XPMineAnchorIncomeStatisViewController1"), YMLocalizedString(@"XPMineAnchorIncomeStatisViewController2")];
|
||||
}
|
||||
return _titles;
|
||||
}
|
||||
|
||||
- (XPMineGuildIncomeRecordViewController *)dayRecordVC {
|
||||
if (!_dayRecordVC) {
|
||||
_dayRecordVC = [[XPMineGuildIncomeRecordViewController alloc] init];
|
||||
_dayRecordVC.incomeType = GuildIncomeType_Anchor;
|
||||
}
|
||||
return _dayRecordVC;
|
||||
}
|
||||
|
||||
- (XPMineGuildIncomeRecordViewController *)weekRecordVC {
|
||||
if (!_weekRecordVC) {
|
||||
_weekRecordVC = [[XPMineGuildIncomeRecordViewController alloc] init];
|
||||
_weekRecordVC.incomeType = GuildIncomeType_Anchor;
|
||||
}
|
||||
return _weekRecordVC;
|
||||
}
|
||||
|
||||
@end
|
@@ -32,6 +32,8 @@
|
||||
///P
|
||||
#import "XPGuildIncomePresenter.h"
|
||||
#import "XPGuildIncomeProtocol.h"
|
||||
#import "PIGuildAnchorIncomeSectionView.h"
|
||||
#import "PIGuildSingleRoomIncomeCell.h"
|
||||
@interface XPMineGuildIncomeRecordViewController ()<UITableViewDelegate, UITableViewDataSource, XPGuildIncomeProtocol, XPGuildIncomeHeaderViewDelegate, XPGuildTimePickViewDelegate, XPGuildTimeMonthPickerViewDelegate>
|
||||
///列表
|
||||
@property (nonatomic,strong) UITableView *tableView;
|
||||
@@ -86,11 +88,12 @@
|
||||
} else if(self.incomeType == GuildIncomeType_Hall) {
|
||||
[self.presenter getHallTotalIncome:self.guidId startTime:self.pi_startTimeStr endTime:self.pi_endTimeStr];
|
||||
} else {
|
||||
if (self.clanId.length > 0) {
|
||||
[self.presenter getClanAnchorTotalIncome:self.clanId startTime:self.pi_startTimeStr endTime:self.pi_endTimeStr];
|
||||
} else {
|
||||
[self.presenter getHallAnchorTotalIncome:self.guidId startTime:self.pi_startTimeStr endTime:self.pi_endTimeStr];
|
||||
}
|
||||
// if (self.clanId.length > 0) {
|
||||
// [self.presenter getHallAnchorTotalIncome:self.guidId startTime:self.pi_startTimeStr endTime:self.pi_endTimeStr];
|
||||
// } else {
|
||||
[self.presenter getClanAnchorTotalIncome:self.guidId startTime:self.pi_startTimeStr endTime:self.pi_endTimeStr];
|
||||
|
||||
// }
|
||||
}
|
||||
}
|
||||
#pragma mark - Private Method
|
||||
@@ -168,6 +171,9 @@
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
if(self.incomeType == GuildIncomeType_Anchor){
|
||||
return self.datasource.count > 0 ? kGetScaleWidth(75) : 400;
|
||||
}
|
||||
return self.datasource.count > 0 ? kGetScaleWidth(71) : 400;
|
||||
}
|
||||
|
||||
@@ -189,13 +195,8 @@
|
||||
cell.userInfo = [self.datasource safeObjectAtIndex1:indexPath.row];
|
||||
return cell;
|
||||
} else if(self.incomeType == GuildIncomeType_Anchor) {
|
||||
XPGuildSingleRoomIncomeTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPGuildSingleRoomIncomeTableViewCell class])];
|
||||
if (cell == nil) {
|
||||
cell = [[XPGuildSingleRoomIncomeTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPGuildSingleRoomIncomeTableViewCell class])];
|
||||
}
|
||||
|
||||
PIGuildSingleRoomIncomeCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([PIGuildSingleRoomIncomeCell class])];
|
||||
cell.userInfo = [self.datasource safeObjectAtIndex1:indexPath.row];
|
||||
cell.rankNumber = indexPath.row;
|
||||
return cell;
|
||||
}
|
||||
}
|
||||
@@ -217,7 +218,7 @@
|
||||
sectionView.incomeType = self.incomeType;
|
||||
return sectionView;
|
||||
} else {
|
||||
XPGuildAnchorIncomeSectionView * sectionView = [[XPGuildAnchorIncomeSectionView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 37)];
|
||||
PIGuildAnchorIncomeSectionView * sectionView = [[PIGuildAnchorIncomeSectionView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 37)];
|
||||
return sectionView;
|
||||
}
|
||||
}
|
||||
@@ -328,7 +329,10 @@
|
||||
- (void)getClanAnchorTotalIncomeSuccess:(GuildPersonIncomeRecordModel *)incomeInfo {
|
||||
[self.tableView.mj_header endRefreshing];
|
||||
self.headerView.totalIncome = incomeInfo.totalDiamond;
|
||||
|
||||
|
||||
self.datasource = incomeInfo.incomes;
|
||||
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
|
||||
@@ -405,6 +409,7 @@
|
||||
[_tableView registerClass:[XPGuildPersonIncomeTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPGuildPersonIncomeTableViewCell class])];
|
||||
[_tableView registerClass:[XPMineGuildEmptyTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMineGuildEmptyTableViewCell class])];
|
||||
[_tableView registerClass:[XPGuildSingleRoomIncomeTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPGuildSingleRoomIncomeTableViewCell class])];
|
||||
[_tableView registerClass:[PIGuildSingleRoomIncomeCell class] forCellReuseIdentifier:NSStringFromClass([PIGuildSingleRoomIncomeCell class])];
|
||||
}
|
||||
return _tableView;
|
||||
}
|
||||
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// PIGuildAnchorIncomeSectionView.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/2/21.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PIGuildAnchorIncomeSectionView : UIView
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,91 @@
|
||||
//
|
||||
// PIGuildAnchorIncomeSectionView.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/2/21.
|
||||
//
|
||||
|
||||
#import "PIGuildAnchorIncomeSectionView.h"
|
||||
@interface PIGuildAnchorIncomeSectionView()
|
||||
@property(nonatomic,strong) UILabel *userInfoView;
|
||||
@property(nonatomic,strong) UILabel *anchorView;
|
||||
@property(nonatomic,strong) UILabel *roomView;
|
||||
@property(nonatomic,strong) UILabel *timeView;
|
||||
@end
|
||||
@implementation PIGuildAnchorIncomeSectionView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
self.backgroundColor = UIColorFromRGB(0xF1F2F2);
|
||||
[self addSubview:self.userInfoView];
|
||||
[self addSubview:self.anchorView];
|
||||
[self addSubview:self.roomView];
|
||||
[self addSubview:self.timeView];
|
||||
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
CGFloat width = kGetScaleWidth(242) / 3;
|
||||
[self.userInfoView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.mas_equalTo(kGetScaleWidth(15));
|
||||
make.centerY.equalTo(self);
|
||||
}];
|
||||
[self.timeView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.trailing.mas_equalTo(0);
|
||||
make.centerY.equalTo(self);
|
||||
make.width.mas_equalTo(width);
|
||||
}];
|
||||
[self.roomView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.trailing.equalTo(self.timeView.mas_leading).mas_offset(0);
|
||||
make.centerY.equalTo(self);
|
||||
make.width.mas_equalTo(width);
|
||||
}];
|
||||
[self.anchorView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerY.equalTo(self);
|
||||
make.trailing.equalTo(self.roomView.mas_leading).mas_offset(0);
|
||||
make.width.mas_equalTo(width);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (UILabel *)userInfoView{
|
||||
if(!_userInfoView){
|
||||
_userInfoView = [UILabel labelInitWithText:YMLocalizedString(@"PIGuildAnchorIncomeSectionView0") font:[UIFont systemFontOfSize:13 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0xA7A7A8)];
|
||||
}
|
||||
return _userInfoView;
|
||||
}
|
||||
- (UILabel *)anchorView{
|
||||
if(!_anchorView){
|
||||
_anchorView = [UILabel labelInitWithText:YMLocalizedString(@"PIGuildAnchorIncomeSectionView1") font:[UIFont systemFontOfSize:13 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0xA7A7A8)];
|
||||
_anchorView.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _anchorView;
|
||||
}
|
||||
|
||||
- (UILabel *)roomView{
|
||||
if(!_roomView){
|
||||
_roomView = [UILabel labelInitWithText:YMLocalizedString(@"PIGuildAnchorIncomeSectionView2") font:[UIFont systemFontOfSize:13 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0xA7A7A8)];
|
||||
_roomView.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _roomView;
|
||||
}
|
||||
|
||||
- (UILabel *)timeView{
|
||||
if(!_timeView){
|
||||
_timeView = [UILabel labelInitWithText:YMLocalizedString(@"PIGuildAnchorIncomeSectionView3") font:[UIFont systemFontOfSize:13 weight:UIFontWeightMedium] textColor:UIColorFromRGB(0xA7A7A8)];
|
||||
_timeView.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _timeView;
|
||||
}
|
||||
|
||||
|
||||
@end
|
@@ -23,7 +23,6 @@
|
||||
#import "XPMineGuildViewController.h"
|
||||
#import "XPMineGuildSearchViewController.h"
|
||||
#import "XPMineClanIncomeStatisViewController.h"
|
||||
#import "XPMineAnchorIncomeStatisViewController.h"
|
||||
#import "XPMineGuildSuperAdminSetViewController.h"
|
||||
#import "XPMineUserInfoViewController.h"
|
||||
#import "XPMineMainIncomeStatisViewController.h"
|
||||
@@ -57,6 +56,8 @@
|
||||
@property (nonatomic,strong) XPClanSectionView *sectionView;
|
||||
///是否请求了数据
|
||||
@property (nonatomic,assign) BOOL isRequest;
|
||||
///公会成员
|
||||
@property(nonatomic,assign) NSInteger memberNum;
|
||||
@end
|
||||
|
||||
@implementation XPMineClanViewController
|
||||
@@ -161,7 +162,7 @@
|
||||
if (cell == nil) {
|
||||
cell = [[XPClanMemberTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPClanMemberTableViewCell class])];
|
||||
}
|
||||
self.sectionView.title = [NSString stringWithFormat:YMLocalizedString(@"XPMineClanViewController1"), self.datasource.count];
|
||||
self.sectionView.title = [NSString stringWithFormat:YMLocalizedString(@"XPMineClanViewController1"), self.memberNum];
|
||||
cell.cellType = ClanMemberTableViewCellType_Normal;
|
||||
ClanMemberInfoModel * memberInfo = [self.datasource safeObjectAtIndex1:indexPath.row-1];
|
||||
cell.isLast = (self.datasource.count -1) == indexPath.row-1;
|
||||
@@ -241,6 +242,7 @@
|
||||
} else {
|
||||
self.hasNoMoreData = YES;
|
||||
}
|
||||
self.memberNum = memberInfo.count;
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
|
||||
|
@@ -476,7 +476,7 @@ UIKIT_EXTERN NSString *kInviteMemeberSuccess;
|
||||
self.avatarImageView.imageUrl = clanDetailInfo.hall.ownerAvatar;
|
||||
self.idLabel.text = [NSString stringWithFormat:YMLocalizedString(@"XPMineGuildViewController6"),clanDetailInfo.hall.ownerErbanNo];
|
||||
[self.backImageView loadImageWithUrl:clanDetailInfo.hall.ownerAvatar completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
|
||||
self.backImageView.image = [self setBlurImage:image];
|
||||
self.backImageView.image = [UIImage setBlurImage:image value:1];
|
||||
}];
|
||||
self.titleLabel.text = clanDetailInfo.hall.hallName;
|
||||
if (clanDetailInfo.manageHall) {
|
||||
@@ -675,38 +675,7 @@ UIKIT_EXTERN NSString *kInviteMemeberSuccess;
|
||||
managerList.guildId = self.clanDetailInfo.hall.hallId;
|
||||
[self.navigationController pushViewController:managerList animated:YES];
|
||||
}
|
||||
-(UIImage *)setBlurImage:(UIImage *)image{
|
||||
|
||||
|
||||
CIContext *context = [CIContext contextWithOptions:nil];
|
||||
CIImage * sourceImage = [CIImage imageWithCGImage:image.CGImage];//将图片转换成CIImage
|
||||
|
||||
///图片仿射滤镜
|
||||
|
||||
CIFilter * clamp = [CIFilter filterWithName:@"CIAffineClamp"];//设置绘制类型
|
||||
|
||||
[clamp setValue:sourceImage forKey:kCIInputImageKey];//设置要绘制的图片
|
||||
|
||||
CIImage *clampResult = [clamp valueForKey:kCIOutputImageKey];
|
||||
|
||||
///高斯模糊滤镜
|
||||
|
||||
CIFilter* gaussianBlur = [CIFilter filterWithName:@"CIGaussianBlur"];
|
||||
|
||||
[gaussianBlur setValue:clampResult forKey:kCIInputImageKey];
|
||||
|
||||
[gaussianBlur setValue:[NSNumber numberWithFloat:1] forKey:@"inputRadius"];//设置模糊值
|
||||
|
||||
CIImage * gaussianBlurResult = [gaussianBlur valueForKey:kCIOutputImageKey];
|
||||
|
||||
///转化获取图片
|
||||
|
||||
CGImageRef cgImage = [context createCGImage:gaussianBlurResult fromRect:[sourceImage extent]];
|
||||
|
||||
UIImage * resultImage = [UIImage imageWithCGImage:cgImage];
|
||||
return resultImage;
|
||||
|
||||
}
|
||||
#pragma mark - Getters And Setters
|
||||
|
||||
- (UIView *)navView {
|
||||
|
@@ -38,8 +38,7 @@ UIKIT_EXTERN NSString * kUpdateSoundInfo;
|
||||
@property (nonatomic,strong) UITableView *tableView;
|
||||
///数据源
|
||||
@property (nonatomic,strong) NSArray *datasouce;
|
||||
/// 日期选择器
|
||||
@property (nonatomic,strong) XPMineUserInfoDateView *dateView;
|
||||
|
||||
///用户信息
|
||||
@property (nonatomic,strong) UserInfoModel *userInfo;
|
||||
///地区列表
|
||||
@@ -145,15 +144,24 @@ UIKIT_EXTERN NSString * kUpdateSoundInfo;
|
||||
[TTPopup alertWithConfig:config confirmHandler:^{
|
||||
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
|
||||
if ([[UIApplication sharedApplication] canOpenURL:url]) {
|
||||
[[UIApplication sharedApplication] openURL:url];
|
||||
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
|
||||
|
||||
}];
|
||||
}
|
||||
} cancelHandler:^{
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)showDatePickerView {
|
||||
self.dateView.time = self.userInfo.birth/1000;
|
||||
[TTPopup popupView:self.dateView style:TTPopupStyleActionSheet];
|
||||
XPMineUserInfoDateView *dateView = [[XPMineUserInfoDateView alloc] initWithFrame:CGRectMake(0, KScreenHeight, KScreenWidth,KScreenHeight)];
|
||||
dateView.delegate = self;
|
||||
dateView.time = self.userInfo.birth/1000;
|
||||
[kWindow addSubview:dateView];
|
||||
[UIView animateWithDuration:0.5 animations:^{
|
||||
dateView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
|
||||
}completion:^(BOOL finished) {
|
||||
dateView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.5];
|
||||
}];
|
||||
}
|
||||
#pragma mark - XPMineUserInfoTagVCDelegate
|
||||
- (void)xPMineUserInfoTagVC:(XPMineUserInfoTagVC *)vc didClickComplete:(NSArray *)meLabels{
|
||||
@@ -305,15 +313,13 @@ UIKIT_EXTERN NSString * kUpdateSoundInfo;
|
||||
|
||||
#pragma mark - XPMineUserInfoDateViewDelegate
|
||||
- (void)xPMineUserInfoDateView:(XPMineUserInfoDateView *)view didClickSureButton:(NSString *)dateStr{
|
||||
[TTPopup dismiss];
|
||||
|
||||
if (dateStr.length > 0) {
|
||||
[self.presenter complectionInfoWithAvatar:nil nick:nil birth:dateStr userDesc:nil];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)xPMineUserInfoDateView:(XPMineUserInfoDateView *)view didClickCancleButton:(UIButton *)sender {
|
||||
[TTPopup dismiss];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - XPMineUserInfoNickViewControllerDelegate
|
||||
- (void)xPMineUserInfoNickViewController:(XPMineUserInfoNickViewController *)viewController updateNick:(NSString *)nick {
|
||||
@@ -413,12 +419,6 @@ UIKIT_EXTERN NSString * kUpdateSoundInfo;
|
||||
return _tableView;
|
||||
}
|
||||
|
||||
- (XPMineUserInfoDateView *)dateView {
|
||||
if (!_dateView) {
|
||||
_dateView = [[XPMineUserInfoDateView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 216+kSafeAreaBottomHeight+54)];
|
||||
_dateView.delegate = self;
|
||||
}
|
||||
return _dateView;
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
@@ -201,6 +201,7 @@
|
||||
[TTPopup alertWithConfig:config showBorder:NO confirmHandler:^{
|
||||
|
||||
XPIAPRechargeViewController * webVC =[[XPIAPRechargeViewController alloc] init];
|
||||
webVC.type = @"4";
|
||||
[self.navigationController pushViewController:webVC animated:YES];
|
||||
} cancelHandler:^{
|
||||
|
||||
|
@@ -364,16 +364,18 @@
|
||||
///当前充值的状态
|
||||
- (void)rechargeNewProcessStatus:(StoreConditionResult)status {
|
||||
|
||||
|
||||
if (status == StoreConditionResultPay || status == StoreConditionResultStart || status == StoreConditionResultVerifiedServer) {
|
||||
|
||||
}else if (status == StoreConditionResultUnowned) {
|
||||
[XNDJTDDLoadingTool hideHUDInView:kWindow];
|
||||
[self showErrorToast:YMLocalizedString(@"XPIAPRechargeViewController1")];
|
||||
}else{
|
||||
[XNDJTDDLoadingTool hideHUDInView:kWindow];
|
||||
[self showErrorToast:YMLocalizedString(@"XPIAPRechargeViewController0")];
|
||||
}
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
if (status == StoreConditionResultPay || status == StoreConditionResultStart || status == StoreConditionResultVerifiedServer) {
|
||||
|
||||
}else if (status == StoreConditionResultUnowned) {
|
||||
[XNDJTDDLoadingTool hideHUDInView:kWindow];
|
||||
[self showErrorToast:YMLocalizedString(@"XPIAPRechargeViewController1")];
|
||||
}else{
|
||||
[XNDJTDDLoadingTool hideHUDInView:kWindow];
|
||||
[self showErrorToast:YMLocalizedString(@"XPIAPRechargeViewController0")];
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
///充值成功回调id
|
||||
|
@@ -10,8 +10,7 @@
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class XPMineUserInfoDateView;
|
||||
@protocol XPMineUserInfoDateViewDelegate <NSObject>
|
||||
///取消
|
||||
- (void)xPMineUserInfoDateView:(XPMineUserInfoDateView *)view didClickCancleButton:(UIButton *)sender;
|
||||
|
||||
///确定
|
||||
- (void)xPMineUserInfoDateView:(XPMineUserInfoDateView *)view didClickSureButton:(NSString *)dateStr;
|
||||
@end
|
||||
|
@@ -11,15 +11,24 @@
|
||||
///Tool
|
||||
#import "DJDKMIMOMColor.h"
|
||||
|
||||
@interface XPMineUserInfoDateView ()
|
||||
@interface XPMineUserInfoDateView ()<UIPickerViewDelegate,UIPickerViewDataSource>
|
||||
@property (nonatomic,strong)NSMutableArray * selDateArray;
|
||||
|
||||
@property (nonatomic,strong)NSDateComponents * components;//时间结构体、可计算时间间隔、获取年月日时分、
|
||||
@property(nonatomic,strong) UIView *bgView;
|
||||
///
|
||||
@property (nonatomic,strong) UIButton *cancleButton;
|
||||
///
|
||||
@property (nonatomic,strong) UIButton *sureButton;
|
||||
///
|
||||
@property (nonatomic, strong) UIDatePicker *datePicker;
|
||||
@property (nonatomic, strong) UIPickerView *pickerView;
|
||||
///样式
|
||||
@property (nonatomic, strong) NSDateFormatter *dateFormatter;
|
||||
///年龄
|
||||
@property(nonatomic,strong) UILabel *ageView;
|
||||
///星座
|
||||
@property(nonatomic,strong) UILabel *starView;
|
||||
@property(nonatomic,strong) NSMutableArray *dataSourceArray;
|
||||
@end
|
||||
|
||||
@implementation XPMineUserInfoDateView
|
||||
@@ -35,60 +44,260 @@
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
self.backgroundColor = [UIColor whiteColor];
|
||||
[self addSubview:self.cancleButton];
|
||||
[self addSubview:self.sureButton];
|
||||
[self addSubview:self.datePicker];
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
[self addSubview:self.cancleButton];
|
||||
[self addSubview:self.bgView];
|
||||
[self.bgView addSubview:self.ageView];
|
||||
[self.bgView addSubview:self.starView];
|
||||
[self.bgView addSubview:self.sureButton];
|
||||
[self.bgView addSubview:self.pickerView];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.datePicker mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self);
|
||||
make.bottom.mas_equalTo(self);
|
||||
make.top.mas_equalTo(self.cancleButton.mas_bottom);
|
||||
}];
|
||||
|
||||
[self.cancleButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.top.mas_equalTo(self);
|
||||
make.height.mas_equalTo(30);
|
||||
make.width.mas_equalTo(50);
|
||||
make.edges.equalTo(self);
|
||||
}];
|
||||
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.bottom.trailing.equalTo(self).inset(kGetScaleWidth(0));
|
||||
make.height.mas_equalTo(kGetScaleWidth(383));
|
||||
}];
|
||||
[self.ageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(kGetScaleWidth(16));
|
||||
make.width.mas_equalTo(kGetScaleWidth(98));
|
||||
make.height.mas_equalTo(kGetScaleWidth(36));
|
||||
make.leading.mas_equalTo(kGetScaleWidth(80));
|
||||
}];
|
||||
[self.starView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.trailing.mas_equalTo(-kGetScaleWidth(80));
|
||||
make.top.mas_equalTo(kGetScaleWidth(16));
|
||||
make.width.mas_equalTo(kGetScaleWidth(98));
|
||||
make.height.mas_equalTo(kGetScaleWidth(36));
|
||||
}];
|
||||
[self.sureButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.mas_equalTo(self);
|
||||
make.width.height.centerY.mas_equalTo(self.cancleButton);
|
||||
make.bottom.mas_equalTo(-kGetScaleWidth(42));
|
||||
make.centerX.equalTo(self.bgView);
|
||||
make.width.mas_equalTo(kGetScaleWidth(303));
|
||||
make.height.mas_equalTo(kGetScaleWidth(48));
|
||||
}];
|
||||
[self.pickerView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self);
|
||||
make.bottom.equalTo(self.sureButton.mas_top);
|
||||
make.top.equalTo(self.starView.mas_bottom).mas_offset(kGetScaleWidth(10));
|
||||
|
||||
}];
|
||||
}
|
||||
#pragma mark- UIPickerViewDelegate,UIPickerViewDataSource
|
||||
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
|
||||
|
||||
return 3;
|
||||
}
|
||||
|
||||
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
|
||||
|
||||
return [_dataSourceArray[component] count];
|
||||
}
|
||||
|
||||
-(CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component{
|
||||
|
||||
return KScreenWidth/3;
|
||||
}
|
||||
-(CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component{
|
||||
return kGetScaleWidth(40);
|
||||
}
|
||||
|
||||
-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{
|
||||
[self changeSpearatorLineColor];
|
||||
UIView *bgView = (UIView *)view;
|
||||
UILabel *lab = [view viewWithTag:100];
|
||||
if (!bgView) {
|
||||
bgView = [UIView new];
|
||||
bgView.backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
if(!lab){
|
||||
lab = [UILabel labelInitWithText:@"" font:kFontRegular(20) textColor:UIColorFromRGB(0x1E1E1F)];
|
||||
[bgView addSubview:lab];
|
||||
CGFloat x ;
|
||||
if(component == 0){
|
||||
x = kGetScaleWidth(20) ;
|
||||
}else if(component == 1){
|
||||
x = kGetScaleWidth(10) ;
|
||||
}else{
|
||||
x = 0 ;
|
||||
}
|
||||
[lab mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(bgView);
|
||||
make.leading.mas_equalTo(kGetScaleWidth(x));
|
||||
make.width.mas_equalTo(kGetScaleWidth(98));
|
||||
make.height.mas_equalTo(kGetScaleWidth(40));
|
||||
}];
|
||||
lab.layer.cornerRadius = kGetScaleWidth(8);
|
||||
lab.layer.masksToBounds = YES;
|
||||
lab.textAlignment = NSTextAlignmentCenter;
|
||||
lab.tag = 100;
|
||||
}else{
|
||||
CGFloat x ;
|
||||
if(component == 0){
|
||||
x = kGetScaleWidth(20) ;
|
||||
}else if(component == 1){
|
||||
x = kGetScaleWidth(10) ;
|
||||
}else{
|
||||
x = 0 ;
|
||||
}
|
||||
[lab mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(bgView);
|
||||
make.leading.mas_equalTo(kGetScaleWidth(x));
|
||||
make.width.mas_equalTo(kGetScaleWidth(98));
|
||||
make.height.mas_equalTo(kGetScaleWidth(40));
|
||||
}];
|
||||
}
|
||||
|
||||
NSArray *yearArr = @[YMLocalizedString(@"XPIncomeRecordGoldDetailsPickViewView3") ,YMLocalizedString(@"XPIncomeRecordGoldDetailsPickViewView4"),YMLocalizedString(@"XPIncomeRecordGoldDetailsPickViewView5")];
|
||||
if ([self.selDateArray[component]isEqualToString:self.dataSourceArray[component][row]] ) {
|
||||
lab.backgroundColor = UIColorFromRGB(0xF7F7F7);
|
||||
lab.font = kFontRegular(20);
|
||||
lab.text = [NSString stringWithFormat:@"%@%@",self.selDateArray[component],yearArr[component]];
|
||||
lab.textColor = UIColorFromRGB(0x1E1E1F);
|
||||
}else{
|
||||
lab.backgroundColor = [UIColor clearColor];
|
||||
lab.font = kFontRegular(18);
|
||||
lab.text = [NSString stringWithFormat:@"%@%@",self.dataSourceArray[component][row],yearArr[component]];
|
||||
lab.textColor = UIColorRGBAlpha(0x1E1E1F, 0.6);
|
||||
}
|
||||
return bgView;
|
||||
}
|
||||
#pragma mark - 改变分割线的颜色
|
||||
- (void)changeSpearatorLineColor {
|
||||
for(UIView *speartorView in _pickerView.subviews) {
|
||||
if (speartorView.frame.size.height < 80) {//找出当前的 View
|
||||
speartorView.backgroundColor = [UIColor clearColor];
|
||||
}else{
|
||||
speartorView.backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
}
|
||||
}
|
||||
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
|
||||
[self.selDateArray replaceObjectAtIndex:component withObject:self.dataSourceArray[component][row]];
|
||||
[pickerView reloadAllComponents];
|
||||
NSString *time = [NSString stringWithFormat:@"%@-%@-%@",self.selDateArray[0],self.selDateArray[1],self.selDateArray[2]];
|
||||
NSDate *date = [NSDate at_dateFromString:time];
|
||||
NSTimeInterval interval = [date timeIntervalSince1970] * 1000;
|
||||
self.ageView.text = [NSString stringWithFormat:@"%ld%@",[PLTimeUtil ageWithDateFromBirth:interval],YMLocalizedString(@"XPMineUserInfoDateView3")];
|
||||
self.starView.text = [NSString stringWithFormat:@"%@%@",[NSString getCalculateConstellationTextWithMonth:interval],YMLocalizedString(@"XPMineUserInfoDateView4")] ;
|
||||
}
|
||||
//数据源
|
||||
-(NSMutableArray *)dataSourceArray{
|
||||
if(!_dataSourceArray){
|
||||
NSMutableArray * yearArr = [@[]mutableCopy];
|
||||
for (int i = 1900; i < 2050; i++) {
|
||||
[yearArr addObject:@(i).stringValue];
|
||||
}
|
||||
NSArray * monthArr = @[@"01",@"02",@"03",@"04",@"05",@"06",@"07",@"08",@"09",@"10",@"11",@"12"];
|
||||
NSArray * dayArr = [self dayArrayMonth:self.components.month year:self.components.year];
|
||||
|
||||
NSArray * array = @[yearArr,monthArr,dayArr];
|
||||
_dataSourceArray = [array mutableCopy];
|
||||
}
|
||||
|
||||
return _dataSourceArray;
|
||||
}
|
||||
|
||||
//根据月份返回日期
|
||||
-(NSArray *)dayArrayMonth:(NSInteger)month year:(NSInteger)year{
|
||||
NSArray * dayArr = [[NSArray alloc]init];
|
||||
|
||||
switch (month) {
|
||||
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
|
||||
dayArr = @[@"01",@"02",@"03",@"04",@"05",@"06",@"07",@"08",@"09",@"10",@"11",@"12",@"13",@"14",@"15",@"16",@"17",@"18",@"19",@"20",@"21",@"22",@"23",@"24",@"25",@"26",@"27",@"28",@"29",@"30",@"31"];
|
||||
|
||||
break;
|
||||
case 4: case 6: case 9: case 11:
|
||||
dayArr = @[@"01",@"02",@"03",@"04",@"05",@"06",@"07",@"08",@"09",@"10",@"11",@"12",@"13",@"14",@"15",@"16",@"17",@"18",@"19",@"20",@"21",@"22",@"23",@"24",@"25",@"26",@"27",@"28",@"29",@"30"];
|
||||
break;
|
||||
case 2:
|
||||
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {///是润年
|
||||
dayArr = @[@"01",@"02",@"03",@"04",@"05",@"06",@"07",@"08",@"09",@"10",@"11",@"12",@"13",@"14",@"15",@"16",@"17",@"18",@"19",@"20",@"21",@"22",@"23",@"24",@"25",@"26",@"27",@"28",@"29"];
|
||||
}else{
|
||||
dayArr = @[@"01",@"02",@"03",@"04",@"05",@"06",@"07",@"08",@"09",@"10",@"11",@"12",@"13",@"14",@"15",@"16",@"17",@"18",@"19",@"20",@"21",@"22",@"23",@"24",@"25",@"26",@"27",@"28"];
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return dayArr;
|
||||
|
||||
}
|
||||
#pragma mark - Event
|
||||
- (void)onClickCancelButton:(UIButton *)sender {
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineUserInfoDateView:didClickCancleButton:)]) {
|
||||
[self.delegate xPMineUserInfoDateView:self didClickCancleButton:sender];
|
||||
}
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
[UIView animateWithDuration:0.5 animations:^{
|
||||
self.frame = CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight);
|
||||
}completion:^(BOOL finished) {
|
||||
[self removeFromSuperview];
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
- (void)onClickSureButton:(UIButton *)sender {
|
||||
NSDate * date = self.datePicker.date;
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineUserInfoDateView:didClickSureButton:)]) {
|
||||
NSTimeZone *timeZone= [NSTimeZone systemTimeZone];
|
||||
NSInteger seconds= [timeZone secondsFromGMTForDate:date];
|
||||
NSDate *newDate= [date dateByAddingTimeInterval:seconds];
|
||||
NSString *dateStr = [self.dateFormatter stringFromDate:newDate];
|
||||
[self.delegate xPMineUserInfoDateView:self didClickSureButton:dateStr];
|
||||
}
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineUserInfoDateView:didClickSureButton:)]) {
|
||||
NSString *time = [NSString stringWithFormat:@"%@-%@-%@",self.selDateArray[0],self.selDateArray[1],self.selDateArray[2]];
|
||||
[self.delegate xPMineUserInfoDateView:self didClickSureButton:time];
|
||||
}
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
[UIView animateWithDuration:0.5 animations:^{
|
||||
self.frame = CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight);
|
||||
}completion:^(BOOL finished) {
|
||||
[self removeFromSuperview];
|
||||
}];
|
||||
|
||||
}
|
||||
//分解传来需要显示的时间
|
||||
-(NSArray *)receiveTime:(NSString *)timeStr{
|
||||
|
||||
NSArray * timeArray = [timeStr componentsSeparatedByString:@"-"];
|
||||
NSMutableArray * timeArr = [[NSMutableArray alloc]init];
|
||||
for (int i = 0; i<timeArray.count; i++) {
|
||||
NSString * str = [timeArray objectAtIndex:i];
|
||||
if (str.length == 1) {
|
||||
[timeArr addObject:[NSString stringWithFormat:@"0%@",str]];
|
||||
}else if(str.length == 0){
|
||||
[timeArr addObject:@"00"];
|
||||
}else{
|
||||
[timeArr addObject:str];
|
||||
}
|
||||
}
|
||||
|
||||
return timeArr;
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setTime:(NSTimeInterval)time {
|
||||
_time = time;
|
||||
NSDate *date = [NSDate dateWithTimeIntervalSince1970:time];
|
||||
self.datePicker.date = date;
|
||||
NSTimeZone *timeZone= [NSTimeZone systemTimeZone];
|
||||
NSInteger seconds= [timeZone secondsFromGMTForDate:date];
|
||||
NSDate *newDate= [date dateByAddingTimeInterval:seconds];
|
||||
NSString *dateStr = [self.dateFormatter stringFromDate:newDate];
|
||||
NSArray * timeArr = [[NSArray alloc]init];
|
||||
if (dateStr) {
|
||||
timeArr = [self receiveTime:dateStr];
|
||||
}
|
||||
if (timeArr.count == 3) {//需要显示传入的时间
|
||||
self.selDateArray = [timeArr mutableCopy];
|
||||
for (int i = 0; i < 3; i++) {
|
||||
[self.pickerView selectRow: [self.dataSourceArray[i] indexOfObject:self.selDateArray[i]] inComponent:i animated:YES];
|
||||
}
|
||||
|
||||
}
|
||||
self.ageView.text = [NSString stringWithFormat:@"%ld%@",[PLTimeUtil ageWithDateFromBirth:time*1000],YMLocalizedString(@"XPMineUserInfoDateView3")];
|
||||
self.starView.text = [NSString stringWithFormat:@"%@%@",[NSString getCalculateConstellationTextWithMonth:time*1000],YMLocalizedString(@"XPMineUserInfoDateView4")] ;
|
||||
}
|
||||
- (UIButton *)cancleButton {
|
||||
if (!_cancleButton) {
|
||||
_cancleButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_cancleButton setTitle:YMLocalizedString(@"XPMineUserInfoDateView0") forState:UIControlStateNormal];
|
||||
[_cancleButton addTarget:self action:@selector(onClickCancelButton:) forControlEvents:UIControlEventTouchUpInside];
|
||||
_cancleButton.titleLabel.font = [UIFont systemFontOfSize:14];
|
||||
[_cancleButton setTitleColor:[DJDKMIMOMColor secondTextColor] forState:UIControlStateNormal];
|
||||
|
||||
}
|
||||
return _cancleButton;
|
||||
}
|
||||
@@ -96,10 +305,14 @@
|
||||
- (UIButton *)sureButton {
|
||||
if (!_sureButton) {
|
||||
_sureButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_sureButton setTitle:YMLocalizedString(@"XPMineUserInfoDateView1") forState:UIControlStateNormal];
|
||||
[_sureButton setTitle:YMLocalizedString(@"XPMineUserInfoDateView2") forState:UIControlStateNormal];
|
||||
[_sureButton addTarget:self action:@selector(onClickSureButton:) forControlEvents:UIControlEventTouchUpInside];
|
||||
_sureButton.titleLabel.font = [UIFont systemFontOfSize:14];
|
||||
[_sureButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
|
||||
_sureButton.titleLabel.font = kFontMedium(16);
|
||||
[_sureButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
UIImage *image = [UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor],[DJDKMIMOMColor confirmButtonGradientMiddleColor],[DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(kGetScaleWidth(303), kGetScaleWidth(48))];
|
||||
[_sureButton setBackgroundImage:image forState:UIControlStateNormal];
|
||||
_sureButton.layer.cornerRadius = kGetScaleWidth(48)/2;
|
||||
_sureButton.layer.masksToBounds = YES;
|
||||
}
|
||||
return _sureButton;
|
||||
}
|
||||
@@ -112,22 +325,45 @@
|
||||
return _dateFormatter;
|
||||
}
|
||||
|
||||
- (UIDatePicker *)datePicker {
|
||||
if (!_datePicker){
|
||||
_datePicker = [[UIDatePicker alloc] init];
|
||||
_datePicker.datePickerMode = UIDatePickerModeDate;
|
||||
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
|
||||
_datePicker.locale = locale;
|
||||
_datePicker.layer.cornerRadius = 5;
|
||||
_datePicker.layer.masksToBounds = YES;
|
||||
if (@available(iOS 13.4, *)) {
|
||||
_datePicker.preferredDatePickerStyle = UIDatePickerStyleWheels;
|
||||
}
|
||||
NSDate *date = [self.dateFormatter dateFromString:@"2000-07-01"];
|
||||
_datePicker.date = date;
|
||||
_datePicker.backgroundColor = [UIColor whiteColor];
|
||||
}
|
||||
return _datePicker;
|
||||
- (UIPickerView *)pickerView{
|
||||
if (!_pickerView){
|
||||
_pickerView = [[UIPickerView alloc]initWithFrame:CGRectZero];
|
||||
_pickerView.delegate = self;
|
||||
_pickerView.dataSource = self;
|
||||
}
|
||||
return _pickerView;
|
||||
}
|
||||
- (UIView *)bgView{
|
||||
if(!_bgView){
|
||||
_bgView = [UIView new];
|
||||
_bgView.backgroundColor = [UIColor whiteColor];
|
||||
[_bgView setCornerWithLeftTopCorner:kGetScaleWidth(20) rightTopCorner:kGetScaleWidth(20) bottomLeftCorner:0 bottomRightCorner:0 size:CGSizeMake(KScreenWidth, kGetScaleWidth(383))];
|
||||
}
|
||||
return _bgView;
|
||||
}
|
||||
- (UILabel *)ageView{
|
||||
if(!_ageView){
|
||||
_ageView = [UILabel labelInitWithText:@"" font:kFontMedium(16) textColor:UIColorFromRGB(0x1E1E1F)];
|
||||
[_ageView setCornerWithLeftTopCorner:kGetScaleWidth(7) rightTopCorner:kGetScaleWidth(7) bottomLeftCorner:kGetScaleWidth(7) bottomRightCorner:kGetScaleWidth(7) size:CGSizeMake(kGetScaleWidth(98), kGetScaleWidth(36))];
|
||||
_ageView.backgroundColor = UIColorFromRGB(0xF7F7F7);
|
||||
_ageView.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _ageView;
|
||||
}
|
||||
- (UILabel *)starView{
|
||||
if(!_starView){
|
||||
_starView = [UILabel labelInitWithText:@"" font:kFontMedium(16) textColor:UIColorFromRGB(0x1E1E1F)];
|
||||
[_starView setCornerWithLeftTopCorner:kGetScaleWidth(7) rightTopCorner:kGetScaleWidth(7) bottomLeftCorner:kGetScaleWidth(7) bottomRightCorner:kGetScaleWidth(7) size:CGSizeMake(kGetScaleWidth(98), kGetScaleWidth(36))];
|
||||
_starView.backgroundColor = UIColorFromRGB(0xF7F7F7);
|
||||
_starView.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _starView;
|
||||
}
|
||||
- (NSDateComponents *)components{
|
||||
if(!_components){
|
||||
NSCalendar * calender = [NSCalendar currentCalendar];
|
||||
_components = [calender components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute fromDate:[NSDate date]];
|
||||
}
|
||||
return _components;
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -605,14 +605,23 @@
|
||||
}] ;
|
||||
}
|
||||
self.charmImageView.hidden = userInfo.userLevelVo.charmUrl.length <= 0;
|
||||
|
||||
if (userInfo.nameplateWord.length>0 && userInfo.nameplatePic.length>0) {
|
||||
self.nameplateImageView.imageUrl = userInfo.nameplatePic;
|
||||
self.nameplateLabel.text = userInfo.nameplateWord;
|
||||
self.namePlateView.hidden = NO;
|
||||
} else {
|
||||
self.namePlateView.hidden = YES;
|
||||
if(userInfo.isCustomWord == YES){
|
||||
if (userInfo.nameplateWord.length>0) {
|
||||
self.nameplateImageView.imageUrl = userInfo.nameplatePic;
|
||||
self.namePlateView.hidden = NO;
|
||||
} else {
|
||||
self.namePlateView.hidden = YES;
|
||||
}
|
||||
}else{
|
||||
if (userInfo.nameplateWord.length>0 && userInfo.nameplatePic.length>0) {
|
||||
self.nameplateImageView.imageUrl = userInfo.nameplatePic;
|
||||
self.nameplateLabel.text = userInfo.nameplateWord;
|
||||
self.namePlateView.hidden = NO;
|
||||
} else {
|
||||
self.namePlateView.hidden = YES;
|
||||
}
|
||||
}
|
||||
|
||||
self.rechargeImageView.hidden = !_userInfo.isRechargeUser;
|
||||
[self.userPhtotArray removeAllObjects];
|
||||
// 轮播图
|
||||
|
@@ -258,6 +258,29 @@
|
||||
|
||||
|
||||
///铭牌
|
||||
- (NSMutableAttributedString *)createNameplateAttibuteWithImage:(NSString *)imageName{
|
||||
NetImageConfig *config = [[NetImageConfig alloc]init];
|
||||
///先这样吧
|
||||
config.autoLoad = YES;
|
||||
NetImageView *imageView = [[NetImageView alloc]initWithUrl:imageName config:config];
|
||||
UIImage* image = imageView.image;
|
||||
if (image) {
|
||||
CGFloat scale = image.size.width / (image.size.height > 0 ? image.size.height : 1);
|
||||
imageView.bounds = CGRectMake(0, 0, 20 * scale, 20);
|
||||
} else {
|
||||
NSURL *imgUrl = [NSURL URLWithString:imageName];
|
||||
UIImage *myImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:imgUrl]];
|
||||
CGFloat scale = myImage.size.width / (myImage.size.height > 0 ? myImage.size.height : 1);
|
||||
if (scale == 0) {
|
||||
imageView.bounds = CGRectMake(0, 0, 60, 20);
|
||||
}else {
|
||||
imageView.bounds = CGRectMake(0, 0, 20 * scale, 20);
|
||||
}
|
||||
}
|
||||
imageView.contentMode = UIViewContentModeScaleAspectFit;
|
||||
NSMutableAttributedString *string = [NSMutableAttributedString yy_attachmentStringWithContent:imageView contentMode:UIViewContentModeScaleAspectFit attachmentSize:imageView.bounds.size alignToFont:[UIFont boldSystemFontOfSize:12] alignment:YYTextVerticalAlignmentCenter];
|
||||
return string;
|
||||
}
|
||||
- (NSMutableAttributedString *)createNameplateAttibute:(NSString *)tagName image:(NSString *)imageName textFont:(UIFont *)textFont {
|
||||
NetImageConfig *config = [[NetImageConfig alloc]init];
|
||||
///先这样吧
|
||||
@@ -325,12 +348,20 @@
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//主播认证
|
||||
if (userInfo.nameplateWord.length > 0 && userInfo.nameplatePic.length>0) {
|
||||
[self createNameplateAttibute:userInfo.nameplateWord image:userInfo.nameplatePic textFont:[UIFont systemFontOfSize:9]];
|
||||
[attributedString appendAttributedString:[self createSapceAttribute:2]];
|
||||
}
|
||||
if(userInfo.isCertified == YES){
|
||||
//主播认证
|
||||
if (userInfo.nameplatePic.length > 0) {
|
||||
[self createNameplateAttibuteWithImage:userInfo.nameplatePic];
|
||||
[attributedString appendAttributedString:[self createSapceAttribute:2]];
|
||||
}
|
||||
}else{
|
||||
//主播认证
|
||||
if (userInfo.nameplateWord.length > 0 && userInfo.nameplatePic.length>0) {
|
||||
[self createNameplateAttibute:userInfo.nameplateWord image:userInfo.nameplatePic textFont:[UIFont systemFontOfSize:9]];
|
||||
[attributedString appendAttributedString:[self createSapceAttribute:2]];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// userRank 用户级别
|
||||
if (userInfo.userLevelVo.experUrl) {
|
||||
|
@@ -67,6 +67,8 @@ typedef NS_ENUM(NSInteger, MonentsContentType) {
|
||||
@property (nonatomic, copy) NSString *nameplateWord;
|
||||
///铭牌图片
|
||||
@property (nonatomic, copy) NSString *nameplatePic;
|
||||
///是否自定义铭牌,
|
||||
@property(nonatomic,assign) BOOL isCustomWord;
|
||||
///话题id
|
||||
@property (nonatomic, assign) long worldId;
|
||||
///话题名字
|
||||
|
@@ -255,14 +255,23 @@
|
||||
}
|
||||
|
||||
self.charmImageView.hidden = _monentsInfo.charmLevelPic.length <= 0;
|
||||
|
||||
if (_monentsInfo.nameplateWord.length>0 && _monentsInfo.nameplatePic.length>0) {
|
||||
self.nameplateImageView.imageUrl = _monentsInfo.nameplatePic;
|
||||
self.nameplateLabel.text = _monentsInfo.nameplateWord;
|
||||
self.namePlateView.hidden = NO;
|
||||
} else {
|
||||
self.namePlateView.hidden = YES;
|
||||
if(_monentsInfo.isCustomWord == YES){
|
||||
if (_monentsInfo.nameplateWord.length>0) {
|
||||
self.nameplateImageView.imageUrl = _monentsInfo.nameplatePic;
|
||||
self.namePlateView.hidden = NO;
|
||||
} else {
|
||||
self.namePlateView.hidden = YES;
|
||||
}
|
||||
}else{
|
||||
if (_monentsInfo.nameplateWord.length>0 && _monentsInfo.nameplatePic.length>0) {
|
||||
self.nameplateImageView.imageUrl = _monentsInfo.nameplatePic;
|
||||
self.nameplateLabel.text = _monentsInfo.nameplateWord;
|
||||
self.namePlateView.hidden = NO;
|
||||
} else {
|
||||
self.namePlateView.hidden = YES;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
NSString * headwearUrl= _monentsInfo.headwearEffect.length > 0 ? _monentsInfo.headwearEffect : _monentsInfo.headwearPic;
|
||||
|
@@ -324,9 +324,11 @@
|
||||
self.isEdited = NO;
|
||||
}
|
||||
NSArray * array;
|
||||
if (self.datasource.count < 9 && self.datasource.count > 1) {
|
||||
array = [self.datasource subarrayWithRange:NSMakeRange(0, self.datasource.count - 1)];
|
||||
}
|
||||
if([self.datasource containsObject:self.addPicImage] && self.datasource.count > 1){
|
||||
array = [self.datasource subarrayWithRange:NSMakeRange(0, self.datasource.count - 1)];
|
||||
}else if(![self.datasource containsObject:self.addPicImage] && self.datasource.count == 9){
|
||||
array = self.datasource;
|
||||
}
|
||||
self.uploadImageList = array;
|
||||
}
|
||||
|
||||
|
@@ -32,7 +32,13 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
tabId:(NSString *)tabId
|
||||
pageNum:(NSString *)pageNum
|
||||
pageSize:(NSString *)pageSize;
|
||||
|
||||
/// 查看推荐列表
|
||||
/// @param complection 完成
|
||||
/// @param uid 用户的uid
|
||||
/// @param tabId tabid
|
||||
/// @param pageNum 当前的页数
|
||||
/// @param pageSize 一页有多少个
|
||||
+ (void)getNewRecommendListComplection:(HttpRequestHelperCompletion)complection uid:(NSString *)uid tabId:(NSString *)tabId pageNum:(NSString *)pageNum pageSize:(NSString *)pageSize;
|
||||
/// 搜索
|
||||
/// @param complection 完成
|
||||
/// @param key 关键字
|
||||
|
@@ -15,7 +15,7 @@
|
||||
/// @param complection 完成
|
||||
/// @param uid 用户的uid
|
||||
+ (void)homeTagComplection:(HttpRequestHelperCompletion)complection uid:(NSString *)uid {
|
||||
[self makeRequest:@"home/tagV2" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, uid, nil];
|
||||
[self makeRequest:@"home/tag" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, uid, nil];
|
||||
}
|
||||
|
||||
/// 获取首页所有的直播tag
|
||||
@@ -33,7 +33,15 @@
|
||||
+ (void)getRecommendListComplection:(HttpRequestHelperCompletion)complection uid:(NSString *)uid tabId:(NSString *)tabId pageNum:(NSString *)pageNum pageSize:(NSString *)pageSize {
|
||||
[self makeRequest:@"home/tab/mapV2" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, uid, tabId, pageNum, pageSize, nil];
|
||||
}
|
||||
|
||||
/// 查看推荐列表
|
||||
/// @param complection 完成
|
||||
/// @param uid 用户的uid
|
||||
/// @param tabId tabid
|
||||
/// @param pageNum 当前的页数
|
||||
/// @param pageSize 一页有多少个
|
||||
+ (void)getNewRecommendListComplection:(HttpRequestHelperCompletion)complection uid:(NSString *)uid tabId:(NSString *)tabId pageNum:(NSString *)pageNum pageSize:(NSString *)pageSize {
|
||||
[self makeRequest:@"home/tab/homeV2" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, uid, tabId, pageNum, pageSize, nil];
|
||||
}
|
||||
/// 搜索
|
||||
/// @param complection 完成
|
||||
/// @param key 关键字
|
||||
|
@@ -46,7 +46,6 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
//是否为周榜top1
|
||||
@property(nonatomic,assign) BOOL isWeekTop1;
|
||||
@property(nonatomic,copy) NSString *inRoomUid;
|
||||
|
||||
//是否在麦位
|
||||
@property(nonatomic,assign) BOOL inMic;
|
||||
///是否在线
|
||||
|