Compare commits
15 Commits
enterprise
...
enterprise
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d6780c76f8 | ||
![]() |
bb3d4850b4 | ||
![]() |
d4958b340f | ||
![]() |
7d7b625ff0 | ||
![]() |
353a60f525 | ||
![]() |
9b86af095e | ||
![]() |
9471b22869 | ||
![]() |
4851a8c997 | ||
![]() |
3edb300cfe | ||
![]() |
bcb7de1950 | ||
![]() |
647291dfdf | ||
![]() |
0e9d23117e | ||
![]() |
25f0e896e1 | ||
![]() |
51887239ca | ||
![]() |
348e2b14a4 |
8
Podfile
@@ -4,7 +4,7 @@ source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
|
||||
target 'YuMi' do
|
||||
use_frameworks!
|
||||
#pag动画
|
||||
pod 'libpag'
|
||||
pod 'libpag', '~> 4.3.21'
|
||||
pod 'Bugly'
|
||||
pod 'Adjust', '~> 4.31.0'
|
||||
pod 'Firebase/Analytics'
|
||||
@@ -47,10 +47,6 @@ target 'YuMi' do
|
||||
pod 'CocoaAsyncSocket',:modular_headers => true
|
||||
#声网
|
||||
pod 'AgoraRtcEngine_iOS', '~> 4.2.2'
|
||||
#上传图片
|
||||
pod 'Qiniu'
|
||||
#内购
|
||||
pod 'IAPHelper'
|
||||
#持久化存储
|
||||
pod 'SSKeychain'
|
||||
pod 'Base64'
|
||||
@@ -60,7 +56,6 @@ target 'YuMi' do
|
||||
pod 'NIMSDK_LITE', '~> 9.2.8'
|
||||
pod 'GKCycleScrollView', '~> 1.2.0'
|
||||
pod 'SVGAPlayer'
|
||||
|
||||
pod 'GoogleSignIn'
|
||||
pod 'mob_linksdk_pro'
|
||||
pod 'mob_sharesdk'
|
||||
@@ -76,6 +71,7 @@ target 'YuMi' do
|
||||
pod 'WMZDropDownMenu'
|
||||
pod 'TABAnimated'
|
||||
pod 'YuMi',:path=>'yum'
|
||||
pod 'QCloudCOSXML'
|
||||
end
|
||||
|
||||
post_install do |installer|
|
||||
|
@@ -232,6 +232,7 @@
|
||||
236B2E592AA18E13003967A8 /* XPMIneGameCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 236B2E552AA18E12003967A8 /* XPMIneGameCollectionViewCell.m */; };
|
||||
236B2E5A2AA18E13003967A8 /* XPMineGameTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 236B2E572AA18E12003967A8 /* XPMineGameTableViewCell.m */; };
|
||||
236B2E5D2AA19169003967A8 /* HomeLittleGameRoomModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 236B2E5C2AA19169003967A8 /* HomeLittleGameRoomModel.m */; };
|
||||
236BA4982BB6AFED00C7C73A /* PINoblePrivilegeEmptyCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 236BA4972BB6AFED00C7C73A /* PINoblePrivilegeEmptyCell.m */; };
|
||||
237B94BC2A984DA7007853E3 /* XPTrumpetPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 237B94AE2A984DA7007853E3 /* XPTrumpetPresenter.m */; };
|
||||
237B94BD2A984DA7007853E3 /* XPNobleTrumpetModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 237B94B32A984DA7007853E3 /* XPNobleTrumpetModel.m */; };
|
||||
237B94BE2A984DA7007853E3 /* XPRoomTrumpetViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 237B94B72A984DA7007853E3 /* XPRoomTrumpetViewController.m */; };
|
||||
@@ -304,6 +305,7 @@
|
||||
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 */; };
|
||||
23959FE72BB15C930085A282 /* UploadFileModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23959FE62BB15C930085A282 /* UploadFileModel.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 */; };
|
||||
@@ -362,6 +364,7 @@
|
||||
23D8DEF22AC5633300644637 /* PIIAPRegulate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23D8DEF12AC5633300644637 /* PIIAPRegulate.swift */; };
|
||||
23E45C052AC2B0A200D88BCA /* SessionDiscoverNewTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E45C042AC2B0A200D88BCA /* SessionDiscoverNewTableViewCell.m */; };
|
||||
23E56B3C2B03564B00C8DAC9 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 23E56B3B2B03564B00C8DAC9 /* CoreTelephony.framework */; };
|
||||
23E7FE9C2BB6CD42008F6800 /* XPNobleCenterWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E7FE9B2BB6CD42008F6800 /* XPNobleCenterWindow.m */; };
|
||||
23E9E9972A80C3A100B792F2 /* XPMineGuildPersonalBillRecordVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9E9942A80C39F00B792F2 /* XPMineGuildPersonalBillRecordVC.m */; };
|
||||
23E9E9982A80C3A100B792F2 /* XPMineGuildPersonalBillStatisVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9E9962A80C3A100B792F2 /* XPMineGuildPersonalBillStatisVC.m */; };
|
||||
23E9E99B2A80C40000B792F2 /* XPMineGuildPersonalBillRecordHeadView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9E9992A80C3FF00B792F2 /* XPMineGuildPersonalBillRecordHeadView.m */; };
|
||||
@@ -407,6 +410,13 @@
|
||||
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 */; };
|
||||
23F9636A2BB6919D00F440A6 /* PINobleRebateModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23F963692BB6919D00F440A6 /* PINobleRebateModel.m */; };
|
||||
23FE47D52BB3C64600F09D23 /* PINobleCenterTitleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FE47D42BB3C64600F09D23 /* PINobleCenterTitleCell.m */; };
|
||||
23FE47D82BB3CEAF00F09D23 /* PINobleCenterTitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FE47D72BB3CEAF00F09D23 /* PINobleCenterTitleView.m */; };
|
||||
23FE47DB2BB4171C00F09D23 /* PINobleCenterListView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FE47DA2BB4171C00F09D23 /* PINobleCenterListView.m */; };
|
||||
23FE47E12BB41CF200F09D23 /* PINobleCenterListReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FE47E02BB41CF200F09D23 /* PINobleCenterListReusableView.m */; };
|
||||
23FE47E42BB41EBF00F09D23 /* PINobleCenterListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FE47E32BB41EBF00F09D23 /* PINobleCenterListCell.m */; };
|
||||
23FE47E72BB4378700F09D23 /* PINobleCenterListModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FE47E62BB4378700F09D23 /* PINobleCenterListModel.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 */; };
|
||||
@@ -1262,7 +1272,6 @@
|
||||
E89D60BA271D643A001F8895 /* Api+Room.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D60B9271D643A001F8895 /* Api+Room.m */; };
|
||||
E89D60BD271D647A001F8895 /* XPRoomPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D60BC271D647A001F8895 /* XPRoomPresenter.m */; };
|
||||
E89D60C1271D64B9001F8895 /* RoomInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E89D60C0271D64B9001F8895 /* RoomInfoModel.m */; };
|
||||
E89DA66427005932008483C1 /* XPIAPHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DA66327005932008483C1 /* XPIAPHelper.m */; };
|
||||
E89DA66727006443008483C1 /* RechargeStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DA66627006443008483C1 /* RechargeStorage.m */; };
|
||||
E89DA67227008D59008483C1 /* WalletInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DA67127008D59008483C1 /* WalletInfoModel.m */; };
|
||||
E89DA67527009ACD008483C1 /* XPMineRechargeNavView.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DA67427009ACD008483C1 /* XPMineRechargeNavView.m */; };
|
||||
@@ -1340,12 +1349,10 @@
|
||||
E8B825C726EA0D9A009E8E9F /* LoginVerifCodeProtocol.h in Sources */ = {isa = PBXBuildFile; fileRef = E8B825C626EA0995009E8E9F /* LoginVerifCodeProtocol.h */; };
|
||||
E8B825CA26EA1231009E8E9F /* LoginVerifCodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B825C826EA1231009E8E9F /* LoginVerifCodeViewController.m */; };
|
||||
E8B825CD26EA18C8009E8E9F /* DJDKMIMOMColor.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B825CC26EA18C8009E8E9F /* DJDKMIMOMColor.m */; };
|
||||
E8B846BC26FD7C1200A777FE /* UploadImage.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846BB26FD7C1200A777FE /* UploadImage.m */; };
|
||||
E8B846BF26FD827900A777FE /* XPMineUserInfoAlbumViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846BE26FD827900A777FE /* XPMineUserInfoAlbumViewController.m */; };
|
||||
E8B846C226FD82DC00A777FE /* XPMineUserInfoAlbumCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846C126FD82DC00A777FE /* XPMineUserInfoAlbumCollectionViewCell.m */; };
|
||||
E8B846C526FDB41A00A777FE /* XPMineUserInfolbumPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846C426FDB41A00A777FE /* XPMineUserInfolbumPresenter.m */; };
|
||||
E8B846C726FDB45000A777FE /* XPMineUserInfoAlbumProtocol.h in Sources */ = {isa = PBXBuildFile; fileRef = E8B846C626FDB44100A777FE /* XPMineUserInfoAlbumProtocol.h */; };
|
||||
E8B846CB26FDD7CD00A777FE /* XPMineRechargeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846CA26FDD7CD00A777FE /* XPMineRechargeViewController.m */; };
|
||||
E8B846CF26FDD96100A777FE /* XPMineRechageHeadView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846CE26FDD96100A777FE /* XPMineRechageHeadView.m */; };
|
||||
E8B846D326FDDBE600A777FE /* XPMineRechargeTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846D226FDDBE600A777FE /* XPMineRechargeTableViewCell.m */; };
|
||||
E8B846D626FDE01B00A777FE /* XPMineRechargePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846D526FDE01B00A777FE /* XPMineRechargePresenter.m */; };
|
||||
@@ -1934,6 +1941,8 @@
|
||||
236B2E582AA18E12003967A8 /* XPMIneGameCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMIneGameCollectionViewCell.h; sourceTree = "<group>"; };
|
||||
236B2E5B2AA19168003967A8 /* HomeLittleGameRoomModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeLittleGameRoomModel.h; sourceTree = "<group>"; };
|
||||
236B2E5C2AA19169003967A8 /* HomeLittleGameRoomModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeLittleGameRoomModel.m; sourceTree = "<group>"; };
|
||||
236BA4962BB6AFED00C7C73A /* PINoblePrivilegeEmptyCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINoblePrivilegeEmptyCell.h; sourceTree = "<group>"; };
|
||||
236BA4972BB6AFED00C7C73A /* PINoblePrivilegeEmptyCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINoblePrivilegeEmptyCell.m; sourceTree = "<group>"; };
|
||||
237B94AD2A984DA7007853E3 /* XPTrumpetPresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPTrumpetPresenter.h; sourceTree = "<group>"; };
|
||||
237B94AE2A984DA7007853E3 /* XPTrumpetPresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPTrumpetPresenter.m; sourceTree = "<group>"; };
|
||||
237B94B02A984DA7007853E3 /* XPRoomTrumpetProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPRoomTrumpetProtocol.h; sourceTree = "<group>"; };
|
||||
@@ -2080,6 +2089,8 @@
|
||||
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>"; };
|
||||
23959FE52BB15C930085A282 /* UploadFileModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UploadFileModel.h; sourceTree = "<group>"; };
|
||||
23959FE62BB15C930085A282 /* UploadFileModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UploadFileModel.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>"; };
|
||||
@@ -2187,6 +2198,8 @@
|
||||
23E45C032AC2B0A200D88BCA /* SessionDiscoverNewTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SessionDiscoverNewTableViewCell.h; sourceTree = "<group>"; };
|
||||
23E45C042AC2B0A200D88BCA /* SessionDiscoverNewTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SessionDiscoverNewTableViewCell.m; sourceTree = "<group>"; };
|
||||
23E56B3B2B03564B00C8DAC9 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
|
||||
23E7FE9A2BB6CD42008F6800 /* XPNobleCenterWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNobleCenterWindow.h; sourceTree = "<group>"; };
|
||||
23E7FE9B2BB6CD42008F6800 /* XPNobleCenterWindow.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNobleCenterWindow.m; sourceTree = "<group>"; };
|
||||
23E9E9932A80C39E00B792F2 /* XPMineGuildPersonalBillStatisVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineGuildPersonalBillStatisVC.h; sourceTree = "<group>"; };
|
||||
23E9E9942A80C39F00B792F2 /* XPMineGuildPersonalBillRecordVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineGuildPersonalBillRecordVC.m; sourceTree = "<group>"; };
|
||||
23E9E9952A80C3A000B792F2 /* XPMineGuildPersonalBillRecordVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineGuildPersonalBillRecordVC.h; sourceTree = "<group>"; };
|
||||
@@ -2271,6 +2284,20 @@
|
||||
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>"; };
|
||||
23F963682BB6919D00F440A6 /* PINobleRebateModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINobleRebateModel.h; sourceTree = "<group>"; };
|
||||
23F963692BB6919D00F440A6 /* PINobleRebateModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINobleRebateModel.m; sourceTree = "<group>"; };
|
||||
23FE47D32BB3C64600F09D23 /* PINobleCenterTitleCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINobleCenterTitleCell.h; sourceTree = "<group>"; };
|
||||
23FE47D42BB3C64600F09D23 /* PINobleCenterTitleCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINobleCenterTitleCell.m; sourceTree = "<group>"; };
|
||||
23FE47D62BB3CEAF00F09D23 /* PINobleCenterTitleView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINobleCenterTitleView.h; sourceTree = "<group>"; };
|
||||
23FE47D72BB3CEAF00F09D23 /* PINobleCenterTitleView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINobleCenterTitleView.m; sourceTree = "<group>"; };
|
||||
23FE47D92BB4171C00F09D23 /* PINobleCenterListView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINobleCenterListView.h; sourceTree = "<group>"; };
|
||||
23FE47DA2BB4171C00F09D23 /* PINobleCenterListView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINobleCenterListView.m; sourceTree = "<group>"; };
|
||||
23FE47DF2BB41CF200F09D23 /* PINobleCenterListReusableView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINobleCenterListReusableView.h; sourceTree = "<group>"; };
|
||||
23FE47E02BB41CF200F09D23 /* PINobleCenterListReusableView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINobleCenterListReusableView.m; sourceTree = "<group>"; };
|
||||
23FE47E22BB41EBF00F09D23 /* PINobleCenterListCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINobleCenterListCell.h; sourceTree = "<group>"; };
|
||||
23FE47E32BB41EBF00F09D23 /* PINobleCenterListCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINobleCenterListCell.m; sourceTree = "<group>"; };
|
||||
23FE47E52BB4378700F09D23 /* PINobleCenterListModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINobleCenterListModel.h; sourceTree = "<group>"; };
|
||||
23FE47E62BB4378700F09D23 /* PINobleCenterListModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINobleCenterListModel.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>"; };
|
||||
@@ -3849,8 +3876,6 @@
|
||||
E89D60BE271D648D001F8895 /* XPRoomProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomProtocol.h; sourceTree = "<group>"; };
|
||||
E89D60BF271D64B9001F8895 /* RoomInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomInfoModel.h; sourceTree = "<group>"; };
|
||||
E89D60C0271D64B9001F8895 /* RoomInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomInfoModel.m; sourceTree = "<group>"; };
|
||||
E89DA66227005931008483C1 /* XPIAPHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPIAPHelper.h; sourceTree = "<group>"; };
|
||||
E89DA66327005932008483C1 /* XPIAPHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPIAPHelper.m; sourceTree = "<group>"; };
|
||||
E89DA66527006443008483C1 /* RechargeStorage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RechargeStorage.h; sourceTree = "<group>"; };
|
||||
E89DA66627006443008483C1 /* RechargeStorage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RechargeStorage.m; sourceTree = "<group>"; };
|
||||
E89DA67027008D59008483C1 /* WalletInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WalletInfoModel.h; sourceTree = "<group>"; };
|
||||
@@ -4009,8 +4034,6 @@
|
||||
E8B825C926EA1231009E8E9F /* LoginVerifCodeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginVerifCodeViewController.h; sourceTree = "<group>"; };
|
||||
E8B825CB26EA18C8009E8E9F /* DJDKMIMOMColor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DJDKMIMOMColor.h; sourceTree = "<group>"; };
|
||||
E8B825CC26EA18C8009E8E9F /* DJDKMIMOMColor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DJDKMIMOMColor.m; sourceTree = "<group>"; };
|
||||
E8B846BA26FD7C1200A777FE /* UploadImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UploadImage.h; sourceTree = "<group>"; };
|
||||
E8B846BB26FD7C1200A777FE /* UploadImage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UploadImage.m; sourceTree = "<group>"; };
|
||||
E8B846BD26FD827900A777FE /* XPMineUserInfoAlbumViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineUserInfoAlbumViewController.h; sourceTree = "<group>"; };
|
||||
E8B846BE26FD827900A777FE /* XPMineUserInfoAlbumViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineUserInfoAlbumViewController.m; sourceTree = "<group>"; };
|
||||
E8B846C026FD82DC00A777FE /* XPMineUserInfoAlbumCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineUserInfoAlbumCollectionViewCell.h; sourceTree = "<group>"; };
|
||||
@@ -4018,8 +4041,6 @@
|
||||
E8B846C326FDB41A00A777FE /* XPMineUserInfolbumPresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineUserInfolbumPresenter.h; sourceTree = "<group>"; };
|
||||
E8B846C426FDB41A00A777FE /* XPMineUserInfolbumPresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineUserInfolbumPresenter.m; sourceTree = "<group>"; };
|
||||
E8B846C626FDB44100A777FE /* XPMineUserInfoAlbumProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineUserInfoAlbumProtocol.h; sourceTree = "<group>"; };
|
||||
E8B846C926FDD7CD00A777FE /* XPMineRechargeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineRechargeViewController.h; sourceTree = "<group>"; };
|
||||
E8B846CA26FDD7CD00A777FE /* XPMineRechargeViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineRechargeViewController.m; sourceTree = "<group>"; };
|
||||
E8B846CD26FDD96100A777FE /* XPMineRechageHeadView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineRechageHeadView.h; sourceTree = "<group>"; };
|
||||
E8B846CE26FDD96100A777FE /* XPMineRechageHeadView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineRechageHeadView.m; sourceTree = "<group>"; };
|
||||
E8B846D126FDDBE600A777FE /* XPMineRechargeTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineRechargeTableViewCell.h; sourceTree = "<group>"; };
|
||||
@@ -4833,7 +4854,6 @@
|
||||
E82D5C77276B25B000858D6D /* SpriteSheetManager */,
|
||||
E865964E2701A1A900846EBD /* StatisticsService */,
|
||||
E89DA6612700590A008483C1 /* IAPHelper */,
|
||||
E8B846B926FD7BE600A777FE /* UploadImage */,
|
||||
E8EEB8EA26FC2050007C6EBA /* SDPhotoBrowser */,
|
||||
2331C1BA2A60F67F00E1D940 /* UILabel */,
|
||||
E81366E426F0A4820076364C /* NSString */,
|
||||
@@ -5216,6 +5236,8 @@
|
||||
children = (
|
||||
2331C1382A5EB71000E1D940 /* NobleAuthInfo.h */,
|
||||
2331C13D2A5EB71000E1D940 /* NobleAuthInfo.m */,
|
||||
23F963682BB6919D00F440A6 /* PINobleRebateModel.h */,
|
||||
23F963692BB6919D00F440A6 /* PINobleRebateModel.m */,
|
||||
2331C13E2A5EB71000E1D940 /* NobleCenterModel.h */,
|
||||
2331C13A2A5EB71000E1D940 /* NobleCenterModel.m */,
|
||||
2331C13B2A5EB71000E1D940 /* NobleInfo.h */,
|
||||
@@ -5224,6 +5246,8 @@
|
||||
2331C13C2A5EB71000E1D940 /* NobleLevelUpModel.m */,
|
||||
2331C13F2A5EB71000E1D940 /* NobleRechargeModel.h */,
|
||||
2331C1392A5EB71000E1D940 /* NobleRechargeModel.m */,
|
||||
23FE47E52BB4378700F09D23 /* PINobleCenterListModel.h */,
|
||||
23FE47E62BB4378700F09D23 /* PINobleCenterListModel.m */,
|
||||
);
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
@@ -5265,6 +5289,8 @@
|
||||
2331C1592A5EB71000E1D940 /* XPNoblePrivilegeCell.m */,
|
||||
2331C14B2A5EB71000E1D940 /* XPNoblePrivilegeContentCell.h */,
|
||||
2331C1562A5EB71000E1D940 /* XPNoblePrivilegeContentCell.m */,
|
||||
236BA4962BB6AFED00C7C73A /* PINoblePrivilegeEmptyCell.h */,
|
||||
236BA4972BB6AFED00C7C73A /* PINoblePrivilegeEmptyCell.m */,
|
||||
2331C1472A5EB71000E1D940 /* XPNobleSettingNavView.h */,
|
||||
2331C1522A5EB71000E1D940 /* XPNobleSettingNavView.m */,
|
||||
2331C14E2A5EB71000E1D940 /* XPNobleUpgradeLevelView.h */,
|
||||
@@ -5273,6 +5299,18 @@
|
||||
2331C17D2A5ECCF600E1D940 /* XPNobleCenterPayView.m */,
|
||||
2331C17F2A5ECD3800E1D940 /* XPNobleCenterPayCell.h */,
|
||||
2331C1802A5ECD3800E1D940 /* XPNobleCenterPayCell.m */,
|
||||
23FE47D32BB3C64600F09D23 /* PINobleCenterTitleCell.h */,
|
||||
23FE47D42BB3C64600F09D23 /* PINobleCenterTitleCell.m */,
|
||||
23FE47D62BB3CEAF00F09D23 /* PINobleCenterTitleView.h */,
|
||||
23FE47D72BB3CEAF00F09D23 /* PINobleCenterTitleView.m */,
|
||||
23FE47D92BB4171C00F09D23 /* PINobleCenterListView.h */,
|
||||
23FE47DA2BB4171C00F09D23 /* PINobleCenterListView.m */,
|
||||
23FE47DF2BB41CF200F09D23 /* PINobleCenterListReusableView.h */,
|
||||
23FE47E02BB41CF200F09D23 /* PINobleCenterListReusableView.m */,
|
||||
23FE47E22BB41EBF00F09D23 /* PINobleCenterListCell.h */,
|
||||
23FE47E32BB41EBF00F09D23 /* PINobleCenterListCell.m */,
|
||||
23E7FE9A2BB6CD42008F6800 /* XPNobleCenterWindow.h */,
|
||||
23E7FE9B2BB6CD42008F6800 /* XPNobleCenterWindow.m */,
|
||||
);
|
||||
path = SubViews;
|
||||
sourceTree = "<group>";
|
||||
@@ -6128,8 +6166,10 @@
|
||||
9B33E3C827D85379003B0E62 /* File */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9B33E3C927D85379003B0E62 /* UploadFile.m */,
|
||||
9B33E3CA27D85379003B0E62 /* UploadFile.h */,
|
||||
9B33E3C927D85379003B0E62 /* UploadFile.m */,
|
||||
23959FE52BB15C930085A282 /* UploadFileModel.h */,
|
||||
23959FE62BB15C930085A282 /* UploadFileModel.m */,
|
||||
);
|
||||
path = File;
|
||||
sourceTree = "<group>";
|
||||
@@ -9402,8 +9442,6 @@
|
||||
E89DA6612700590A008483C1 /* IAPHelper */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E89DA66227005931008483C1 /* XPIAPHelper.h */,
|
||||
E89DA66327005932008483C1 /* XPIAPHelper.m */,
|
||||
E89DA66527006443008483C1 /* RechargeStorage.h */,
|
||||
E89DA66627006443008483C1 /* RechargeStorage.m */,
|
||||
);
|
||||
@@ -9863,20 +9901,9 @@
|
||||
path = Model;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8B846B926FD7BE600A777FE /* UploadImage */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8B846BA26FD7C1200A777FE /* UploadImage.h */,
|
||||
E8B846BB26FD7C1200A777FE /* UploadImage.m */,
|
||||
);
|
||||
path = UploadImage;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E8B846C826FDD79700A777FE /* Recharge */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E8B846C926FDD7CD00A777FE /* XPMineRechargeViewController.h */,
|
||||
E8B846CA26FDD7CD00A777FE /* XPMineRechargeViewController.m */,
|
||||
1464C5F129A4C18000AF7C94 /* XPIAPRechargeViewController.h */,
|
||||
1464C5F229A4C18000AF7C94 /* XPIAPRechargeViewController.m */,
|
||||
1464C5F429A4CA8C00AF7C94 /* XPIAPRechargeCollectionViewCell.h */,
|
||||
@@ -10875,7 +10902,6 @@
|
||||
E85E7B112A4EB0D200B6D00A /* GuildPersonIncomeRecordModel.m in Sources */,
|
||||
9BD2ECD2288F833B00F5CD9A /* XPMineFootPrintModel.m in Sources */,
|
||||
E824546626F5FF6000BE8163 /* XPMineResetPayPasswordProtocol.h in Sources */,
|
||||
E89DA66427005932008483C1 /* XPIAPHelper.m in Sources */,
|
||||
23D321E22ADFD0FB006B259C /* PIRedPacketChooseTypeCell.m in Sources */,
|
||||
E824545E26F5EF2200BE8163 /* XPMineVerifIdentityProtocol.h in Sources */,
|
||||
E824545326F5CEAD00BE8163 /* XPMineModifPayProtocol.h in Sources */,
|
||||
@@ -11012,6 +11038,7 @@
|
||||
9B7D80502753AA9D003DAC0C /* UITableView+NIMScrollToBottom.m in Sources */,
|
||||
E8AFF7E3298CA1E500FBDE32 /* SessionSayHelloCountModel.m in Sources */,
|
||||
E8998D7A2859784200C68558 /* XPSVGAPlayer.m in Sources */,
|
||||
23FE47D82BB3CEAF00F09D23 /* PINobleCenterTitleView.m in Sources */,
|
||||
9BD9A18427A0F128004186FE /* XPMineVisitorItemModel.m in Sources */,
|
||||
E852D73E28631C18001465ED /* XPMonentsCommentTableViewCell.m in Sources */,
|
||||
23CEFC4E2AFB8FC100576D89 /* BSNSDictionary.m in Sources */,
|
||||
@@ -11043,7 +11070,6 @@
|
||||
238B37BD2AC55A2C00BFC9D5 /* XPTreasureFairyTrialsContentView.m in Sources */,
|
||||
E85E7B262A4EB0D300B6D00A /* XPMineGuildViewController.m in Sources */,
|
||||
E85E7B672A4EC35A00B6D00A /* XPBindExtractInfoModel.m in Sources */,
|
||||
E8B846CB26FDD7CD00A777FE /* XPMineRechargeViewController.m in Sources */,
|
||||
E86596512701A1C000846EBD /* StatisticsService.m in Sources */,
|
||||
23CEFC5E2AFB8FC100576D89 /* BSRealTimeView.m in Sources */,
|
||||
E824544026F58F9400BE8163 /* XPMinePayPwdViewController.m in Sources */,
|
||||
@@ -11207,6 +11233,7 @@
|
||||
E87DF4BF2A42C8C1009C1185 /* HomeTagModel.m in Sources */,
|
||||
23FF25652ABC3B3C0064E904 /* XPHomeGameView.m in Sources */,
|
||||
E88863D3278ED4C0004BCFAB /* Timestamp.m in Sources */,
|
||||
23E7FE9C2BB6CD42008F6800 /* XPNobleCenterWindow.m in Sources */,
|
||||
E8A3540A28FEC0510014A784 /* XPWishGiftListView.m in Sources */,
|
||||
238B37BF2AC55A2C00BFC9D5 /* XPTreasureFairyStoreResultView.m in Sources */,
|
||||
E88863CF278EC393004BCFAB /* XPAcrossRoomPKPrizeView.m in Sources */,
|
||||
@@ -11300,6 +11327,7 @@
|
||||
189DD68426E1FDBB00AB55B1 /* XNDJTDDLoadingTool.m in Sources */,
|
||||
9B1B72AF280031F8003FACE9 /* XPAnchorPKSelectRoomView.m in Sources */,
|
||||
E818DD1C2A4896EE00F163F7 /* XPLoginAraeViewController.m in Sources */,
|
||||
23959FE72BB15C930085A282 /* UploadFileModel.m in Sources */,
|
||||
E8D4824A278D1F73003C1D08 /* XPAcrossRoomPKInviteView.m in Sources */,
|
||||
E85E7B432A4EB0D300B6D00A /* XPMineExchangeAuthorityHeadView.m in Sources */,
|
||||
23194DD02AD14BF000649F51 /* DDLog.m in Sources */,
|
||||
@@ -11388,6 +11416,7 @@
|
||||
235A45232B04BEB6009753F5 /* PIBaseModel.m in Sources */,
|
||||
E8DEC9A82764A68B0078CB70 /* Api+MoreMenu.m in Sources */,
|
||||
9B86D87A2817DD8400494FCD /* XPRoomEnterHideTipView.m in Sources */,
|
||||
23FE47E12BB41CF200F09D23 /* PINobleCenterListReusableView.m in Sources */,
|
||||
E8AC721026F43955007D6E91 /* UIImageConstant.m in Sources */,
|
||||
E85E7B122A4EB0D200B6D00A /* GuildIncomeRecordModel.m in Sources */,
|
||||
E81C27A026EEF83D0031E639 /* YUMIHtmlUrl.m in Sources */,
|
||||
@@ -11499,6 +11528,7 @@
|
||||
E8B825CD26EA18C8009E8E9F /* DJDKMIMOMColor.m in Sources */,
|
||||
E8751E5F28A62A970056EF44 /* XPSailingPresenter.m in Sources */,
|
||||
E84A2E962A5280F900D6AF8A /* XPExchangeDiamondsView.m in Sources */,
|
||||
23F9636A2BB6919D00F440A6 /* PINobleRebateModel.m in Sources */,
|
||||
E8DAC5AC2858305A00012CFD /* XPRoomMessageBubbleView.m in Sources */,
|
||||
1427218929A75F6F00C7C423 /* HTTPDataResponse.m in Sources */,
|
||||
E8B9843028AB90200022D026 /* XPMoentsTopicListView.m in Sources */,
|
||||
@@ -11551,6 +11581,7 @@
|
||||
9B335B492925D8A00048A116 /* XPAnchorPKSelectTypeController.m in Sources */,
|
||||
E8098CAE282E07C00090B9F0 /* XPMonentsEmptyTableViewCell.m in Sources */,
|
||||
E85E7B4F2A4EB0D300B6D00A /* XPMineExchangeAuthorityVC.m in Sources */,
|
||||
23FE47DB2BB4171C00F09D23 /* PINobleCenterListView.m in Sources */,
|
||||
E84A2E932A527EC800D6AF8A /* XPIncomeRecordPresent.m in Sources */,
|
||||
236B2E432AA07D06003967A8 /* NSString+RW.m in Sources */,
|
||||
E85E7B172A4EB0D200B6D00A /* ClanMemberDetailInfoModel.m in Sources */,
|
||||
@@ -11559,6 +11590,7 @@
|
||||
E8D34D5A28082357009C4835 /* UserGiftWallInfoModel.m in Sources */,
|
||||
E82107842987E35300DE7040 /* MessageMonentsAutoModel.m in Sources */,
|
||||
189DD52E26DE255300AB55B1 /* AppDelegate.m in Sources */,
|
||||
23FE47E42BB41EBF00F09D23 /* PINobleCenterListCell.m in Sources */,
|
||||
E83DB4842746661800D8CBD1 /* XPRoomGiftBroadcastView.m in Sources */,
|
||||
E8778AF82988F4E200CF139B /* XPSessionSayHelloHeaderView.m in Sources */,
|
||||
E84150C527747E0900A7F548 /* FirstRechargeRewardModel.m in Sources */,
|
||||
@@ -11762,6 +11794,7 @@
|
||||
23D321D52ADD0F05006B259C /* Api+PhotoAlbum.m in Sources */,
|
||||
23E9EA842A84B6FD00B792F2 /* XPMineUserInfoTagModel.m in Sources */,
|
||||
E8998D852859B4FA00C68558 /* XPMineUserInfoGiftView.m in Sources */,
|
||||
23FE47E72BB4378700F09D23 /* PINobleCenterListModel.m in Sources */,
|
||||
186A536B26FC6F2E00D67B2C /* XPShareItemCell.m in Sources */,
|
||||
237B94C02A984DA7007853E3 /* Api+RoomTrumpet.m in Sources */,
|
||||
23E45C052AC2B0A200D88BCA /* SessionDiscoverNewTableViewCell.m in Sources */,
|
||||
@@ -11812,7 +11845,6 @@
|
||||
E81060E229876E9100B772F0 /* MessageImageModel.m in Sources */,
|
||||
E839533F276A0CDB00CF2F24 /* XPMineNameplateTableViewCell.m in Sources */,
|
||||
E80E09AE2A41336500CD2BE7 /* XPWebViewNavView.m in Sources */,
|
||||
E8B846BC26FD7C1200A777FE /* UploadImage.m in Sources */,
|
||||
E85E7B2D2A4EB0D300B6D00A /* XPGuildHeaderView.m in Sources */,
|
||||
E85E7B542A4EB4AD00B6D00A /* XPMineGuildListModel.m in Sources */,
|
||||
9BCE6144277D657600CC0358 /* XPReleaseRadioTableViewCell.m in Sources */,
|
||||
@@ -11977,6 +12009,7 @@
|
||||
2305F3382AD9194B00AD403C /* PIRoomMessageUnlockPhotoAlbumView.m in Sources */,
|
||||
E874B88827215D39003954B9 /* MicroStateModel.m in Sources */,
|
||||
23E9EABB2A84CCBE00B792F2 /* XPMineDataSkillDataCollectionViewCell.m in Sources */,
|
||||
23FE47D52BB3C64600F09D23 /* PINobleCenterTitleCell.m in Sources */,
|
||||
E877A7F427842EF800EFACED /* XPRoomDatingVipUpMicView.m in Sources */,
|
||||
E896EF9F2771AE7B00AD2CC1 /* XPMineAttentionViewController.m in Sources */,
|
||||
E89D60C1271D64B9001F8895 /* RoomInfoModel.m in Sources */,
|
||||
@@ -12033,6 +12066,7 @@
|
||||
E80EC80E28ACD84000D133C5 /* QKeyboardBaseManager.m in Sources */,
|
||||
23E9EA792A8385CC00B792F2 /* XPTreasureFairyGiftView.m in Sources */,
|
||||
149839C7299E0B9F00F82CBF /* XPMomentListCollectionViewCell.m in Sources */,
|
||||
236BA4982BB6AFED00C7C73A /* PINoblePrivilegeEmptyCell.m in Sources */,
|
||||
E88C729C2828F37D0047FB2B /* XPRoomMusicLibraryEmptyTableViewCell.m in Sources */,
|
||||
E85E7B0A2A4EB0D200B6D00A /* XPGuildManagerPerPresenter.m in Sources */,
|
||||
9B85F3562806DD8A006EDF51 /* XPAnchorPKFinishView.m in Sources */,
|
||||
@@ -12207,7 +12241,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 20.20.14;
|
||||
MARKETING_VERSION = 20.20.16;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
@@ -12243,7 +12277,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 20.20.14;
|
||||
MARKETING_VERSION = 20.20.16;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
|
@@ -31,7 +31,7 @@
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
buildConfiguration = "Release"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
|
@@ -27,7 +27,6 @@
|
||||
#import <Adjust/Adjust.h>
|
||||
#import <UserNotifications/UserNotifications.h>
|
||||
|
||||
|
||||
#import <Bugly/Bugly.h>
|
||||
|
||||
#import "YuMi-swift.h"
|
||||
@@ -49,6 +48,7 @@ UIKIT_EXTERN NSString * adImageName;
|
||||
[self configAdjust];
|
||||
[self configBugly];
|
||||
[self registerNot];
|
||||
|
||||
}
|
||||
-(void)registerNot{
|
||||
if (@available(iOS 10.0, *)) {
|
||||
@@ -67,6 +67,7 @@ UIKIT_EXTERN NSString * adImageName;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
崩溃收集 Bugly
|
||||
*/
|
||||
|
22
YuMi/Assets.xcassets/jm/Noble/mine_noble_center_tag_diamond.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "mine_noble_center_tag_diamond@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "mine_noble_center_tag_diamond@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 724 B |
After Width: | Height: | Size: 1.2 KiB |
22
YuMi/Assets.xcassets/jm/Noble/mine_noble_center_tag_title_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "mine_noble_center_tag_title_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "mine_noble_center_tag_title_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 3.2 KiB |
@@ -1,16 +1,15 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "noble_privilege_list_bg.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "noble_privilege_list_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "noble_privilege_list_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
|
BIN
YuMi/Assets.xcassets/jm/Noble/noble_privilege_list_bg.imageset/noble_privilege_list_bg.png
vendored
Normal file
After Width: | Height: | Size: 110 KiB |
Before Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 129 KiB |
22
YuMi/Assets.xcassets/jm/Noble/noble_privilege_list_left_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "noble_privilege_list_left_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "noble_privilege_list_left_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.2 KiB |
22
YuMi/Assets.xcassets/jm/Noble/noble_privilege_list_noble_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "noble_privilege_list_noble_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "noble_privilege_list_noble_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
22
YuMi/Assets.xcassets/jm/Noble/noble_privilege_list_rebate_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "noble_privilege_list_rebate_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "noble_privilege_list_rebate_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 3.4 KiB |
22
YuMi/Assets.xcassets/jm/Noble/noble_privilege_list_rigth_icon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "noble_privilege_list_rigth_icon@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "noble_privilege_list_rigth_icon@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.2 KiB |
22
YuMi/Assets.xcassets/middle/pi_gift_diamond_add.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_gift_diamond_add@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_gift_diamond_add@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/middle/pi_gift_diamond_add.imageset/pi_gift_diamond_add@2x.png
vendored
Normal file
After Width: | Height: | Size: 156 B |
BIN
YuMi/Assets.xcassets/middle/pi_gift_diamond_add.imageset/pi_gift_diamond_add@3x.png
vendored
Normal file
After Width: | Height: | Size: 207 B |
22
YuMi/Assets.xcassets/middle/pi_gift_gold.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_gift_gold@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_gift_gold@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/middle/pi_gift_gold.imageset/pi_gift_gold@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
YuMi/Assets.xcassets/middle/pi_gift_gold.imageset/pi_gift_gold@3x.png
vendored
Normal file
After Width: | Height: | Size: 2.2 KiB |
22
YuMi/Assets.xcassets/yna/FirstRecharge/pi_new_gift_first_recharge_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_new_gift_first_recharge_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_new_gift_first_recharge_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 764 B |
After Width: | Height: | Size: 1.5 KiB |
@@ -53,4 +53,5 @@ typedef NS_ENUM(NSUInteger, GradientType) {
|
||||
-(UIImage *)compressWithMaxLength:(NSUInteger)maxLength;
|
||||
- (UIImage *)roundedImageWithCornerRadius:(CGFloat)cornerRadius size:(CGSize)size;
|
||||
+(UIImage *)getImageFromView:(UIView *)view;
|
||||
+ (NSString *)getImageTypeWithImageData: (NSData *)data;
|
||||
@end
|
||||
|
@@ -451,4 +451,52 @@ UIGraphicsEndImageContext();
|
||||
// 6. 返回生成的图片
|
||||
return image;
|
||||
}
|
||||
+ (NSString *)getImageTypeWithImageData:(NSData *)data {
|
||||
|
||||
uint8_t c;
|
||||
|
||||
[data getBytes:&c length:1];
|
||||
|
||||
switch (c) {
|
||||
|
||||
case 0xFF:
|
||||
|
||||
return @"jpeg";
|
||||
|
||||
case 0x89:
|
||||
|
||||
return @"png";
|
||||
|
||||
case 0x47:
|
||||
|
||||
return @"gif";
|
||||
|
||||
case 0x49:
|
||||
|
||||
case 0x4D:
|
||||
|
||||
return @"tiff";
|
||||
|
||||
case 0x52:
|
||||
|
||||
if ([data length] < 12) {
|
||||
|
||||
return nil;
|
||||
|
||||
}
|
||||
|
||||
NSString *testString = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(0, 12)] encoding:NSASCIIStringEncoding];
|
||||
|
||||
if ([testString hasPrefix:@"RIFF"] && [testString hasSuffix:@"WEBP"]) {
|
||||
|
||||
return @"webp";
|
||||
|
||||
}
|
||||
|
||||
return nil;
|
||||
|
||||
}
|
||||
|
||||
return nil;
|
||||
}
|
||||
@end
|
||||
|
@@ -12,6 +12,7 @@
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
typedef void(^LoadCompletion)(UIImage *_Nullable image, NSURL * url);
|
||||
typedef void(^LoadFail)(NSError *error);
|
||||
|
||||
typedef NS_ENUM(NSInteger, NetImageState){
|
||||
NetImageStateUnload = 1,
|
||||
@@ -30,7 +31,7 @@ typedef NS_ENUM(NSInteger, NetImageState){
|
||||
|
||||
- (void)loadImage:(LoadCompletion _Nullable)completion;
|
||||
- (void)loadImageWithUrl:(NSString * _Nonnull)imageUrl completion:(LoadCompletion _Nullable)completion;
|
||||
|
||||
- (void)loadImageWithUrl:(NSString * _Nonnull)imageUrl completion:(LoadCompletion)completion fail:(LoadFail)fail;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -64,9 +64,6 @@
|
||||
[self sd_setImageWithURL:[NSURL URLWithString:_innerConfigedUrl] placeholderImage:self.config.placeHolder options:SDWebImageRetryFailed completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
|
||||
if (error) {
|
||||
self.state = NetImageStateUnload;
|
||||
if (completion) {
|
||||
completion(nil, imageURL);
|
||||
};
|
||||
} else {
|
||||
self.state = NetImageStateLoaded;
|
||||
if (completion) {
|
||||
@@ -75,12 +72,30 @@
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)loadImage:(LoadCompletion)completion fail:(LoadFail)fail{
|
||||
self.state = NetImageStateLoading;
|
||||
[self sd_setImageWithURL:[NSURL URLWithString:_innerConfigedUrl] placeholderImage:self.config.placeHolder options:SDWebImageRetryFailed completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
|
||||
if (error) {
|
||||
self.state = NetImageStateUnload;
|
||||
if (fail){
|
||||
fail(error);
|
||||
}
|
||||
} else {
|
||||
self.state = NetImageStateLoaded;
|
||||
if (completion) {
|
||||
completion(image, imageURL);
|
||||
};
|
||||
}
|
||||
}];
|
||||
}
|
||||
- (void)loadImageWithUrl:(NSString * _Nonnull)imageUrl completion:(LoadCompletion)completion {
|
||||
[self initImageUrl:imageUrl];
|
||||
[self loadImage:completion];
|
||||
}
|
||||
|
||||
- (void)loadImageWithUrl:(NSString * _Nonnull)imageUrl completion:(LoadCompletion)completion fail:(LoadFail)fail{
|
||||
[self initImageUrl:imageUrl];
|
||||
[self loadImage:completion fail:fail];
|
||||
}
|
||||
- (NetImageConfig *)config {
|
||||
if (!_config) {
|
||||
_config = [[NetImageConfig alloc] init];
|
||||
|
@@ -49,7 +49,7 @@ isPhoneXSeries = [[UIApplication sharedApplication] delegate].window.safeAreaIns
|
||||
|
||||
|
||||
///内置版本号
|
||||
#define PI_App_Version @"2.6.4"
|
||||
#define PI_App_Version @"2.6.6"
|
||||
///渠道
|
||||
#define PI_App_Source @"appstore"
|
||||
//#define PI_App_Source @"pi_tf"
|
||||
|
@@ -38,12 +38,7 @@
|
||||
NSString *ticket = [tickets[0] valueForKey:@"ticket"];
|
||||
homeUserModel.ticket = ticket;
|
||||
[[AccountInfoStorage instance] saveTicket:ticket];
|
||||
}
|
||||
dispatch_group_leave(group);
|
||||
} access_token:accountModel.access_token issue_type:@"multi"];
|
||||
});
|
||||
dispatch_group_enter(group);
|
||||
dispatch_async(queue, ^{
|
||||
|
||||
[Api getUserInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if(code == 200){
|
||||
userInfo = [UserInfoModel modelWithDictionary:data.data];
|
||||
@@ -54,6 +49,10 @@
|
||||
}
|
||||
dispatch_group_leave(group);
|
||||
} uid:accountModel.uid];
|
||||
return;
|
||||
}
|
||||
dispatch_group_leave(group);
|
||||
} access_token:accountModel.access_token issue_type:@"multi"];
|
||||
});
|
||||
|
||||
|
||||
|
@@ -68,4 +68,5 @@
|
||||
_titleLabel.textColor = [DJDKMIMOMColor secondTextColor];
|
||||
}
|
||||
return _titleLabel;
|
||||
}@end
|
||||
}
|
||||
@end
|
||||
|
@@ -25,7 +25,7 @@
|
||||
///View
|
||||
#import "XPRoomViewController.h"
|
||||
#import "XPWebViewController.h"
|
||||
#import "XPMineRechargeViewController.h"
|
||||
|
||||
#import "XPIAPRechargeViewController.h"
|
||||
#import "XPMineUserInfoViewController.h"
|
||||
#import "XPMineSimpleUserInfoViewController.h"
|
||||
@@ -33,6 +33,7 @@
|
||||
#import "XPDressUpShopViewController.h"
|
||||
#import "XPMineLoginPasswordViewController.h"
|
||||
#import "XPMonentTopicContainerViewController.h"
|
||||
#import "XPNobleCenterViewController.h"
|
||||
///P
|
||||
#import "RoomHostDelegate.h"
|
||||
@interface MessageContentTextClickable()
|
||||
@@ -143,7 +144,6 @@
|
||||
case SecretaryRouterType_Purse:
|
||||
case SecretaryRouterType_Recharge:
|
||||
{
|
||||
// XPMineRechargeViewController * rechargeVC = [[XPMineRechargeViewController alloc] init];
|
||||
XPIAPRechargeViewController * rechargeVC = [[XPIAPRechargeViewController alloc] init];
|
||||
rechargeVC.type = @"4";
|
||||
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:rechargeVC animated:YES];
|
||||
@@ -246,6 +246,12 @@
|
||||
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:topicVC animated:YES];
|
||||
}
|
||||
break;
|
||||
case SecretaryRouterType_Nobel_Center:
|
||||
{
|
||||
XPNobleCenterViewController *nobleCenter = [XPNobleCenterViewController new];
|
||||
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:nobleCenter animated:YES];
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@@ -112,9 +112,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
password:(NSString *)password
|
||||
status:(NSNumber *)status
|
||||
uid:(NSString *)uid;
|
||||
/// 上传七牛获取token
|
||||
/// @param complection 完成
|
||||
+ (void)qiniuUpLoadImage:(HttpRequestHelperCompletion)complection;
|
||||
|
||||
|
||||
/// 上传用户图像到服务器
|
||||
/// @param complection 完成
|
||||
@@ -345,6 +343,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// - roomUid: 房间id
|
||||
/// - type: 1=房间
|
||||
+(void)requestUnmaskingFromBlackRoomList:(HttpRequestHelperCompletion)completion objId:(NSString *)objId type:(NSString *)type ;
|
||||
///得到腾讯存储信息
|
||||
+ (void)getQCloudInfo:(HttpRequestHelperCompletion)completion;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -133,13 +133,11 @@
|
||||
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, password,status,uid, nil];
|
||||
}
|
||||
|
||||
/// 上传七牛获取token
|
||||
/// @param completion 完成
|
||||
+ (void)qiniuUpLoadImage:(HttpRequestHelperCompletion)completion {
|
||||
NSString * fang = [NSString stringFromBase64String:@"cWluaXUvdXBsb2FkL2dldFVwbG9hZFRva2Vu"];///qiniu/upload/getUploadToken
|
||||
[self makeRequest:fang method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
|
||||
}
|
||||
|
||||
///得到腾讯存储信息
|
||||
+ (void)getQCloudInfo:(HttpRequestHelperCompletion)completion{
|
||||
[self makeRequest:@"tencent/cos/getToken" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
|
||||
}
|
||||
|
||||
/// 上传用户图像到服务器
|
||||
/// @param completion 完成
|
||||
|
@@ -20,6 +20,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
//充值banner位数据
|
||||
@property(nonatomic,copy) NSString *bannerUrl;
|
||||
@property(nonatomic,copy) NSString *linkUrl;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
|
@@ -16,7 +16,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property(nonatomic, copy)NSString *goldNum;
|
||||
//钻石数量
|
||||
@property(nonatomic, copy)NSString *diamonds;
|
||||
|
||||
//金币数量
|
||||
@property(nonatomic, assign) double golds;
|
||||
@property(nonatomic, copy)NSString *chargeGoldNum;
|
||||
|
||||
@property(nonatomic, assign)NSInteger amount;
|
||||
@@ -26,6 +27,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property(nonatomic, copy)NSString *depositNum;
|
||||
/// 是否有钻石转增功能
|
||||
@property (nonatomic, assign) BOOL sendGold;
|
||||
//是否可以在送礼时合并使用金币
|
||||
@property(nonatomic,assign) BOOL canGoldSendGift;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -10,7 +10,7 @@
|
||||
#import "Api+Mine.h"
|
||||
///Tool
|
||||
#import "AccountInfoStorage.h"
|
||||
#import "UploadImage.h"
|
||||
#import "UploadFile.h"
|
||||
///Model
|
||||
#import "XPMineUserInfoEditModel.h"
|
||||
#import "UserInfoModel.h"
|
||||
@@ -122,16 +122,14 @@
|
||||
/// 上传头像
|
||||
/// @param avatar 头像
|
||||
- (void)uploadAvatar:(UIImage *)avatar {
|
||||
[Api qiniuUpLoadImage:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
NSString *key = data.data[@"key"];
|
||||
NSString *token = data.data[@"token"];
|
||||
[UploadImage uploadImage:avatar named:key token:token success:^(NSString * _Nonnull key, NSDictionary * _Nonnull resp) {
|
||||
NSString *url = resp[@"path"];
|
||||
[[self getView] uploadImageSuccess:url];
|
||||
NSData *data = UIImageJPEGRepresentation(avatar, 0.5);
|
||||
NSString *format = [UIImage getImageTypeWithImageData:data];
|
||||
NSString *name = [NSString stringWithFormat:@"image/%@.%@",[NSString createUUID],format];
|
||||
[[UploadFile share]QCloudUploadImage:data named:name success:^(NSString * _Nonnull key, NSDictionary * _Nonnull resp) {
|
||||
[[self getView] uploadImageSuccess:key];
|
||||
} failure:^(NSNumber * _Nonnull resCode, NSString * _Nonnull message) {
|
||||
[[self getView] showErrorToast:YMLocalizedString(@"XPMineUserInfoEditPresenter0")];
|
||||
|
||||
}];
|
||||
}]];
|
||||
}
|
||||
|
||||
///获取地区列表
|
||||
|
@@ -69,18 +69,12 @@
|
||||
/// 上传声音文件
|
||||
/// @param filePath 文件路径
|
||||
- (void)uploadVoice:(NSString *)filePath {
|
||||
[Api qiniuUpLoadImage:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
NSString *key = data.data[@"key"];
|
||||
NSString *token = data.data[@"token"];
|
||||
[UploadFile uploadFile:filePath named:key token:token success:^(NSString * _Nonnull key, NSDictionary * _Nonnull resp) {
|
||||
NSString *url = resp[@"path"];
|
||||
[[self getView] uploadVoiceFileToThirdSuccess:url];
|
||||
NSString *name = [NSString stringWithFormat:@"file/%@",[NSString createUUID]];
|
||||
[[UploadFile share]QCloudUploadFile:filePath named:name success:^(NSString * _Nonnull key, NSDictionary * _Nonnull resp) {
|
||||
[[self getView] uploadVoiceFileToThirdSuccess:key];
|
||||
} failure:^(NSNumber * _Nonnull resCode, NSString * _Nonnull message) {
|
||||
[[self getView] uploadVoiceFileFail:message];
|
||||
}];
|
||||
} fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
[[self getView] uploadVoiceFileFail:msg];
|
||||
}showLoading:NO]];
|
||||
}
|
||||
-(void)saveSoundWithUrl:(NSString *)audioUrl second:(NSString *)second{
|
||||
[Api saveSoundCardInfo:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
|
@@ -12,7 +12,7 @@
|
||||
#import "UserInfoModel.h"
|
||||
///Tool
|
||||
#import "AccountInfoStorage.h"
|
||||
#import "UploadImage.h"
|
||||
#import "UploadFile.h"
|
||||
///P
|
||||
#import "XPMineUserInfoAlbumProtocol.h"
|
||||
|
||||
@@ -40,16 +40,15 @@
|
||||
/// 相册
|
||||
/// @param albumImage 相册的image
|
||||
- (void)uploadAlbumImage:(UIImage *)albumImage {
|
||||
[Api qiniuUpLoadImage:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
NSString *key = data.data[@"key"];
|
||||
NSString *token = data.data[@"token"];
|
||||
[UploadImage uploadImage:albumImage named:key token:token success:^(NSString * _Nonnull key, NSDictionary * _Nonnull resp) {
|
||||
NSString *url = resp[@"path"];
|
||||
[[self getView] uploadAlbumImageToThirdSuccess:url];
|
||||
|
||||
NSData *data = UIImageJPEGRepresentation(albumImage, 0.5);
|
||||
NSString *format = [UIImage getImageTypeWithImageData:data];
|
||||
NSString *name = [NSString stringWithFormat:@"image/%@.%@",[NSString createUUID],format];
|
||||
[[UploadFile share]QCloudUploadImage:data named:name success:^(NSString * _Nonnull key, NSDictionary * _Nonnull resp) {
|
||||
[[self getView] uploadAlbumImageToThirdSuccess:key];
|
||||
} failure:^(NSNumber * _Nonnull resCode, NSString * _Nonnull message) {
|
||||
[[self getView] showErrorToast:YMLocalizedString(@"XPMineUserInfolbumPresenter0")];
|
||||
|
||||
}];
|
||||
} showLoading:YES]];
|
||||
}
|
||||
|
||||
|
||||
|
@@ -27,7 +27,7 @@
|
||||
#import "XPWebViewController.h"
|
||||
#import "XPMineDressUpViewController.h"
|
||||
#import "XPDressUpShopCardViewController.h"
|
||||
#import "XPMineRechargeViewController.h"
|
||||
|
||||
#import "XPIAPRechargeViewController.h"
|
||||
|
||||
@interface XPDressUpShopViewController ()<JXCategoryViewDelegate, JXCategoryListContainerViewDelegate, SDCycleScrollViewDelegate>
|
||||
@@ -233,7 +233,6 @@
|
||||
}
|
||||
|
||||
- (void)rechargeButtonAction:(UIButton *)sender {
|
||||
// XPMineRechargeViewController *vc = [[XPMineRechargeViewController alloc] init];
|
||||
XPIAPRechargeViewController * rechargeVC = [[XPIAPRechargeViewController alloc] init];
|
||||
rechargeVC.type = @"4";
|
||||
[self.navigationController pushViewController:rechargeVC animated:YES];
|
||||
|
@@ -14,9 +14,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// 贵族中心等级列表
|
||||
/// @param completion 完成
|
||||
+ (void)nobleCenterLevelList:(HttpRequestHelperCompletion)completion;
|
||||
|
||||
///领取返利钻石
|
||||
+ (void)getNobleCenterDiamond:(HttpRequestHelperCompletion)completion returnProfitRecordId:(NSString *)returnProfitRecordId;
|
||||
///获取开通贵族产品列表
|
||||
+ (void)getChargeList:(HttpRequestHelperCompletion)completion channelType:(NSString *)channelType;
|
||||
+ (void)getChargeList:(HttpRequestHelperCompletion)completion type:(NSString *)type;
|
||||
|
||||
/// 苹果下单
|
||||
/// @param completion 完成
|
||||
@@ -45,7 +46,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// 使用钻石开通贵族
|
||||
/// @param complection 完成回调
|
||||
/// @param roomUid 房主的uid
|
||||
+(void)openWithDiamond:(HttpRequestHelperCompletion)complection roomUid:(NSString *)roomUid;
|
||||
+(void)openWithDiamond:(HttpRequestHelperCompletion)complection roomUid:(NSString *)roomUid vipLevel:(NSString *)vipLevel;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -14,10 +14,13 @@
|
||||
+ (void)nobleCenterLevelList:(HttpRequestHelperCompletion)completion {
|
||||
[self makeRequest:@"vip/getVipPageInfo" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
|
||||
}
|
||||
|
||||
///领取返利钻石
|
||||
+ (void)getNobleCenterDiamond:(HttpRequestHelperCompletion)completion returnProfitRecordId:(NSString *)returnProfitRecordId{
|
||||
[self makeRequest:@"vip/returnProfit/receive" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, returnProfitRecordId,nil];
|
||||
}
|
||||
///获取开通贵族产品列表
|
||||
+ (void)getChargeList:(HttpRequestHelperCompletion)completion channelType:(NSString *)channelType {
|
||||
[self makeRequest:@"chargeprod/listV2" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, channelType, nil];
|
||||
+ (void)getChargeList:(HttpRequestHelperCompletion)completion type:(NSString *)type {
|
||||
[self makeRequest:@"chargeprod/getVipList" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, type, nil];
|
||||
}
|
||||
|
||||
/// 苹果下单
|
||||
@@ -56,11 +59,14 @@
|
||||
/// 使用钻石开通贵族
|
||||
/// @param complection 完成回调
|
||||
/// @param roomUid 房主的uid
|
||||
+(void)openWithDiamond:(HttpRequestHelperCompletion)complection roomUid:(NSString *)roomUid {
|
||||
+(void)openWithDiamond:(HttpRequestHelperCompletion)complection roomUid:(NSString *)roomUid vipLevel:(NSString *)vipLevel{
|
||||
NSMutableDictionary * dic = [NSMutableDictionary dictionary];
|
||||
if (roomUid.length > 0) {
|
||||
[dic setValue:roomUid forKey:@"roomUid"];
|
||||
}
|
||||
if (vipLevel.length > 0){
|
||||
[dic setValue:vipLevel forKey:@"vipLevel"];
|
||||
}
|
||||
[HttpRequestHelper request:@"vip/openWithDiamond" method:HttpRequestHelperMethodPOST params:dic completion:complection];
|
||||
}
|
||||
@end
|
||||
|
@@ -31,6 +31,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
///status
|
||||
@property (nonatomic, assign) NSInteger status;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -6,7 +6,7 @@
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import "PINobleRebateModel.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface NobleInfo : PIBaseModel
|
||||
@@ -29,7 +29,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic, copy) NSString *vipLogo;
|
||||
///贵族名称
|
||||
@property (nonatomic, copy) NSString *vipName;
|
||||
///返钻
|
||||
@property(nonatomic,copy) NSArray<PINobleRebateModel *> *returnProfits;
|
||||
|
||||
@property(nonatomic,assign) BOOL isReturnProfit;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -9,4 +9,10 @@
|
||||
|
||||
@implementation NobleInfo
|
||||
|
||||
+ (NSDictionary *)objectClassInArray {
|
||||
return @{
|
||||
@"returnProfits": [PINobleRebateModel class],
|
||||
};
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -0,0 +1,18 @@
|
||||
//
|
||||
// PINobleCenterListModel.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/27.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PINobleCenterListModel : NSObject
|
||||
|
||||
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// PINobleCenterListModel.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/27.
|
||||
//
|
||||
|
||||
#import "PINobleCenterListModel.h"
|
||||
|
||||
@implementation PINobleCenterListModel
|
||||
|
||||
@end
|
23
YuMi/Modules/YMMine/View/Noble/Model/PINobleRebateModel.h
Normal file
@@ -0,0 +1,23 @@
|
||||
//
|
||||
// PINobleRebateModel.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/29.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PINobleRebateModel : NSObject
|
||||
@property(nonatomic,copy) NSString *id;
|
||||
@property(nonatomic,assign) BOOL isReceive;
|
||||
@property(nonatomic,copy) NSString *profitAmount;
|
||||
@property(nonatomic,copy) NSString *profitDate;
|
||||
@property(nonatomic,assign) int seqNo;
|
||||
@property(nonatomic,assign) int vipLevel;
|
||||
@property(nonatomic,assign) BOOL isReach;
|
||||
@property(nonatomic,copy) NSString *returnProfitRecordId;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
12
YuMi/Modules/YMMine/View/Noble/Model/PINobleRebateModel.m
Normal file
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// PINobleRebateModel.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/29.
|
||||
//
|
||||
|
||||
#import "PINobleRebateModel.h"
|
||||
|
||||
@implementation PINobleRebateModel
|
||||
|
||||
@end
|
@@ -13,12 +13,13 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/// 获取贵族中心数据
|
||||
- (void)getNobleCenterInfo;
|
||||
|
||||
/// 获取贵族中心数据
|
||||
- (void)getNobleCenterReturnDiamond:(NSString *)recordId;
|
||||
/// 获取用户信息
|
||||
- (void)getUserInfo;
|
||||
|
||||
///获取贵族充值产品列表
|
||||
- (void)getNobleChargeProductListWithChannelType:(NSString *)channelType;
|
||||
- (void)getNobleChargeProductListWithChannelType:(NSString *)type;
|
||||
|
||||
/// 生成贵族充值的订单
|
||||
/// @param chargeProdId 苹果服务器的充值 的id
|
||||
@@ -39,7 +40,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// 使用钻石开通贵族
|
||||
|
||||
/// @param roomUid 房主的uid
|
||||
- (void)openVipWithDiamondRoomUid:(NSString *)roomUid;
|
||||
- (void)openVipWithDiamondRoomUid:(NSString *)roomUid vipLevel:(NSString *)vipLevel;
|
||||
|
||||
//联系客服
|
||||
-(void)getContactCustomerService;
|
||||
|
@@ -30,7 +30,12 @@
|
||||
[[self getView] getNobleCenterInfoSuccess:model];
|
||||
}]];
|
||||
}
|
||||
|
||||
/// 获取贵族中心数据
|
||||
- (void)getNobleCenterReturnDiamond:(NSString *)recordId{
|
||||
[Api getNobleCenterDiamond:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
[[self getView]getNobleCenterDiamondSuccess:recordId];
|
||||
} showLoading:YES errorToast:YES] returnProfitRecordId:recordId];
|
||||
}
|
||||
// 获取用户信息
|
||||
- (void)getUserInfo {
|
||||
NSString * uid = [[AccountInfoStorage instance] getUid];
|
||||
@@ -43,11 +48,13 @@
|
||||
}
|
||||
|
||||
///获取贵族充值产品列表
|
||||
- (void)getNobleChargeProductListWithChannelType:(NSString *)channelType {
|
||||
- (void)getNobleChargeProductListWithChannelType:(NSString *)type {
|
||||
[Api getChargeList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
NobleRechargeModel *model = [NobleRechargeModel modelWithDictionary:data.data];
|
||||
[[self getView] onGetNobleRechargeDataSuccess:model];
|
||||
}] channelType:channelType];
|
||||
NSArray *list = [RechargeListModel modelsWithArray:data.data];
|
||||
[[self getView] onGetNobleRechargeDataSuccess:list];
|
||||
}fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
|
||||
}] type:type];
|
||||
}
|
||||
|
||||
/// 生成贵族充值的订单
|
||||
@@ -101,12 +108,12 @@
|
||||
/// 使用钻石开通贵族
|
||||
|
||||
/// @param roomUid 房主的uid
|
||||
- (void)openVipWithDiamondRoomUid:(NSString *)roomUid {
|
||||
- (void)openVipWithDiamondRoomUid:(NSString *)roomUid vipLevel:(NSString *)vipLevel{
|
||||
[Api openWithDiamond:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
[[self getView] openVipWithDiamondSuccess];
|
||||
} fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
[[self getView] openVipWithDiamondFail];
|
||||
}showLoading:YES errorToast:YES] roomUid:roomUid];
|
||||
[[self getView] openVipWithDiamondFail:code];
|
||||
}showLoading:YES errorToast:YES] roomUid:roomUid vipLevel:vipLevel];
|
||||
}
|
||||
//联系客服
|
||||
-(void)getContactCustomerService{
|
||||
|
@@ -12,12 +12,13 @@
|
||||
@optional
|
||||
///获取贵族信息成功
|
||||
- (void)getNobleCenterInfoSuccess:(NobleCenterModel *)model;
|
||||
|
||||
///获取贵族信息成功
|
||||
- (void)getNobleCenterDiamondSuccess:(NSString *)recordId;
|
||||
///获取用户信息成功
|
||||
- (void)onGetUserInfoSuccess:(UserInfoModel *)userInfo;
|
||||
|
||||
///获取贵族充值信息成功
|
||||
- (void)onGetNobleRechargeDataSuccess:(NobleRechargeModel *)rechargeInfo;
|
||||
- (void)onGetNobleRechargeDataSuccess:(NSArray *)list;
|
||||
|
||||
///请求充值id的状态成功
|
||||
- (void)requestIAPRechargeOrderSuccess:(NSString *)orderId chargeProdId:(NSString *)chargeProdId uuid:(NSString *)uuid;
|
||||
@@ -38,7 +39,7 @@
|
||||
///钻石开通会员成功
|
||||
-(void)openVipWithDiamondSuccess;
|
||||
///钻石开通会员失败
|
||||
-(void)openVipWithDiamondFail;
|
||||
-(void)openVipWithDiamondFail:(NSInteger)code;
|
||||
//联系客服成功
|
||||
-(void)getContactCustomerServiceSuccessWithUid:(NSString *)uid;
|
||||
@end
|
||||
|
@@ -0,0 +1,20 @@
|
||||
//
|
||||
// PINobleCenterListCell.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/27.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "PINobleRebateModel.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PINobleCenterListCell : UICollectionViewCell
|
||||
@property(nonatomic,copy) NSString *text;
|
||||
@property(nonatomic,assign) NSInteger count;
|
||||
@property(nonatomic,strong) NSIndexPath *path;
|
||||
@property(nonatomic,strong) PINobleRebateModel *model;
|
||||
@property(nonatomic,copy) NSString *vipName;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,236 @@
|
||||
//
|
||||
// PINobleCenterListCell.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/27.
|
||||
//
|
||||
|
||||
#import "PINobleCenterListCell.h"
|
||||
@interface PINobleCenterListCell()
|
||||
@property(nonatomic,strong) UIView *topView;
|
||||
@property(nonatomic,strong) UIView *leftView;
|
||||
@property(nonatomic,strong) UIView *bottomView;
|
||||
@property(nonatomic,strong) UIView *rightView;
|
||||
@property(nonatomic,strong) UILabel *textVeiw;
|
||||
@property(nonatomic,strong) UIButton *getBtn;
|
||||
@property(nonatomic,strong) UILabel *tipView;
|
||||
@property(nonatomic,strong) UILabel *getTipView;
|
||||
@end
|
||||
@implementation PINobleCenterListCell
|
||||
-(instancetype)initWithFrame:(CGRect)frame{
|
||||
self = [super initWithFrame:frame];
|
||||
if(self){
|
||||
[self installUI];
|
||||
[self installConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)setText:(NSString *)text{
|
||||
_text = text;
|
||||
_textVeiw.text = _text;
|
||||
}
|
||||
|
||||
|
||||
-(void)setPath:(NSIndexPath *)path{
|
||||
_path = path;
|
||||
self.topView.hidden = YES;
|
||||
self.leftView.hidden = YES;
|
||||
self.bottomView.hidden = YES;
|
||||
self.rightView.hidden = YES;
|
||||
self.textVeiw.hidden = NO;
|
||||
self.getBtn.hidden = YES;
|
||||
self.tipView.hidden = YES;
|
||||
self.getTipView.hidden = YES;
|
||||
if (_path.section == 0){
|
||||
_bottomView.hidden = YES;
|
||||
}else if (_path.section == 1){
|
||||
_leftView.hidden = NO;
|
||||
_bottomView.hidden = _path.row == _count;
|
||||
}else if (_path.section == 2){
|
||||
_leftView.hidden = NO;
|
||||
_bottomView.hidden = _path.row == _count;
|
||||
|
||||
}else{
|
||||
_leftView.hidden = NO;
|
||||
_bottomView.hidden = _path.row == _count;
|
||||
|
||||
}
|
||||
self.contentView.backgroundColor = _path.row == 0 ? UIColorRGBAlpha(0xFFAA36, 0.1) : [UIColor clearColor];
|
||||
|
||||
if (_path.row == 0){
|
||||
self.textVeiw.font = [UIFont systemFontOfSize:10 weight:UIFontWeightMedium];
|
||||
self.textVeiw.textColor = [UIColor whiteColor];
|
||||
}else{
|
||||
self.textVeiw.font = [UIFont systemFontOfSize:10 weight:UIFontWeightRegular];
|
||||
self.textVeiw.textColor = UIColorFromRGB(0xBC9E66);
|
||||
}
|
||||
|
||||
if (_path.section == 3 && _path.row > 0){
|
||||
self.textVeiw.hidden = YES;
|
||||
}
|
||||
CGFloat top = (_path.section == 0 && _path.row == 1) ? 12 : 0;
|
||||
[self.textVeiw mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(top);
|
||||
|
||||
}];
|
||||
|
||||
}
|
||||
-(void)setVipName:(NSString *)vipName{
|
||||
_vipName = vipName;
|
||||
_textVeiw.text = _vipName;
|
||||
}
|
||||
- (void)setModel:(PINobleRebateModel *)model{
|
||||
_model = model;
|
||||
if (_path.row == 0)return;
|
||||
if (_path.section == 1){
|
||||
_textVeiw.text = _model.profitDate.integerValue == 0 ? YMLocalizedString(@"PINobleCenterListCell8") : [NSString stringWithFormat:YMLocalizedString(@"PINobleCenterListCell6"),_model.profitDate];
|
||||
}else if (_path.section == 2){
|
||||
_textVeiw.text = _model.profitAmount;
|
||||
}else{
|
||||
if (_model.isReach == YES){
|
||||
_tipView.hidden = YES;
|
||||
_getTipView.hidden = !_model.isReceive;
|
||||
_getBtn.hidden = _model.isReceive;
|
||||
}else{
|
||||
_tipView.hidden = NO;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
- (void)dealloc
|
||||
{
|
||||
[[NSNotificationCenter defaultCenter]removeObserver:self];
|
||||
}
|
||||
-(void)installUI{
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
[self.contentView addSubview:self.topView];
|
||||
[self.contentView addSubview:self.leftView];
|
||||
[self.contentView addSubview:self.bottomView];
|
||||
[self.contentView addSubview:self.rightView];
|
||||
[self.contentView addSubview:self.textVeiw];
|
||||
[self.contentView addSubview:self.getBtn];
|
||||
[self.contentView addSubview:self.tipView];
|
||||
[self.contentView addSubview:self.getTipView];
|
||||
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(getNobleCenterGetDiamondSucces:) name:@"kNobleCenterGetDiamondSuccess" object:nil];
|
||||
}
|
||||
-(void)getNobleCenterGetDiamondSucces:(NSNotification *)not{
|
||||
NSString *returnProfitRecordId = not.object;
|
||||
if ([self.model.returnProfitRecordId isEqualToString:returnProfitRecordId] && _path.section == 3){
|
||||
self.model.isReach = YES;
|
||||
self.getBtn.hidden = YES;
|
||||
self.getTipView.hidden = NO;
|
||||
}
|
||||
|
||||
}
|
||||
-(void)installConstraints{
|
||||
[self.topView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(1);
|
||||
make.leading.trailing.top.equalTo(self.contentView);
|
||||
}];
|
||||
[self.leftView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(1);
|
||||
make.top.mas_equalTo(0);
|
||||
make.leading.bottom.equalTo(self.contentView);
|
||||
}];
|
||||
[self.bottomView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(1);
|
||||
make.leading.trailing.bottom.equalTo(self.contentView);
|
||||
}];
|
||||
[self.rightView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(1);
|
||||
make.bottom.trailing.top.equalTo(self.contentView);
|
||||
}];
|
||||
[self.textVeiw mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(0);
|
||||
make.leading.trailing.bottom.equalTo(self.contentView);
|
||||
}];
|
||||
[self.getBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(32);
|
||||
make.height.mas_equalTo(13);
|
||||
make.center.equalTo(self);
|
||||
}];
|
||||
[self.tipView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(kGetScaleWidth(72));
|
||||
make.height.mas_equalTo(13);
|
||||
make.center.equalTo(self);
|
||||
}];
|
||||
[self.getTipView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(38);
|
||||
make.height.mas_equalTo(13);
|
||||
make.center.equalTo(self);
|
||||
}];
|
||||
}
|
||||
-(void)getDiamondAction{
|
||||
[[NSNotificationCenter defaultCenter]postNotificationName:@"kNobleCenterGetDiamond" object:self.model];
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
- (UIView *)topView{
|
||||
if(!_topView){
|
||||
_topView = [UIView new];
|
||||
_topView.backgroundColor = UIColorRGBAlpha(0xFFAA36, 0.2);
|
||||
}
|
||||
return _topView;
|
||||
}
|
||||
- (UIView *)leftView{
|
||||
if(!_leftView){
|
||||
_leftView = [UIView new];
|
||||
_leftView.backgroundColor = UIColorRGBAlpha(0xFFAA36, 0.2);
|
||||
}
|
||||
return _leftView;
|
||||
}
|
||||
- (UIView *)bottomView{
|
||||
if(!_bottomView){
|
||||
_bottomView = [UIView new];
|
||||
_bottomView.backgroundColor = UIColorRGBAlpha(0xFFAA36, 0.2);
|
||||
}
|
||||
return _bottomView;
|
||||
}
|
||||
- (UIView *)rightView{
|
||||
if(!_rightView){
|
||||
_rightView = [UIView new];
|
||||
_rightView.backgroundColor = UIColorRGBAlpha(0xFFAA36, 0.2);
|
||||
}
|
||||
return _rightView;
|
||||
}
|
||||
- (UILabel *)textVeiw{
|
||||
if(!_textVeiw){
|
||||
_textVeiw = [UILabel new];
|
||||
_textVeiw.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _textVeiw;
|
||||
}
|
||||
- (UIButton *)getBtn{
|
||||
if(!_getBtn){
|
||||
_getBtn = [UIButton new];
|
||||
[_getBtn setTitle:YMLocalizedString(@"PINobleCenterListCell0") forState:UIControlStateNormal];
|
||||
_getBtn.backgroundColor = UIColorFromRGB(0xF6AD3F);
|
||||
[_getBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
_getBtn.titleLabel.font = [UIFont systemFontOfSize:8 weight:UIFontWeightMedium];
|
||||
_getBtn.layer.cornerRadius = 6.5;
|
||||
_getBtn.layer.masksToBounds = YES;
|
||||
[_getBtn addTarget:self action:@selector(getDiamondAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _getBtn;
|
||||
}
|
||||
- (UILabel *)tipView{
|
||||
if(!_tipView){
|
||||
_tipView = [UILabel labelInitWithText:YMLocalizedString(@"PINobleCenterListCell1") font:[UIFont systemFontOfSize:8 weight:UIFontWeightRegular] textColor:[UIColor whiteColor]];
|
||||
_tipView.backgroundColor = UIColorFromRGB(0x726041);
|
||||
_tipView.textAlignment = NSTextAlignmentCenter;
|
||||
_tipView.layer.cornerRadius = 6.5;
|
||||
_tipView.layer.masksToBounds = YES;
|
||||
}
|
||||
return _tipView;
|
||||
}
|
||||
- (UILabel *)getTipView{
|
||||
if(!_getTipView){
|
||||
_getTipView = [UILabel labelInitWithText:YMLocalizedString(@"PINobleCenterListCell7") font:[UIFont systemFontOfSize:8 weight:UIFontWeightRegular] textColor:UIColorFromRGB(0xB3B3C3)];
|
||||
_getTipView.textAlignment = NSTextAlignmentCenter;
|
||||
_getTipView.layer.cornerRadius = 6.5;
|
||||
_getTipView.layer.masksToBounds = YES;
|
||||
_getTipView.backgroundColor = [UIColor colorWithWhite:1 alpha:0.28];
|
||||
}
|
||||
return _getTipView;
|
||||
}
|
||||
@end
|
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// PINobleCenterListReusableView.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/27.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PINobleCenterListReusableView : UIView
|
||||
@property(nonatomic,copy) NSString *headerText;
|
||||
@property(nonatomic,copy) NSString *fooderText;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,52 @@
|
||||
//
|
||||
// PINobleCenterListReusableView.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/27.
|
||||
//
|
||||
|
||||
#import "PINobleCenterListReusableView.h"
|
||||
@interface PINobleCenterListReusableView()
|
||||
@property(nonatomic,strong) UILabel *contentView;
|
||||
@end
|
||||
@implementation PINobleCenterListReusableView
|
||||
-(instancetype)initWithFrame:(CGRect)frame{
|
||||
self = [super initWithFrame:frame];
|
||||
if(self){
|
||||
[self installUI];
|
||||
[self installConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)installUI{
|
||||
[self addSubview:self.contentView];
|
||||
}
|
||||
-(void)installConstraints{
|
||||
[self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.bottom.equalTo(self);
|
||||
make.leading.trailing.equalTo(self).inset(12);
|
||||
}];
|
||||
}
|
||||
- (void)setHeaderText:(NSString *)headerText{
|
||||
_headerText = headerText;
|
||||
NSMutableParagraphStyle *style = [NSMutableParagraphStyle new];
|
||||
style.lineSpacing = 3;
|
||||
NSMutableAttributedString *att = [[NSMutableAttributedString alloc]initWithString:_headerText attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12 weight:UIFontWeightRegular],NSParagraphStyleAttributeName:style,NSForegroundColorAttributeName:UIColorFromRGB(0xFFE3AF)}];
|
||||
_contentView.attributedText = att;
|
||||
}
|
||||
-(void)setFooderText:(NSString *)fooderText{
|
||||
_fooderText = fooderText;
|
||||
NSMutableParagraphStyle *style = [NSMutableParagraphStyle new];
|
||||
style.lineSpacing = 3;
|
||||
NSMutableAttributedString *att = [[NSMutableAttributedString alloc]initWithString:_fooderText attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12 weight:UIFontWeightRegular],NSParagraphStyleAttributeName:style,NSForegroundColorAttributeName:UIColorFromRGB(0xFFE3AF)}];
|
||||
_contentView.attributedText = att;
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
- (UILabel *)contentView{
|
||||
if(!_contentView){
|
||||
_contentView = [UILabel labelInitWithText:@"" font:[UIFont systemFontOfSize:12 weight:UIFontWeightRegular] textColor:UIColorFromRGB(0xFFE3AF)];
|
||||
_contentView.numberOfLines = 0;
|
||||
}
|
||||
return _contentView;
|
||||
}
|
||||
@end
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// PINobleCenterListView.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/27.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "NobleInfo.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PINobleCenterListView : UIView
|
||||
@property (nonatomic, strong) NobleInfo *vipInfo;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,172 @@
|
||||
//
|
||||
// PINobleCenterListView.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/27.
|
||||
//
|
||||
|
||||
#import "PINobleCenterListView.h"
|
||||
#import "PINobleCenterListReusableView.h"
|
||||
#import "PINobleCenterListCell.h"
|
||||
#import "PINoblePrivilegeEmptyCell.h"
|
||||
@interface PINobleCenterListView()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
|
||||
@property(nonatomic,strong) UICollectionView *pi_collectionView;
|
||||
@property(nonatomic,strong) PINobleCenterListReusableView *headerView;
|
||||
@property(nonatomic,strong) PINobleCenterListReusableView *fooderView;
|
||||
@property(nonatomic,copy) NSArray<PINobleRebateModel *> *returnProfits;
|
||||
@property(nonatomic,copy) NSArray *titleList;
|
||||
@end
|
||||
@implementation PINobleCenterListView
|
||||
|
||||
-(instancetype)initWithFrame:(CGRect)frame{
|
||||
self = [super initWithFrame:frame];
|
||||
if(self){
|
||||
[self installUI];
|
||||
[self installConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)installUI{
|
||||
[self addSubview:self.headerView];
|
||||
[self addSubview:self.pi_collectionView];
|
||||
[self addSubview:self.fooderView];
|
||||
}
|
||||
-(void)installConstraints{
|
||||
self.headerView.hidden = YES;
|
||||
self.fooderView.hidden = YES;
|
||||
[self.headerView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.trailing.equalTo(self).inset(10);
|
||||
make.top.equalTo(self);
|
||||
make.height.mas_equalTo(68);
|
||||
}];
|
||||
[self.pi_collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(self.headerView.mas_bottom).mas_offset(12);
|
||||
make.width.mas_equalTo(kGetScaleWidth(347));
|
||||
make.centerX.equalTo(self);
|
||||
make.height.mas_equalTo(kGetScaleWidth(300));
|
||||
}];
|
||||
[self.fooderView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.trailing.equalTo(self).inset(10);
|
||||
make.top.equalTo(self.pi_collectionView.mas_bottom).mas_offset(12);
|
||||
make.height.mas_equalTo(68);
|
||||
}];
|
||||
}
|
||||
- (void)setVipInfo:(NobleInfo *)vipInfo{
|
||||
_vipInfo = vipInfo;
|
||||
_returnProfits = _vipInfo.returnProfits;
|
||||
if (_returnProfits.count > 0){
|
||||
CGFloat height = (_returnProfits.count + 1) * 24;
|
||||
[self.pi_collectionView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(height);
|
||||
}];
|
||||
}
|
||||
self.headerView.hidden = _returnProfits.count == 0;
|
||||
self.fooderView.hidden = _returnProfits.count == 0;
|
||||
_headerView.headerText = [NSString stringWithFormat:YMLocalizedString(@"PINobleCenterListView0"),_vipInfo.vipName];
|
||||
self.pi_collectionView.layer.borderWidth = _returnProfits.count == 0 ? 0 : 1;
|
||||
[self.pi_collectionView reloadData];
|
||||
|
||||
}
|
||||
#pragma mark - UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout
|
||||
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
|
||||
if (self.returnProfits.count == 0){
|
||||
return 1;
|
||||
}
|
||||
return 4;
|
||||
}
|
||||
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
|
||||
if (self.returnProfits.count == 0){
|
||||
return 1;
|
||||
}
|
||||
if (section == 0){
|
||||
return 2;
|
||||
}
|
||||
return self.returnProfits.count + 1;
|
||||
}
|
||||
-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
|
||||
if (self.returnProfits.count == 0){
|
||||
PINoblePrivilegeEmptyCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([PINoblePrivilegeEmptyCell class]) forIndexPath:indexPath];
|
||||
return cell;
|
||||
}
|
||||
PINobleCenterListCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([PINobleCenterListCell class]) forIndexPath:indexPath];
|
||||
if (indexPath.row == 0){
|
||||
cell.text = self.titleList[indexPath.section];
|
||||
cell.path = indexPath;
|
||||
}else{
|
||||
if (self.returnProfits.count > 0 && indexPath.section > 0){
|
||||
cell.count = self.returnProfits.count;
|
||||
cell.path = indexPath;
|
||||
cell.model = self.returnProfits[indexPath.row - 1];
|
||||
}else{
|
||||
cell.path = indexPath;
|
||||
cell.vipName = self.vipInfo.vipName;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
return cell;
|
||||
}
|
||||
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
|
||||
if (self.returnProfits.count == 0){
|
||||
return CGSizeMake(kGetScaleWidth(347), kGetScaleWidth(300));
|
||||
}
|
||||
if (indexPath.section == 0){
|
||||
return indexPath.row == 0 ? CGSizeMake(kGetScaleWidth(70), 24): CGSizeMake(kGetScaleWidth(70), 24*3);
|
||||
}else if (indexPath.section == 1){
|
||||
return indexPath.row == 0 ? CGSizeMake(kGetScaleWidth(78), 24) : CGSizeMake(kGetScaleWidth(78), 24);
|
||||
}else if (indexPath.section == 2){
|
||||
return indexPath.row == 0 ? CGSizeMake(kGetScaleWidth(97), 24) : CGSizeMake(kGetScaleWidth(97), 24);
|
||||
}else{
|
||||
return indexPath.row == 0 ? CGSizeMake(kGetScaleWidth(102), 24) : CGSizeMake(kGetScaleWidth(102), 24);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#pragma mark - 懒加载
|
||||
|
||||
|
||||
- (UICollectionView *)pi_collectionView{
|
||||
if(!_pi_collectionView){
|
||||
UICollectionViewFlowLayout *layout = [UICollectionViewFlowLayout new];
|
||||
layout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0);
|
||||
layout.minimumLineSpacing = 0;
|
||||
layout.minimumInteritemSpacing = 0;
|
||||
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
|
||||
_pi_collectionView = [[UICollectionView alloc]initWithFrame:CGRectZero collectionViewLayout:layout];
|
||||
_pi_collectionView.backgroundColor = [UIColor clearColor];
|
||||
_pi_collectionView.layer.cornerRadius = 6;
|
||||
_pi_collectionView.layer.masksToBounds = YES;
|
||||
_pi_collectionView.layer.borderWidth = 0;
|
||||
_pi_collectionView.layer.borderColor = UIColorRGBAlpha(0xFFAA36, 0.2).CGColor;
|
||||
[_pi_collectionView registerClass:[PINobleCenterListCell class] forCellWithReuseIdentifier:NSStringFromClass([PINobleCenterListCell class])];
|
||||
[_pi_collectionView registerClass:[PINoblePrivilegeEmptyCell class] forCellWithReuseIdentifier:NSStringFromClass([PINoblePrivilegeEmptyCell class])];
|
||||
|
||||
_pi_collectionView.delegate = self;
|
||||
_pi_collectionView.dataSource = self;
|
||||
}
|
||||
return _pi_collectionView;
|
||||
}
|
||||
- (PINobleCenterListReusableView *)headerView{
|
||||
if(!_headerView){
|
||||
_headerView = [[PINobleCenterListReusableView alloc]initWithFrame:CGRectZero];
|
||||
_headerView.headerText = [NSString stringWithFormat:YMLocalizedString(@"PINobleCenterListView0"),@""];;
|
||||
}
|
||||
return _headerView;
|
||||
}
|
||||
-(PINobleCenterListReusableView *)fooderView{
|
||||
if(!_fooderView){
|
||||
_fooderView = [[PINobleCenterListReusableView alloc]initWithFrame:CGRectZero];
|
||||
_fooderView.fooderText = YMLocalizedString(@"PINobleCenterListView1");
|
||||
}
|
||||
return _fooderView;
|
||||
}
|
||||
- (NSArray *)titleList{
|
||||
if(!_titleList){
|
||||
_titleList = @[YMLocalizedString(@"PINobleCenterListCell2"),YMLocalizedString(@"PINobleCenterListCell3"),YMLocalizedString(@"PINobleCenterListCell4"),YMLocalizedString(@"PINobleCenterListCell5")];
|
||||
}
|
||||
return _titleList;
|
||||
}
|
||||
@end
|
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// PINobleCenterTitleCell.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/27.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <JXCategoryView/JXCategoryView.h>
|
||||
#import "NobleInfo.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PINobleCenterTitleCell : JXCategoryTitleCell
|
||||
@property(nonatomic,strong) NobleInfo *info;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,55 @@
|
||||
//
|
||||
// PINobleCenterTitleCell.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/27.
|
||||
//
|
||||
#import "ThemeColor+NobleCenter.h"
|
||||
#import "PINobleCenterTitleCell.h"
|
||||
@interface PINobleCenterTitleCell()
|
||||
@property(nonatomic,strong) UIImageView *bgImageView;
|
||||
|
||||
@end
|
||||
@implementation PINobleCenterTitleCell
|
||||
-(instancetype)initWithFrame:(CGRect)frame{
|
||||
self = [super initWithFrame:frame];
|
||||
if(self){
|
||||
[self installUI];
|
||||
[self installConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)installUI{
|
||||
[self.contentView addSubview:self.bgImageView];
|
||||
|
||||
}
|
||||
- (void)reloadData:(JXCategoryBaseCellModel *)cellModel {
|
||||
[super reloadData:cellModel];
|
||||
|
||||
}
|
||||
- (void)setInfo:(NobleInfo *)info{
|
||||
_info = info;
|
||||
|
||||
_bgImageView.hidden = !self.info.isReturnProfit;
|
||||
}
|
||||
-(void)installConstraints{
|
||||
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(kGetScaleWidth(41));
|
||||
make.height.mas_equalTo(kGetScaleWidth(16));
|
||||
make.top.mas_equalTo(0);
|
||||
make.trailing.mas_equalTo(10);
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
#pragma mark - 懒加载
|
||||
- (UIImageView *)bgImageView{
|
||||
if(!_bgImageView){
|
||||
_bgImageView = [UIImageView new];
|
||||
_bgImageView.image = kImage(@"mine_noble_center_tag_title_bg");
|
||||
_bgImageView.hidden = YES;
|
||||
}
|
||||
return _bgImageView;
|
||||
}
|
||||
|
||||
@end
|
@@ -0,0 +1,19 @@
|
||||
//
|
||||
// PINobleCenterTitleView.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/27.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <JXCategoryView/JXCategoryView.h>
|
||||
#import "NobleInfo.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PINobleCenterTitleView : JXCategoryTitleView
|
||||
///贵族信息列表
|
||||
@property (nonatomic, strong) NSArray<NobleInfo *> *vipInfos;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,22 @@
|
||||
//
|
||||
// PINobleCenterTitleView.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/27.
|
||||
//
|
||||
|
||||
#import "PINobleCenterTitleView.h"
|
||||
#import "PINobleCenterTitleCell.h"
|
||||
@implementation PINobleCenterTitleView
|
||||
|
||||
- (Class)preferredCellClass{
|
||||
return PINobleCenterTitleCell.class;
|
||||
}
|
||||
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
|
||||
PINobleCenterTitleCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([self preferredCellClass]) forIndexPath:indexPath];
|
||||
NobleInfo *info = [self.vipInfos safeObjectAtIndex1:indexPath.row];
|
||||
cell.info = info;
|
||||
return cell;
|
||||
}
|
||||
|
||||
@end
|
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// PINoblePrivilegeEmptyCell.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/29.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface PINoblePrivilegeEmptyCell : UICollectionViewCell
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,65 @@
|
||||
//
|
||||
// PINoblePrivilegeEmptyCell.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/29.
|
||||
//
|
||||
|
||||
#import "PINoblePrivilegeEmptyCell.h"
|
||||
@interface PINoblePrivilegeEmptyCell()
|
||||
@property (nonatomic,strong) UIImageView *emptyImageView;
|
||||
@property (nonatomic,strong) UILabel *titleLabel;
|
||||
@end
|
||||
@implementation PINoblePrivilegeEmptyCell
|
||||
-(instancetype)initWithFrame:(CGRect)frame{
|
||||
self = [super initWithFrame:frame];
|
||||
if(self){
|
||||
[self installUI];
|
||||
[self installConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
-(void)installUI{
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
[self.contentView addSubview:self.emptyImageView];
|
||||
[self.contentView addSubview:self.titleLabel];
|
||||
}
|
||||
-(void)installConstraints{
|
||||
[self.emptyImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.mas_equalTo(self.contentView);
|
||||
make.top.mas_equalTo(self.contentView).offset(0);
|
||||
make.size.mas_equalTo(CGSizeMake(100, 100));
|
||||
}];
|
||||
|
||||
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.emptyImageView.mas_bottom).offset(20);
|
||||
make.left.right.mas_equalTo(self.contentView);
|
||||
}];
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
- (UIImageView *)emptyImageView {
|
||||
if (!_emptyImageView) {
|
||||
_emptyImageView = [[UIImageView alloc] init];
|
||||
_emptyImageView.userInteractionEnabled = YES;
|
||||
_emptyImageView.image = [UIImageConstant defalutEmptyPlaceholder];
|
||||
_emptyImageView.layer.masksToBounds = YES;
|
||||
_emptyImageView.contentMode = UIViewContentModeScaleAspectFit;
|
||||
}
|
||||
return _emptyImageView;
|
||||
}
|
||||
|
||||
- (UILabel *)titleLabel {
|
||||
if (!_titleLabel) {
|
||||
_titleLabel = [[UILabel alloc] init];
|
||||
_titleLabel.text = YMLocalizedString(@"PINoblePrivilegeEmptyCell0");
|
||||
_titleLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium];
|
||||
_titleLabel.textAlignment = NSTextAlignmentCenter;
|
||||
_titleLabel.textColor = [UIColor whiteColor];
|
||||
}
|
||||
return _titleLabel;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@end
|
@@ -6,14 +6,14 @@
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "UserVipInfoVo.h"
|
||||
#import "NobleInfo.h"
|
||||
#import "NobleCenterModel.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPNobleCenterEntranceView : UIView
|
||||
|
||||
@property (nonatomic, strong) UserVipInfoVo *vipInfo;
|
||||
@property (nonatomic, strong) NobleInfo *vipInfo;
|
||||
@property (nonatomic, strong) NobleCenterModel *nobleInfo;
|
||||
|
||||
@end
|
||||
|
@@ -90,7 +90,7 @@
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)setVipInfo:(UserVipInfoVo *)vipInfo {
|
||||
- (void)setVipInfo:(NobleInfo *)vipInfo {
|
||||
_vipInfo = vipInfo;
|
||||
if (vipInfo) {
|
||||
[self addSubview:self.nobleIconImage];
|
||||
|
@@ -7,13 +7,24 @@
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "NobleCenterModel.h"
|
||||
|
||||
#import "RechargeListModel.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol XPNobleCenterMyNobleViewDelegate <NSObject>
|
||||
|
||||
-(void)payNobleCenterWithModel:(RechargeListModel *)rechargeModel vipInfo:(NobleInfo *)vipInfo ;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@interface XPNobleCenterMyNobleView : UIView
|
||||
|
||||
///总数据
|
||||
@property (nonatomic, strong) NobleCenterModel *model;
|
||||
@property(nonatomic,strong) NobleInfo *vipInfo;
|
||||
@property(nonatomic,strong) RechargeListModel *rechargeModel;
|
||||
@property(nonatomic,weak) id<XPNobleCenterMyNobleViewDelegate>delegate;
|
||||
@property(nonatomic,assign) BOOL isHiddenPayBtn;
|
||||
|
||||
@end
|
||||
|
||||
|
@@ -39,6 +39,11 @@
|
||||
@property (nonatomic, strong) UILabel *safeValueLabel;
|
||||
///升级权力值
|
||||
@property (nonatomic, strong) UILabel *upGradeValueLabel;
|
||||
///开通贵族
|
||||
@property (nonatomic, strong) UILabel *openNobleButton;
|
||||
///
|
||||
@property (nonatomic,strong) UIImageView *openNobleView;
|
||||
@property (nonatomic,strong) UIImageView *openNobleIconView;
|
||||
|
||||
@end
|
||||
|
||||
@@ -67,6 +72,11 @@
|
||||
[self addSubview:self.currentValueLabel];
|
||||
[self addSubview:self.safeValueLabel];
|
||||
[self addSubview:self.upGradeValueLabel];
|
||||
|
||||
[self addSubview:self.openNobleView];
|
||||
|
||||
[self.openNobleView addSubview:self.openNobleIconView];
|
||||
[self.openNobleView addSubview:self.openNobleButton];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
@@ -127,6 +137,25 @@
|
||||
make.centerY.mas_equalTo(self.safeValueLabel);
|
||||
make.trailing.mas_equalTo(self.backProgressView);
|
||||
}];
|
||||
|
||||
|
||||
[self.openNobleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.mas_equalTo(self);
|
||||
make.bottom.mas_equalTo(-kSafeAreaBottomHeight - 5);
|
||||
make.width.mas_equalTo(300);
|
||||
make.height.mas_equalTo(44);
|
||||
}];
|
||||
[self.openNobleButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_lessThanOrEqualTo(258);
|
||||
make.centerX.equalTo(self.openNobleView);
|
||||
make.top.bottom.equalTo(self.openNobleView);
|
||||
}];
|
||||
[self.openNobleIconView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(20);
|
||||
make.centerY.equalTo(self.openNobleView);
|
||||
make.trailing.equalTo(self.openNobleButton.mas_leading).mas_offset(-2);
|
||||
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - private
|
||||
@@ -149,6 +178,7 @@
|
||||
if (info.vipLevel > model.currLevel && hadNextLevel) {
|
||||
hadNextLevel = NO;
|
||||
nextLevelName = info.vipName;
|
||||
|
||||
}
|
||||
}
|
||||
NSAttributedString *levelStr = [[NSAttributedString alloc] initWithString:levelName attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12], NSForegroundColorAttributeName:[DJDKMIMOMColor hightNobleLightTextColor]}];
|
||||
@@ -236,8 +266,26 @@
|
||||
make.centerX.mas_equalTo(self.backProgressView.mas_leading).mas_offset(safeMargin);
|
||||
}];
|
||||
self.upGradeValueLabel.hidden = model.isMaxLevel;
|
||||
}
|
||||
|
||||
}
|
||||
- (void)setVipInfo:(NobleInfo *)vipInfo{
|
||||
_vipInfo = vipInfo;
|
||||
if (_vipInfo.vipLevel > _model.currLevel){
|
||||
self.openNobleView.hidden = NO;
|
||||
self.openNobleButton.text = [NSString stringWithFormat:YMLocalizedString(@"XPNobleCenterMyNobleView11"),_rechargeModel.money.floatValue,_vipInfo.vipName];
|
||||
}else{
|
||||
self.openNobleView.hidden = YES;
|
||||
}
|
||||
}
|
||||
- (void)setIsHiddenPayBtn:(BOOL)isHiddenPayBtn{
|
||||
_isHiddenPayBtn = isHiddenPayBtn;
|
||||
self.openNobleView.hidden = _isHiddenPayBtn;
|
||||
}
|
||||
-(void)onOpenNobleButtonClick{
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(payNobleCenterWithModel:vipInfo:)]){
|
||||
[self.delegate payNobleCenterWithModel:self.rechargeModel vipInfo:self.vipInfo];
|
||||
}
|
||||
}
|
||||
- (UIView *)topView {
|
||||
if (!_topView) {
|
||||
_topView = [[UIView alloc] init];
|
||||
@@ -338,5 +386,36 @@
|
||||
}
|
||||
return _timeDescButton;
|
||||
}
|
||||
- (UIImageView *)openNobleView{
|
||||
if (!_openNobleView){
|
||||
_openNobleView = [UIImageView new];
|
||||
_openNobleView.image = kImage(@"noble_open_btn_bg");
|
||||
_openNobleView.userInteractionEnabled = YES;
|
||||
_openNobleView.hidden = YES;
|
||||
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(onOpenNobleButtonClick)];
|
||||
[_openNobleView addGestureRecognizer:tap];
|
||||
}
|
||||
return _openNobleView;
|
||||
}
|
||||
- (UILabel *)openNobleButton {
|
||||
if (!_openNobleButton) {
|
||||
NSString *title = [NSString stringWithFormat:YMLocalizedString(@"XPNobleCenterViewController0"), @"2.99"];
|
||||
_openNobleButton = [UILabel new];
|
||||
_openNobleButton.text = title;
|
||||
_openNobleButton.font = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium];
|
||||
_openNobleButton.textColor = [DJDKMIMOMColor mainTextColor];
|
||||
_openNobleButton.numberOfLines = 0;
|
||||
_openNobleButton.textAlignment = NSTextAlignmentCenter;
|
||||
|
||||
}
|
||||
return _openNobleButton;
|
||||
}
|
||||
-(UIImageView *)openNobleIconView{
|
||||
if (!_openNobleIconView){
|
||||
_openNobleIconView = [UIImageView new];
|
||||
_openNobleIconView.image = kImage(@"noble_open_btn");
|
||||
}
|
||||
return _openNobleIconView;
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -23,6 +23,7 @@
|
||||
|
||||
-(void)installUI{
|
||||
self.backgroundColor = [UIColor whiteColor];
|
||||
self.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
self.contentView.backgroundColor = [UIColor whiteColor];
|
||||
[self.contentView addSubview:self.iconView];
|
||||
[self.contentView addSubview:self.titleView];
|
||||
|
@@ -14,7 +14,7 @@ typedef enum : NSUInteger {
|
||||
|
||||
@protocol XPNobleCenterPayViewDelegate <NSObject>
|
||||
|
||||
-(void)payWithType:(NobleCenterPayType)type;
|
||||
-(void)payWithType:(NobleCenterPayType)type vipLevel:(NSString *_Nullable)vipLevel;
|
||||
|
||||
@end
|
||||
|
||||
@@ -24,6 +24,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
//钻石数量
|
||||
@property(nonatomic, copy)NSString *diamonds;
|
||||
@property(nonatomic,weak) id<XPNobleCenterPayViewDelegate> delegate;
|
||||
@property(nonatomic,copy) NSString *vipLevel;
|
||||
@property(nonatomic, strong) NSNumber *money;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -93,6 +93,10 @@
|
||||
make.centerX.equalTo(self.bgView);
|
||||
}];
|
||||
}
|
||||
- (void)setMoney:(NSNumber *)money{
|
||||
_money = money;
|
||||
self.diamondNumView.text = [NSString stringWithFormat:@"%.0f",_money.floatValue * 1000];
|
||||
}
|
||||
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
|
||||
return self.listData.count;
|
||||
}
|
||||
@@ -113,7 +117,7 @@
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
self.path = indexPath;
|
||||
self.type = indexPath.row == 0 ? NobleCenterPayType_diamond : NobleCenterPayType_Apple;
|
||||
self.diamondNumView.text = indexPath.row == 0 ? @"2990" : @"$2.99";
|
||||
self.diamondNumView.text = indexPath.row == 0 ? [NSString stringWithFormat:@"%.0f",_money.floatValue * 1000] : [NSString stringWithFormat:@"%.2f",_money.floatValue];
|
||||
self.diamondNumTitle.text = indexPath.row == 0 ? YMLocalizedString(@"XPNobleCenterPayView1"):@"";
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
@@ -126,8 +130,8 @@
|
||||
}
|
||||
-(void)payBtnAction{
|
||||
[self backAction];
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(payWithType:)]){
|
||||
[self.delegate payWithType:self.type];
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(payWithType:vipLevel:)]){
|
||||
[self.delegate payWithType:self.type vipLevel:self.vipLevel];
|
||||
}
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
|
@@ -0,0 +1,20 @@
|
||||
//
|
||||
// XPNobleCenterWindow.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/29.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
typedef void(^ConfirmBlcok)(void);
|
||||
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPNobleCenterWindow : UIView
|
||||
@property(nonatomic,copy) ConfirmBlcok confirmBlcok;
|
||||
@property(nonatomic,copy) NSString *text;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,111 @@
|
||||
//
|
||||
// XPNobleCenterWindow.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2024/3/29.
|
||||
//
|
||||
|
||||
#import "XPNobleCenterWindow.h"
|
||||
@interface XPNobleCenterWindow()
|
||||
@property(nonatomic,strong) UIView *bgView;
|
||||
@property(nonatomic,strong) UILabel *pi_textView;
|
||||
@property(nonatomic,strong) UIButton *cancelBtn;
|
||||
@property(nonatomic,strong) UIButton *confirmBtn;
|
||||
@end
|
||||
@implementation XPNobleCenterWindow
|
||||
|
||||
-(instancetype)initWithFrame:(CGRect)frame{
|
||||
self = [super initWithFrame:frame];
|
||||
if(self){
|
||||
[self installUI];
|
||||
[self installConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)installUI{
|
||||
self.backgroundColor = [UIColor colorWithWhite:0 alpha:0.4];
|
||||
[self addSubview:self.bgView];
|
||||
[self.bgView addSubview:self.pi_textView];
|
||||
[self.bgView addSubview:self.cancelBtn];
|
||||
[self.bgView addSubview:self.confirmBtn];
|
||||
}
|
||||
-(void)installConstraints{
|
||||
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.center.equalTo(self);
|
||||
make.width.mas_equalTo(kGetScaleWidth(319));
|
||||
make.height.mas_equalTo(kGetScaleWidth(176));
|
||||
}];
|
||||
[self.pi_textView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(kGetScaleWidth(36));
|
||||
make.leading.trailing.equalTo(self.bgView).inset(kGetScaleWidth(60));
|
||||
|
||||
}];
|
||||
[self.cancelBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(kGetScaleWidth(124));
|
||||
make.height.mas_equalTo(kGetScaleWidth(44));
|
||||
make.top.mas_equalTo(kGetScaleWidth(108));
|
||||
make.leading.mas_equalTo(kGetScaleWidth(28));
|
||||
}];
|
||||
[self.confirmBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.with.height.equalTo(self.cancelBtn);
|
||||
make.trailing.mas_equalTo(-kGetScaleWidth(28));
|
||||
}];
|
||||
}
|
||||
-(void)cancelBtnAction{
|
||||
[TTPopup dismiss];
|
||||
}
|
||||
-(void)setText:(NSString *)text{
|
||||
_text = text;
|
||||
_pi_textView.text = text;
|
||||
}
|
||||
-(void)confirmBtnAction{
|
||||
[TTPopup dismiss];
|
||||
if (self.confirmBlcok){
|
||||
self.confirmBlcok();
|
||||
}
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
- (UIView *)bgView{
|
||||
if(!_bgView){
|
||||
_bgView = [UIView new];
|
||||
_bgView.backgroundColor = [UIColor whiteColor];
|
||||
[_bgView setCornerWithLeftTopCorner:kGetScaleWidth(22) rightTopCorner:kGetScaleWidth(22) bottomLeftCorner:kGetScaleWidth(22) bottomRightCorner:kGetScaleWidth(22) size:CGSizeMake(kGetScaleWidth(319), kGetScaleWidth(176))];
|
||||
}
|
||||
return _bgView;
|
||||
}
|
||||
- (UILabel *)pi_textView{
|
||||
if(!_pi_textView){
|
||||
_pi_textView = [UILabel labelInitWithText:@"" font:kFontRegular(14) textColor:UIColorFromRGB(0x1F1B4F)];
|
||||
_pi_textView.textAlignment = NSTextAlignmentCenter;
|
||||
_pi_textView.numberOfLines = 0;
|
||||
}
|
||||
return _pi_textView;
|
||||
}
|
||||
- (UIButton *)cancelBtn{
|
||||
if(!_cancelBtn){
|
||||
_cancelBtn = [UIButton new];
|
||||
_cancelBtn.backgroundColor = UIColorFromRGB(0xE6E6F0);
|
||||
[_cancelBtn setTitle:YMLocalizedString(@"XPMinePromptWindow2") forState:UIControlStateNormal];
|
||||
_cancelBtn.titleLabel.font = kFontMedium(16);
|
||||
[_cancelBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
[_cancelBtn addTarget:self action:@selector(cancelBtnAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
_cancelBtn.layer.cornerRadius = kGetScaleWidth(44)/2;
|
||||
_cancelBtn.layer.masksToBounds = YES;
|
||||
}
|
||||
return _cancelBtn;
|
||||
}
|
||||
- (UIButton *)confirmBtn{
|
||||
if(!_confirmBtn){
|
||||
_confirmBtn = [UIButton new];
|
||||
UIImage *image = [UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor],[DJDKMIMOMColor confirmButtonGradientMiddleColor],[DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(kGetScaleWidth(124), kGetScaleWidth(44))];
|
||||
[_confirmBtn setBackgroundImage:image forState:UIControlStateNormal];
|
||||
[_confirmBtn setTitle:YMLocalizedString(@"XPNobleCenterWindow0") forState:UIControlStateNormal];
|
||||
_confirmBtn.titleLabel.font = kFontMedium(16);
|
||||
[_confirmBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
[_confirmBtn addTarget:self action:@selector(confirmBtnAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
_confirmBtn.layer.cornerRadius = kGetScaleWidth(44)/2;
|
||||
_confirmBtn.layer.masksToBounds = YES;
|
||||
}
|
||||
return _confirmBtn;
|
||||
}
|
||||
@end
|
@@ -15,15 +15,20 @@
|
||||
///View
|
||||
#import "XPNoblePrivilegeCell.h"
|
||||
#import "XPNobleAuthorityDescView.h"
|
||||
#import "PINobleCenterListView.h"
|
||||
|
||||
@interface XPNoblePrivilegeContentCell()<UICollectionViewDelegateFlowLayout, UICollectionViewDataSource, UICollectionViewDelegate>
|
||||
|
||||
@property (nonatomic, strong) UIImageView *bgImageView;
|
||||
@property(nonatomic,strong) UIImageView *leftImageView;
|
||||
@property(nonatomic,strong) UIImageView *rigthImageView;
|
||||
@property(nonatomic,strong) UIButton *nobleBtn;
|
||||
@property(nonatomic,strong) UIButton *rebateBtn;
|
||||
///已有特权数量
|
||||
@property (nonatomic, strong) UILabel *privilegeLabel;
|
||||
|
||||
@property (nonatomic, strong) UICollectionView *collectionView;
|
||||
|
||||
@property(nonatomic,strong) PINobleCenterListView *rebateView;
|
||||
@property (nonatomic, strong) NSMutableArray *dataArray;
|
||||
|
||||
@end
|
||||
@@ -43,8 +48,14 @@
|
||||
self.layer.masksToBounds = YES;
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
[self.contentView addSubview:self.bgImageView];
|
||||
[self.contentView addSubview:self.leftImageView];
|
||||
[self.contentView addSubview:self.nobleBtn];
|
||||
[self.contentView addSubview:self.rebateBtn];
|
||||
[self.contentView addSubview:self.rigthImageView];
|
||||
|
||||
[self.contentView addSubview:self.privilegeLabel];
|
||||
[self.contentView addSubview:self.collectionView];
|
||||
[self.contentView addSubview:self.rebateView];
|
||||
self.contentView.backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
|
||||
@@ -52,6 +63,31 @@
|
||||
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.mas_equalTo(0);
|
||||
}];
|
||||
|
||||
[self.nobleBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.trailing.equalTo(self.contentView.mas_centerX).offset(-4);
|
||||
make.width.mas_equalTo(76);
|
||||
make.height.mas_equalTo(26);
|
||||
make.top.mas_equalTo(25);
|
||||
}];
|
||||
[self.rebateBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.equalTo(self.contentView.mas_centerX).offset(4);
|
||||
make.width.mas_equalTo(76);
|
||||
make.height.mas_equalTo(26);
|
||||
make.top.mas_equalTo(25);
|
||||
}];
|
||||
[self.leftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(97);
|
||||
make.height.mas_equalTo(14);
|
||||
make.trailing.equalTo(self.nobleBtn.mas_leading).mas_offset(-3);
|
||||
make.centerY.equalTo(self. nobleBtn);
|
||||
}];
|
||||
[self.rigthImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(97);
|
||||
make.height.mas_equalTo(14);
|
||||
make.leading.equalTo(self.rebateBtn.mas_trailing).mas_offset(3);
|
||||
make.centerY.equalTo(self. nobleBtn);
|
||||
}];
|
||||
[self.privilegeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.mas_equalTo(self);
|
||||
make.top.mas_equalTo(60);
|
||||
@@ -61,6 +97,10 @@
|
||||
make.top.mas_equalTo(90);
|
||||
make.leading.trailing.bottom.mas_equalTo(0);
|
||||
}];
|
||||
[self.rebateView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(self.rebateBtn.mas_bottom).mas_offset(25);
|
||||
make.leading.trailing.bottom.mas_equalTo(0);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - UICollectionViewDataSource
|
||||
@@ -97,6 +137,26 @@
|
||||
|
||||
- (void)setVipInfo:(NobleInfo *)vipInfo {
|
||||
_vipInfo = vipInfo;
|
||||
self.rebateView.vipInfo = _vipInfo;
|
||||
}
|
||||
-(void)clickBtnAction:(UIButton *)sender{
|
||||
if (sender == self.nobleBtn){
|
||||
self.collectionView.hidden = NO;
|
||||
self.rebateView.hidden = YES;
|
||||
self.privilegeLabel.hidden = NO;
|
||||
self.nobleBtn.selected = YES;
|
||||
self.nobleBtn.titleLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
|
||||
self.rebateBtn.selected = NO;
|
||||
self.rebateBtn.titleLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightRegular];
|
||||
return;
|
||||
}
|
||||
self.privilegeLabel.hidden = YES;
|
||||
self.collectionView.hidden = YES;
|
||||
self.rebateView.hidden = NO;
|
||||
self.nobleBtn.selected = NO;
|
||||
self.nobleBtn.titleLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightRegular];
|
||||
self.rebateBtn.selected = YES;
|
||||
self.rebateBtn.titleLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
|
||||
}
|
||||
|
||||
- (UIImageView *)bgImageView {
|
||||
@@ -132,5 +192,52 @@
|
||||
}
|
||||
return _collectionView;
|
||||
}
|
||||
|
||||
- (UIImageView *)leftImageView{
|
||||
if(!_leftImageView){
|
||||
_leftImageView = [UIImageView new];
|
||||
_leftImageView.image = kImage(@"noble_privilege_list_left_icon");
|
||||
}
|
||||
return _leftImageView;
|
||||
}
|
||||
- (UIImageView *)rigthImageView{
|
||||
if(!_rigthImageView){
|
||||
_rigthImageView = [UIImageView new];
|
||||
_rigthImageView.image = kImage(@"noble_privilege_list_rigth_icon");
|
||||
}
|
||||
return _rigthImageView;
|
||||
}
|
||||
- (UIButton *)nobleBtn{
|
||||
if(!_nobleBtn){
|
||||
_nobleBtn = [UIButton new];
|
||||
[_nobleBtn setTitle:YMLocalizedString(@"XPNoblePrivilegeContentCell0") forState:UIControlStateNormal];
|
||||
[_nobleBtn setBackgroundImage:kImage(@"noble_privilege_list_noble_icon") forState:UIControlStateSelected];
|
||||
[_nobleBtn setBackgroundImage:kImage(@"noble_privilege_list_rebate_icon") forState:UIControlStateNormal];
|
||||
[_nobleBtn setTitleColor:UIColorFromRGB(0x333333) forState:UIControlStateSelected];
|
||||
[_nobleBtn setTitleColor:UIColorFromRGB(0x3B3224) forState:UIControlStateNormal];
|
||||
_nobleBtn.titleLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
|
||||
_nobleBtn.selected = YES;
|
||||
[_nobleBtn addTarget:self action:@selector(clickBtnAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _nobleBtn;
|
||||
}
|
||||
- (UIButton *)rebateBtn{
|
||||
if(!_rebateBtn){
|
||||
_rebateBtn = [UIButton new];
|
||||
[_rebateBtn setTitle:YMLocalizedString(@"XPNoblePrivilegeContentCell1") forState:UIControlStateNormal];
|
||||
[_rebateBtn setBackgroundImage:kImage(@"noble_privilege_list_rebate_icon") forState:UIControlStateNormal];
|
||||
[_rebateBtn setBackgroundImage:kImage(@"noble_privilege_list_noble_icon") forState:UIControlStateSelected];
|
||||
[_rebateBtn setTitleColor:UIColorFromRGB(0x333333) forState:UIControlStateSelected];
|
||||
[_rebateBtn setTitleColor:UIColorFromRGB(0x3B3224) forState:UIControlStateNormal];
|
||||
_rebateBtn.titleLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightRegular];
|
||||
[_rebateBtn addTarget:self action:@selector(clickBtnAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _rebateBtn;
|
||||
}
|
||||
- (PINobleCenterListView *)rebateView{
|
||||
if(!_rebateView){
|
||||
_rebateView = [[PINobleCenterListView alloc]initWithFrame:CGRectZero];
|
||||
_rebateView.hidden = YES;
|
||||
}
|
||||
return _rebateView;
|
||||
}
|
||||
@end
|
||||
|
@@ -73,7 +73,7 @@
|
||||
CGFloat lineCount = (itemCount % 3 == 0) ? itemCount / 3 : (itemCount / 3 + 1);
|
||||
CGFloat itemHeight = 105;
|
||||
CGFloat bottomHeight = kSafeAreaBottomHeight + 44 + 5;
|
||||
return 90 + lineCount * itemHeight + bottomHeight;
|
||||
return 90 + lineCount * itemHeight + bottomHeight + 59;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
@@ -32,6 +32,8 @@
|
||||
#import "XPNobleSettingViewController.h"
|
||||
#import "XPSkillCardPlayerManager.h"
|
||||
#import "SessionViewController.h"
|
||||
#import "PINobleCenterTitleView.h"
|
||||
#import "XPNobleCenterWindow.h"
|
||||
///P
|
||||
#import "XPNobleCenterPresenter.h"
|
||||
#import "Api+Gift.h"
|
||||
@@ -46,11 +48,11 @@
|
||||
#import "XPIAPRechargeViewController.h"
|
||||
#import "YuMi-swift.h"
|
||||
#import "ClientConfig.h"
|
||||
@interface XPNobleCenterViewController ()<XPNobleCenterProtocol,XPNobleCenterPayViewDelegate,JXCategoryViewDelegate, JXCategoryListContainerViewDelegate,XPNobleCenterNavViewDelegate, NIMSystemNotificationManagerDelegate>
|
||||
@interface XPNobleCenterViewController ()<XPNobleCenterProtocol,XPNobleCenterPayViewDelegate,JXCategoryViewDelegate, JXCategoryListContainerViewDelegate,XPNobleCenterNavViewDelegate, NIMSystemNotificationManagerDelegate,XPNobleCenterMyNobleViewDelegate>
|
||||
///分页标题
|
||||
@property (nonatomic, strong) NSArray<NSString *> *titles;
|
||||
///分页控件
|
||||
@property (nonatomic, strong) JXCategoryTitleView *titleView;
|
||||
@property (nonatomic, strong) PINobleCenterTitleView *titleView;
|
||||
///分页lineView
|
||||
@property (nonatomic, strong) JXCategoryListContainerView *lineView;
|
||||
///头饰
|
||||
@@ -75,7 +77,9 @@
|
||||
@property (nonatomic, assign) BOOL needUpdateUserInfo;
|
||||
|
||||
///充值-----
|
||||
@property (nonatomic, strong) NobleRechargeModel *rechargeModel;
|
||||
@property (nonatomic, strong) NSArray *rechargeList;
|
||||
@property(nonatomic,strong) RechargeListModel *rechargeModel;
|
||||
@property(nonatomic,strong) NobleInfo *vipInfo;
|
||||
///订单编号
|
||||
@property (nonatomic,copy) NSString *orderId;
|
||||
///房间UID
|
||||
@@ -96,7 +100,7 @@
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
|
||||
[[NSNotificationCenter defaultCenter]removeObserver:self];
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
@@ -106,8 +110,12 @@
|
||||
[self requestHttp];
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(getDiamondNot:) name:@"kNobleCenterGetDiamond" object:nil];
|
||||
}
|
||||
-(void)getDiamondNot:(NSNotification *)not{
|
||||
PINobleRebateModel *model = not.object;
|
||||
[self.presenter getNobleCenterReturnDiamond:model.returnProfitRecordId];
|
||||
}
|
||||
|
||||
- (BOOL)isHiddenNavBar {
|
||||
return YES;
|
||||
}
|
||||
@@ -154,7 +162,7 @@
|
||||
}];
|
||||
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.trailing.mas_equalTo(self.view);
|
||||
make.height.mas_equalTo(40);
|
||||
make.height.mas_equalTo(50);
|
||||
make.top.mas_equalTo(self.navView.mas_bottom);
|
||||
}];
|
||||
|
||||
@@ -177,6 +185,7 @@
|
||||
make.height.mas_equalTo(91+kSafeAreaBottomHeight);
|
||||
make.leading.bottom.trailing.mas_equalTo(0);
|
||||
}];
|
||||
|
||||
[self.openNobleIconView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(20);
|
||||
make.centerY.equalTo(self.openNobleView);
|
||||
@@ -192,24 +201,11 @@
|
||||
|
||||
}
|
||||
#pragma mark - XPNobleCenterPayViewDelegate
|
||||
- (void)payWithType:(NobleCenterPayType)type{
|
||||
- (void)payWithType:(NobleCenterPayType)type vipLevel:(NSString * _Nullable)vipLevel{
|
||||
if(type == NobleCenterPayType_diamond){
|
||||
if(self.infoModel.diamonds.integerValue < 2990){
|
||||
TTAlertConfig *config = [[TTAlertConfig alloc]init];
|
||||
config.message = YMLocalizedString(@"XPNobleCenterViewController3");
|
||||
config.actionStyle = TTAlertActionBothStyle;
|
||||
[TTPopup alertWithConfig:config showBorder:NO confirmHandler:^{
|
||||
|
||||
XPIAPRechargeViewController * webVC =[[XPIAPRechargeViewController alloc] init];
|
||||
webVC.type = @"4";
|
||||
[self.navigationController pushViewController:webVC animated:YES];
|
||||
} cancelHandler:^{
|
||||
|
||||
}];
|
||||
return;
|
||||
}
|
||||
NSString *roomUid = self.roomUid > 0 ? @(self.roomUid).stringValue : @(self.userInfo.uid).stringValue;
|
||||
[self.presenter openVipWithDiamondRoomUid:roomUid];
|
||||
[self.presenter openVipWithDiamondRoomUid:roomUid vipLevel:vipLevel];
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -224,31 +220,51 @@
|
||||
return;
|
||||
}
|
||||
|
||||
if(self.rechargeModel.list.count == 0)return;
|
||||
|
||||
[XNDJTDDLoadingTool showOnlyView:kWindow];
|
||||
RechargeListModel *rechargeModel = [self.rechargeModel.list safeObjectAtIndex1:0];
|
||||
[self.presenter requestNobleIAPRechargeOrderWithChargeProdId:rechargeModel.chargeProdId roomUid:self.roomUid ? [NSString stringWithFormat:@"%zd", self.roomUid] : nil];
|
||||
[self.presenter requestNobleIAPRechargeOrderWithChargeProdId:self.rechargeModel.chargeProdId roomUid:self.roomUid ? [NSString stringWithFormat:@"%zd", self.roomUid] : nil];
|
||||
}
|
||||
#pragma mark - XPNobleCenterMyNobleViewDelegate
|
||||
-(void)payNobleCenterWithModel:(RechargeListModel *)rechargeModel vipInfo:(NobleInfo *)vipInfo {
|
||||
XPNobleCenterWindow *window = [[XPNobleCenterWindow alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
|
||||
[TTPopup popupView:window style:TTPopupStyleAlert];
|
||||
window.text = [NSString stringWithFormat:YMLocalizedString(@"XPNobleCenterWindow1"),self.vipInfo.vipName,vipInfo.vipName];
|
||||
@kWeakify(self);
|
||||
window.confirmBlcok = ^{
|
||||
@kStrongify(self);
|
||||
XPNobleCenterPayView *payView = [[XPNobleCenterPayView alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
|
||||
payView.money = self.rechargeModel.money;
|
||||
payView.diamonds = self.infoModel.diamonds;
|
||||
payView.vipLevel = @(vipInfo.vipLevel).stringValue;
|
||||
payView.delegate = self;
|
||||
[self.view addSubview:payView];
|
||||
};
|
||||
|
||||
}
|
||||
-(void)openVipWithDiamondSuccess{
|
||||
[self requestHttp];
|
||||
}
|
||||
-(void)openVipWithDiamondFail{
|
||||
-(void)openVipWithDiamondFail:(NSInteger)code{
|
||||
if(code == 31005){
|
||||
TTAlertConfig *config = [[TTAlertConfig alloc]init];
|
||||
config.message = YMLocalizedString(@"XPNobleCenterViewController3");
|
||||
config.actionStyle = TTAlertActionBothStyle;
|
||||
[TTPopup alertWithConfig:config showBorder:NO confirmHandler:^{
|
||||
|
||||
XPIAPRechargeViewController * webVC =[[XPIAPRechargeViewController alloc] init];
|
||||
webVC.type = @"4";
|
||||
[self.navigationController pushViewController:webVC animated:YES];
|
||||
} cancelHandler:^{
|
||||
|
||||
}];
|
||||
}
|
||||
}
|
||||
///请求贵族中心数据
|
||||
- (void)requestHttp {
|
||||
[self.presenter getUserInfo];
|
||||
[self checkTranscationIds];
|
||||
[self.presenter getNobleChargeProductListWithChannelType:@"9"];
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
NSString * ticket = [AccountInfoStorage instance].getTicket;
|
||||
[Api getUserWalletInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if(code == 200){
|
||||
WalletInfoModel * model = [WalletInfoModel modelWithDictionary:data.data];
|
||||
self.infoModel = model;
|
||||
}
|
||||
} uid:uid ticket:ticket];
|
||||
|
||||
[self getWalletInfo];
|
||||
|
||||
|
||||
if([ClientConfig shareConfig].canOpen){
|
||||
@@ -266,7 +282,16 @@
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-(void)getWalletInfo{
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
NSString * ticket = [AccountInfoStorage instance].getTicket;
|
||||
[Api getUserWalletInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if(code == 200){
|
||||
WalletInfoModel * model = [WalletInfoModel modelWithDictionary:data.data];
|
||||
self.infoModel = model;
|
||||
}
|
||||
} uid:uid ticket:ticket];
|
||||
}
|
||||
///批量验证
|
||||
- (void)checkTranscationIds {
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
@@ -280,6 +305,10 @@
|
||||
}
|
||||
|
||||
#pragma mark - XPNobleCenterProtocol
|
||||
- (void)getNobleCenterDiamondSuccess:(NSString *)recordId{
|
||||
[[NSNotificationCenter defaultCenter]postNotificationName:@"kNobleCenterGetDiamondSuccess" object:recordId];
|
||||
[self getWalletInfo];
|
||||
}
|
||||
///获取用户信息成功
|
||||
- (void)onGetUserInfoSuccess:(UserInfoModel *)userInfo {
|
||||
self.userInfo = userInfo;
|
||||
@@ -294,30 +323,82 @@
|
||||
for (int index = 0; index < model.vipInfos.count; index++) {
|
||||
NobleInfo *tagInfo = [model.vipInfos safeObjectAtIndex1:index];
|
||||
[names addObject:tagInfo.vipName];
|
||||
if (model.currLevel > 0){
|
||||
if (tagInfo.vipLevel == model.currLevel) {
|
||||
defaultSelectIndex = index;
|
||||
self.vipInfo = tagInfo;
|
||||
}
|
||||
}else{
|
||||
self.vipInfo = [model.vipInfos safeObjectAtIndex1:0];
|
||||
}
|
||||
|
||||
}
|
||||
self.titles = names.copy;
|
||||
self.titleView.titles = self.titles;
|
||||
self.openNobleView.hidden = self.userInfo.userVipInfoVO.vipLevel;
|
||||
self.myNobleView.hidden = !self.userInfo.userVipInfoVO.vipLevel;
|
||||
if (self.userInfo.userVipInfoVO) {
|
||||
self.myNobleView.model = model;
|
||||
}
|
||||
self.titleView.defaultSelectedIndex = defaultSelectIndex;
|
||||
[self.titleView reloadData];
|
||||
[self.lineView reloadData];
|
||||
self.navView.hideSettingBtn = self.model.currLevel < 9;
|
||||
self.titleView.vipInfos = model.vipInfos;
|
||||
[self setPayBtnStatus:self.model.currLevel];
|
||||
|
||||
}
|
||||
-(void)setPayBtnStatus:(NSInteger)currLevel{
|
||||
self.rechargeModel = nil;
|
||||
if (currLevel > 0){
|
||||
for (RechargeListModel *rechargeModel in self.rechargeList) {
|
||||
if (rechargeModel.prodDesc.integerValue == currLevel){
|
||||
self.rechargeModel = rechargeModel;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
self.rechargeModel = [self.rechargeList safeObjectAtIndex1:0];
|
||||
}
|
||||
|
||||
if (self.rechargeModel != nil){
|
||||
self.openNobleView.hidden = self.userInfo.userVipInfoVO.vipLevel;
|
||||
self.myNobleView.hidden = !self.userInfo.userVipInfoVO.vipLevel;
|
||||
if (self.openNobleView.hidden == NO){
|
||||
self.openNobleButton.text = [NSString stringWithFormat:YMLocalizedString(@"XPNobleCenterMyNobleView11"),self.rechargeModel.money.floatValue,self.vipInfo.vipName];
|
||||
}else{
|
||||
if (self.userInfo.userVipInfoVO) {
|
||||
self.myNobleView.rechargeModel = self.rechargeModel;
|
||||
self.myNobleView.model = self.model;
|
||||
self.myNobleView.vipInfo = self.vipInfo;
|
||||
}
|
||||
}
|
||||
if (self.vipInfo.vipLevel > self.model.currLevel){
|
||||
[self.myNobleView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(150+kSafeAreaBottomHeight);
|
||||
}];
|
||||
}else{
|
||||
[self.myNobleView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(91+kSafeAreaBottomHeight);
|
||||
}];
|
||||
}
|
||||
}else{
|
||||
self.myNobleView.hidden = !self.userInfo.userVipInfoVO.vipLevel;
|
||||
if (self.userInfo.userVipInfoVO == nil){
|
||||
self.openNobleView.hidden = self.rechargeModel == nil;
|
||||
self.openNobleButton.text = [NSString stringWithFormat:YMLocalizedString(@"XPNobleCenterMyNobleView11"),self.rechargeModel.money.floatValue,self.vipInfo.vipName];
|
||||
return;
|
||||
}
|
||||
|
||||
self.myNobleView.rechargeModel = self.rechargeModel;
|
||||
self.myNobleView.model = self.model;
|
||||
self.myNobleView.vipInfo = self.vipInfo;
|
||||
self.myNobleView.isHiddenPayBtn = YES;
|
||||
[self.myNobleView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(91+kSafeAreaBottomHeight);
|
||||
}];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
///获取贵族充值信息成功
|
||||
- (void)onGetNobleRechargeDataSuccess:(NobleRechargeModel *)rechargeInfo {
|
||||
self.rechargeModel = rechargeInfo;
|
||||
if (self.rechargeModel.list.count == 0)return;
|
||||
RechargeListModel *rechargeModel = [self.rechargeModel.list safeObjectAtIndex1:0];
|
||||
NSString *title = [NSString stringWithFormat:YMLocalizedString(@"XPNobleCenterViewController0"), rechargeModel.money];
|
||||
self.openNobleButton.text = title;
|
||||
- (void)onGetNobleRechargeDataSuccess:(NSArray *)list {
|
||||
self.rechargeList = list;
|
||||
}
|
||||
|
||||
///请求充值id的状态成功
|
||||
@@ -417,7 +498,7 @@
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
if (!self.userInfo.userVipInfoVO) {
|
||||
///刷新一下用户的信息
|
||||
[self.presenter getUserInfo];
|
||||
[self requestHttp];
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -521,6 +602,9 @@
|
||||
- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
|
||||
// 侧滑手势处理
|
||||
self.navigationController.interactivePopGestureRecognizer.enabled = (index == 0);
|
||||
NobleInfo *vipInfo = [self.model.vipInfos safeObjectAtIndex1:index];
|
||||
self.vipInfo = vipInfo;
|
||||
[self setPayBtnStatus:vipInfo.vipLevel];
|
||||
}
|
||||
|
||||
#pragma mark -NIMSystemNotificationManagerDelegate
|
||||
@@ -535,7 +619,7 @@
|
||||
return;
|
||||
}
|
||||
if ([dic[@"first"] intValue] == CustomMessageType_Noble_VIP && [dic[@"second"] intValue] == Custom_Message_Sub_Open_Noble_Success) { // 开通贵族成功
|
||||
[self.presenter getUserInfo];
|
||||
[self requestHttp];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -565,7 +649,9 @@
|
||||
- (void)onOpenNobleButtonClick {
|
||||
|
||||
XPNobleCenterPayView *payView = [[XPNobleCenterPayView alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
|
||||
payView.money = self.rechargeModel.money;
|
||||
payView.diamonds = self.infoModel.diamonds;
|
||||
payView.vipLevel = @(self.vipInfo.vipLevel).stringValue;
|
||||
payView.delegate = self;
|
||||
[self.view addSubview:payView];
|
||||
|
||||
@@ -573,9 +659,9 @@
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (JXCategoryTitleView *)titleView {
|
||||
- (PINobleCenterTitleView *)titleView {
|
||||
if (!_titleView) {
|
||||
_titleView = [[JXCategoryTitleView alloc] init];
|
||||
_titleView = [[PINobleCenterTitleView alloc] init];
|
||||
_titleView.delegate = self;
|
||||
_titleView.titles = self.titles;
|
||||
_titleView.titleColor = [DJDKMIMOMColor normalNobleTextColor];
|
||||
@@ -586,12 +672,14 @@
|
||||
_titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
|
||||
_titleView.defaultSelectedIndex = 0;
|
||||
_titleView.listContainer = self.lineView;
|
||||
_titleView.cellWidth = 60;
|
||||
_titleView.cellSpacing = 0;
|
||||
|
||||
JXCategoryIndicatorLineView *lineView = [[JXCategoryIndicatorLineView alloc] init];
|
||||
lineView.indicatorWidth = 26;
|
||||
lineView.indicatorHeight = 3;
|
||||
lineView.indicatorColor = UIColorFromRGB(0xFFD3A8);
|
||||
lineView.verticalMargin = 0;
|
||||
lineView.verticalMargin = 8;
|
||||
_titleView.indicators = @[lineView];
|
||||
}
|
||||
return _titleView;
|
||||
@@ -672,6 +760,7 @@
|
||||
if (!_myNobleView) {
|
||||
_myNobleView = [[XPNobleCenterMyNobleView alloc] init];
|
||||
_myNobleView.hidden = YES;
|
||||
_myNobleView.delegate = self;
|
||||
}
|
||||
return _myNobleView;
|
||||
}
|
||||
|
@@ -1,16 +0,0 @@
|
||||
//
|
||||
// YMMineRechargeViewController.h
|
||||
// YUMI
|
||||
//
|
||||
// Created by YUMI on 2021/9/24.
|
||||
//
|
||||
|
||||
#import "MvpViewController.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPMineRechargeViewController : MvpViewController
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -1,318 +0,0 @@
|
||||
//
|
||||
// YMMineRechargeViewController.m
|
||||
// YUMI
|
||||
//
|
||||
// Created by YUMI on 2021/9/24.
|
||||
//
|
||||
|
||||
#import "XPMineRechargeViewController.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
#import <Base64/MF_Base64Additions.h>
|
||||
///Tool
|
||||
#import "DJDKMIMOMColor.h"
|
||||
#import "YUMIMacroUitls.h"
|
||||
#import "YUMIHtmlUrl.h"
|
||||
#import "XPIAPHelper.h"
|
||||
#import "RechargeStorage.h"
|
||||
#import "AccountInfoStorage.h"
|
||||
#import "NSObject+MJExtension.h"
|
||||
#import "NSArray+Safe.h"
|
||||
///Model
|
||||
#import "RechargeListModel.h"
|
||||
///View
|
||||
#import "XPMineRechageHeadView.h"
|
||||
#import "XPMineRechargeTableViewCell.h"
|
||||
#import "XPMineRechargeNavView.h"
|
||||
///P
|
||||
#import "XPMineRechargePresenter.h"
|
||||
#import "XPMineRechargeProtocol.h"
|
||||
///VC
|
||||
#import "XPWebViewController.h"
|
||||
|
||||
@interface XPMineRechargeViewController ()<XPMineRechargeProtocol, UITableViewDelegate, UITableViewDataSource, XPMineRechargeTableViewCellDelegate, XPIAPHelperDelegate, XPMineRechargeNavViewDelegate>
|
||||
///数据源
|
||||
@property (nonatomic,strong) NSArray *datasource;
|
||||
///列表
|
||||
@property (nonatomic,strong) UITableView *tableView;
|
||||
///
|
||||
@property (nonatomic,strong) XPMineRechageHeadView *headeView;
|
||||
///订单编号
|
||||
@property (nonatomic,copy) NSString *orderId;
|
||||
///导航栏
|
||||
@property (nonatomic,strong) XPMineRechargeNavView *navView;
|
||||
///
|
||||
@property (nonatomic,strong) UIStackView *stackView;
|
||||
///同意
|
||||
@property (nonatomic,strong) UILabel *agreeLabel;
|
||||
///充值协议
|
||||
@property (nonatomic,strong) UIButton *protcoloButton;
|
||||
@end
|
||||
|
||||
@implementation XPMineRechargeViewController
|
||||
|
||||
- (void)dealloc {
|
||||
[XPIAPHelper shareHelper].delegate = nil;
|
||||
}
|
||||
|
||||
- (BOOL)isHiddenNavBar {
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (XPMineRechargePresenter *)createPresenter {
|
||||
return [[XPMineRechargePresenter alloc] init];
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
[self initHttpData];
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
#pragma mark - Response
|
||||
- (void)protcoloButtonAction:(UIButton *)sender {
|
||||
XPWebViewController * webVC= [[XPWebViewController alloc] init];
|
||||
webVC.url = URLWithType(kRechargePrivacyURL);
|
||||
[self.navigationController pushViewController:webVC animated:YES];
|
||||
}
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self.view addSubview:self.tableView];
|
||||
[self.view addSubview:self.navView];
|
||||
[self.view addSubview:self.stackView];
|
||||
|
||||
[self.stackView addArrangedSubview:self.agreeLabel];
|
||||
[self.stackView addArrangedSubview:self.protcoloButton];
|
||||
self.tableView.tableHeaderView = self.headeView;
|
||||
|
||||
[XPIAPHelper shareHelper].delegate = self;
|
||||
self.automaticallyAdjustsScrollViewInsets = NO;
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.mas_equalTo(self.view);
|
||||
}];
|
||||
|
||||
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.mas_equalTo(self.view);
|
||||
make.bottom.mas_equalTo(self.view).offset(-20 - kSafeAreaBottomHeight);
|
||||
}];
|
||||
|
||||
[self.navView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.top.mas_equalTo(self.view);
|
||||
make.height.mas_equalTo(kNavigationHeight);
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)initHttpData {
|
||||
[self getRechargeList];
|
||||
[self getUserWalletBalanceInfo];
|
||||
[self checkTranscationIds];
|
||||
}
|
||||
|
||||
- (void)getRechargeList {
|
||||
[self.presenter requestRechargeListWithChannel:@"8"];
|
||||
}
|
||||
|
||||
- (void)getUserWalletBalanceInfo {
|
||||
[self.presenter getUserWalletInfo];
|
||||
}
|
||||
|
||||
///批量验证
|
||||
- (void)checkTranscationIds {
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
NSArray * array = [RechargeStorage getAllReciptsWithUid:uid];
|
||||
if (array.count > 0) {
|
||||
[self.presenter checkTranscationIds:array];
|
||||
}
|
||||
}
|
||||
|
||||
///充值成功之后保存订单到钥匙串
|
||||
- (void)saveRechageReciptWithTransactionIdentifier:(NSString *)transactionIdentifier {
|
||||
NSData *receipt = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
|
||||
NSString *encodeStr = [receipt base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
|
||||
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
|
||||
if(transactionIdentifier != nil){
|
||||
[dictionary setObject:transactionIdentifier forKey:@"transcationId"];
|
||||
}
|
||||
if(encodeStr != nil){
|
||||
[dictionary setObject:encodeStr forKey:@"recipt"];
|
||||
}
|
||||
if(self.orderId != nil){
|
||||
[dictionary setObject:self.orderId forKey:@"orderId"];
|
||||
}
|
||||
if(dictionary.allKeys.count == 0)return;
|
||||
NSString *reciptJson = [dictionary toJSONString];
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
BOOL saveSuccess = [RechargeStorage saveTranscationId:transactionIdentifier recipt:reciptJson uid:uid];
|
||||
if (!saveSuccess) {
|
||||
#warning to do 保存失败 需要埋点
|
||||
}
|
||||
}
|
||||
|
||||
///删除本地保存的
|
||||
- (void)deleteRechageReciptWithTransactionIdentifier:(NSString *)transactionIdentifier {
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
BOOL deleteSuccess = [RechargeStorage delegateTranscationId:transactionIdentifier uid:uid];
|
||||
if (deleteSuccess) {
|
||||
#warning to do 保存失败 需要埋点
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - UITableViewDelegate And UITableViewDataSource
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return self.datasource.count;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
XPMineRechargeTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPMineRechargeTableViewCell class]) forIndexPath:indexPath];
|
||||
cell.listModel = [self.datasource safeObjectAtIndex1:indexPath.row];
|
||||
cell.delegate = self;
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
return 65;
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
[tableView deselectRowAtIndexPath:indexPath animated:true];
|
||||
}
|
||||
|
||||
#pragma mark - XPMineRechargeTableViewCellDelegate
|
||||
- (void)xPMineRechargeTableViewCell:(XPMineRechargeTableViewCell *)cell didSelectItem:(RechargeListModel *)listModel {
|
||||
if (listModel.chargeProdId) {
|
||||
[self showLoading];
|
||||
[self.presenter requestIAPRechargeOrderWithChargeProdId:listModel.chargeProdId];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - XPMineRechargeNavViewDelegate
|
||||
- (void)xPMineRechargeNavView:(XPMineRechargeNavView *)view didClickBackButton:(UIButton *)sender {
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
#pragma mark - XPIAPHelperDelegate
|
||||
///当前充值的状态
|
||||
- (void)rechargeProcessStatus:(PaymentStatus)status {
|
||||
[self hideHUD];
|
||||
if (status == PaymentStatus_Purchased) {
|
||||
[self showLoading];
|
||||
} else if (status == PaymentStatus_Purchasing) {
|
||||
[self showLoading];
|
||||
} else if (status == PaymentStatus_Failed) {
|
||||
[self showErrorToast:YMLocalizedString(@"XPMineRechargeViewController0")];
|
||||
} else if (status == PaymentStatus_Deferred) {
|
||||
[self showErrorToast:YMLocalizedString(@"XPMineRechargeViewController1")];
|
||||
}
|
||||
}
|
||||
|
||||
///充值成功回调id
|
||||
- (void)rechargeSuccess:(NSString *)transactionIdentifier {
|
||||
///保存唯一凭证
|
||||
[self saveRechageReciptWithTransactionIdentifier:transactionIdentifier];
|
||||
NSData *receiptData = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
|
||||
NSString * receipt = [MF_Base64Codec base64StringFromData:receiptData];
|
||||
///二次验证
|
||||
// [self.presenter checkReceiptWithData:receipt orderId:self.orderId transcationId:transactionIdentifier];
|
||||
}
|
||||
|
||||
#pragma mark - XPMineRechargeProtocol
|
||||
- (void)requestRechargeListSucccess:(NSArray *)list {
|
||||
self.datasource = list;
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
|
||||
- (void)requestIAPRechargeOrderSuccess:(NSString *)orderId chargeProdId:(NSString *)chargeProdId {
|
||||
if (orderId.length > 0) {
|
||||
self.orderId = orderId;
|
||||
[[XPIAPHelper shareHelper] buyAppProductWithAppProductId:chargeProdId];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)requestIAPRechargeOrderFail {
|
||||
///获取订单失败
|
||||
}
|
||||
|
||||
///二次验证成功
|
||||
- (void)checkReceiptSuccess:(NSString *)transcationId {
|
||||
[self deleteRechageReciptWithTransactionIdentifier:transcationId];
|
||||
///刷新一下用户的💎
|
||||
[self getUserWalletBalanceInfo];
|
||||
self.orderId = nil;
|
||||
}
|
||||
|
||||
- (void)getUserWalletInfo:(WalletInfoModel *)balanceInfo {
|
||||
self.headeView.walletInfo = balanceInfo;
|
||||
}
|
||||
|
||||
- (void)checkTranscationIdsSuccess {
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
[RechargeStorage delegateAllTranscationIdsWithUid:uid];
|
||||
}
|
||||
#pragma mark - Getters And Setters
|
||||
- (UITableView *)tableView {
|
||||
if (!_tableView) {
|
||||
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];
|
||||
_tableView.delegate = self;
|
||||
_tableView.dataSource = self;
|
||||
_tableView.tableFooterView = [UIView new];
|
||||
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
|
||||
_tableView.backgroundColor = [UIColor clearColor];
|
||||
if (@available(iOS 11.0, *)) {
|
||||
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
|
||||
}
|
||||
[_tableView registerClass:[XPMineRechargeTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMineRechargeTableViewCell class])];
|
||||
}
|
||||
return _tableView;
|
||||
}
|
||||
|
||||
- (XPMineRechageHeadView *)headeView {
|
||||
if (!_headeView) {
|
||||
_headeView = [[XPMineRechageHeadView alloc] init];
|
||||
}
|
||||
return _headeView;
|
||||
}
|
||||
|
||||
|
||||
- (UIStackView *)stackView {
|
||||
if (!_stackView) {
|
||||
_stackView = [[UIStackView alloc] init];
|
||||
_stackView.axis = UILayoutConstraintAxisHorizontal;
|
||||
_stackView.distribution = UIStackViewDistributionFill;
|
||||
_stackView.alignment = UIStackViewAlignmentFill;
|
||||
_stackView.spacing = 2;
|
||||
}
|
||||
return _stackView;
|
||||
}
|
||||
|
||||
- (UIButton *)protcoloButton {
|
||||
if (!_protcoloButton) {
|
||||
_protcoloButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_protcoloButton setTitle:YMLocalizedString(@"XPIAPRechargeViewController3") forState:UIControlStateNormal];
|
||||
[_protcoloButton setTitleColor:[DJDKMIMOMColor appMainColor] forState:UIControlStateNormal];
|
||||
_protcoloButton.titleLabel.font = [UIFont systemFontOfSize:12];
|
||||
[_protcoloButton addTarget:self action:@selector(protcoloButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _protcoloButton;
|
||||
}
|
||||
- (UILabel *)agreeLabel {
|
||||
if (!_agreeLabel) {
|
||||
_agreeLabel = [[UILabel alloc] init];
|
||||
_agreeLabel.text = YMLocalizedString(@"XPMineRechargeViewController3");
|
||||
_agreeLabel.font = [UIFont systemFontOfSize:12];
|
||||
_agreeLabel.textColor = [DJDKMIMOMColor textThirdColor];
|
||||
}
|
||||
return _agreeLabel;
|
||||
}
|
||||
|
||||
- (XPMineRechargeNavView *)navView {
|
||||
if (!_navView) {
|
||||
_navView = [[XPMineRechargeNavView alloc] init];
|
||||
_navView.delegate = self;
|
||||
}
|
||||
return _navView;
|
||||
}
|
||||
|
||||
@end
|
@@ -72,8 +72,7 @@
|
||||
@property (nonatomic,strong) UIStackView *tagStackView;
|
||||
///魅力等级
|
||||
@property (nonatomic,strong) NetImageView *charmImageView;
|
||||
///贵族icon
|
||||
@property (nonatomic, strong) NetImageView *nobleIconImageView;
|
||||
|
||||
///等级
|
||||
@property (nonatomic,strong) NetImageView *experImageView;
|
||||
///代充
|
||||
@@ -115,6 +114,8 @@
|
||||
@property (nonatomic,strong) UILabel *soundPromptView;
|
||||
///录制声音按钮
|
||||
@property (nonatomic,strong) UIButton *toSoundBtn;
|
||||
///贵族等级icon
|
||||
@property (nonatomic,strong) NetImageView *nobleImageView;
|
||||
|
||||
@end
|
||||
|
||||
@@ -167,6 +168,7 @@
|
||||
[self.soundView addSubview:self.soundPromptView];
|
||||
[self.soundView addSubview:self.toSoundBtn];
|
||||
|
||||
[self.nickStackView addArrangedSubview:self.nobleImageView];
|
||||
[self.nickStackView addArrangedSubview:self.nameLabel];
|
||||
[self.nickStackView addArrangedSubview:self.sexImageView];
|
||||
|
||||
@@ -299,7 +301,9 @@
|
||||
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.height.mas_equalTo(25);
|
||||
}];
|
||||
|
||||
[self.nobleImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(20);
|
||||
}];
|
||||
[self.sexImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(28, 14));
|
||||
}];
|
||||
@@ -655,6 +659,16 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
self.nobleImageView.hidden = userInfo.userVipInfoVO.vipIcon.length == 0;
|
||||
[self.nobleImageView loadImageWithUrl:userInfo.userVipInfoVO.vipIcon completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) {
|
||||
self.nobleImageView.image = image;
|
||||
CGFloat height = image.size.height > 0 ? image.size.height : 1;
|
||||
CGFloat scale = image.size.width / height ;
|
||||
[self.nobleImageView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
|
||||
}];
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
- (void)setRoomUid:(NSString *)roomUid {
|
||||
@@ -910,16 +924,7 @@
|
||||
return _charmImageView;
|
||||
}
|
||||
|
||||
- (NetImageView *)nobleIconImageView {
|
||||
if (!_nobleIconImageView) {
|
||||
NetImageConfig * config = [[NetImageConfig alloc] init];
|
||||
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
||||
config.imageType = ImageTypeUserCardLevel;
|
||||
_nobleIconImageView = [[NetImageView alloc] initWithConfig:config];
|
||||
_nobleIconImageView.contentMode = UIViewContentModeScaleAspectFit;
|
||||
}
|
||||
return _nobleIconImageView;
|
||||
}
|
||||
|
||||
|
||||
- (UIView *)namePlateView {
|
||||
if (!_namePlateView) {
|
||||
@@ -1114,4 +1119,11 @@
|
||||
}
|
||||
return _rechargeImageView;
|
||||
}
|
||||
- (NetImageView *)nobleImageView {
|
||||
if (!_nobleImageView) {
|
||||
_nobleImageView = [[NetImageView alloc] init];
|
||||
_nobleImageView.hidden = YES;
|
||||
}
|
||||
return _nobleImageView;
|
||||
}
|
||||
@end
|
||||
|
@@ -6,7 +6,7 @@
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "NobleInfo.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
typedef void(^CompletionHandler)(NSMutableAttributedString *);
|
||||
@class UserInfoModel,XPMineHeadView, WalletInfoModel,NobleCenterModel;
|
||||
@@ -27,6 +27,7 @@ typedef void(^CompletionHandler)(NSMutableAttributedString *);
|
||||
@property (nonatomic,strong) UserInfoModel *userInfo;
|
||||
@property (nonatomic, strong) WalletInfoModel *walletInfo;
|
||||
@property (nonatomic, strong) NobleCenterModel *nobleInfo;
|
||||
@property(nonatomic,strong) NobleInfo *vipInfo;
|
||||
///代理
|
||||
@property (nonatomic,assign) id<XPMineHeadViewDelegate> delegate;
|
||||
///访客未读数量
|
||||
|
@@ -27,8 +27,7 @@
|
||||
@property (nonatomic,strong) NetImageView * avatarImageView;
|
||||
///name的容器
|
||||
@property (nonatomic,strong) UIStackView *nameStackView;
|
||||
///贵族等级icon
|
||||
@property (nonatomic,strong) NetImageView *nobleImageView;
|
||||
|
||||
///名字
|
||||
@property (nonatomic,strong) UILabel *nameLabel;
|
||||
///id 的容器
|
||||
@@ -72,7 +71,7 @@
|
||||
- (void)initSubViews {
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
[self addSubview:self.avatarImageView];
|
||||
[self addSubview:self.nobleImageView];
|
||||
|
||||
[self addSubview:self.nameStackView];
|
||||
[self addSubview:self.idStackView];
|
||||
[self.nameStackView addArrangedSubview:self.nameLabel];
|
||||
@@ -99,21 +98,17 @@
|
||||
make.top.mas_equalTo(self).offset(49 + kStatusBarHeight);
|
||||
}];
|
||||
|
||||
[self.nobleImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.avatarImageView.mas_right).offset(12);
|
||||
make.top.mas_equalTo(self.avatarImageView).mas_offset(4);
|
||||
make.width.height.mas_equalTo(20);
|
||||
}];
|
||||
|
||||
|
||||
[self.nameStackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerY.mas_equalTo(self.nobleImageView);
|
||||
make.left.mas_equalTo(self.nobleImageView.mas_right).mas_offset(5);
|
||||
make.left.mas_equalTo(self.avatarImageView.mas_right).offset(12);
|
||||
make.top.mas_equalTo(self.avatarImageView).mas_offset(4);
|
||||
make.height.mas_equalTo(16);
|
||||
make.right.mas_equalTo(-15);
|
||||
}];
|
||||
|
||||
[self.idStackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.nobleImageView);
|
||||
make.left.mas_equalTo(self.nameStackView);
|
||||
make.top.mas_equalTo(self.nameStackView.mas_bottom).offset(13);
|
||||
make.height.mas_equalTo(18);
|
||||
}];
|
||||
@@ -127,7 +122,7 @@
|
||||
make.height.mas_equalTo(14);
|
||||
}];
|
||||
[self.levelLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.nobleImageView);
|
||||
make.left.mas_equalTo(self.nameStackView);
|
||||
make.top.mas_equalTo(self.idStackView.mas_bottom).offset(5);
|
||||
}];
|
||||
|
||||
@@ -402,24 +397,7 @@
|
||||
self.reviewView.hidden = YES;
|
||||
self.avatarImageView.imageUrl = userInfo.avatar;
|
||||
}
|
||||
self.nobleImageView.imageUrl = userInfo.userVipInfoVO.vipIcon;
|
||||
UIImage *nobleImage = self.nobleImageView.image;
|
||||
if (nobleImage) {
|
||||
CGFloat scale = nobleImage.size.width / nobleImage.size.height;
|
||||
[self.nobleImageView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
|
||||
}];
|
||||
[self.nameStackView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.nobleImageView.mas_right).mas_offset(5);
|
||||
}];
|
||||
} else {
|
||||
[self.nobleImageView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(0, 20));
|
||||
}];
|
||||
[self.nameStackView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.nobleImageView.mas_right);
|
||||
}];
|
||||
}
|
||||
|
||||
|
||||
NSString *starImage = [NSString
|
||||
getCalculateConstellationImageWithMonth:_userInfo.birth];
|
||||
@@ -436,7 +414,7 @@
|
||||
self.levelLabel.attributedText = _userInfo.levelAtt;
|
||||
self.fansView.number = [NSString stringWithFormat:@"%ld",_userInfo.fansNum];
|
||||
self.attentionView.number = [NSString stringWithFormat:@"%ld",_userInfo.followNum];
|
||||
self.nobleEntranceView.vipInfo = userInfo.userVipInfoVO;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -445,6 +423,11 @@
|
||||
}
|
||||
- (void)setNobleInfo:(NobleCenterModel *)nobleInfo {
|
||||
self.nobleEntranceView.nobleInfo = nobleInfo;
|
||||
|
||||
}
|
||||
- (void)setVipInfo:(NobleInfo *)vipInfo{
|
||||
_vipInfo = vipInfo;
|
||||
self.nobleEntranceView.vipInfo = _vipInfo;
|
||||
}
|
||||
|
||||
- (NetImageView *)avatarImageView {
|
||||
@@ -471,12 +454,7 @@
|
||||
return _nameStackView;
|
||||
}
|
||||
|
||||
- (NetImageView *)nobleImageView {
|
||||
if (!_nobleImageView) {
|
||||
_nobleImageView = [[NetImageView alloc] init];
|
||||
}
|
||||
return _nobleImageView;
|
||||
}
|
||||
|
||||
|
||||
- (UILabel *)nameLabel {
|
||||
if (!_nameLabel) {
|
||||
|
@@ -15,9 +15,12 @@
|
||||
#import "StatisticsServiceHelper.h"
|
||||
#import "YUMIConstant.h"
|
||||
#import "Api+Room.h"
|
||||
#import "Api+NobleCenter.h"
|
||||
#import "Api+RoomSetting.h"
|
||||
#import "AccountInfoStorage.h"
|
||||
#import "ClientConfig.h"
|
||||
#import "NobleCenterModel.h"
|
||||
#import "NobleInfo.h"
|
||||
///Model
|
||||
#import "XPMineItemModel.h"
|
||||
#import "UserInfoModel.h"
|
||||
@@ -26,6 +29,7 @@
|
||||
#import "HomeBannerInfoModel.h"
|
||||
#import "XPMineFuntionItemModel.h"
|
||||
#import "WalletInfoModel.h"
|
||||
|
||||
///P
|
||||
#import "XPMineProtocol.h"
|
||||
#import "XPMinePresent.h"
|
||||
@@ -40,7 +44,7 @@
|
||||
///VC
|
||||
#import "XPMineSettingViewController.h"
|
||||
#import "XPMineUserInfoViewController.h"
|
||||
#import "XPMineRechargeViewController.h"
|
||||
|
||||
#import "XPWebViewController.h"
|
||||
#import "XPRoomViewController.h"
|
||||
#import "XPMineDressUpViewController.h"
|
||||
@@ -129,6 +133,24 @@ UIKIT_EXTERN NSString *kRequestRicket;
|
||||
[super viewDidAppear:animated];
|
||||
if([AccountInfoStorage instance].isRequestRicket == YES)return;
|
||||
[self.presenter getUserInfo];
|
||||
[Api nobleCenterLevelList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if (code == 200){
|
||||
NobleCenterModel *model = [NobleCenterModel modelWithDictionary:data.data];
|
||||
NobleInfo *vipInfo ;
|
||||
for (int index = 0; index < model.vipInfos.count; index++) {
|
||||
NobleInfo *tagInfo = [model.vipInfos safeObjectAtIndex1:index];
|
||||
|
||||
if (model.currLevel > 0){
|
||||
if (tagInfo.vipLevel == model.currLevel) {
|
||||
vipInfo = tagInfo;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
self.headView.vipInfo = vipInfo;
|
||||
}
|
||||
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark- 检查是否有转赠钻石权限
|
||||
@@ -224,7 +246,6 @@ UIKIT_EXTERN NSString *kRequestRicket;
|
||||
|
||||
case XPMineItemType_Account:
|
||||
{
|
||||
// XPMineRechargeViewController * rechargeVC
|
||||
[self pushThirdPartyPayVC];
|
||||
}
|
||||
break;
|
||||
|
@@ -43,7 +43,7 @@
|
||||
#import "XPMineSettingViewController.h"
|
||||
#import "XPMineUserInfoViewController.h"
|
||||
#import "XPMineSimpleUserInfoViewController.h"
|
||||
#import "XPMineRechargeViewController.h"
|
||||
|
||||
#import "XPIAPRechargeViewController.h"
|
||||
#import "XPWebViewController.h"
|
||||
#import "XPRoomViewController.h"
|
||||
@@ -137,7 +137,6 @@
|
||||
break;
|
||||
case XPMineItemType_Account:
|
||||
{
|
||||
// XPMineRechargeViewController * rechargeVC = [[XPMineRechargeViewController alloc] init];
|
||||
XPIAPRechargeViewController *rechargeVC = [[XPIAPRechargeViewController alloc] init];
|
||||
rechargeVC.type = @"4";
|
||||
[self.navigationController pushViewController:rechargeVC animated:YES];
|
||||
|
@@ -15,7 +15,7 @@
|
||||
#import "DJDKMIMOMColor.h"
|
||||
#import "UIImage+Utils.h"
|
||||
#import "Api+Mine.h"
|
||||
#import "UploadImage.h"
|
||||
#import "UploadFile.h"
|
||||
#import "TTPopup.h"
|
||||
#import "NSArray+Safe.h"
|
||||
#import "ClientConfig.h"
|
||||
@@ -173,35 +173,31 @@
|
||||
}
|
||||
|
||||
- (void)uploadAlbumPicList:(NSArray *)array finish:(void(^)(NSArray *list))finish {
|
||||
|
||||
|
||||
dispatch_semaphore_t semaphore = dispatch_semaphore_create(1);
|
||||
dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
|
||||
NSMutableArray * dataArray = [NSMutableArray array];
|
||||
dispatch_async(queue, ^{
|
||||
for (UIImage * image in array) {
|
||||
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
|
||||
[Api qiniuUpLoadImage:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if (code == 200) {
|
||||
NSString *key = data.data[@"key"];
|
||||
NSString *token = data.data[@"token"];
|
||||
[UploadImage uploadImage:image named:key token:token success:^(NSString * _Nonnull key, NSDictionary * _Nonnull resp) {
|
||||
NSData *data = UIImageJPEGRepresentation(image, 0.5);
|
||||
NSString *format = [UIImage getImageTypeWithImageData:data];
|
||||
NSString *name = [NSString stringWithFormat:@"image/%@.%@",[NSString createUUID],format];
|
||||
[[UploadFile share]QCloudUploadImage:data named:name success:^(NSString * _Nonnull key, NSDictionary * _Nonnull resp) {
|
||||
dispatch_semaphore_signal(semaphore);
|
||||
self.imageCount ++;
|
||||
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
|
||||
MonentsPicResInfo * infor = [MonentsPicResInfo modelWithDictionary:resp];
|
||||
if (infor.path) {
|
||||
[dict safeSetObject:infor.path forKey:@"resUrl"];
|
||||
if (image.size.width > 0){
|
||||
[dict safeSetObject:@(image.size.width) forKey:@"width"];
|
||||
}
|
||||
if (infor.format) {
|
||||
[dict safeSetObject:infor.format forKey:@"format"];
|
||||
if (image.size.height){
|
||||
[dict safeSetObject:@(image.size.height) forKey:@"height"];
|
||||
}
|
||||
|
||||
if (infor.w) {
|
||||
[dict safeSetObject:@(infor.w) forKey:@"width"];
|
||||
}
|
||||
|
||||
if (infor.h) {
|
||||
[dict safeSetObject:@(infor.h) forKey:@"height"];
|
||||
if (key.length > 0) {
|
||||
[dict safeSetObject:key forKey:@"resUrl"];
|
||||
}
|
||||
[dict safeSetObject:format forKey:@"format"];
|
||||
[dataArray addObject:dict];
|
||||
if (self.imageCount == array.count) {
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
@@ -213,15 +209,13 @@
|
||||
self.imageCount ++;
|
||||
dispatch_semaphore_signal(semaphore);
|
||||
}];
|
||||
} else {
|
||||
self.imageCount ++;
|
||||
dispatch_semaphore_signal(semaphore);
|
||||
}
|
||||
}];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#pragma mark - UITextViewDelegate
|
||||
- (void)textViewDidChange:(UITextView *)textView {
|
||||
if (textView.text.length > 500) {
|
||||
|
@@ -46,7 +46,6 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
//是否为周榜top1
|
||||
@property(nonatomic,assign) BOOL isWeekTop1;
|
||||
@property(nonatomic,copy) NSString *inRoomUid;
|
||||
|
||||
//是否在麦位
|
||||
@property(nonatomic,assign) BOOL inMic;
|
||||
///是否在线
|
||||
|
@@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@interface XPNewHomePartyTableViewCell : UITableViewCell
|
||||
|
||||
@property (nonatomic,strong) HomePlayRoomModel *roomInfo;
|
||||
@property (nonatomic,strong) HomeRecommendRoomModel *roomInfo1;
|
||||
|
||||
@property(nonatomic,weak) id<XPNewHomePartyTableViewCellDelegate>delegate;
|
||||
///声音卡时,svga是否播放动画
|
||||
-(void)setPlaySoundStatus:(BOOL)isPlay;
|
||||
|
@@ -243,15 +243,8 @@
|
||||
-(void)setPlaySoundTime:(NSInteger)time{
|
||||
_audioView.voiceDura = @(time).stringValue;
|
||||
}
|
||||
- (void)setRoomInfo1:(HomeRecommendRoomModel *)roomInfo1 {
|
||||
_roomInfo1 = roomInfo1;
|
||||
if (_roomInfo1) {
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
-(void)didSelectItemAction{
|
||||
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(xPNewHomePartyTableViewCell:didSelectItem:)]){
|
||||
|
@@ -431,6 +431,7 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
||||
-(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didSelectChat:(HomePlayRoomModel *_Nonnull)roomModel{
|
||||
if(roomModel.inMic == YES){
|
||||
[XPRoomViewController openRoom:roomModel.inRoomUid fromNick:roomModel.nick fromType:UserEnterRoomFromType_Follow_User fromUid:roomModel.uid viewController:self];
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -37,6 +37,8 @@ typedef NS_ENUM(NSInteger, BackMusicPlayState) {
|
||||
@interface RtcManager : NSObject
|
||||
///因为跨房pk结束后会闭麦,用这个限制不要关麦
|
||||
@property(nonatomic,assign) BOOL isAnckorPk;
|
||||
///因为最小化进房闭麦问题,用这个限制不要关麦
|
||||
@property(nonatomic,assign) BOOL isMiniEnterk;
|
||||
/**
|
||||
* 是否静音(静别人)
|
||||
* YES:🔇虽然你们麦位上在说话,但是我就是不听。🙉
|
||||
|