22 Commits

Author SHA1 Message Date
fengshuo
c449e4df01 企业包版本修改 此commit置顶 5.7.5 2023-01-17 15:46:46 +08:00
fengshuo
010dc2f830 贵族充值 礼物面板充值无法支付的问题 2023-01-17 15:43:45 +08:00
fengshuo
52bc72582f 修复了微信支付支持不同的实体切换 2023-01-17 15:43:45 +08:00
fengshuo
c92de02528 开通贵族传入roomUid 2023-01-17 15:43:45 +08:00
fengshuo
9bb42176be 修复了金币开通贵族显示价格的问题 2023-01-17 15:43:45 +08:00
fengshuo
ee1e8fa0d4 企业包贵族充值使用金币 2023-01-17 15:43:45 +08:00
fengshuo
f3f3731993 塔罗公屏不显示的问题 2023-01-17 15:43:45 +08:00
chenguilong
789c11ac34 新人优惠购买档位埋点 2023-01-17 15:43:45 +08:00
chenguilong
4fa381aeec 新人专享充值支付 2023-01-17 15:43:45 +08:00
chenguilong
a1878e35d9 新人专享充值支付 2023-01-17 15:43:45 +08:00
fengshuo
0d2b812877 充值UI的修改 2023-01-17 15:43:45 +08:00
fengshuo
c20a48f9db 企业包半屏充值 2023-01-17 15:43:44 +08:00
fengshuo
38055bccca 企业包去掉了alipays Schemes 2023-01-17 15:43:44 +08:00
fengshuo
0759db76b9 企业包打包选用adhoc 2023-01-17 15:43:44 +08:00
fengshuo
8c40858c15 贵族充值页需要支付宝微信 2023-01-17 15:43:44 +08:00
fengshuo
838421446a 企业包不显示苹果登录 2023-01-17 15:43:44 +08:00
fengshuo
face0c91c2 企业包实名认证SDK替换 2023-01-17 15:43:44 +08:00
fengshuo
b090fa3a2f 塔罗牌充值无法开奖的问题 2023-01-17 15:43:44 +08:00
fengshuo
fd10db28af 首充使用微信支付宝支付 支付宝支持杉德支付 2023-01-17 15:43:44 +08:00
fengshuo
2fb443bac4 充值列表可以配置支付方式 2023-01-17 15:43:43 +08:00
fengshuo
f44b82ad2a 企业包卡罗牌充值 2023-01-17 15:43:43 +08:00
fengshuo
b1dd8c1510 企业包充值 2023-01-17 15:43:43 +08:00
108 changed files with 4478 additions and 392 deletions

View File

@@ -44,7 +44,7 @@ target 'xplan-ios' do
#登录的 #登录的
pod 'mob_sharesdk' pod 'mob_sharesdk'
pod 'mob_sharesdk/ShareSDKPlatforms/QQ' pod 'mob_sharesdk/ShareSDKPlatforms/QQ'
pod 'mob_sharesdk/ShareSDKPlatforms/WeChat' pod 'mob_sharesdk/ShareSDKPlatforms/WeChat_Lite'
pod 'mob_sharesdk/ShareSDKPlatforms/Apple' pod 'mob_sharesdk/ShareSDKPlatforms/Apple'
pod 'mob_sharesdk/ShareSDKExtension' pod 'mob_sharesdk/ShareSDKExtension'
pod 'SVGAPlayer', '~> 2.3' pod 'SVGAPlayer', '~> 2.3'
@@ -63,6 +63,9 @@ target 'xplan-ios' do
pod 'Bugly' pod 'Bugly'
#上传音乐 #上传音乐
pod 'CocoaAsyncSocket',:modular_headers => true pod 'CocoaAsyncSocket',:modular_headers => true
#微信支付,支付宝支付
pod 'AlipaySDK-iOS'
pod 'WechatOpenSDK'
#调试 #调试
pod 'LookinServer', :configurations => ['Debug'] pod 'LookinServer', :configurations => ['Debug']

View File

@@ -15,6 +15,7 @@ PODS:
- AFNetworking/UIKit (4.0.1): - AFNetworking/UIKit (4.0.1):
- AFNetworking/NSURLSession - AFNetworking/NSURLSession
- AgoraRtcEngine_iOS (3.0.1.1) - AgoraRtcEngine_iOS (3.0.1.1)
- AlipaySDK-iOS (15.8.8)
- Base64 (1.1.2) - Base64 (1.1.2)
- Bugly (2.5.93) - Bugly (2.5.93)
- CocoaAsyncSocket (7.6.5) - CocoaAsyncSocket (7.6.5)
@@ -30,24 +31,24 @@ PODS:
- MBProgressHUD (1.2.0) - MBProgressHUD (1.2.0)
- MJExtension (3.3.0) - MJExtension (3.3.0)
- MJRefresh (3.7.3) - MJRefresh (3.7.3)
- mob_sharesdk (4.4.2): - mob_sharesdk (4.4.3):
- mob_sharesdk/ShareSDK (= 4.4.2) - mob_sharesdk/ShareSDK (= 4.4.3)
- MOBFoundation (>= 3.2.9) - MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDK (4.4.2): - mob_sharesdk/ShareSDK (4.4.3):
- MOBFoundation (>= 3.2.9) - MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKExtension (4.4.2): - mob_sharesdk/ShareSDKExtension (4.4.3):
- mob_sharesdk/ShareSDK - mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9) - MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/Apple (4.4.2): - mob_sharesdk/ShareSDKPlatforms/Apple (4.4.3):
- mob_sharesdk/ShareSDK - mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9) - MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/QQ (4.4.2): - mob_sharesdk/ShareSDKPlatforms/QQ (4.4.3):
- mob_sharesdk/ShareSDK - mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9) - MOBFoundation (>= 3.2.9)
- mob_sharesdk/ShareSDKPlatforms/WeChat (4.4.2): - mob_sharesdk/ShareSDKPlatforms/WeChat_Lite (4.4.3):
- mob_sharesdk/ShareSDK - mob_sharesdk/ShareSDK
- MOBFoundation (>= 3.2.9) - MOBFoundation (>= 3.2.9)
- MOBFoundation (3.2.27) - MOBFoundation (3.2.31)
- NIMSDK_LITE (9.0.1) - NIMSDK_LITE (9.0.1)
- NTESBaseComponent (1.4) - NTESBaseComponent (1.4)
- NTESQuickPass (3.2.6): - NTESQuickPass (3.2.6):
@@ -81,6 +82,7 @@ PODS:
- UMCommon (7.3.5): - UMCommon (7.3.5):
- UMDevice - UMDevice
- UMDevice (2.0.5) - UMDevice (2.0.5)
- WechatOpenSDK (1.8.7.1)
- YYCache (1.0.4) - YYCache (1.0.4)
- YYImage (1.0.4): - YYImage (1.0.4):
- YYImage/Core (= 1.0.4) - YYImage/Core (= 1.0.4)
@@ -93,6 +95,7 @@ PODS:
DEPENDENCIES: DEPENDENCIES:
- AFNetworking - AFNetworking
- AgoraRtcEngine_iOS (~> 3.0.1) - AgoraRtcEngine_iOS (~> 3.0.1)
- AlipaySDK-iOS
- Base64 - Base64
- Bugly - Bugly
- CocoaAsyncSocket - CocoaAsyncSocket
@@ -111,7 +114,7 @@ DEPENDENCIES:
- mob_sharesdk/ShareSDKExtension - mob_sharesdk/ShareSDKExtension
- mob_sharesdk/ShareSDKPlatforms/Apple - mob_sharesdk/ShareSDKPlatforms/Apple
- mob_sharesdk/ShareSDKPlatforms/QQ - mob_sharesdk/ShareSDKPlatforms/QQ
- mob_sharesdk/ShareSDKPlatforms/WeChat - mob_sharesdk/ShareSDKPlatforms/WeChat_Lite
- NIMSDK_LITE (~> 9.0.1) - NIMSDK_LITE (~> 9.0.1)
- NTESQuickPass - NTESQuickPass
- pop (~> 1.0.12) - pop (~> 1.0.12)
@@ -127,6 +130,7 @@ DEPENDENCIES:
- TZImagePickerController - TZImagePickerController
- UMCommon - UMCommon
- UMDevice - UMDevice
- WechatOpenSDK
- YYText - YYText
- YYWebImage (~> 1.0.5) - YYWebImage (~> 1.0.5)
@@ -134,6 +138,7 @@ SPEC REPOS:
https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git: https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git:
- AFNetworking - AFNetworking
- AgoraRtcEngine_iOS - AgoraRtcEngine_iOS
- AlipaySDK-iOS
- Base64 - Base64
- Bugly - Bugly
- CocoaAsyncSocket - CocoaAsyncSocket
@@ -169,6 +174,7 @@ SPEC REPOS:
- TZImagePickerController - TZImagePickerController
- UMCommon - UMCommon
- UMDevice - UMDevice
- WechatOpenSDK
- YYCache - YYCache
- YYImage - YYImage
- YYText - YYText
@@ -177,6 +183,7 @@ SPEC REPOS:
SPEC CHECKSUMS: SPEC CHECKSUMS:
AFNetworking: 7864c38297c79aaca1500c33288e429c3451fdce AFNetworking: 7864c38297c79aaca1500c33288e429c3451fdce
AgoraRtcEngine_iOS: 8ccceaaecff2e80ab28fcd33f3dfd2b417eb5365 AgoraRtcEngine_iOS: 8ccceaaecff2e80ab28fcd33f3dfd2b417eb5365
AlipaySDK-iOS: 9289d94792535cd14c5c241c720a7e981edd7035
Base64: cecfb41a004124895a7bcee567a89bae5a89d49b Base64: cecfb41a004124895a7bcee567a89bae5a89d49b
Bugly: b8715e6ec4004b7f7fbffab0643ba80545aee3da Bugly: b8715e6ec4004b7f7fbffab0643ba80545aee3da
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
@@ -192,8 +199,8 @@ SPEC CHECKSUMS:
MBProgressHUD: 3ee5efcc380f6a79a7cc9b363dd669c5e1ae7406 MBProgressHUD: 3ee5efcc380f6a79a7cc9b363dd669c5e1ae7406
MJExtension: 01704cca2b60a214c10761b6491eab74069d68a9 MJExtension: 01704cca2b60a214c10761b6491eab74069d68a9
MJRefresh: ec9c53ff4abf3a9237b4283862f1bd51c2ee3fdb MJRefresh: ec9c53ff4abf3a9237b4283862f1bd51c2ee3fdb
mob_sharesdk: a60006891a079486ff3269ed326adfa05a967c01 mob_sharesdk: d7b374c3bdb8f1d4ba4b9c20847e7d0802d05cfa
MOBFoundation: efdc3ce6b843fbc10ae8c1c6122a02b0d845b39b MOBFoundation: 06da5f74514bf8bfadc56b732f15e046e56f9deb
NIMSDK_LITE: c376a3f90c1cd79d9cca39fbdeb6a718e99e244a NIMSDK_LITE: c376a3f90c1cd79d9cca39fbdeb6a718e99e244a
NTESBaseComponent: 9e97373eec7e5a26c39db26477bf99a37ee9e71a NTESBaseComponent: 9e97373eec7e5a26c39db26477bf99a37ee9e71a
NTESQuickPass: 781bd12ee63681389fe9b646c837fa76e3a00e6e NTESQuickPass: 781bd12ee63681389fe9b646c837fa76e3a00e6e
@@ -212,11 +219,12 @@ SPEC CHECKSUMS:
TZImagePickerController: 943511626019431372cf908f24c114521e484f0e TZImagePickerController: 943511626019431372cf908f24c114521e484f0e
UMCommon: ab4d875ddefe1b06c60b577e4a58bc4d433ee067 UMCommon: ab4d875ddefe1b06c60b577e4a58bc4d433ee067
UMDevice: c13bbb2e8ca6c67d1e23e03162553e3ec5a8b5b0 UMDevice: c13bbb2e8ca6c67d1e23e03162553e3ec5a8b5b0
WechatOpenSDK: 6a4d1436c15b3b5fe2a0bd383f3046010186da44
YYCache: 8105b6638f5e849296c71f331ff83891a4942952 YYCache: 8105b6638f5e849296c71f331ff83891a4942952
YYImage: 1e1b62a9997399593e4b9c4ecfbbabbf1d3f3b54 YYImage: 1e1b62a9997399593e4b9c4ecfbbabbf1d3f3b54
YYText: 5c461d709e24d55a182d1441c41dc639a18a4849 YYText: 5c461d709e24d55a182d1441c41dc639a18a4849
YYWebImage: 5f7f36aee2ae293f016d418c7d6ba05c4863e928 YYWebImage: 5f7f36aee2ae293f016d418c7d6ba05c4863e928
PODFILE CHECKSUM: 89b628f1802cd346dba7b8c67843e04ac421b2ed PODFILE CHECKSUM: 05e02d1c23a74cf684443a3d9237239199547b1c
COCOAPODS: 1.11.3 COCOAPODS: 1.11.3

View File

@@ -64,7 +64,7 @@ platform :ios do
desc "2. 发布iOS Release ipa 到 firim 网站" desc "2. 发布iOS Release ipa 到 firim 网站"
lane :r do lane :r do
CONFIGURATION = "Release" CONFIGURATION = "Release"
EXPORT_METHOD = "development" EXPORT_METHOD = "ad-hoc"
archiveAction archiveAction
end end

View File

@@ -648,6 +648,8 @@
E82325FC274E4735003A3332 /* XPUserCardItemModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E82325FB274E4735003A3332 /* XPUserCardItemModel.m */; }; E82325FC274E4735003A3332 /* XPUserCardItemModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E82325FB274E4735003A3332 /* XPUserCardItemModel.m */; };
E8232600274E48EA003A3332 /* XPUserCardItemCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E82325FF274E48EA003A3332 /* XPUserCardItemCollectionViewCell.m */; }; E8232600274E48EA003A3332 /* XPUserCardItemCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E82325FF274E48EA003A3332 /* XPUserCardItemCollectionViewCell.m */; };
E8232603274E4AA0003A3332 /* ThemeColor+UserCard.m in Sources */ = {isa = PBXBuildFile; fileRef = E8232602274E4AA0003A3332 /* ThemeColor+UserCard.m */; }; E8232603274E4AA0003A3332 /* ThemeColor+UserCard.m in Sources */ = {isa = PBXBuildFile; fileRef = E8232602274E4AA0003A3332 /* ThemeColor+UserCard.m */; };
E823E37C290BB1FD00EADD86 /* XPNobleRechargeView.m in Sources */ = {isa = PBXBuildFile; fileRef = E823E37B290BB1FD00EADD86 /* XPNobleRechargeView.m */; };
E823E37F290BB54F00EADD86 /* XPNobleRechargeTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E823E37E290BB54F00EADD86 /* XPNobleRechargeTableViewCell.m */; };
E823E38E290BE8BD00EADD86 /* WishGiftInfoUpdateModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E823E38D290BE8BD00EADD86 /* WishGiftInfoUpdateModel.m */; }; E823E38E290BE8BD00EADD86 /* WishGiftInfoUpdateModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E823E38D290BE8BD00EADD86 /* WishGiftInfoUpdateModel.m */; };
E824543526F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E824543426F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.m */; }; E824543526F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E824543426F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.m */; };
E824543826F5820A00BE8163 /* XPLoginVerifBindPhonePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E824543726F5820A00BE8163 /* XPLoginVerifBindPhonePresenter.m */; }; E824543826F5820A00BE8163 /* XPLoginVerifBindPhonePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E824543726F5820A00BE8163 /* XPLoginVerifBindPhonePresenter.m */; };
@@ -691,6 +693,16 @@
E839533F276A0CDB00CF2F24 /* XPMineNameplateTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E839533E276A0CDB00CF2F24 /* XPMineNameplateTableViewCell.m */; }; E839533F276A0CDB00CF2F24 /* XPMineNameplateTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E839533E276A0CDB00CF2F24 /* XPMineNameplateTableViewCell.m */; };
E839806829027D4A0084BFC8 /* room_wish_gift_sendCelebrate.svga in Resources */ = {isa = PBXBuildFile; fileRef = E839806729027D4A0084BFC8 /* room_wish_gift_sendCelebrate.svga */; }; E839806829027D4A0084BFC8 /* room_wish_gift_sendCelebrate.svga in Resources */ = {isa = PBXBuildFile; fileRef = E839806729027D4A0084BFC8 /* room_wish_gift_sendCelebrate.svga */; };
E839806B290288660084BFC8 /* XPMessageInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E839806A290288660084BFC8 /* XPMessageInfoModel.m */; }; E839806B290288660084BFC8 /* XPMessageInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E839806A290288660084BFC8 /* XPMessageInfoModel.m */; };
E83A2A37282F4E85002AD58F /* XPMineRechargeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E83A2A36282F4E85002AD58F /* XPMineRechargeViewController.m */; };
E83A2A3A282F4EA7002AD58F /* XPEnterpriseRechargePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E83A2A39282F4EA7002AD58F /* XPEnterpriseRechargePresenter.m */; };
E83A2A3E282F4ED3002AD58F /* Api+EnterpriseRecharge.m in Sources */ = {isa = PBXBuildFile; fileRef = E83A2A3D282F4ED3002AD58F /* Api+EnterpriseRecharge.m */; };
E83A2A41282F4EFA002AD58F /* EnterpriseRechargeListInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E83A2A40282F4EFA002AD58F /* EnterpriseRechargeListInfoModel.m */; };
E83A2A46282F5662002AD58F /* XPEnterpriseRechargeHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = E83A2A45282F5662002AD58F /* XPEnterpriseRechargeHeaderView.m */; };
E83A2A4C282F5B6A002AD58F /* XPEnterpriseChargeTypeTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E83A2A4B282F5B6A002AD58F /* XPEnterpriseChargeTypeTableViewCell.m */; };
E83A2A4F282F5B95002AD58F /* XPEnterpriseChargeListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E83A2A4E282F5B95002AD58F /* XPEnterpriseChargeListTableViewCell.m */; };
E83A2A52282F5BBA002AD58F /* XPEnterpriseChargeListCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E83A2A51282F5BBA002AD58F /* XPEnterpriseChargeListCollectionViewCell.m */; };
E83A2A55282F5C50002AD58F /* XPEnterpriseRechargeFootView.m in Sources */ = {isa = PBXBuildFile; fileRef = E83A2A54282F5C50002AD58F /* XPEnterpriseRechargeFootView.m */; };
E83A2A58282F8590002AD58F /* EnterPrieseRechargeTypeItemModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E83A2A57282F8590002AD58F /* EnterPrieseRechargeTypeItemModel.m */; };
E83ABEF6280E9AD800322EE4 /* MessageContentUnSupportView.m in Sources */ = {isa = PBXBuildFile; fileRef = E83ABEF5280E9AD800322EE4 /* MessageContentUnSupportView.m */; }; E83ABEF6280E9AD800322EE4 /* MessageContentUnSupportView.m in Sources */ = {isa = PBXBuildFile; fileRef = E83ABEF5280E9AD800322EE4 /* MessageContentUnSupportView.m */; };
E83ABEF9280EAF3F00322EE4 /* MessageContentOpenLiveView.m in Sources */ = {isa = PBXBuildFile; fileRef = E83ABEF8280EAF3F00322EE4 /* MessageContentOpenLiveView.m */; }; E83ABEF9280EAF3F00322EE4 /* MessageContentOpenLiveView.m in Sources */ = {isa = PBXBuildFile; fileRef = E83ABEF8280EAF3F00322EE4 /* MessageContentOpenLiveView.m */; };
E83ABEFD280EB5E200322EE4 /* ContentOpenLiveInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E83ABEFC280EB5E200322EE4 /* ContentOpenLiveInfoModel.m */; }; E83ABEFD280EB5E200322EE4 /* ContentOpenLiveInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E83ABEFC280EB5E200322EE4 /* ContentOpenLiveInfoModel.m */; };
@@ -717,6 +729,7 @@
E84150C227747BF700A7F548 /* FirstRechargeModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E84150C127747BF700A7F548 /* FirstRechargeModel.m */; }; E84150C227747BF700A7F548 /* FirstRechargeModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E84150C127747BF700A7F548 /* FirstRechargeModel.m */; };
E84150C527747E0900A7F548 /* FirstRechargeRewardModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E84150C427747E0900A7F548 /* FirstRechargeRewardModel.m */; }; E84150C527747E0900A7F548 /* FirstRechargeRewardModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E84150C427747E0900A7F548 /* FirstRechargeRewardModel.m */; };
E841ED61280FB0BD00904808 /* ContentLevelUpgradeModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E841ED60280FB0BD00904808 /* ContentLevelUpgradeModel.m */; }; E841ED61280FB0BD00904808 /* ContentLevelUpgradeModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E841ED60280FB0BD00904808 /* ContentLevelUpgradeModel.m */; };
E845D16F283354A300BE21F7 /* XPEnterpriseTarotPayView.m in Sources */ = {isa = PBXBuildFile; fileRef = E845D16E283354A300BE21F7 /* XPEnterpriseTarotPayView.m */; };
E84843AF27F59E7E0050D365 /* XPRoomPKResultView.m in Sources */ = {isa = PBXBuildFile; fileRef = E84843AE27F59E7E0050D365 /* XPRoomPKResultView.m */; }; E84843AF27F59E7E0050D365 /* XPRoomPKResultView.m in Sources */ = {isa = PBXBuildFile; fileRef = E84843AE27F59E7E0050D365 /* XPRoomPKResultView.m */; };
E84843B227F5A0740050D365 /* XPRomPKResultTitleLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = E84843B127F5A0740050D365 /* XPRomPKResultTitleLabel.m */; }; E84843B227F5A0740050D365 /* XPRomPKResultTitleLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = E84843B127F5A0740050D365 /* XPRomPKResultTitleLabel.m */; };
E84B0E3F2727EDF6008818C6 /* XPRoomMessageTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E84B0E3E2727EDF6008818C6 /* XPRoomMessageTableViewCell.m */; }; E84B0E3F2727EDF6008818C6 /* XPRoomMessageTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E84B0E3E2727EDF6008818C6 /* XPRoomMessageTableViewCell.m */; };
@@ -746,6 +759,9 @@
E852D74728633E92001465ED /* MonentsCommentReplyModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E852D74628633E92001465ED /* MonentsCommentReplyModel.m */; }; E852D74728633E92001465ED /* MonentsCommentReplyModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E852D74628633E92001465ED /* MonentsCommentReplyModel.m */; };
E85410352864155A005CFD9F /* XPMonentDetailPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E85410342864155A005CFD9F /* XPMonentDetailPresenter.m */; }; E85410352864155A005CFD9F /* XPMonentDetailPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E85410342864155A005CFD9F /* XPMonentDetailPresenter.m */; };
E854103928646A00005CFD9F /* XPMonentsReplyMoreTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E854103828646A00005CFD9F /* XPMonentsReplyMoreTableViewCell.m */; }; E854103928646A00005CFD9F /* XPMonentsReplyMoreTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E854103828646A00005CFD9F /* XPMonentsReplyMoreTableViewCell.m */; };
E854DFD72850AAC20033120D /* XPMineHalfRechargeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E854DFD62850AAC20033120D /* XPMineHalfRechargeViewController.m */; };
E854DFDA2850AC8D0033120D /* XPEnterprisePayTypeView.m in Sources */ = {isa = PBXBuildFile; fileRef = E854DFD92850AC8D0033120D /* XPEnterprisePayTypeView.m */; };
E854DFDD2850BCE30033120D /* XPEnterpriseHalfCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E854DFDC2850BCE30033120D /* XPEnterpriseHalfCollectionViewCell.m */; };
E855514E2805152B005F293F /* XPGuildTimePickView.m in Sources */ = {isa = PBXBuildFile; fileRef = E855514D2805152B005F293F /* XPGuildTimePickView.m */; }; E855514E2805152B005F293F /* XPGuildTimePickView.m in Sources */ = {isa = PBXBuildFile; fileRef = E855514D2805152B005F293F /* XPGuildTimePickView.m */; };
E855515128055581005F293F /* XPGuildTimeMonthPickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = E855515028055581005F293F /* XPGuildTimeMonthPickerView.m */; }; E855515128055581005F293F /* XPGuildTimeMonthPickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = E855515028055581005F293F /* XPGuildTimeMonthPickerView.m */; };
E855515B280559FE005F293F /* NSDate+DateUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = E855515A280559FE005F293F /* NSDate+DateUtils.m */; }; E855515B280559FE005F293F /* NSDate+DateUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = E855515A280559FE005F293F /* NSDate+DateUtils.m */; };
@@ -837,6 +853,7 @@
E87E914E2796678D00A7B3F2 /* XPMineDressEmptyTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E87E914D2796678D00A7B3F2 /* XPMineDressEmptyTableViewCell.m */; }; E87E914E2796678D00A7B3F2 /* XPMineDressEmptyTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E87E914D2796678D00A7B3F2 /* XPMineDressEmptyTableViewCell.m */; };
E87E91522796A15500A7B3F2 /* MicroExtModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E87E91512796A15500A7B3F2 /* MicroExtModel.m */; }; E87E91522796A15500A7B3F2 /* MicroExtModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E87E91512796A15500A7B3F2 /* MicroExtModel.m */; };
E87E91552796B6DE00A7B3F2 /* XPRoomInviteUserViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E87E91542796B6DE00A7B3F2 /* XPRoomInviteUserViewController.m */; }; E87E91552796B6DE00A7B3F2 /* XPRoomInviteUserViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E87E91542796B6DE00A7B3F2 /* XPRoomInviteUserViewController.m */; };
E87FCE53282FABC600301132 /* XPEnterpriseRechargePayTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E87FCE52282FABC600301132 /* XPEnterpriseRechargePayTableViewCell.m */; };
E880B39E278BD49E00A83B0D /* XPAcrossRoomPKViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E880B39D278BD49E00A83B0D /* XPAcrossRoomPKViewController.m */; }; E880B39E278BD49E00A83B0D /* XPAcrossRoomPKViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E880B39D278BD49E00A83B0D /* XPAcrossRoomPKViewController.m */; };
E880B3A1278BD60C00A83B0D /* XPAcrossRoomPKSelectRoomView.m in Sources */ = {isa = PBXBuildFile; fileRef = E880B3A0278BD60C00A83B0D /* XPAcrossRoomPKSelectRoomView.m */; }; E880B3A1278BD60C00A83B0D /* XPAcrossRoomPKSelectRoomView.m in Sources */ = {isa = PBXBuildFile; fileRef = E880B3A0278BD60C00A83B0D /* XPAcrossRoomPKSelectRoomView.m */; };
E880B3A6278BD69900A83B0D /* XPAcrossRoomPKTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E880B3A5278BD69900A83B0D /* XPAcrossRoomPKTableViewCell.m */; }; E880B3A6278BD69900A83B0D /* XPAcrossRoomPKTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E880B3A5278BD69900A83B0D /* XPAcrossRoomPKTableViewCell.m */; };
@@ -936,7 +953,6 @@
E89DA66427005932008483C1 /* XPIAPHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DA66327005932008483C1 /* XPIAPHelper.m */; }; E89DA66427005932008483C1 /* XPIAPHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DA66327005932008483C1 /* XPIAPHelper.m */; };
E89DA66727006443008483C1 /* RechargeStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DA66627006443008483C1 /* RechargeStorage.m */; }; E89DA66727006443008483C1 /* RechargeStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DA66627006443008483C1 /* RechargeStorage.m */; };
E89DA67227008D59008483C1 /* WalletInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DA67127008D59008483C1 /* WalletInfoModel.m */; }; E89DA67227008D59008483C1 /* WalletInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DA67127008D59008483C1 /* WalletInfoModel.m */; };
E89DA67527009ACD008483C1 /* XPMineRechargeNavView.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DA67427009ACD008483C1 /* XPMineRechargeNavView.m */; };
E89DCF5428FFEC67001647EC /* XPWishGiftHistoryTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5328FFEC67001647EC /* XPWishGiftHistoryTableViewCell.m */; }; E89DCF5428FFEC67001647EC /* XPWishGiftHistoryTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5328FFEC67001647EC /* XPWishGiftHistoryTableViewCell.m */; };
E89DCF5728FFF076001647EC /* XPWishGiftEmptyTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5628FFF076001647EC /* XPWishGiftEmptyTableViewCell.m */; }; E89DCF5728FFF076001647EC /* XPWishGiftEmptyTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5628FFF076001647EC /* XPWishGiftEmptyTableViewCell.m */; };
E89DCF5A28FFF1AD001647EC /* XPWishGiftSectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5928FFF1AD001647EC /* XPWishGiftSectionView.m */; }; E89DCF5A28FFF1AD001647EC /* XPWishGiftSectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = E89DCF5928FFF1AD001647EC /* XPWishGiftSectionView.m */; };
@@ -1060,8 +1076,6 @@
E8B846C226FD82DC00A777FE /* XPMineUserInfoAlbumCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846C126FD82DC00A777FE /* XPMineUserInfoAlbumCollectionViewCell.m */; }; E8B846C226FD82DC00A777FE /* XPMineUserInfoAlbumCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846C126FD82DC00A777FE /* XPMineUserInfoAlbumCollectionViewCell.m */; };
E8B846C526FDB41A00A777FE /* XPMineUserInfolbumPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846C426FDB41A00A777FE /* XPMineUserInfolbumPresenter.m */; }; E8B846C526FDB41A00A777FE /* XPMineUserInfolbumPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846C426FDB41A00A777FE /* XPMineUserInfolbumPresenter.m */; };
E8B846C726FDB45000A777FE /* XPMineUserInfoAlbumProtocol.h in Sources */ = {isa = PBXBuildFile; fileRef = E8B846C626FDB44100A777FE /* XPMineUserInfoAlbumProtocol.h */; }; 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 */; }; E8B846D326FDDBE600A777FE /* XPMineRechargeTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846D226FDDBE600A777FE /* XPMineRechargeTableViewCell.m */; };
E8B846D626FDE01B00A777FE /* XPMineRechargePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846D526FDE01B00A777FE /* XPMineRechargePresenter.m */; }; E8B846D626FDE01B00A777FE /* XPMineRechargePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8B846D526FDE01B00A777FE /* XPMineRechargePresenter.m */; };
E8B846D826FDE17300A777FE /* XPMineRechargeProtocol.h in Sources */ = {isa = PBXBuildFile; fileRef = E8B846D726FDE16300A777FE /* XPMineRechargeProtocol.h */; }; E8B846D826FDE17300A777FE /* XPMineRechargeProtocol.h in Sources */ = {isa = PBXBuildFile; fileRef = E8B846D726FDE16300A777FE /* XPMineRechargeProtocol.h */; };
@@ -1239,6 +1253,7 @@
E8F9168727EC927C00F10D8F /* XPHomeLittleGamePesenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8F9168627EC927C00F10D8F /* XPHomeLittleGamePesenter.m */; }; E8F9168727EC927C00F10D8F /* XPHomeLittleGamePesenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8F9168627EC927C00F10D8F /* XPHomeLittleGamePesenter.m */; };
E8F9168B27EC940E00F10D8F /* XPHomeLittleGameTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8F9168A27EC940E00F10D8F /* XPHomeLittleGameTableViewCell.m */; }; E8F9168B27EC940E00F10D8F /* XPHomeLittleGameTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8F9168A27EC940E00F10D8F /* XPHomeLittleGameTableViewCell.m */; };
E8F9168E27ECA69500F10D8F /* HomeLittleGameRoomModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E8F9168D27ECA69500F10D8F /* HomeLittleGameRoomModel.m */; }; E8F9168E27ECA69500F10D8F /* HomeLittleGameRoomModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E8F9168D27ECA69500F10D8F /* HomeLittleGameRoomModel.m */; };
E8FDB61D28325187003EFEA9 /* XPEnterpriseFirstRechargePayView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8FDB61C28325187003EFEA9 /* XPEnterpriseFirstRechargePayView.m */; };
F183EF412935E1C000E2465F /* HomeEveryOneSearchModel.m in Sources */ = {isa = PBXBuildFile; fileRef = F183EF402935E1C000E2465F /* HomeEveryOneSearchModel.m */; }; F183EF412935E1C000E2465F /* HomeEveryOneSearchModel.m in Sources */ = {isa = PBXBuildFile; fileRef = F183EF402935E1C000E2465F /* HomeEveryOneSearchModel.m */; };
F1D8556F2931FC86008C418F /* XPRoomYearActivityView.m in Sources */ = {isa = PBXBuildFile; fileRef = F1D8556E2931FC86008C418F /* XPRoomYearActivityView.m */; }; F1D8556F2931FC86008C418F /* XPRoomYearActivityView.m in Sources */ = {isa = PBXBuildFile; fileRef = F1D8556E2931FC86008C418F /* XPRoomYearActivityView.m */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
@@ -2376,6 +2391,10 @@
E82325FF274E48EA003A3332 /* XPUserCardItemCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPUserCardItemCollectionViewCell.m; sourceTree = "<group>"; }; E82325FF274E48EA003A3332 /* XPUserCardItemCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPUserCardItemCollectionViewCell.m; sourceTree = "<group>"; };
E8232601274E4AA0003A3332 /* ThemeColor+UserCard.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ThemeColor+UserCard.h"; sourceTree = "<group>"; }; E8232601274E4AA0003A3332 /* ThemeColor+UserCard.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ThemeColor+UserCard.h"; sourceTree = "<group>"; };
E8232602274E4AA0003A3332 /* ThemeColor+UserCard.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "ThemeColor+UserCard.m"; sourceTree = "<group>"; }; E8232602274E4AA0003A3332 /* ThemeColor+UserCard.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "ThemeColor+UserCard.m"; sourceTree = "<group>"; };
E823E37A290BB1FD00EADD86 /* XPNobleRechargeView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNobleRechargeView.h; sourceTree = "<group>"; };
E823E37B290BB1FD00EADD86 /* XPNobleRechargeView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNobleRechargeView.m; sourceTree = "<group>"; };
E823E37D290BB54F00EADD86 /* XPNobleRechargeTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNobleRechargeTableViewCell.h; sourceTree = "<group>"; };
E823E37E290BB54F00EADD86 /* XPNobleRechargeTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNobleRechargeTableViewCell.m; sourceTree = "<group>"; };
E823E38C290BE8BD00EADD86 /* WishGiftInfoUpdateModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WishGiftInfoUpdateModel.h; sourceTree = "<group>"; }; E823E38C290BE8BD00EADD86 /* WishGiftInfoUpdateModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WishGiftInfoUpdateModel.h; sourceTree = "<group>"; };
E823E38D290BE8BD00EADD86 /* WishGiftInfoUpdateModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WishGiftInfoUpdateModel.m; sourceTree = "<group>"; }; E823E38D290BE8BD00EADD86 /* WishGiftInfoUpdateModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WishGiftInfoUpdateModel.m; sourceTree = "<group>"; };
E824543326F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPLoginVerifBindPhoneViewController.h; sourceTree = "<group>"; }; E824543326F57D6E00BE8163 /* XPLoginVerifBindPhoneViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPLoginVerifBindPhoneViewController.h; sourceTree = "<group>"; };
@@ -2458,6 +2477,27 @@
E839806729027D4A0084BFC8 /* room_wish_gift_sendCelebrate.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = room_wish_gift_sendCelebrate.svga; sourceTree = "<group>"; }; E839806729027D4A0084BFC8 /* room_wish_gift_sendCelebrate.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = room_wish_gift_sendCelebrate.svga; sourceTree = "<group>"; };
E8398069290288660084BFC8 /* XPMessageInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMessageInfoModel.h; sourceTree = "<group>"; }; E8398069290288660084BFC8 /* XPMessageInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMessageInfoModel.h; sourceTree = "<group>"; };
E839806A290288660084BFC8 /* XPMessageInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMessageInfoModel.m; sourceTree = "<group>"; }; E839806A290288660084BFC8 /* XPMessageInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMessageInfoModel.m; sourceTree = "<group>"; };
E83A2A35282F4E85002AD58F /* XPMineRechargeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineRechargeViewController.h; sourceTree = "<group>"; };
E83A2A36282F4E85002AD58F /* XPMineRechargeViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineRechargeViewController.m; sourceTree = "<group>"; };
E83A2A38282F4EA7002AD58F /* XPEnterpriseRechargePresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPEnterpriseRechargePresenter.h; sourceTree = "<group>"; };
E83A2A39282F4EA7002AD58F /* XPEnterpriseRechargePresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPEnterpriseRechargePresenter.m; sourceTree = "<group>"; };
E83A2A3B282F4EBB002AD58F /* XPEnterpriseRechargeProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPEnterpriseRechargeProtocol.h; sourceTree = "<group>"; };
E83A2A3C282F4ED3002AD58F /* Api+EnterpriseRecharge.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Api+EnterpriseRecharge.h"; sourceTree = "<group>"; };
E83A2A3D282F4ED3002AD58F /* Api+EnterpriseRecharge.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "Api+EnterpriseRecharge.m"; sourceTree = "<group>"; };
E83A2A3F282F4EFA002AD58F /* EnterpriseRechargeListInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EnterpriseRechargeListInfoModel.h; sourceTree = "<group>"; };
E83A2A40282F4EFA002AD58F /* EnterpriseRechargeListInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EnterpriseRechargeListInfoModel.m; sourceTree = "<group>"; };
E83A2A44282F5662002AD58F /* XPEnterpriseRechargeHeaderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPEnterpriseRechargeHeaderView.h; sourceTree = "<group>"; };
E83A2A45282F5662002AD58F /* XPEnterpriseRechargeHeaderView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPEnterpriseRechargeHeaderView.m; sourceTree = "<group>"; };
E83A2A4A282F5B6A002AD58F /* XPEnterpriseChargeTypeTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPEnterpriseChargeTypeTableViewCell.h; sourceTree = "<group>"; };
E83A2A4B282F5B6A002AD58F /* XPEnterpriseChargeTypeTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPEnterpriseChargeTypeTableViewCell.m; sourceTree = "<group>"; };
E83A2A4D282F5B95002AD58F /* XPEnterpriseChargeListTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPEnterpriseChargeListTableViewCell.h; sourceTree = "<group>"; };
E83A2A4E282F5B95002AD58F /* XPEnterpriseChargeListTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPEnterpriseChargeListTableViewCell.m; sourceTree = "<group>"; };
E83A2A50282F5BBA002AD58F /* XPEnterpriseChargeListCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPEnterpriseChargeListCollectionViewCell.h; sourceTree = "<group>"; };
E83A2A51282F5BBA002AD58F /* XPEnterpriseChargeListCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPEnterpriseChargeListCollectionViewCell.m; sourceTree = "<group>"; };
E83A2A53282F5C50002AD58F /* XPEnterpriseRechargeFootView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPEnterpriseRechargeFootView.h; sourceTree = "<group>"; };
E83A2A54282F5C50002AD58F /* XPEnterpriseRechargeFootView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPEnterpriseRechargeFootView.m; sourceTree = "<group>"; };
E83A2A56282F8590002AD58F /* EnterPrieseRechargeTypeItemModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EnterPrieseRechargeTypeItemModel.h; sourceTree = "<group>"; };
E83A2A57282F8590002AD58F /* EnterPrieseRechargeTypeItemModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EnterPrieseRechargeTypeItemModel.m; sourceTree = "<group>"; };
E83ABEF4280E9AD800322EE4 /* MessageContentUnSupportView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessageContentUnSupportView.h; sourceTree = "<group>"; }; E83ABEF4280E9AD800322EE4 /* MessageContentUnSupportView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessageContentUnSupportView.h; sourceTree = "<group>"; };
E83ABEF5280E9AD800322EE4 /* MessageContentUnSupportView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MessageContentUnSupportView.m; sourceTree = "<group>"; }; E83ABEF5280E9AD800322EE4 /* MessageContentUnSupportView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MessageContentUnSupportView.m; sourceTree = "<group>"; };
E83ABEF7280EAF3F00322EE4 /* MessageContentOpenLiveView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessageContentOpenLiveView.h; sourceTree = "<group>"; }; E83ABEF7280EAF3F00322EE4 /* MessageContentOpenLiveView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessageContentOpenLiveView.h; sourceTree = "<group>"; };
@@ -2512,6 +2552,8 @@
E84150C427747E0900A7F548 /* FirstRechargeRewardModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirstRechargeRewardModel.m; sourceTree = "<group>"; }; E84150C427747E0900A7F548 /* FirstRechargeRewardModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirstRechargeRewardModel.m; sourceTree = "<group>"; };
E841ED5F280FB0BD00904808 /* ContentLevelUpgradeModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContentLevelUpgradeModel.h; sourceTree = "<group>"; }; E841ED5F280FB0BD00904808 /* ContentLevelUpgradeModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContentLevelUpgradeModel.h; sourceTree = "<group>"; };
E841ED60280FB0BD00904808 /* ContentLevelUpgradeModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ContentLevelUpgradeModel.m; sourceTree = "<group>"; }; E841ED60280FB0BD00904808 /* ContentLevelUpgradeModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ContentLevelUpgradeModel.m; sourceTree = "<group>"; };
E845D16D283354A300BE21F7 /* XPEnterpriseTarotPayView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPEnterpriseTarotPayView.h; sourceTree = "<group>"; };
E845D16E283354A300BE21F7 /* XPEnterpriseTarotPayView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPEnterpriseTarotPayView.m; sourceTree = "<group>"; };
E84843AD27F59E7E0050D365 /* XPRoomPKResultView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomPKResultView.h; sourceTree = "<group>"; }; E84843AD27F59E7E0050D365 /* XPRoomPKResultView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomPKResultView.h; sourceTree = "<group>"; };
E84843AE27F59E7E0050D365 /* XPRoomPKResultView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomPKResultView.m; sourceTree = "<group>"; }; E84843AE27F59E7E0050D365 /* XPRoomPKResultView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomPKResultView.m; sourceTree = "<group>"; };
E84843B027F5A0740050D365 /* XPRomPKResultTitleLabel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRomPKResultTitleLabel.h; sourceTree = "<group>"; }; E84843B027F5A0740050D365 /* XPRomPKResultTitleLabel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRomPKResultTitleLabel.h; sourceTree = "<group>"; };
@@ -2574,6 +2616,12 @@
E8541036286443D8005CFD9F /* XPMonentsDetailProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMonentsDetailProtocol.h; sourceTree = "<group>"; }; E8541036286443D8005CFD9F /* XPMonentsDetailProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMonentsDetailProtocol.h; sourceTree = "<group>"; };
E854103728646A00005CFD9F /* XPMonentsReplyMoreTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMonentsReplyMoreTableViewCell.h; sourceTree = "<group>"; }; E854103728646A00005CFD9F /* XPMonentsReplyMoreTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMonentsReplyMoreTableViewCell.h; sourceTree = "<group>"; };
E854103828646A00005CFD9F /* XPMonentsReplyMoreTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMonentsReplyMoreTableViewCell.m; sourceTree = "<group>"; }; E854103828646A00005CFD9F /* XPMonentsReplyMoreTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMonentsReplyMoreTableViewCell.m; sourceTree = "<group>"; };
E854DFD52850AAC20033120D /* XPMineHalfRechargeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineHalfRechargeViewController.h; sourceTree = "<group>"; };
E854DFD62850AAC20033120D /* XPMineHalfRechargeViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineHalfRechargeViewController.m; sourceTree = "<group>"; };
E854DFD82850AC8D0033120D /* XPEnterprisePayTypeView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPEnterprisePayTypeView.h; sourceTree = "<group>"; };
E854DFD92850AC8D0033120D /* XPEnterprisePayTypeView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPEnterprisePayTypeView.m; sourceTree = "<group>"; };
E854DFDB2850BCE30033120D /* XPEnterpriseHalfCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPEnterpriseHalfCollectionViewCell.h; sourceTree = "<group>"; };
E854DFDC2850BCE30033120D /* XPEnterpriseHalfCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPEnterpriseHalfCollectionViewCell.m; sourceTree = "<group>"; };
E855514C2805152B005F293F /* XPGuildTimePickView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGuildTimePickView.h; sourceTree = "<group>"; }; E855514C2805152B005F293F /* XPGuildTimePickView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGuildTimePickView.h; sourceTree = "<group>"; };
E855514D2805152B005F293F /* XPGuildTimePickView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGuildTimePickView.m; sourceTree = "<group>"; }; E855514D2805152B005F293F /* XPGuildTimePickView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPGuildTimePickView.m; sourceTree = "<group>"; };
E855514F28055581005F293F /* XPGuildTimeMonthPickerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGuildTimeMonthPickerView.h; sourceTree = "<group>"; }; E855514F28055581005F293F /* XPGuildTimeMonthPickerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPGuildTimeMonthPickerView.h; sourceTree = "<group>"; };
@@ -2765,6 +2813,8 @@
E87E91512796A15500A7B3F2 /* MicroExtModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MicroExtModel.m; sourceTree = "<group>"; }; E87E91512796A15500A7B3F2 /* MicroExtModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MicroExtModel.m; sourceTree = "<group>"; };
E87E91532796B6DE00A7B3F2 /* XPRoomInviteUserViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomInviteUserViewController.h; sourceTree = "<group>"; }; E87E91532796B6DE00A7B3F2 /* XPRoomInviteUserViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomInviteUserViewController.h; sourceTree = "<group>"; };
E87E91542796B6DE00A7B3F2 /* XPRoomInviteUserViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomInviteUserViewController.m; sourceTree = "<group>"; }; E87E91542796B6DE00A7B3F2 /* XPRoomInviteUserViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomInviteUserViewController.m; sourceTree = "<group>"; };
E87FCE51282FABC600301132 /* XPEnterpriseRechargePayTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPEnterpriseRechargePayTableViewCell.h; sourceTree = "<group>"; };
E87FCE52282FABC600301132 /* XPEnterpriseRechargePayTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPEnterpriseRechargePayTableViewCell.m; sourceTree = "<group>"; };
E880B39C278BD49E00A83B0D /* XPAcrossRoomPKViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPAcrossRoomPKViewController.h; sourceTree = "<group>"; }; E880B39C278BD49E00A83B0D /* XPAcrossRoomPKViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPAcrossRoomPKViewController.h; sourceTree = "<group>"; };
E880B39D278BD49E00A83B0D /* XPAcrossRoomPKViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPAcrossRoomPKViewController.m; sourceTree = "<group>"; }; E880B39D278BD49E00A83B0D /* XPAcrossRoomPKViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPAcrossRoomPKViewController.m; sourceTree = "<group>"; };
E880B39F278BD60C00A83B0D /* XPAcrossRoomPKSelectRoomView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPAcrossRoomPKSelectRoomView.h; sourceTree = "<group>"; }; E880B39F278BD60C00A83B0D /* XPAcrossRoomPKSelectRoomView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPAcrossRoomPKSelectRoomView.h; sourceTree = "<group>"; };
@@ -2958,8 +3008,6 @@
E89DA66627006443008483C1 /* RechargeStorage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RechargeStorage.m; 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>"; }; E89DA67027008D59008483C1 /* WalletInfoModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WalletInfoModel.h; sourceTree = "<group>"; };
E89DA67127008D59008483C1 /* WalletInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WalletInfoModel.m; sourceTree = "<group>"; }; E89DA67127008D59008483C1 /* WalletInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WalletInfoModel.m; sourceTree = "<group>"; };
E89DA67327009ACD008483C1 /* XPMineRechargeNavView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineRechargeNavView.h; sourceTree = "<group>"; };
E89DA67427009ACD008483C1 /* XPMineRechargeNavView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineRechargeNavView.m; sourceTree = "<group>"; };
E89DCF5228FFEC67001647EC /* XPWishGiftHistoryTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftHistoryTableViewCell.h; sourceTree = "<group>"; }; E89DCF5228FFEC67001647EC /* XPWishGiftHistoryTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftHistoryTableViewCell.h; sourceTree = "<group>"; };
E89DCF5328FFEC67001647EC /* XPWishGiftHistoryTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftHistoryTableViewCell.m; sourceTree = "<group>"; }; E89DCF5328FFEC67001647EC /* XPWishGiftHistoryTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPWishGiftHistoryTableViewCell.m; sourceTree = "<group>"; };
E89DCF5528FFF076001647EC /* XPWishGiftEmptyTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftEmptyTableViewCell.h; sourceTree = "<group>"; }; E89DCF5528FFF076001647EC /* XPWishGiftEmptyTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPWishGiftEmptyTableViewCell.h; sourceTree = "<group>"; };
@@ -3206,10 +3254,6 @@
E8B846C326FDB41A00A777FE /* XPMineUserInfolbumPresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineUserInfolbumPresenter.h; sourceTree = "<group>"; }; 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>"; }; 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>"; }; 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>"; }; E8B846D126FDDBE600A777FE /* XPMineRechargeTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineRechargeTableViewCell.h; sourceTree = "<group>"; };
E8B846D226FDDBE600A777FE /* XPMineRechargeTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineRechargeTableViewCell.m; sourceTree = "<group>"; }; E8B846D226FDDBE600A777FE /* XPMineRechargeTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineRechargeTableViewCell.m; sourceTree = "<group>"; };
E8B846D426FDE01B00A777FE /* XPMineRechargePresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineRechargePresenter.h; sourceTree = "<group>"; }; E8B846D426FDE01B00A777FE /* XPMineRechargePresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineRechargePresenter.h; sourceTree = "<group>"; };
@@ -3569,6 +3613,8 @@
E8F9168A27EC940E00F10D8F /* XPHomeLittleGameTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPHomeLittleGameTableViewCell.m; sourceTree = "<group>"; }; E8F9168A27EC940E00F10D8F /* XPHomeLittleGameTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPHomeLittleGameTableViewCell.m; sourceTree = "<group>"; };
E8F9168C27ECA69500F10D8F /* HomeLittleGameRoomModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeLittleGameRoomModel.h; sourceTree = "<group>"; }; E8F9168C27ECA69500F10D8F /* HomeLittleGameRoomModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeLittleGameRoomModel.h; sourceTree = "<group>"; };
E8F9168D27ECA69500F10D8F /* HomeLittleGameRoomModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeLittleGameRoomModel.m; sourceTree = "<group>"; }; E8F9168D27ECA69500F10D8F /* HomeLittleGameRoomModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeLittleGameRoomModel.m; sourceTree = "<group>"; };
E8FDB61B28325187003EFEA9 /* XPEnterpriseFirstRechargePayView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPEnterpriseFirstRechargePayView.h; sourceTree = "<group>"; };
E8FDB61C28325187003EFEA9 /* XPEnterpriseFirstRechargePayView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPEnterpriseFirstRechargePayView.m; sourceTree = "<group>"; };
F183EF3F2935E1C000E2465F /* HomeEveryOneSearchModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeEveryOneSearchModel.h; sourceTree = "<group>"; }; F183EF3F2935E1C000E2465F /* HomeEveryOneSearchModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeEveryOneSearchModel.h; sourceTree = "<group>"; };
F183EF402935E1C000E2465F /* HomeEveryOneSearchModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeEveryOneSearchModel.m; sourceTree = "<group>"; }; F183EF402935E1C000E2465F /* HomeEveryOneSearchModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeEveryOneSearchModel.m; sourceTree = "<group>"; };
F1D8556D2931FC86008C418F /* XPRoomYearActivityView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomYearActivityView.h; sourceTree = "<group>"; }; F1D8556D2931FC86008C418F /* XPRoomYearActivityView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomYearActivityView.h; sourceTree = "<group>"; };
@@ -4935,6 +4981,10 @@
E8A1F7A7290690E00099C952 /* XPNobleRankUpdateView.m */, E8A1F7A7290690E00099C952 /* XPNobleRankUpdateView.m */,
E83CD19C2909171900920A94 /* XPNobleDiscountView.h */, E83CD19C2909171900920A94 /* XPNobleDiscountView.h */,
E83CD19D2909171900920A94 /* XPNobleDiscountView.m */, E83CD19D2909171900920A94 /* XPNobleDiscountView.m */,
E823E37A290BB1FD00EADD86 /* XPNobleRechargeView.h */,
E823E37B290BB1FD00EADD86 /* XPNobleRechargeView.m */,
E823E37D290BB54F00EADD86 /* XPNobleRechargeTableViewCell.h */,
E823E37E290BB54F00EADD86 /* XPNobleRechargeTableViewCell.m */,
); );
path = SubViews; path = SubViews;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -6432,6 +6482,102 @@
path = Cell; path = Cell;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
E83A2A2F282F4E06002AD58F /* EnterpriseRecharge */ = {
isa = PBXGroup;
children = (
E83A2A34282F4E67002AD58F /* Model */,
E83A2A33282F4E5F002AD58F /* Api */,
E83A2A32282F4E58002AD58F /* View */,
E83A2A31282F4E50002AD58F /* Presenter */,
E83A2A30282F4E34002AD58F /* Protocol */,
);
path = EnterpriseRecharge;
sourceTree = "<group>";
};
E83A2A30282F4E34002AD58F /* Protocol */ = {
isa = PBXGroup;
children = (
E83A2A3B282F4EBB002AD58F /* XPEnterpriseRechargeProtocol.h */,
);
path = Protocol;
sourceTree = "<group>";
};
E83A2A31282F4E50002AD58F /* Presenter */ = {
isa = PBXGroup;
children = (
E83A2A38282F4EA7002AD58F /* XPEnterpriseRechargePresenter.h */,
E83A2A39282F4EA7002AD58F /* XPEnterpriseRechargePresenter.m */,
);
path = Presenter;
sourceTree = "<group>";
};
E83A2A32282F4E58002AD58F /* View */ = {
isa = PBXGroup;
children = (
E83A2A43282F5632002AD58F /* SubViews */,
E83A2A42282F562A002AD58F /* Cell */,
E83A2A35282F4E85002AD58F /* XPMineRechargeViewController.h */,
E83A2A36282F4E85002AD58F /* XPMineRechargeViewController.m */,
E8FDB61B28325187003EFEA9 /* XPEnterpriseFirstRechargePayView.h */,
E8FDB61C28325187003EFEA9 /* XPEnterpriseFirstRechargePayView.m */,
E845D16D283354A300BE21F7 /* XPEnterpriseTarotPayView.h */,
E845D16E283354A300BE21F7 /* XPEnterpriseTarotPayView.m */,
E854DFD52850AAC20033120D /* XPMineHalfRechargeViewController.h */,
E854DFD62850AAC20033120D /* XPMineHalfRechargeViewController.m */,
);
path = View;
sourceTree = "<group>";
};
E83A2A33282F4E5F002AD58F /* Api */ = {
isa = PBXGroup;
children = (
E83A2A3C282F4ED3002AD58F /* Api+EnterpriseRecharge.h */,
E83A2A3D282F4ED3002AD58F /* Api+EnterpriseRecharge.m */,
);
path = Api;
sourceTree = "<group>";
};
E83A2A34282F4E67002AD58F /* Model */ = {
isa = PBXGroup;
children = (
E83A2A3F282F4EFA002AD58F /* EnterpriseRechargeListInfoModel.h */,
E83A2A40282F4EFA002AD58F /* EnterpriseRechargeListInfoModel.m */,
E83A2A56282F8590002AD58F /* EnterPrieseRechargeTypeItemModel.h */,
E83A2A57282F8590002AD58F /* EnterPrieseRechargeTypeItemModel.m */,
);
path = Model;
sourceTree = "<group>";
};
E83A2A42282F562A002AD58F /* Cell */ = {
isa = PBXGroup;
children = (
E83A2A4A282F5B6A002AD58F /* XPEnterpriseChargeTypeTableViewCell.h */,
E83A2A4B282F5B6A002AD58F /* XPEnterpriseChargeTypeTableViewCell.m */,
E87FCE51282FABC600301132 /* XPEnterpriseRechargePayTableViewCell.h */,
E87FCE52282FABC600301132 /* XPEnterpriseRechargePayTableViewCell.m */,
E83A2A4D282F5B95002AD58F /* XPEnterpriseChargeListTableViewCell.h */,
E83A2A4E282F5B95002AD58F /* XPEnterpriseChargeListTableViewCell.m */,
E83A2A50282F5BBA002AD58F /* XPEnterpriseChargeListCollectionViewCell.h */,
E83A2A51282F5BBA002AD58F /* XPEnterpriseChargeListCollectionViewCell.m */,
E854DFDB2850BCE30033120D /* XPEnterpriseHalfCollectionViewCell.h */,
E854DFDC2850BCE30033120D /* XPEnterpriseHalfCollectionViewCell.m */,
);
path = Cell;
sourceTree = "<group>";
};
E83A2A43282F5632002AD58F /* SubViews */ = {
isa = PBXGroup;
children = (
E83A2A44282F5662002AD58F /* XPEnterpriseRechargeHeaderView.h */,
E83A2A45282F5662002AD58F /* XPEnterpriseRechargeHeaderView.m */,
E83A2A53282F5C50002AD58F /* XPEnterpriseRechargeFootView.h */,
E83A2A54282F5C50002AD58F /* XPEnterpriseRechargeFootView.m */,
E854DFD82850AC8D0033120D /* XPEnterprisePayTypeView.h */,
E854DFD92850AC8D0033120D /* XPEnterprisePayTypeView.m */,
);
path = SubViews;
sourceTree = "<group>";
};
E83ABEFA280EB5A000322EE4 /* SessionContent */ = { E83ABEFA280EB5A000322EE4 /* SessionContent */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@@ -7922,26 +8068,6 @@
path = UploadImage; path = UploadImage;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
E8B846C826FDD79700A777FE /* Recharge */ = {
isa = PBXGroup;
children = (
E8B846C926FDD7CD00A777FE /* XPMineRechargeViewController.h */,
E8B846CA26FDD7CD00A777FE /* XPMineRechargeViewController.m */,
);
path = Recharge;
sourceTree = "<group>";
};
E8B846CC26FDD93D00A777FE /* Recharge */ = {
isa = PBXGroup;
children = (
E8B846CD26FDD96100A777FE /* XPMineRechageHeadView.h */,
E8B846CE26FDD96100A777FE /* XPMineRechageHeadView.m */,
E89DA67327009ACD008483C1 /* XPMineRechargeNavView.h */,
E89DA67427009ACD008483C1 /* XPMineRechargeNavView.m */,
);
path = Recharge;
sourceTree = "<group>";
};
E8B846D026FDDBCD00A777FE /* Recharge */ = { E8B846D026FDDBCD00A777FE /* Recharge */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@@ -8668,6 +8794,7 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9BCB999D28F5716E00466D64 /* CollectRoom */, 9BCB999D28F5716E00466D64 /* CollectRoom */,
E83A2A2F282F4E06002AD58F /* EnterpriseRecharge */,
E8E20BDF281695430033B688 /* Setting */, E8E20BDF281695430033B688 /* Setting */,
E800805227FD33950055A8AB /* Guild */, E800805227FD33950055A8AB /* Guild */,
E896EF912771AA6C00AD2CC1 /* Friend */, E896EF912771AA6C00AD2CC1 /* Friend */,
@@ -8687,7 +8814,6 @@
9BD2ECCD288F829600F5CD9A /* XPMineFootPrintViewController.m */, 9BD2ECCD288F829600F5CD9A /* XPMineFootPrintViewController.m */,
9B1B729328002099003FACE9 /* XPMineFansTeamViewController.h */, 9B1B729328002099003FACE9 /* XPMineFansTeamViewController.h */,
9B1B729428002099003FACE9 /* XPMineFansTeamViewController.m */, 9B1B729428002099003FACE9 /* XPMineFansTeamViewController.m */,
E8B846C826FDD79700A777FE /* Recharge */,
E88B5CBE26FB404800DA9178 /* MineInfo */, E88B5CBE26FB404800DA9178 /* MineInfo */,
E88B5CA926FB15B900DA9178 /* Teenager */, E88B5CA926FB15B900DA9178 /* Teenager */,
9BAA5FEB277A1BBE007453F3 /* XPPrivacyViewController.h */, 9BAA5FEB277A1BBE007453F3 /* XPPrivacyViewController.h */,
@@ -8795,7 +8921,6 @@
children = ( children = (
E8C219F62948525500344FC5 /* AnchorLevel */, E8C219F62948525500344FC5 /* AnchorLevel */,
9BBC02882786E0060007C24B /* NobleCenter */, 9BBC02882786E0060007C24B /* NobleCenter */,
E8B846CC26FDD93D00A777FE /* Recharge */,
E88B5CC226FB429C00DA9178 /* MineInfo */, E88B5CC226FB429C00DA9178 /* MineInfo */,
E88B5CAA26FB168200DA9178 /* Teenager */, E88B5CAA26FB168200DA9178 /* Teenager */,
E8E70D8126F2F51A00F03460 /* XPMineHeadView.h */, E8E70D8126F2F51A00F03460 /* XPMineHeadView.h */,
@@ -9466,6 +9591,7 @@
E8E20BE2281695800033B688 /* XPMineLoginPasswordViewController.m in Sources */, E8E20BE2281695800033B688 /* XPMineLoginPasswordViewController.m in Sources */,
E86E79D628A4EA0C006DAF48 /* SessionRiskCache.m in Sources */, E86E79D628A4EA0C006DAF48 /* SessionRiskCache.m in Sources */,
E824543826F5820A00BE8163 /* XPLoginVerifBindPhonePresenter.m in Sources */, E824543826F5820A00BE8163 /* XPLoginVerifBindPhonePresenter.m in Sources */,
E83A2A4F282F5B95002AD58F /* XPEnterpriseChargeListTableViewCell.m in Sources */,
E8B846BF26FD827900A777FE /* XPMineUserInfoAlbumViewController.m in Sources */, E8B846BF26FD827900A777FE /* XPMineUserInfoAlbumViewController.m in Sources */,
E84CBCE128436D3C00D43221 /* XPMineContactViewController.m in Sources */, E84CBCE128436D3C00D43221 /* XPMineContactViewController.m in Sources */,
E8D48253278D8228003C1D08 /* AcrossRoomPKPanelModel.m in Sources */, E8D48253278D8228003C1D08 /* AcrossRoomPKPanelModel.m in Sources */,
@@ -9510,6 +9636,7 @@
E8E5E19427C36BA600F457D8 /* XPHomeBannerTableViewCell.m in Sources */, E8E5E19427C36BA600F457D8 /* XPHomeBannerTableViewCell.m in Sources */,
E8950189282CFFB1007E459A /* XPMonentsLayoutConfig.m in Sources */, E8950189282CFFB1007E459A /* XPMonentsLayoutConfig.m in Sources */,
9BD9A18727A120FD004186FE /* XPMineVisitorUnReadModel.m in Sources */, 9BD9A18727A120FD004186FE /* XPMineVisitorUnReadModel.m in Sources */,
E83A2A46282F5662002AD58F /* XPEnterpriseRechargeHeaderView.m in Sources */,
E824543D26F58C3A00BE8163 /* XPLoginBindSuccessView.m in Sources */, E824543D26F58C3A00BE8163 /* XPLoginBindSuccessView.m in Sources */,
E8A6C29527CF441200AC7442 /* XPHomeAttentionCollectionViewCell.m in Sources */, E8A6C29527CF441200AC7442 /* XPHomeAttentionCollectionViewCell.m in Sources */,
9BE01AF72893E7F500B50299 /* XPNewUserRechargeCollectionViewCell.m in Sources */, 9BE01AF72893E7F500B50299 /* XPNewUserRechargeCollectionViewCell.m in Sources */,
@@ -9580,7 +9707,6 @@
E8BD0F8828A9E9E400DE050D /* RoomSailingPrizeModel.m in Sources */, E8BD0F8828A9E9E400DE050D /* RoomSailingPrizeModel.m in Sources */,
E8A1F79C290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.m in Sources */, E8A1F79C290644DC0099C952 /* XPRoomMorePlayCollectionViewCell.m in Sources */,
E8659909273E800D00EE349D /* XPGiftCollectionViewFlowLayout.m in Sources */, E8659909273E800D00EE349D /* XPGiftCollectionViewFlowLayout.m in Sources */,
E8B846CB26FDD7CD00A777FE /* XPMineRechargeViewController.m in Sources */,
E86596512701A1C000846EBD /* StatisticsService.m in Sources */, E86596512701A1C000846EBD /* StatisticsService.m in Sources */,
E824544026F58F9400BE8163 /* XPMinePayPwdViewController.m in Sources */, E824544026F58F9400BE8163 /* XPMinePayPwdViewController.m in Sources */,
9BE01AED2893D0DF00B50299 /* XPDressShopSearchTableViewCell.m in Sources */, 9BE01AED2893D0DF00B50299 /* XPDressShopSearchTableViewCell.m in Sources */,
@@ -9624,6 +9750,7 @@
E8A3538E28FE5CED0014A784 /* Api+WishGift.m in Sources */, E8A3538E28FE5CED0014A784 /* Api+WishGift.m in Sources */,
180116F9279E8C4C00F2CBC0 /* PLTimeUtil.m in Sources */, 180116F9279E8C4C00F2CBC0 /* PLTimeUtil.m in Sources */,
9BA708A12823D4C900C474A2 /* LittleGameScrollStageView.m in Sources */, 9BA708A12823D4C900C474A2 /* LittleGameScrollStageView.m in Sources */,
E83A2A41282F4EFA002AD58F /* EnterpriseRechargeListInfoModel.m in Sources */,
E8834E4828003E1E0029CCC1 /* XPGuildMangerListPresenter.m in Sources */, E8834E4828003E1E0029CCC1 /* XPGuildMangerListPresenter.m in Sources */,
E8ACEFF227C8E8F000F66D1A /* HomePlayRoomModel.m in Sources */, E8ACEFF227C8E8F000F66D1A /* HomePlayRoomModel.m in Sources */,
E80016232803CA5D00D6D17A /* XPMineGuildIncomeRecordViewController.m in Sources */, E80016232803CA5D00D6D17A /* XPMineGuildIncomeRecordViewController.m in Sources */,
@@ -9642,6 +9769,7 @@
E8998D8B2859CB6A00C68558 /* XPMineUserInfoGiftWallSubViewController.m in Sources */, E8998D8B2859CB6A00C68558 /* XPMineUserInfoGiftWallSubViewController.m in Sources */,
E8DEC9A42764A6600078CB70 /* XPMoreMenuPresenter.m in Sources */, E8DEC9A42764A6600078CB70 /* XPMoreMenuPresenter.m in Sources */,
9B2A12D82783F42300CED41B /* XPNoblePrivilegeContentCell.m in Sources */, 9B2A12D82783F42300CED41B /* XPNoblePrivilegeContentCell.m in Sources */,
E854DFD72850AAC20033120D /* XPMineHalfRechargeViewController.m in Sources */,
189DD53426DE255300AB55B1 /* TabbarViewController.m in Sources */, 189DD53426DE255300AB55B1 /* TabbarViewController.m in Sources */,
E81EF6E4279AB92E00FF3EDE /* LittleGameInfoModel.m in Sources */, E81EF6E4279AB92E00FF3EDE /* LittleGameInfoModel.m in Sources */,
9BA3B40B293DCDFD0071DF1C /* XPVersionUpdateModel.m in Sources */, 9BA3B40B293DCDFD0071DF1C /* XPVersionUpdateModel.m in Sources */,
@@ -9702,6 +9830,7 @@
187EEEFE26E8A82C002833B2 /* NSObject+AutoCoding.m in Sources */, 187EEEFE26E8A82C002833B2 /* NSObject+AutoCoding.m in Sources */,
E873EB0C2809850D0071030D /* MessageContentCustomView.m in Sources */, E873EB0C2809850D0071030D /* MessageContentCustomView.m in Sources */,
E884C36F2743AAC800E1EBED /* AttachmentModel.m in Sources */, E884C36F2743AAC800E1EBED /* AttachmentModel.m in Sources */,
E8FDB61D28325187003EFEA9 /* XPEnterpriseFirstRechargePayView.m in Sources */,
E8AC721926F46E0B007D6E91 /* XPMineSettingItemModel.m in Sources */, E8AC721926F46E0B007D6E91 /* XPMineSettingItemModel.m in Sources */,
E8E859D428264C2300EE4857 /* DDASLLogger.m in Sources */, E8E859D428264C2300EE4857 /* DDASLLogger.m in Sources */,
9BE01AF02893E31700B50299 /* NewUserRechargeModel.m in Sources */, 9BE01AF02893E31700B50299 /* NewUserRechargeModel.m in Sources */,
@@ -9714,6 +9843,7 @@
E800805D27FD34E90055A8AB /* XPMineGuildViewController.m in Sources */, E800805D27FD34E90055A8AB /* XPMineGuildViewController.m in Sources */,
E8834E50280051600029CCC1 /* XPMineGuildManagerPerViewController.m in Sources */, E8834E50280051600029CCC1 /* XPMineGuildManagerPerViewController.m in Sources */,
9BC5C8F9277B02EA007C8719 /* Api+NobleCenter.m in Sources */, 9BC5C8F9277B02EA007C8719 /* Api+NobleCenter.m in Sources */,
E83A2A3A282F4EA7002AD58F /* XPEnterpriseRechargePresenter.m in Sources */,
E83ABF06280EDE2B00322EE4 /* MessageContentLevelUpgradeView.m in Sources */, E83ABF06280EDE2B00322EE4 /* MessageContentLevelUpgradeView.m in Sources */,
180806D827293794001FD836 /* NSObject+MJExtension.m in Sources */, 180806D827293794001FD836 /* NSObject+MJExtension.m in Sources */,
E88863D3278ED4C0004BCFAB /* Timestamp.m in Sources */, E88863D3278ED4C0004BCFAB /* Timestamp.m in Sources */,
@@ -9732,13 +9862,13 @@
E80A086527F318620027B30C /* XPRoomPKPlayingView.m in Sources */, E80A086527F318620027B30C /* XPRoomPKPlayingView.m in Sources */,
E8E70D9226F2F60C00F03460 /* XPMineItemModel.m in Sources */, E8E70D9226F2F60C00F03460 /* XPMineItemModel.m in Sources */,
189DD74A26E21D8400AB55B1 /* SSKeychain.m in Sources */, 189DD74A26E21D8400AB55B1 /* SSKeychain.m in Sources */,
E854DFDD2850BCE30033120D /* XPEnterpriseHalfCollectionViewCell.m in Sources */,
E8DACCFE27673F870052092C /* GiftValueInfoModel.m in Sources */, E8DACCFE27673F870052092C /* GiftValueInfoModel.m in Sources */,
E8412F9927799249006E1101 /* InviteFansModel.m in Sources */, E8412F9927799249006E1101 /* InviteFansModel.m in Sources */,
E88C72912828EA4E0047FB2B /* Music+CoreDataProperties.m in Sources */, E88C72912828EA4E0047FB2B /* Music+CoreDataProperties.m in Sources */,
E84BF7CA277AF79D00EF8877 /* XPRoomSettingTagCell.m in Sources */, E84BF7CA277AF79D00EF8877 /* XPRoomSettingTagCell.m in Sources */,
9BE9F0F927FED12D00667200 /* XPAnchorFansPrivilegeModel.m in Sources */, 9BE9F0F927FED12D00667200 /* XPAnchorFansPrivilegeModel.m in Sources */,
E8AB631628ADE2D20023B0D2 /* XPMonentsTopicLatestViewController.m in Sources */, E8AB631628ADE2D20023B0D2 /* XPMonentsTopicLatestViewController.m in Sources */,
E8B846CF26FDD96100A777FE /* XPMineRechageHeadView.m in Sources */,
E852D74728633E92001465ED /* MonentsCommentReplyModel.m in Sources */, E852D74728633E92001465ED /* MonentsCommentReplyModel.m in Sources */,
186A534926FC6ED900D67B2C /* TTAlertMessageAttributedConfig.m in Sources */, 186A534926FC6ED900D67B2C /* TTAlertMessageAttributedConfig.m in Sources */,
E8B3E80C2848BA40009746AB /* NewUserGreetModel.m in Sources */, E8B3E80C2848BA40009746AB /* NewUserGreetModel.m in Sources */,
@@ -9772,6 +9902,7 @@
E8AC722426F47E5E007D6E91 /* XPMineFeedbackViewController.m in Sources */, E8AC722426F47E5E007D6E91 /* XPMineFeedbackViewController.m in Sources */,
E8664ED627E434D5000171BA /* XPRoomPKRecordViewController.m in Sources */, E8664ED627E434D5000171BA /* XPRoomPKRecordViewController.m in Sources */,
E87E914E2796678D00A7B3F2 /* XPMineDressEmptyTableViewCell.m in Sources */, E87E914E2796678D00A7B3F2 /* XPMineDressEmptyTableViewCell.m in Sources */,
E83A2A4C282F5B6A002AD58F /* XPEnterpriseChargeTypeTableViewCell.m in Sources */,
9B7D804D27537950003DAC0C /* MessageCell.m in Sources */, 9B7D804D27537950003DAC0C /* MessageCell.m in Sources */,
9B044D9D282D2A6400DE4859 /* XPRoomAnchorRankEnterView.m in Sources */, 9B044D9D282D2A6400DE4859 /* XPRoomAnchorRankEnterView.m in Sources */,
E8950180282CAC49007E459A /* XPMonentsUserInfoView.m in Sources */, E8950180282CAC49007E459A /* XPMonentsUserInfoView.m in Sources */,
@@ -9791,6 +9922,7 @@
9B1B72AF280031F8003FACE9 /* XPAnchorPKSelectRoomView.m in Sources */, 9B1B72AF280031F8003FACE9 /* XPAnchorPKSelectRoomView.m in Sources */,
E8D4824A278D1F73003C1D08 /* XPAcrossRoomPKInviteView.m in Sources */, E8D4824A278D1F73003C1D08 /* XPAcrossRoomPKInviteView.m in Sources */,
189DD73F26E21C3F00AB55B1 /* YYUtility+Carrier.m in Sources */, 189DD73F26E21C3F00AB55B1 /* YYUtility+Carrier.m in Sources */,
E83A2A55282F5C50002AD58F /* XPEnterpriseRechargeFootView.m in Sources */,
E87AE7F9277AABE50037823A /* XPRoomTagListViewController.m in Sources */, E87AE7F9277AABE50037823A /* XPRoomTagListViewController.m in Sources */,
18E7B26926E8D5D60064BC9B /* XCCurrentVCStackManager.m in Sources */, 18E7B26926E8D5D60064BC9B /* XCCurrentVCStackManager.m in Sources */,
E824544326F58FCE00BE8163 /* XPMinePayPwdInputView.m in Sources */, E824544326F58FCE00BE8163 /* XPMinePayPwdInputView.m in Sources */,
@@ -9812,6 +9944,7 @@
E84BF7DD277C765400EF8877 /* XPRoomRoleEmptyTableViewCell.m in Sources */, E84BF7DD277C765400EF8877 /* XPRoomRoleEmptyTableViewCell.m in Sources */,
E8F6135C291E26BD00E12650 /* NSMutableDictionary+Saft.m in Sources */, E8F6135C291E26BD00E12650 /* NSMutableDictionary+Saft.m in Sources */,
E8E859C428264C2300EE4857 /* HTTPDynamicFileResponse.m in Sources */, E8E859C428264C2300EE4857 /* HTTPDynamicFileResponse.m in Sources */,
E854DFDA2850AC8D0033120D /* XPEnterprisePayTypeView.m in Sources */,
E8E859D028264C2300EE4857 /* DDData.m in Sources */, E8E859D028264C2300EE4857 /* DDData.m in Sources */,
E800162F2803FF6200D6D17A /* GuildPersonIncomeRecordModel.m in Sources */, E800162F2803FF6200D6D17A /* GuildPersonIncomeRecordModel.m in Sources */,
9BAC92EE28E6989400147DD8 /* XPRoomActivityPlayView.m in Sources */, 9BAC92EE28E6989400147DD8 /* XPRoomActivityPlayView.m in Sources */,
@@ -9915,6 +10048,7 @@
E8DBB70127B6501200AA285D /* XPLittleGameMiniStageView.m in Sources */, E8DBB70127B6501200AA285D /* XPLittleGameMiniStageView.m in Sources */,
E851E46227FF1314002F3ACB /* XPMineGuildEmptyTableViewCell.m in Sources */, E851E46227FF1314002F3ACB /* XPMineGuildEmptyTableViewCell.m in Sources */,
E8DD25DA295583920043C7D5 /* XPAnchorRandomPKRuleView.m in Sources */, E8DD25DA295583920043C7D5 /* XPAnchorRandomPKRuleView.m in Sources */,
E83A2A52282F5BBA002AD58F /* XPEnterpriseChargeListCollectionViewCell.m in Sources */,
E8834E3B280012B60029CCC1 /* XPMineGuildRemoveMemberViewController.m in Sources */, E8834E3B280012B60029CCC1 /* XPMineGuildRemoveMemberViewController.m in Sources */,
9B734F79288A9C4B00CBDAA9 /* XPMineGameTableViewCell.m in Sources */, 9B734F79288A9C4B00CBDAA9 /* XPMineGameTableViewCell.m in Sources */,
E8664EDC27E43632000171BA /* XPRoomPKEmptyTableViewCell.m in Sources */, E8664EDC27E43632000171BA /* XPRoomPKEmptyTableViewCell.m in Sources */,
@@ -9933,6 +10067,7 @@
9B5BF8A827E1BED1005DD346 /* Api+RoomTrumpet.m in Sources */, 9B5BF8A827E1BED1005DD346 /* Api+RoomTrumpet.m in Sources */,
E8751E6B28A64C6E0056EF44 /* XPSailingRankTableViewCell.m in Sources */, E8751E6B28A64C6E0056EF44 /* XPSailingRankTableViewCell.m in Sources */,
9B1B72B528003664003FACE9 /* Api+AnchorPk.m in Sources */, 9B1B72B528003664003FACE9 /* Api+AnchorPk.m in Sources */,
E823E37F290BB54F00EADD86 /* XPNobleRechargeTableViewCell.m in Sources */,
E8EEB90626FC5772007C6EBA /* XPMineUserInfoEditViewController.m in Sources */, E8EEB90626FC5772007C6EBA /* XPMineUserInfoEditViewController.m in Sources */,
E8B846D626FDE01B00A777FE /* XPMineRechargePresenter.m in Sources */, E8B846D626FDE01B00A777FE /* XPMineRechargePresenter.m in Sources */,
E8834E53280052580029CCC1 /* XPMineGuildManagerPerTableViewCell.m in Sources */, E8834E53280052580029CCC1 /* XPMineGuildManagerPerTableViewCell.m in Sources */,
@@ -9962,6 +10097,7 @@
9B86D87D2817EA0900494FCD /* XPNobleSettingViewController.m in Sources */, 9B86D87D2817EA0900494FCD /* XPNobleSettingViewController.m in Sources */,
E82D5C70276AE60000858D6D /* HeadwearModel.m in Sources */, E82D5C70276AE60000858D6D /* HeadwearModel.m in Sources */,
E8A03DEC276301EF0098D9EA /* XPCandyTreeRankView.m in Sources */, E8A03DEC276301EF0098D9EA /* XPCandyTreeRankView.m in Sources */,
E83A2A37282F4E85002AD58F /* XPMineRechargeViewController.m in Sources */,
E880B3A1278BD60C00A83B0D /* XPAcrossRoomPKSelectRoomView.m in Sources */, E880B3A1278BD60C00A83B0D /* XPAcrossRoomPKSelectRoomView.m in Sources */,
9B3C181A292CE4FA003AF543 /* XPAnchorPKMatchView.m in Sources */, 9B3C181A292CE4FA003AF543 /* XPAnchorPKMatchView.m in Sources */,
E80EC80D28ACD84000D133C5 /* QInputBarView.m in Sources */, E80EC80D28ACD84000D133C5 /* QInputBarView.m in Sources */,
@@ -9996,6 +10132,7 @@
E8E7DAEB2745158500C631CC /* XPGiftUserInfoModel.m in Sources */, E8E7DAEB2745158500C631CC /* XPGiftUserInfoModel.m in Sources */,
E83DB487274670DA00D8CBD1 /* XPRoomGiftBroadCastModel.m in Sources */, E83DB487274670DA00D8CBD1 /* XPRoomGiftBroadCastModel.m in Sources */,
9BCF585C279909D7008401A4 /* XPSkillCardEditPropCell.m in Sources */, 9BCF585C279909D7008401A4 /* XPSkillCardEditPropCell.m in Sources */,
E83A2A58282F8590002AD58F /* EnterPrieseRechargeTypeItemModel.m in Sources */,
E88863C6278EAFC3004BCFAB /* XPAcrossRoomPKResultView.m in Sources */, E88863C6278EAFC3004BCFAB /* XPAcrossRoomPKResultView.m in Sources */,
E8AC722C26F49580007D6E91 /* XPMineNotificaViewController.m in Sources */, E8AC722C26F49580007D6E91 /* XPMineNotificaViewController.m in Sources */,
9B335B492925D8A00048A116 /* XPAnchorPKSelectTypeController.m in Sources */, 9B335B492925D8A00048A116 /* XPAnchorPKSelectTypeController.m in Sources */,
@@ -10121,7 +10258,6 @@
9B9DFD9A27DB2194000F95B3 /* XPSessionMessageHeadView.m in Sources */, 9B9DFD9A27DB2194000F95B3 /* XPSessionMessageHeadView.m in Sources */,
18C17A5D26F338F300C48E11 /* XplanFBFlutterViewContainer.m in Sources */, 18C17A5D26F338F300C48E11 /* XplanFBFlutterViewContainer.m in Sources */,
E8901CF628B38D89001E9A92 /* XPGraffitiGiftView.m in Sources */, E8901CF628B38D89001E9A92 /* XPGraffitiGiftView.m in Sources */,
E89DA67527009ACD008483C1 /* XPMineRechargeNavView.m in Sources */,
E81A6546283519CA00F55894 /* MonentsTopicModel.m in Sources */, E81A6546283519CA00F55894 /* MonentsTopicModel.m in Sources */,
E8C1672A2806B1E500ECB15C /* XPGuildSuperAdminSetTableViewCell.m in Sources */, E8C1672A2806B1E500ECB15C /* XPGuildSuperAdminSetTableViewCell.m in Sources */,
E8834E4528003A8F0029CCC1 /* XPMineMangerListViewController.m in Sources */, E8834E4528003A8F0029CCC1 /* XPMineMangerListViewController.m in Sources */,
@@ -10161,6 +10297,7 @@
E87AE7FC277AAC450037823A /* XPRoomTagPresenter.m in Sources */, E87AE7FC277AAC450037823A /* XPRoomTagPresenter.m in Sources */,
E878894C273A607C00BF1D57 /* XPGiftUserCollectionViewCell.m in Sources */, E878894C273A607C00BF1D57 /* XPGiftUserCollectionViewCell.m in Sources */,
181D7F212727D9DB00B7C059 /* SocialStageView.m in Sources */, 181D7F212727D9DB00B7C059 /* SocialStageView.m in Sources */,
E823E37C290BB1FD00EADD86 /* XPNobleRechargeView.m in Sources */,
E8AB630D28ADD8C60023B0D2 /* XPMonentTopicContainerViewController.m in Sources */, E8AB630D28ADD8C60023B0D2 /* XPMonentTopicContainerViewController.m in Sources */,
E8D4DE472940473500EC788D /* GiftTwelveStarFirstModel.m in Sources */, E8D4DE472940473500EC788D /* GiftTwelveStarFirstModel.m in Sources */,
E8A1F7A2290689170099C952 /* XPNobleRankTableViewCell.m in Sources */, E8A1F7A2290689170099C952 /* XPNobleRankTableViewCell.m in Sources */,
@@ -10225,6 +10362,7 @@
E81E09CF290F750800A1F410 /* AdvertiseModel.m in Sources */, E81E09CF290F750800A1F410 /* AdvertiseModel.m in Sources */,
E852D74428633A08001465ED /* MonentsCommentModel.m in Sources */, E852D74428633A08001465ED /* MonentsCommentModel.m in Sources */,
E8C1CD6D27D8938C00376F83 /* XPRoomFaceTitleCollectionViewCell.m in Sources */, E8C1CD6D27D8938C00376F83 /* XPRoomFaceTitleCollectionViewCell.m in Sources */,
E83A2A3E282F4ED3002AD58F /* Api+EnterpriseRecharge.m in Sources */,
E8C1CD7627D8AE3D00376F83 /* XPRoomFacePresenter.m in Sources */, E8C1CD7627D8AE3D00376F83 /* XPRoomFacePresenter.m in Sources */,
18F4043A275E20D900A6C548 /* TRTCRtcImpl.m in Sources */, 18F4043A275E20D900A6C548 /* TRTCRtcImpl.m in Sources */,
E8899C7F27853B6A007944BE /* DatingMicroView.m in Sources */, E8899C7F27853B6A007944BE /* DatingMicroView.m in Sources */,
@@ -10305,6 +10443,7 @@
E8C6FFEA2755040B004DC9F0 /* XPHomeSearchNavView.m in Sources */, E8C6FFEA2755040B004DC9F0 /* XPHomeSearchNavView.m in Sources */,
E80EC80F28ACD84000D133C5 /* QEmotion.m in Sources */, E80EC80F28ACD84000D133C5 /* QEmotion.m in Sources */,
E8E859C628264C2300EE4857 /* HTTPAsyncFileResponse.m in Sources */, E8E859C628264C2300EE4857 /* HTTPAsyncFileResponse.m in Sources */,
E845D16F283354A300BE21F7 /* XPEnterpriseTarotPayView.m in Sources */,
E877A7EB2783E24700EFACED /* DatingStageView.m in Sources */, E877A7EB2783E24700EFACED /* DatingStageView.m in Sources */,
9BD2ECDA288F867000F5CD9A /* XPMineFootPrintTableViewCell.m in Sources */, 9BD2ECDA288F867000F5CD9A /* XPMineFootPrintTableViewCell.m in Sources */,
E8001635280410BD00D6D17A /* XPGuildIncomeSectionView.m in Sources */, E8001635280410BD00D6D17A /* XPGuildIncomeSectionView.m in Sources */,
@@ -10319,6 +10458,7 @@
E851E45B27FF02DF002F3ACB /* XPGuildSearchPresenter.m in Sources */, E851E45B27FF02DF002F3ACB /* XPGuildSearchPresenter.m in Sources */,
E884C36C2743951B00E1EBED /* GiftReceiveInfoModel.m in Sources */, E884C36C2743951B00E1EBED /* GiftReceiveInfoModel.m in Sources */,
9B7B606227BB96E40070BB72 /* XPRoomAnchorInfoCardView.m in Sources */, 9B7B606227BB96E40070BB72 /* XPRoomAnchorInfoCardView.m in Sources */,
E87FCE53282FABC600301132 /* XPEnterpriseRechargePayTableViewCell.m in Sources */,
E80B0734280D740600A79F63 /* MessageContentGuildView.m in Sources */, E80B0734280D740600A79F63 /* MessageContentGuildView.m in Sources */,
E8395334276A03C300CF2F24 /* XPMineDressUpPresenter.m in Sources */, E8395334276A03C300CF2F24 /* XPMineDressUpPresenter.m in Sources */,
9BC5C8F6277B0263007C8719 /* XPNobleCenterListViewController.m in Sources */, 9BC5C8F6277B0263007C8719 /* XPNobleCenterListViewController.m in Sources */,
@@ -10524,7 +10664,7 @@
CODE_SIGN_ENTITLEMENTS = "xplan-ios/xplan-ios.entitlements"; CODE_SIGN_ENTITLEMENTS = "xplan-ios/xplan-ios.entitlements";
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2022111001; CURRENT_PROJECT_VERSION = 2022122201;
DEVELOPMENT_TEAM = 48UCG35Q9W; DEVELOPMENT_TEAM = 48UCG35Q9W;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
@@ -10539,7 +10679,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 5.6.0; MARKETING_VERSION = 5.7.5;
PRODUCT_BUNDLE_IDENTIFIER = com.yinyou.enterprise.ios; PRODUCT_BUNDLE_IDENTIFIER = com.yinyou.enterprise.ios;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@@ -10556,7 +10696,7 @@
CODE_SIGN_ENTITLEMENTS = "xplan-ios/xplan-iosRelease.entitlements"; CODE_SIGN_ENTITLEMENTS = "xplan-ios/xplan-iosRelease.entitlements";
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2022111001; CURRENT_PROJECT_VERSION = 2022122201;
DEVELOPMENT_TEAM = 48UCG35Q9W; DEVELOPMENT_TEAM = 48UCG35Q9W;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
@@ -10571,7 +10711,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 5.6.0; MARKETING_VERSION = 5.7.5;
PRODUCT_BUNDLE_IDENTIFIER = com.yinyou.enterprise.ios; PRODUCT_BUNDLE_IDENTIFIER = com.yinyou.enterprise.ios;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_recharge_alipay@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_recharge_alipay@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_recharge_choose_normal@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_recharge_choose_normal@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_recharge_choose_select@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_recharge_choose_select@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 804 B

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_recharge_wechat@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_recharge_wechat@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_recharge_halt_pay_choose@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_recharge_halt_pay_choose@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 900 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 136 KiB

View File

@@ -36,11 +36,36 @@
<string>wxee68b213a1bd632b</string> <string>wxee68b213a1bd632b</string>
</array> </array>
</dict> </dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>daeplayapp</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>xdx.api.lecheng163.com</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>xdx.api.uat.lecheng163.com</string>
</array>
</dict>
</array> </array>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>2022111001</string> <string>$(CURRENT_PROJECT_VERSION)</string>
<key>LSApplicationQueriesSchemes</key> <key>LSApplicationQueriesSchemes</key>
<array> <array>
<string>alipays</string>
<string>pubgmhd1106467070</string> <string>pubgmhd1106467070</string>
<string>weixin</string> <string>weixin</string>
<string>wechat</string> <string>wechat</string>

View File

@@ -61,6 +61,40 @@
"fontSize": 26 "fontSize": 26
} }
}, },
"welcomePage": {
"mainButton": {
"backgroundColor": "#00FFFFFF",
"backgroundImage": "face_confirm_button@2x.png",
"textColor": "#FFFFFF",
"fontSize": 32,
"textPadding": {
"left": 0,
"right": 0,
"top": 0,
"bottom": 0
}
},
"bannerControl": {
"backgroundColor": "#4E6AF0"
}
},
"privacyPage": {
"mainButton": {
"backgroundColor": "#00FFFFFF",
"backgroundImage": "face_confirm_button@2x.png",
"textColor": "#FFFFFF",
"fontSize": 32,
"textPadding": {
"left": 0,
"right": 0,
"top": 0,
"bottom": 0
}
},
"logoImageView": {
"src": "face_security_icon@2x.png"
}
},
"detectPage": { "detectPage": {
"actionTipText": { "actionTipText": {
"textColor": "#333333", "textColor": "#333333",

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,66 @@
/*
zh.strings
ALRealIdentity
Created by keke feng on 2021/5/12.
Copyright © 2021 Alibaba. All rights reserved.
*/
"rpsdkGuidTitle"="请本人亲自操作";
"rpsdkGuidSubtitle"="脸部无遮挡,正对手机,他人操作无效";
"rpsdkGuidButtonText"="开始验证";
"rpsdkGuidPrivacyText"="人脸信息非您许可不会用于其它用途";
"rpsdkDetectYawText"="左右摇头";
"rpsdkDetectBlinkText"="眨下眼";
"rpsdkDetectMouthText"="张下嘴";
"rpsdkDetectPitchText"="上下点头";
"rpsdkDetectStillText"="请注视屏幕";
"rpsdkDetectDarkTip"="太暗了";
"rpsdkDetectTooBrightTip"="光线太亮";
"rpsdkDetectFaceLightTip"="请面部正对光源";
"rpsdkDetectLDistanceTip"="靠近点";
"rpsdkDetectSDistanceTip"="离远点";
"rpsdkDetectRaisePhoneTip"="手机拿高点";
"rpsdkDetectShakeTip"="亲,手机别晃";
"rpsdkDetectActionTooSmallTip"="动作大一点";
"rpsdkDetectPitchTip"="请正对屏幕";
"rpsdkDetectKeepFaceTip"="请保持面孔在框内";
"rpsdkDetectHomeEventTip"="采集中断了,重新开始吧";
"rpsdkDetectActionFailTip"="验证不通过";
"rpsdkDetectActionFailMsgTip"="动作频率不要太快,建议摘掉眼镜等饰品";
"rpsdkDetectActionFailMsgTimeout"="请保持面部在框内,并按提示做操作";
"rpsdkDetectActionFailTipOcclusion"="请不要遮挡嘴部";
"rpsdkDetectActionFailTipFaceDismiss"="请保持手机平稳";
"rpsdkDetectActionFailTipActionWrong"="请按提示做动作";
"rpsdkDetectActionFailTipCommon"="动作不要太快";
"rpsdkDetectRecapFailMsgTip"="验证失败,请确保是账户本人操作";
"rpsdkDetectRecognizeFailTip"="验证未通过";
"rpsdkDetectRecognizeFailMsgTip"="请确保是本人操作,在脸部无遮挡、光线良好的环境下重试。";
"rpsdkDetectNetworkFailTip"="网络无法连接";
"rpsdkDetectUploadImageFailTip"="图片上传失败"; // 英语待翻译
"rpsdkDetectARUPUploadFailTip"="数据上传失败"; // 日语和英语待翻译
"rpsdkDetectNetworkFailMsgTip"="请检查网络或稍后再试";
"rpsdkDetectRetryLimitTip"="验证不通过,请稍后再试";
"rpsdkDetectHandleLimitTip"="操作太频繁了,请稍后再试";
"rpsdkDetectImageQualityLessTip"="采集未通过,再试一次吧";
"rpsdkDetectCameraPermissionDeniedTitle"="无法打开相机";
"rpsdkDetectCameraPermissionDeniedMsg"="需要使用前置摄像头进行人脸验证,请开启本应用的摄像头访问权限";
"rpsdkDetectCameraSetting"="去开启";
"rpsdkDetectCameraInitFail"="摄像头初始化失败";
"rpsdkDetectSystemErrorTip"="系统错误";
"rpsdkDetectOK"="确定";
"rpsdkDetectCancel"="取消";
"rpsdkDetectRetry"="再来一次";
"rpsdkDetectBack"="退出重试";
"rpsdkDetectAlertTitle"="退出验证将无法保存您当前的验证进度,您确认要退出验证吗?";
"rpsdkDetectLoadingText"="正在识别,请稍等";
"rpsdkDetectSoundBlink"="face_blink";
"rpsdkDetectSoundMouth"="face_open_mouth";
"rpsdkDetectSoundPitch"="face_pitch_up";
"rpsdkDetectSoundYaw"="face_yaw_left_right";

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@@ -66,6 +66,12 @@ NS_SWIFT_NAME(RPConfiguration)
*/ */
@property (nonatomic, assign) BOOL showErrorResultPage; @property (nonatomic, assign) BOOL showErrorResultPage;
/**
活体检测页面是否等待服务端认证结果,默认不等待。
此配置只适用于 native 接口start 接口请在控制台配置。
*/
@property (nonatomic, assign) BOOL shouldWaitResult DEPRECATED_MSG_ATTRIBUTE("v4.8.0 废弃,请及时删除, 默认等待服务端认证结果");
/** /**
自定义活体检测页面展示方法。 自定义活体检测页面展示方法。
*/ */
@@ -77,7 +83,7 @@ NS_SWIFT_NAME(RPConfiguration)
@property (nonatomic, copy, nullable) RPViewControllerHandler dismissHandler; @property (nonatomic, copy, nullable) RPViewControllerHandler dismissHandler;
/** /**
页面弹出方式,默认为 present。 页面弹出方式,默认为 present。 建议 present如果你是 push 且支持横屏则需要在 nav 层控制实人的 VC 强制竖屏
*/ */
@property (nonatomic, assign) RPTransitionStyle transitionStyle; @property (nonatomic, assign) RPTransitionStyle transitionStyle;

View File

@@ -7,7 +7,7 @@
// //
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import "RPSDKInterface.h" #import <RPSDK/RPSDKInterface.h>
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN

View File

@@ -10,7 +10,7 @@
#import <RPSDK/RPSDK+Deprecated.h> #import <RPSDK/RPSDK+Deprecated.h>
// RPSDK 版本号 // RPSDK 版本号
#define RPSDKVersionString @"4.10.0" #define RPSDKVersionString @"4.13.3"
// RPSDK 发布时间 // RPSDK 发布时间
#define RPSDKReleaseDateString @"20210520" #define RPSDKReleaseDateString @"20211231"

View File

@@ -8,8 +8,8 @@
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "RPConfiguration.h" #import <RPSDK/RPConfiguration.h>
#import "RPResult.h" #import <RPSDK/RPResult.h>
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@@ -25,21 +25,15 @@ NS_SWIFT_NAME(RPSDK)
+ (void)setup; + (void)setup;
/** /**
使用默认配置开始实人认证,适用于 H5 + Native 的认证方案。 优先推荐使用此方法
使用 UI 默认配置。 开始实人认证,使用默认 UI 配置,适用于纯 Native 的认证方案。支持认证基础方案列表如下:
* RPBioOnly
@param verifyToken 实人认证流程的唯一标识,一般从接入方自己的服务端获取,有效时间 30 分钟。 * RPBioOnlyPro
@param viewController 调用实人认证的视图控制器。 * FVBioOnly
@param completion 实人认证结果回调。 * FDBioOnly
*/
+ (void)startWithVerifyToken:(NSString *)verifyToken 认证方案介绍: https://help.aliyun.com/document_detail/127757.html
viewController:(UIViewController *)viewController 支持引导页、隐私页、活体页,如果您的方案需要’拍证件照‘或者’手输身份证‘需求,则请使用 startWithVerifyToken 方法。
completion:(RPCompletion _Nullable)completion;
/**
开始实人认证,适用于纯 Native 的认证方案。
只支持纯人脸的登陆 / 解锁 / 认证功能,纯 H5 方案不支持此方法。
使用 UI 默认配置。
@param verifyToken 实人认证流程的唯一标识,一般从接入方自己的服务端获取,有效时间 30 分钟。 @param verifyToken 实人认证流程的唯一标识,一般从接入方自己的服务端获取,有效时间 30 分钟。
@param viewController 调用实人认证的视图控制器。 @param viewController 调用实人认证的视图控制器。
@@ -50,33 +44,15 @@ NS_SWIFT_NAME(RPSDK)
completion:(RPCompletion _Nullable)completion; completion:(RPCompletion _Nullable)completion;
/** /**
开始实人认证,使用指定的 H5 地址作为认证入口。 优先推荐使用此方法
使用 UI 默认配置。 开始实人认证,可自定义 UI 配置,适用于纯 Native 的认证方案。支持认证基础方案列表如下:
* RPBioOnly
@param url 实人认证流程的地址。 * RPBioOnlyPro
@param viewController 调用实人认证的视图控制器。 * FVBioOnly
@param completion 实人认证结果回调。 * FDBioOnly
*/
+ (void)startByURL:(NSString *)url 认证方案介绍: https://help.aliyun.com/document_detail/127757.html
viewController:(UIViewController *)viewController 支持引导页、隐私页、活体页,如果您的方案需要’拍证件照‘或者’手输身份证‘需求,则请使用 startWithVerifyToken 方法。
completion:(RPCompletion _Nullable)completion;
/**
开始实人认证,适用于 H5 + Native 的认证方案。
@param verifyToken 实人认证流程的唯一标识,一般从接入方自己的服务端获取,有效时间 30 分钟。
@param viewController 调用实人认证的视图控制器。
@param configuration 实人认证配置。
@param completion 实人认证结果回调。
*/
+ (void)startWithVerifyToken:(NSString *)verifyToken
viewController:(UIViewController *)viewController
configuration:(RPConfiguration *)configuration
completion:(RPCompletion _Nullable)completion;
/**
开始实人认证,适用于纯 Native 的认证方案。
只支持纯人脸的登陆 / 解锁 / 认证功能,纯 H5 方案不支持此方法。
@param verifyToken 实人认证流程的唯一标识,一般从接入方自己的服务端获取,有效时间 30 分钟。 @param verifyToken 实人认证流程的唯一标识,一般从接入方自己的服务端获取,有效时间 30 分钟。
@param viewController 调用实人认证的视图控制器。 @param viewController 调用实人认证的视图控制器。
@@ -91,7 +67,54 @@ NS_SWIFT_NAME(RPSDK)
completion:(RPCompletion _Nullable)completion; completion:(RPCompletion _Nullable)completion;
/** /**
开始实人认证,使用指定的 H5 地址作为认证入口。 开始实人认证,使用默认 UI 配置,适用于需要’拍证件照‘或者’手输身份证‘的认证方案, 支持方案列表如下:
* RPBioID
* RPBasic
* RPManual
认证方案介绍: https://help.aliyun.com/document_detail/127757.html
@param verifyToken 实人认证流程的唯一标识,一般从接入方自己的服务端获取,有效时间 30 分钟。
@param viewController 调用实人认证的视图控制器。
@param completion 实人认证结果回调。
*/
+ (void)startWithVerifyToken:(NSString *)verifyToken
viewController:(UIViewController *)viewController
completion:(RPCompletion _Nullable)completion;
/**
开始实人认证,可自定义 UI 配置,适用于需要’拍证件照‘或者’手输身份证‘的认证方案, 支持方案列表如下:
* RPBioID
* RPBasic
* RPManual
认证方案介绍: https://help.aliyun.com/document_detail/127757.html
@param verifyToken 实人认证流程的唯一标识,一般从接入方自己的服务端获取,有效时间 30 分钟。
@param viewController 调用实人认证的视图控制器。
@param configuration 实人认证配置。
@param completion 实人认证结果回调。
*/
+ (void)startWithVerifyToken:(NSString *)verifyToken
viewController:(UIViewController *)viewController
configuration:(RPConfiguration *)configuration
completion:(RPCompletion _Nullable)completion;
/**
废弃!!! 开始实人认证,使用指定的 H5 地址作为认证入口。 建议使用 startWithVerifyToken 接口,如不能满足需求可以咨询实人开发同学
使用 UI 默认配置。
@param url 实人认证流程的地址。
@param viewController 调用实人认证的视图控制器。
@param completion 实人认证结果回调。
*/
+ (void)startByURL:(NSString *)url
viewController:(UIViewController *)viewController
completion:(RPCompletion _Nullable)completion
DEPRECATED_MSG_ATTRIBUTE("建议使用 startWithVerifyToken 接口,如不能满足需求可以咨询实人开发或产品同学,计划于 2021.12.12 之后版本下线");
/**
废弃!!! 开始实人认证,使用指定的 H5 地址作为认证入口。建议使用 startWithVerifyToken 接口,如不能满足需求可以咨询实人开发同学
@param url 实人认证流程的地址。 @param url 实人认证流程的地址。
@param viewController 调用实人认证的视图控制器。 @param viewController 调用实人认证的视图控制器。
@@ -100,7 +123,8 @@ NS_SWIFT_NAME(RPSDK)
+ (void)startByURL:(NSString *)url + (void)startByURL:(NSString *)url
viewController:(UIViewController *)viewController viewController:(UIViewController *)viewController
configuration:(RPConfiguration *)configuration configuration:(RPConfiguration *)configuration
completion:(RPCompletion _Nullable)completion; completion:(RPCompletion _Nullable)completion
DEPRECATED_MSG_ATTRIBUTE("建议使用 startWithVerifyToken 接口,如不能满足需求可以咨询实人认证开发或产品,计划于 2021.12.12 之后版本下线");
@end @end

View File

@@ -79,7 +79,7 @@
@param binaryCode 需要重新加载的binary code @param binaryCode 需要重新加载的binary code
@param error 错误 @param error 错误
*/ */
- (void) reloadLiteVMInstance: (LiteVMInstance*) instance - (BOOL) reloadLiteVMInstance: (LiteVMInstance*) instance
binary: (NSData*) binaryCode binary: (NSData*) binaryCode
error: (NSError**) error; error: (NSError**) error;
@@ -90,7 +90,7 @@
@param instance LVM实例 @param instance LVM实例
@param error 错误 @param error 错误
*/ */
- (void) destroyLiteVMInstance: (LiteVMInstance*) instance - (BOOL) destroyLiteVMInstance: (LiteVMInstance*) instance
error: (NSError**) error; error: (NSError**) error;
@@ -103,7 +103,7 @@
@param param 参数数组 @param param 参数数组
@param error 错误 @param error 错误
*/ */
- (void) callLiteVMVoidMethod: (LiteVMInstance*) instance - (BOOL) callLiteVMVoidMethod: (LiteVMInstance*) instance
funtionIndex: (int) index funtionIndex: (int) index
paramArray: (NSArray<LiteVMParameterWrapper*>*) param paramArray: (NSArray<LiteVMParameterWrapper*>*) param
error: (NSError**) error; error: (NSError**) error;

View File

@@ -15,31 +15,31 @@
#ifdef _SG_INTERNAL_VERSION_ #ifdef _SG_INTERNAL_VERSION_
#import "ISecurityGuardSafeToken.h" #import <SGMain/ISecurityGuardSafeToken.h>
#import "ISecurityGuardInitialize.h" #import <SGMain/ISecurityGuardInitialize.h>
#import "ISecurityGuardDataCollection.h" #import <SGMain/ISecurityGuardDataCollection.h>
#import "ISecurityGuardStaticDataStore.h" #import <SGMain/ISecurityGuardStaticDataStore.h>
#import "ISecurityGuardStaticDataEncrypt.h" #import <SGMain/ISecurityGuardStaticDataEncrypt.h>
#import "ISecurityGuardDynamicDataEncrypt.h" #import <SGMain/ISecurityGuardDynamicDataEncrypt.h>
#import "ISecurityGuardDynamicDataStore.h" #import <SGMain/ISecurityGuardDynamicDataStore.h>
#import "ISecurityGuardSecureSignature.h" #import <SGMain/ISecurityGuardSecureSignature.h>
#import "ISecurityGuardAtlasEncrypt.h" #import <SGMain/ISecurityGuardAtlasEncrypt.h>
#endif #endif
#import "ISecurityGuardOpenSafeToken.h" #import <SGMain/ISecurityGuardOpenSafeToken.h>
#import "ISecurityGuardOpenInitialize.h" #import <SGMain/ISecurityGuardOpenInitialize.h>
#import "ISecurityGuardOpenDataCollection.h" #import <SGMain/ISecurityGuardOpenDataCollection.h>
#import "ISecurityGuardOpenStaticDataStore.h" #import <SGMain/ISecurityGuardOpenStaticDataStore.h>
#import "ISecurityGuardOpenStaticDataEncrypt.h" #import <SGMain/ISecurityGuardOpenStaticDataEncrypt.h>
#import "ISecurityGuardOpenDynamicDataEncrypt.h" #import <SGMain/ISecurityGuardOpenDynamicDataEncrypt.h>
#import "ISecurityGuardOpenDynamicDataStore.h" #import <SGMain/ISecurityGuardOpenDynamicDataStore.h>
#import "ISecurityGuardOpenSecureSignature.h" #import <SGMain/ISecurityGuardOpenSecureSignature.h>
#import "ISecurityGuardOpenAtlasEncrypt.h" #import <SGMain/ISecurityGuardOpenAtlasEncrypt.h>
#import "ISecurityGuardOpenUMID.h" #import <SGMain/ISecurityGuardOpenUMID.h>
#import "ISecurityGuardOpenStaticKeyEncrypt.h" #import <SGMain/ISecurityGuardOpenStaticKeyEncrypt.h>
#import "ISecurityGuardOpenOpenSDK.h" #import <SGMain/ISecurityGuardOpenOpenSDK.h>
#import "ISecurityGuardOpenLiteVMService.h" #import <SGMain/ISecurityGuardOpenLiteVMService.h>

View File

@@ -3,13 +3,13 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>BuildMachineOSBuild</key> <key>BuildMachineOSBuild</key>
<string>19G2021</string> <string>20F71</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>com.alimobilesec.SGMain</string> <string>com.alimobilesec.SGMain</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>SGMain</string> <string>SGMain</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>5.5.27</string> <string>5.5.64</string>
<key>CFBundleSupportedPlatforms</key> <key>CFBundleSupportedPlatforms</key>
<array> <array>
<string>iPhoneOS</string> <string>iPhoneOS</string>
@@ -17,19 +17,19 @@
<key>DTCompiler</key> <key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string> <string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key> <key>DTPlatformBuild</key>
<string>16B91</string> <string>18B79</string>
<key>DTPlatformName</key> <key>DTPlatformName</key>
<string>iphoneos</string> <string>iphoneos</string>
<key>DTPlatformVersion</key> <key>DTPlatformVersion</key>
<string>12.1</string> <string>14.2</string>
<key>DTSDKBuild</key> <key>DTSDKBuild</key>
<string>16B91</string> <string>18B79</string>
<key>DTSDKName</key> <key>DTSDKName</key>
<string>iphoneos12.1</string> <string>iphoneos14.2</string>
<key>DTXcode</key> <key>DTXcode</key>
<string>1010</string> <string>1220</string>
<key>DTXcodeBuild</key> <key>DTXcodeBuild</key>
<string>10B61</string> <string>12B45b</string>
<key>MinimumOSVersion</key> <key>MinimumOSVersion</key>
<string>9.0</string> <string>9.0</string>
<key>UIDeviceFamily</key> <key>UIDeviceFamily</key>

View File

@@ -15,18 +15,18 @@
#ifdef _SG_INTERNAL_VERSION_ #ifdef _SG_INTERNAL_VERSION_
#import "ISecurityGuardRootDetect.h" #import <SGSecurityBody/ISecurityGuardRootDetect.h>
#import "ISecurityGuardSecurityBody.h" #import <SGSecurityBody/ISecurityGuardSecurityBody.h>
#import "ISecurityGuardSimulatorDetect.h" #import <SGSecurityBody/ISecurityGuardSimulatorDetect.h>
#import "ISecurityGuardPageTrack.h" #import <SGSecurityBody/ISecurityGuardPageTrack.h>
#else #else
#import "ISecurityGuardOpenJAQVerification.h" #import <SGSecurityBody/ISecurityGuardOpenJAQVerification.h>
#endif #endif
#import "ISecurityGuardOpenSecurityBody.h" #import <SGSecurityBody/ISecurityGuardOpenSecurityBody.h>
#import "ISecurityGuardOpenSimulatorDetect.h" #import <SGSecurityBody/ISecurityGuardOpenSimulatorDetect.h>
#import "ISecurityGuardOpenLBSRisk.h" #import <SGSecurityBody/ISecurityGuardOpenLBSRisk.h>
#endif /* SGSecurityBody_h */ #endif /* SGSecurityBody_h */

View File

@@ -3,13 +3,13 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>BuildMachineOSBuild</key> <key>BuildMachineOSBuild</key>
<string>19G2021</string> <string>20F71</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>com.alimobilesec.SGSecurityBody</string> <string>com.alimobilesec.SGSecurityBody</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>SGSecurityBody</string> <string>SGSecurityBody</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>5.5.33</string> <string>5.5.74</string>
<key>CFBundleSupportedPlatforms</key> <key>CFBundleSupportedPlatforms</key>
<array> <array>
<string>iPhoneOS</string> <string>iPhoneOS</string>
@@ -17,19 +17,19 @@
<key>DTCompiler</key> <key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string> <string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key> <key>DTPlatformBuild</key>
<string>16B91</string> <string>18B79</string>
<key>DTPlatformName</key> <key>DTPlatformName</key>
<string>iphoneos</string> <string>iphoneos</string>
<key>DTPlatformVersion</key> <key>DTPlatformVersion</key>
<string>12.1</string> <string>14.2</string>
<key>DTSDKBuild</key> <key>DTSDKBuild</key>
<string>16B91</string> <string>18B79</string>
<key>DTSDKName</key> <key>DTSDKName</key>
<string>iphoneos12.1</string> <string>iphoneos14.2</string>
<key>DTXcode</key> <key>DTXcode</key>
<string>1010</string> <string>1220</string>
<key>DTXcodeBuild</key> <key>DTXcodeBuild</key>
<string>10B61</string> <string>12B45b</string>
<key>MinimumOSVersion</key> <key>MinimumOSVersion</key>
<string>9.0</string> <string>9.0</string>
<key>UIDeviceFamily</key> <key>UIDeviceFamily</key>

View File

@@ -72,6 +72,15 @@
*/ */
- (NSData*) dynamicDecryptByteArrayDDp: (NSData*) cipherByteArray; - (NSData*) dynamicDecryptByteArrayDDp: (NSData*) cipherByteArray;
/**
* 判断是否有数据校验功能,避免异常数据解密输出错误结果
* @param cipherText 需要判断的密文字符串
* @return 是否是具有校验的密文格式
*/
- (BOOL) isVerifyCrypt: (NSString*) cipherText;
@end @end
#endif #endif

View File

@@ -28,7 +28,8 @@
*/ */
- (NSInteger) initialize: (void *)authCode; - (NSInteger) initialize: (void *)authCode;
- (NSInteger) initialize: (void *)authCode
withCustomBundlePath:(NSString*) customBundlePath;
@end @end

View File

@@ -160,6 +160,18 @@ typedef enum {
+ (OpenSecurityGuardManager*) getInstance: (NSString *)authCode + (OpenSecurityGuardManager*) getInstance: (NSString *)authCode
error: (NSError * __autoreleasing *)error; error: (NSError * __autoreleasing *)error;
/**
* 获取SecurityGuardManager单例对象
*
* @param authCode 初始化传入authcode
* @param customBundlePath 初始化传入自定义BundlePath
*
* @return SecurityGuardManager单例对象
*/
+ (OpenSecurityGuardManager*) getInstance: (NSString *)authCode
withCustomBundlePath: (NSString *)customBundlePath
error: (NSError * __autoreleasing *)error;
/** /**
* 获取安全签名接口 * 获取安全签名接口
* *

View File

@@ -15,64 +15,64 @@
#ifdef _SG_INTERNAL_VERSION_ #ifdef _SG_INTERNAL_VERSION_
#import "SecurityGuardManager.h" #import <SecurityGuardSDK/SecurityGuardManager.h>
#import "SecurityGuardParamContext.h" #import <SecurityGuardSDK/SecurityGuardParamContext.h>
#import "DP.h" #import <SecurityGuardSDK/DP.h>
#import "Initialize/IInitializeComponent.h" #import <SecurityGuardSDK/Initialize/IInitializeComponent.h>
#import "AtlasEncrypt/IAtlasEncryptComponent.h" #import <SecurityGuardSDK/AtlasEncrypt/IAtlasEncryptComponent.h>
#import "NoCaptcha/INoCaptchaComponent.h" #import <SecurityGuardSDK/NoCaptcha/INoCaptchaComponent.h>
#import "NoCaptcha/NoCaptchaDefine.h" #import <SecurityGuardSDK/NoCaptcha/NoCaptchaDefine.h>
#import "UATrace/IUATraceComponent.h" #import <SecurityGuardSDK/UATrace/IUATraceComponent.h>
#import "DynamicDataEncrypt/IDynamicDataEncryptComponent.h" #import <SecurityGuardSDK/DynamicDataEncrypt/IDynamicDataEncryptComponent.h>
#import "SecurityDNS/ISecurityDNSComponent.h" #import <SecurityGuardSDK/SecurityDNS/ISecurityDNSComponent.h>
#import "StaticDataEncrypt/IStaticDataEncryptComponent.h" #import <SecurityGuardSDK/StaticDataEncrypt/IStaticDataEncryptComponent.h>
#import "StaticDataEncrypt/StaticDataEncryptDefine.h" #import <SecurityGuardSDK/StaticDataEncrypt/StaticDataEncryptDefine.h>
#import "SimulatorDetect/ISimulatorDetectComponent.h" #import <SecurityGuardSDK/SimulatorDetect/ISimulatorDetectComponent.h>
#import "DataCollection/IDataCollectionComponent.h" #import <SecurityGuardSDK/DataCollection/IDataCollectionComponent.h>
#import "RootDetect/IRootDetectComponent.h" #import <SecurityGuardSDK/RootDetect/IRootDetectComponent.h>
#import "SecurityBody/ISecurityBodyComponent.h" #import <SecurityGuardSDK/SecurityBody/ISecurityBodyComponent.h>
#import "StaticDataStore/IStaticDataStoreComponent.h" #import <SecurityGuardSDK/StaticDataStore/IStaticDataStoreComponent.h>
#import "StaticDataStore/StaticDataStoreDefine.h" #import <SecurityGuardSDK/StaticDataStore/StaticDataStoreDefine.h>
#import "DynamicDataStore/IDynamicDataStoreComponent.h" #import <SecurityGuardSDK/DynamicDataStore/IDynamicDataStoreComponent.h>
#import "IndieKit/IIndieKitComponent.h" #import <SecurityGuardSDK/IndieKit/IIndieKitComponent.h>
#import "IndieKit/IndieKitDefine.h" #import <SecurityGuardSDK/IndieKit/IndieKitDefine.h>
#import "SecureSignature/ISecureSignatureComponent.h" #import <SecurityGuardSDK/SecureSignature/ISecureSignatureComponent.h>
#import "SecureSignature/SecureSignatureDefine.h" #import <SecurityGuardSDK/SecureSignature/SecureSignatureDefine.h>
#else #else
#import "JAQ/SecurityCipher.h" #import <SecurityGuardSDK/JAQ/SecurityCipher.h>
#import "JAQ/SecuritySignature.h" #import <SecurityGuardSDK/JAQ/SecuritySignature.h>
#import "JAQ/SecurityStorage.h" #import <SecurityGuardSDK/JAQ/SecurityStorage.h>
#import "JAQ/SecurityVerification.h" #import <SecurityGuardSDK/JAQ/SecurityVerification.h>
#import "JAQ/SimulatorDetect.h" #import <SecurityGuardSDK/JAQ/SimulatorDetect.h>
#endif #endif
#import "Open/IOpenSecurityGuardPlugin.h" #import <SecurityGuardSDK/Open/IOpenSecurityGuardPlugin.h>
#import "Open/OpenSecurityGuardManager.h" #import <SecurityGuardSDK/Open/OpenSecurityGuardManager.h>
#import "Open/OpenSecurityGuardParamContext.h" #import <SecurityGuardSDK/Open/OpenSecurityGuardParamContext.h>
#import "Open/OpenUMID/IOpenUMIDComponent.h" #import <SecurityGuardSDK/Open/OpenUMID/IOpenUMIDComponent.h>
#import "Open/OpenStaticKeyEncrypt/IOpenStaticKeyEncryptComponent.h" #import <SecurityGuardSDK/Open/OpenStaticKeyEncrypt/IOpenStaticKeyEncryptComponent.h>
#import "Open/OpenStaticKeyEncrypt/OpenStaticKeyEncryptDefine.h" #import <SecurityGuardSDK/Open/OpenStaticKeyEncrypt/OpenStaticKeyEncryptDefine.h>
#import "Open/OpenStaticDataStore/IOpenStaticDataStoreComponent.h" #import <SecurityGuardSDK/Open/OpenStaticDataStore/IOpenStaticDataStoreComponent.h>
#import "Open/OpenStaticDataStore/OpenStaticDataStoreDefine.h" #import <SecurityGuardSDK/Open/OpenStaticDataStore/OpenStaticDataStoreDefine.h>
#import "Open/OpenStaticDataEncrypt/IOpenStaticDataEncryptComponent.h" #import <SecurityGuardSDK/Open/OpenStaticDataEncrypt/IOpenStaticDataEncryptComponent.h>
#import "Open/OpenStaticDataEncrypt/OpenStaticDataEncryptDefine.h" #import <SecurityGuardSDK/Open/OpenStaticDataEncrypt/OpenStaticDataEncryptDefine.h>
#import "Open/OpenSimulatorDetect/IOpenSimulatorDetectComponent.h" #import <SecurityGuardSDK/Open/OpenSimulatorDetect/IOpenSimulatorDetectComponent.h>
#import "Open/OpenSecurityBody/IOpenSecurityBodyComponent.h" #import <SecurityGuardSDK/Open/OpenSecurityBody/IOpenSecurityBodyComponent.h>
#import "Open/OpenSecurityBody/OpenSecurityBodyDefine.h" #import <SecurityGuardSDK/Open/OpenSecurityBody/OpenSecurityBodyDefine.h>
#import "Open/OpenSecureSignature/IOpenSecureSignatureComponent.h" #import <SecurityGuardSDK/Open/OpenSecureSignature/IOpenSecureSignatureComponent.h>
#import "Open/OpenSecureSignature/OpenSecureSignatureDefine.h" #import <SecurityGuardSDK/Open/OpenSecureSignature/OpenSecureSignatureDefine.h>
#import "Open/OpenOpenSDK/IOpenOpenSDKComponent.h" #import <SecurityGuardSDK/Open/OpenOpenSDK/IOpenOpenSDKComponent.h>
#import "Open/OpenNoCaptcha/IOpenNoCaptchaComponent.h" #import <SecurityGuardSDK/Open/OpenNoCaptcha/IOpenNoCaptchaComponent.h>
#import "Open/OpenNoCaptcha/OpenNoCaptchaDefine.h" #import <SecurityGuardSDK/Open/OpenNoCaptcha/OpenNoCaptchaDefine.h>
#import "Open/OpenInitialize/IOpenInitializeComponent.h" #import <SecurityGuardSDK/Open/OpenInitialize/IOpenInitializeComponent.h>
#import "Open/OpenDynamicDataStore/IOpenDynamicDataStoreComponent.h" #import <SecurityGuardSDK/Open/OpenDynamicDataStore/IOpenDynamicDataStoreComponent.h>
#import "Open/OpenDynamicDataEncrypt/IOpenDynamicDataEncryptComponent.h" #import <SecurityGuardSDK/Open/OpenDynamicDataEncrypt/IOpenDynamicDataEncryptComponent.h>
#import "Open/OpenDataCollection/IOpenDataCollectionComponent.h" #import <SecurityGuardSDK/Open/OpenDataCollection/IOpenDataCollectionComponent.h>
#import "Open/OpenAtlasEncrypt/IOpenAtlasEncryptComponent.h" #import <SecurityGuardSDK/Open/OpenAtlasEncrypt/IOpenAtlasEncryptComponent.h>

View File

@@ -3,13 +3,13 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>BuildMachineOSBuild</key> <key>BuildMachineOSBuild</key>
<string>19G2021</string> <string>20F71</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>com.alimobilesec.SecurityGuardSDK</string> <string>com.alimobilesec.SecurityGuardSDK</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>SecurityGuardSDK</string> <string>SecurityGuardSDK</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>5.5.27</string> <string>5.5.64</string>
<key>CFBundleSupportedPlatforms</key> <key>CFBundleSupportedPlatforms</key>
<array> <array>
<string>iPhoneOS</string> <string>iPhoneOS</string>
@@ -17,19 +17,19 @@
<key>DTCompiler</key> <key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string> <string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key> <key>DTPlatformBuild</key>
<string>16B91</string> <string>18B79</string>
<key>DTPlatformName</key> <key>DTPlatformName</key>
<string>iphoneos</string> <string>iphoneos</string>
<key>DTPlatformVersion</key> <key>DTPlatformVersion</key>
<string>12.1</string> <string>14.2</string>
<key>DTSDKBuild</key> <key>DTSDKBuild</key>
<string>16B91</string> <string>18B79</string>
<key>DTSDKName</key> <key>DTSDKName</key>
<string>iphoneos12.1</string> <string>iphoneos14.2</string>
<key>DTXcode</key> <key>DTXcode</key>
<string>1010</string> <string>1220</string>
<key>DTXcodeBuild</key> <key>DTXcodeBuild</key>
<string>10B61</string> <string>12B45b</string>
<key>MinimumOSVersion</key> <key>MinimumOSVersion</key>
<string>9.0</string> <string>9.0</string>
<key>UIDeviceFamily</key> <key>UIDeviceFamily</key>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -390,8 +390,8 @@ typedef NS_ENUM(NSUInteger, CustomMessageSubChatRiskAlert) {
///first = CustomMessageType_First_Recharge_Reward ///first = CustomMessageType_First_Recharge_Reward
typedef NS_ENUM(NSUInteger, CustomMessageSubFirstRecharge) { typedef NS_ENUM(NSUInteger, CustomMessageSubFirstRecharge) {
/// 首充完成 /// 首充完成
Custom_Message_Sub_Room_First_Recharge_Reward= 761, Custom_Message_Sub_Room_First_Recharge_Reward= 761,
/// 新用户专享优惠充值完成 /// 新用户专享优惠充值完成
Custom_Message_Sub_New_User_Recharge_Reward = 762, Custom_Message_Sub_New_User_Recharge_Reward = 762,
}; };

View File

@@ -21,7 +21,7 @@
int second = [dict[@"second"] intValue]; int second = [dict[@"second"] intValue];
NSDictionary *data = dict[@"data"]; NSDictionary *data = dict[@"data"];
if ([data isKindOfClass:[NSString class]]) { if ([data isKindOfClass:[NSString class]]) {
data = [(NSString *)data model2dictionary]; data = [self dictionaryWithJsonString:(NSString *)data];
} }
if ([data isKindOfClass:[NSDictionary class]]) { if ([data isKindOfClass:[NSDictionary class]]) {
AttachmentModel *attachment = [[AttachmentModel alloc]init]; AttachmentModel *attachment = [[AttachmentModel alloc]init];
@@ -36,4 +36,35 @@
return attachment; return attachment;
} }
//json
- (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString {
if (jsonString == nil) {
return nil;
}
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *err;
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableContainers
error:&err];
if(err) {
NSLog(@"json解析失败%@",err);
return nil;
}
return dic;
}
@end @end

View File

@@ -599,6 +599,7 @@ typedef NS_ENUM(NSUInteger, XYLoginType) {
} }
_appleButton.cornerRadius = 25; _appleButton.cornerRadius = 25;
_appleButton.tag = 1000 + ThirdLoginType_Apple; _appleButton.tag = 1000 + ThirdLoginType_Apple;
_appleButton.hidden = YES;
} }
return _appleButton; return _appleButton;
} }

View File

@@ -0,0 +1,25 @@
//
// Api+EnterpriseRecharge.h
// xplan-ios
//
// Created by 冯硕 on 2022/5/14.
//
#import "Api.h"
NS_ASSUME_NONNULL_BEGIN
@interface Api (EnterpriseRecharge)
///企业包的充值列表
+ (void)enterpriseRechargeList:(HttpRequestHelperCompletion)completion channelType:(NSString *)channelTyp;
/// 请求支付参数
/// @param completion 完成
/// @param chargeProdId 订单的id
/// @param payChannel 支付的渠道
/// @param clientIp ip
/// @param uid uid
/// @param ticket ticket
+ (void)requestPay:(HttpRequestHelperCompletion)completion chargeProdId:(NSString *)chargeProdId payChannel:(NSString *)payChannel clientIp:(NSString *)clientIp uid:(NSString *)uid ticket:(NSString *)ticket roomUid:(NSString *)roomUid;
@end
NS_ASSUME_NONNULL_END

View File

@@ -24,13 +24,13 @@
/// @param ticket ticket /// @param ticket ticket
+ (void)requestPay:(HttpRequestHelperCompletion)completion chargeProdId:(NSString *)chargeProdId payChannel:(NSString *)payChannel clientIp:(NSString *)clientIp uid:(NSString *)uid ticket:(NSString *)ticket roomUid:(NSString *)roomUid { + (void)requestPay:(HttpRequestHelperCompletion)completion chargeProdId:(NSString *)chargeProdId payChannel:(NSString *)payChannel clientIp:(NSString *)clientIp uid:(NSString *)uid ticket:(NSString *)ticket roomUid:(NSString *)roomUid {
NSMutableDictionary * dic = [NSMutableDictionary dictionary]; NSMutableDictionary * dic = [NSMutableDictionary dictionary];
[dic safeSetObject:chargeProdId forKey:@"chargeProdId"]; [dic setValue:chargeProdId forKey:@"chargeProdId"];
[dic safeSetObject:payChannel forKey:@"payChannel"]; [dic setValue:payChannel forKey:@"payChannel"];
[dic safeSetObject:clientIp forKey:@"clientIp"]; [dic setValue:clientIp forKey:@"clientIp"];
[dic safeSetObject:uid forKey:@"uid"]; [dic setValue:uid forKey:@"uid"];
[dic safeSetObject:ticket forKey:@"ticket"]; [dic setValue:ticket forKey:@"ticket"];
if (roomUid.integerValue> 0) { if (roomUid.integerValue> 0) {
[dic safeSetObject:roomUid forKey:@"roomUid"]; [dic setValue:roomUid forKey:@"roomUid"];
} }
[HttpRequestHelper request:@"charge/pay/apply" method:HttpRequestHelperMethodPOST params:dic completion:completion]; [HttpRequestHelper request:@"charge/pay/apply" method:HttpRequestHelperMethodPOST params:dic completion:completion];
} }

View File

@@ -0,0 +1,32 @@
//
// EnterPrieseRechargeTypeItemModel.h
// xplan-ios
//
// Created by 冯硕 on 2022/5/14.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, RechargeType) {
RechargeType_WX = 1,
RechargeType_ZFB = 2,
RechargeType_Coin = 3,
};
@interface EnterPrieseRechargeTypeItemModel : NSObject
///图片
@property (nonatomic,copy) NSString *imageName;
///标题
@property (nonatomic,copy) NSString *title;
///充值的类型
@property (nonatomic,assign) RechargeType type;
///是否选中
@property (nonatomic,assign) BOOL isSelect;
///是否是最后一个
@property (nonatomic,assign) BOOL isLastOne;
///副标题
@property (nonatomic,copy) NSString *subTitle;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,12 @@
//
// EnterPrieseRechargeTypeItemModel.m
// xplan-ios
//
// Created by on 2022/5/14.
//
#import "EnterPrieseRechargeTypeItemModel.h"
@implementation EnterPrieseRechargeTypeItemModel
@end

View File

@@ -0,0 +1,46 @@
//
// EnterpriseRechargeInfoModel.h
// xplan-ios
//
// Created by 冯硕 on 2022/5/14.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@class EnterpriseRechargeInfoModel;
typedef NS_ENUM(NSInteger, RechargeDefaultPayType) {
///支付宝
RechargeDefaultPayType_ZFB = 1,
///微信
RechargeDefaultPayType_WX,
///支付宝 微信
RechargeDefaultPayType_ZFB_WX,
///微信支付宝
RechargeDefaultPayType_WX_ZFB,
///金币
RechargeDefaultPayType_Coin,
};
@interface EnterpriseRechargeListInfoModel : NSObject
///大额充值
@property(nonatomic,strong) NSArray <EnterpriseRechargeInfoModel *> *bigList;
///充值列表
@property(nonatomic,strong) NSArray <EnterpriseRechargeInfoModel *> *list;
///默认的支付方式
@property(nonatomic,assign) RechargeDefaultPayType defaultPay;
@end
@interface EnterpriseRechargeInfoModel : NSObject
@property(nonatomic, strong) NSString *chargeProdId;
@property(nonatomic, strong) NSString *prodName;
@property (copy, nonatomic) NSString *prodDesc;
@property(nonatomic, strong) NSNumber *money;
@property(nonatomic, strong) NSNumber *giftGoldNum;
@property(nonatomic, strong) NSString *channel;
///是否选中
@property (nonatomic,assign) BOOL isSelect;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,24 @@
//
// EnterpriseRechargeInfoModel.m
// xplan-ios
//
// Created by on 2022/5/14.
//
#import "EnterpriseRechargeListInfoModel.h"
@implementation EnterpriseRechargeListInfoModel
+ (NSDictionary *)objectClassInArray {
return @{@"bigList":EnterpriseRechargeInfoModel.class,
@"list":EnterpriseRechargeInfoModel.class
};
}
@end
@implementation EnterpriseRechargeInfoModel
@end

View File

@@ -0,0 +1,21 @@
//
// XPEnterpriseRechargePresenter.h
// xplan-ios
//
// Created by 冯硕 on 2022/5/14.
//
#import "BaseMvpPresenter.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPEnterpriseRechargePresenter : BaseMvpPresenter
///获取充值列表
- (void)getRechargeList:(NSString *)channelType;
/// 获取钱包信息
- (void)getUserWalletInfo;
///发起支付
- (void)requestPay:(NSString *)chargeProdId payChannel:(NSString *)payChannel roomUid:(NSString *)roomUid;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,45 @@
//
// XPEnterpriseRechargePresenter.m
// xplan-ios
//
// Created by on 2022/5/14.
//
#import "XPEnterpriseRechargePresenter.h"
#import "XPEnterpriseRechargeProtocol.h"
#import "Api+EnterpriseRecharge.h"
#import "Api+Mine.h"
#import "EnterpriseRechargeListInfoModel.h"
#import "WalletInfoModel.h"
#import "AccountInfoStorage.h"
#import "YYUtility.h"
@implementation XPEnterpriseRechargePresenter
///
- (void)getRechargeList:(NSString *)channelType {
[Api enterpriseRechargeList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
EnterpriseRechargeListInfoModel * info = [EnterpriseRechargeListInfoModel modelWithDictionary:data.data];
[[self getView] getRechargeListSuccess:info];
}] channelType:channelType];
}
///
- (void)getUserWalletInfo {
NSString * uid = [AccountInfoStorage instance].getUid;
NSString * ticket = [AccountInfoStorage instance].getTicket;
[Api getUserWalletInfo:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
WalletInfoModel * model = [WalletInfoModel modelWithDictionary:data.data];
[[self getView] getUserWalletInfo:model];
}] uid:uid ticket:ticket];
}
///
- (void)requestPay:(NSString *)chargeProdId payChannel:(NSString *)payChannel roomUid:(NSString *)roomUid {
NSString * uid = [AccountInfoStorage instance].getUid;
NSString * ticket = [AccountInfoStorage instance].getTicket;
NSString * clientIp= [YYUtility ipAddress];
[Api requestPay:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[[self getView] requestPaySuccess:data.data payChannel:payChannel];
} showLoading:YES] chargeProdId:chargeProdId payChannel:payChannel clientIp:clientIp uid:uid ticket:ticket roomUid:roomUid];
}
@end

View File

@@ -0,0 +1,23 @@
//
// XPEnterpriseProtocol.h
// xplan-ios
//
// Created by 冯硕 on 2022/5/14.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@class EnterpriseRechargeListInfoModel, WalletInfoModel;
@protocol XPEnterpriseRechargeProtocol <NSObject>
///请求钱包余额信息
- (void)getUserWalletInfo:(WalletInfoModel *)balanceInfo;
///获取充值列表成功
- (void)getRechargeListSuccess:(EnterpriseRechargeListInfoModel *)info;
///请求订单成功
- (void)requestPaySuccess:(id)data payChannel:(NSString *)payChannel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,16 @@
//
// XPEnterpriseChargeListCollectionViewCell.h
// xplan-ios
//
// Created by 冯硕 on 2022/5/14.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class EnterpriseRechargeInfoModel;
@interface XPEnterpriseChargeListCollectionViewCell : UICollectionViewCell
@property (nonatomic,strong) EnterpriseRechargeInfoModel *infoModel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,114 @@
//
// XPEnterpriseChargeListCollectionViewCell.m
// xplan-ios
//
// Created by on 2022/5/14.
//
#import "XPEnterpriseChargeListCollectionViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "ThemeColor.h"
///Model
#import "EnterpriseRechargeListInfoModel.h"
@interface XPEnterpriseChargeListCollectionViewCell ()
///
@property (nonatomic,strong) UIView * backView;
///
@property (nonatomic,strong) UILabel *coinLabel;
///
@property (nonatomic,strong) UILabel *priceLabel;
@end
@implementation XPEnterpriseChargeListCollectionViewCell
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:self.backView];
[self.backView addSubview:self.coinLabel];
[self.backView addSubview:self.priceLabel];
}
- (void)initSubViewConstraints {
[self.backView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.contentView);
}];
[self.coinLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.backView);
make.bottom.mas_equalTo(self.backView.mas_centerY).offset(-2);
}];
[self.priceLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.backView);
make.top.mas_equalTo(self.backView.mas_centerY).offset(2);
}];
}
#pragma mark - Getters And Setters
- (void)setInfoModel:(EnterpriseRechargeInfoModel *)infoModel {
_infoModel = infoModel;
if (_infoModel) {
self.coinLabel.text = _infoModel.prodName;
if (_infoModel.prodName) {
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:_infoModel.prodName attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16], NSForegroundColorAttributeName:[ThemeColor mainTextColor]}];
NSRange range = [_infoModel.prodName rangeOfString:@"钻石"];
if (range.location < _infoModel.prodName.length) {
[attribute addAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]} range:range];
[attribute addAttributes:@{NSForegroundColorAttributeName:[ThemeColor appMainColor]} range:range];
}
self.coinLabel.attributedText = attribute;
self.coinLabel.textAlignment = NSTextAlignmentCenter;
}
self.priceLabel.text = [NSString stringWithFormat:@"%.2f元",_infoModel.money.floatValue];
//
if (_infoModel.isSelect) {
self.backView.layer.borderColor = [ThemeColor appMainColor].CGColor;
}else {
self.backView.layer.borderColor = [ThemeColor appCellBackgroundColor].CGColor;
}
}
}
- (UIView *)backView {
if (!_backView) {
_backView = [[UIView alloc] init];
_backView.backgroundColor = [ThemeColor appCellBackgroundColor];
_backView.layer.cornerRadius = 10;
_backView.layer.borderWidth = 1.5;
}
return _backView;
}
- (UILabel *)coinLabel {
if (!_coinLabel) {
_coinLabel = [[UILabel alloc] init];
_coinLabel.font = [UIFont systemFontOfSize:18];
_coinLabel.textColor = [ThemeColor appMainColor];
_coinLabel.textAlignment = NSTextAlignmentCenter;
}
return _coinLabel;
}
- (UILabel *)priceLabel {
if (!_priceLabel) {
_priceLabel = [[UILabel alloc] init];
_priceLabel.font = [UIFont systemFontOfSize:15];
_priceLabel.textColor = [ThemeColor mainTextColor];
_priceLabel.textAlignment = NSTextAlignmentCenter;
}
return _priceLabel;
}
@end

View File

@@ -0,0 +1,25 @@
//
// XPEnterpriseChargeListTableViewCell.h
// xplan-ios
//
// Created by 冯硕 on 2022/5/14.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class EnterpriseRechargeInfoModel, WalletInfoModel, XPEnterpriseChargeListTableViewCell;
@protocol XPEnterpriseChargeListTableViewCellDelegate <NSObject>
- (void)xPEnterpriseChargeListTableViewCell:(XPEnterpriseChargeListTableViewCell *)cell didSelectItem:(EnterpriseRechargeInfoModel *)infoModel;
@end
@interface XPEnterpriseChargeListTableViewCell : UITableViewCell
@property (nonatomic,strong) NSArray<EnterpriseRechargeInfoModel *> *rechargeList;
@property (nonatomic,strong) WalletInfoModel *balanceInfo;
///代理
@property (nonatomic,weak) id<XPEnterpriseChargeListTableViewCellDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,170 @@
//
// XPEnterpriseChargeListTableViewCell.m
// xplan-ios
//
// Created by on 2022/5/14.
//
#import "XPEnterpriseChargeListTableViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "ThemeColor.h"
#import "XPMacro.h"
///Model
#import "EnterpriseRechargeListInfoModel.h"
///View
#import "XPEnterpriseHalfCollectionViewCell.h"
#import "XPEnterpriseRechargeHeaderView.h"
@interface XPEnterpriseChargeListTableViewCell ()<UICollectionViewDelegate, UICollectionViewDataSource>
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) XPEnterpriseRechargeHeaderView *infoView;
///
@property (nonatomic,strong) UICollectionView *collectionView;
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) EnterpriseRechargeInfoModel *selectInfo;
@end
@implementation XPEnterpriseChargeListTableViewCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.backImageView];
[self.contentView addSubview:self.infoView];
[self.contentView addSubview:self.collectionView];
[self.contentView addSubview:self.titleLabel];
}
- (void)initSubViewConstraints {
CGFloat kscale = 260.0/ 375.0;
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.mas_equalTo(self);
make.height.mas_equalTo(KScreenWidth * kscale);
}];
[self.infoView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self);
make.width.mas_equalTo(375);
make.top.mas_equalTo(self).offset(92);
make.height.mas_equalTo(106);
}];
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.infoView.mas_bottom).offset(15);
make.left.right.mas_equalTo(self.contentView);
make.bottom.mas_equalTo(self.titleLabel.mas_top).offset(-12);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.contentView).inset(30);
make.bottom.mas_equalTo(self.contentView).offset(-15);
}];
}
#pragma mark - UICollectionViewCellDelegate And UICollectionViewDatasource
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.rechargeList.count;
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
XPEnterpriseHalfCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPEnterpriseHalfCollectionViewCell class]) forIndexPath:indexPath];
EnterpriseRechargeInfoModel * info = [self.rechargeList objectAtIndex:indexPath.row];
if ([info.chargeProdId isEqualToString:self.selectInfo.chargeProdId]) {
info.isSelect = YES;
} else {
info.isSelect = NO;
}
cell.infoModel = info;
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
if (self.rechargeList.count > 0) {
EnterpriseRechargeInfoModel * infor = [self.rechargeList objectAtIndex:indexPath.row];
self.selectInfo = infor;
[self.collectionView reloadData];
if (self.delegate && [self.delegate respondsToSelector:@selector(xPEnterpriseChargeListTableViewCell:didSelectItem:)]) {
[self.delegate xPEnterpriseChargeListTableViewCell:self didSelectItem:infor];
}
}
}
#pragma mark - Getters And Setters
- (void)setRechargeList:(NSArray<EnterpriseRechargeInfoModel *> *)rechargeList {
_rechargeList = rechargeList;
if (_rechargeList.count > 0) {
self.selectInfo = [rechargeList firstObject];
if (self.delegate && [self.delegate respondsToSelector:@selector(xPEnterpriseChargeListTableViewCell:didSelectItem:)]) {
[self.delegate xPEnterpriseChargeListTableViewCell:self didSelectItem:self.selectInfo];
}
}
[self.collectionView reloadData];
}
- (void)setBalanceInfo:(WalletInfoModel *)balanceInfo {
_balanceInfo = balanceInfo;
self.infoView.walletInfo =balanceInfo;
}
- (UICollectionView *)collectionView{
if (!_collectionView) {
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
layout.itemSize = CGSizeMake((CGFloat)(KScreenWidth - 15 * 2 - 8 * 2 - 3) / 3.0, 64);
layout.sectionInset = UIEdgeInsetsMake(0, 15, 0, 15);
layout.minimumLineSpacing = 8;
layout.minimumInteritemSpacing = 8;
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
_collectionView.dataSource = self;
_collectionView.delegate = self;
_collectionView.backgroundColor = [UIColor clearColor];
_collectionView.scrollEnabled = NO;
[_collectionView registerClass:[XPEnterpriseHalfCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPEnterpriseHalfCollectionViewCell class])];
}
return _collectionView;
}
- (XPEnterpriseRechargeHeaderView *)infoView {
if (!_infoView) {
_infoView = [[XPEnterpriseRechargeHeaderView alloc] init];
}
return _infoView;
}
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"mine_recharge_header_bg"];
_backImageView.layer.masksToBounds = YES;
_backImageView.contentMode = UIViewContentModeScaleAspectFill;
}
return _backImageView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:14];
_titleLabel.textColor = [ThemeColor secondTextColor];
_titleLabel.text = @"未成年禁止充值消费!请勿轻易相信各类刷单、退款等信息,以免上当受骗!";
_titleLabel.numberOfLines = 2;
_titleLabel.textAlignment = NSTextAlignmentCenter;
}
return _titleLabel;
}
@end

View File

@@ -0,0 +1,17 @@
//
// XPEnterpriseChargeTypeTableViewCell.h
// xplan-ios
//
// Created by 冯硕 on 2022/5/14.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class EnterPrieseRechargeTypeItemModel;
@interface XPEnterpriseChargeTypeTableViewCell : UITableViewCell
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *rechargeTypeModel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,141 @@
//
// XPEnterpriseChargeTypeTableViewCell.m
// xplan-ios
//
// Created by on 2022/5/14.
//
#import "XPEnterpriseChargeTypeTableViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "ThemeColor.h"
///Model
#import "EnterPrieseRechargeTypeItemModel.h"
@interface XPEnterpriseChargeTypeTableViewCell ()
///logo
@property (nonatomic,strong) UIImageView *logoImageView;
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UILabel *subtitleLabel;
///
@property (nonatomic,strong) UIButton *chooseButton;
///线
@property (nonatomic,strong) UIView * lineView;
@end
@implementation XPEnterpriseChargeTypeTableViewCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.logoImageView];
[self.contentView addSubview:self.titleLabel];
[self.contentView addSubview:self.subtitleLabel];
[self.contentView addSubview:self.chooseButton];
[self.contentView addSubview:self.lineView];
}
- (void)initSubViewConstraints {
[self.logoImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.contentView).offset(0);
make.centerY.mas_equalTo(self.contentView);
make.size.mas_equalTo(CGSizeMake(24, 24));
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.logoImageView);
make.left.mas_equalTo(self.logoImageView.mas_right).offset(10);
}];
[self.subtitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.titleLabel.mas_right).offset(10);
make.bottom.equalTo(self.titleLabel);
}];
[self.chooseButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(18, 18));
make.centerY.mas_equalTo(self.contentView);
make.right.mas_equalTo(self.contentView).offset(-10);
}];
[self.lineView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.contentView).inset(10);
make.bottom.mas_equalTo(self.contentView);
make.height.mas_equalTo(1);
}];
}
#pragma mark - Getters And Setters
- (void)setRechargeTypeModel:(EnterPrieseRechargeTypeItemModel *)rechargeTypeModel {
_rechargeTypeModel = rechargeTypeModel;
if (_rechargeTypeModel) {
_logoImageView.image = [UIImage imageNamed:_rechargeTypeModel.imageName];
_titleLabel.text = _rechargeTypeModel.title;
_chooseButton.selected = _rechargeTypeModel.isSelect;
self.lineView.hidden = _rechargeTypeModel.isLastOne;
if (_rechargeTypeModel.subTitle.length > 0) {
self.subtitleLabel.text = _rechargeTypeModel.subTitle;
self.subtitleLabel.hidden = NO;
} else {
self.subtitleLabel.hidden = YES;
}
}
}
- (UIImageView *)logoImageView {
if (!_logoImageView) {
_logoImageView = [[UIImageView alloc] init];
_logoImageView.userInteractionEnabled = YES;
}
return _logoImageView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:15];
_titleLabel.textColor = [ThemeColor mainTextColor];
}
return _titleLabel;
}
- (UILabel *)subtitleLabel {
if (!_subtitleLabel) {
_subtitleLabel = [[UILabel alloc] init];
_subtitleLabel.font = [UIFont systemFontOfSize:10];
_subtitleLabel.textColor = [ThemeColor secondTextColor];
_subtitleLabel.hidden = YES;
}
return _subtitleLabel;
}
- (UIButton *)chooseButton {
if (!_chooseButton) {
_chooseButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_chooseButton setImage:[UIImage imageNamed:@"mine_recharge_choose_normal"] forState:UIControlStateNormal];
[_chooseButton setImage:[UIImage imageNamed:@"mine_recharge_choose_select"] forState:UIControlStateSelected];
}
return _chooseButton;
}
- (UIView *)lineView {
if (!_lineView) {
_lineView = [[UIView alloc] init];
_lineView.backgroundColor = [ThemeColor dividerColor];
}
return _lineView;
}
@end

View File

@@ -0,0 +1,16 @@
//
// XPEnterpriseHalfCollectionViewCell.h
// xplan-ios
//
// Created by 冯硕 on 2022/6/8.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class EnterpriseRechargeInfoModel;
@interface XPEnterpriseHalfCollectionViewCell : UICollectionViewCell
@property (nonatomic,strong) EnterpriseRechargeInfoModel *infoModel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,123 @@
//
// XPEnterpriseHalfCollectionViewCell.m
// xplan-ios
//
// Created by on 2022/6/8.
//
#import "XPEnterpriseHalfCollectionViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "ThemeColor.h"
///Model
#import "EnterpriseRechargeListInfoModel.h"
@interface XPEnterpriseHalfCollectionViewCell ()
///
@property (nonatomic,strong) UIView * backView;
///
@property (nonatomic,strong) UIImageView *diamondImageView;
///
@property (nonatomic,strong) UILabel *coinLabel;
///💰
@property (nonatomic,strong) UILabel *moneyLabel;
@end
@implementation XPEnterpriseHalfCollectionViewCell
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:self.backView];
[self.backView addSubview:self.diamondImageView];
[self.backView addSubview:self.coinLabel];
[self.backView addSubview:self.moneyLabel];
}
- (void)initSubViewConstraints {
[self.backView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.contentView);
}];
[self.diamondImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20, 20));
make.right.mas_equalTo(self.coinLabel.mas_left).offset(-2);
make.centerY.mas_equalTo(self.coinLabel);
}];
[self.coinLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.backView.mas_centerX).offset(11);
make.bottom.mas_equalTo(self.backView.mas_centerY).offset(-1.5);
}];
[self.moneyLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.backView);
make.top.mas_equalTo(self.backView.mas_centerY).offset(1.5);
}];
}
#pragma mark - Getters And Setters
- (void)setInfoModel:(EnterpriseRechargeInfoModel *)infoModel {
_infoModel = infoModel;
if (_infoModel) {
self.coinLabel.text = [_infoModel.prodName stringByReplacingOccurrencesOfString:@"钻石" withString:@""];
self.moneyLabel.text = [NSString stringWithFormat:@"%.2f元",_infoModel.money.floatValue];
//
if (_infoModel.isSelect) {
self.backView.layer.borderColor = [ThemeColor appMainColor].CGColor;
}else {
self.backView.layer.borderColor = [ThemeColor appCellBackgroundColor].CGColor;
}
}
}
- (UIImageView *)diamondImageView {
if (!_diamondImageView) {
_diamondImageView = [[UIImageView alloc] init];
_diamondImageView.userInteractionEnabled = YES;
_diamondImageView.image = [UIImage imageNamed:@"common_diamond"];
}
return _diamondImageView;
}
- (UILabel *)coinLabel {
if (!_coinLabel) {
_coinLabel = [[UILabel alloc] init];
_coinLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
_coinLabel.textColor = [ThemeColor mainTextColor];
}
return _coinLabel;
}
- (UILabel *)moneyLabel {
if (!_moneyLabel) {
_moneyLabel = [[UILabel alloc] init];
_moneyLabel.font = [UIFont systemFontOfSize:12];
_moneyLabel.textColor = [ThemeColor textThirdColor];
_moneyLabel.textAlignment = NSTextAlignmentCenter;
}
return _moneyLabel;
}
- (UIView *)backView {
if (!_backView) {
_backView = [[UIView alloc] init];
_backView.backgroundColor = [ThemeColor appCellBackgroundColor];
_backView.layer.cornerRadius = 10;
_backView.layer.borderWidth = 1.5;
}
return _backView;
}
@end

View File

@@ -0,0 +1,27 @@
//
// XPEnterpriseRechargePayTableViewCell.h
// xplan-ios
//
// Created by 冯硕 on 2022/5/14.
//
#import <UIKit/UIKit.h>
#import "EnterpriseRechargeListInfoModel.h"
NS_ASSUME_NONNULL_BEGIN
@class XPEnterpriseRechargePayTableViewCell, EnterPrieseRechargeTypeItemModel;
@protocol XPEnterpriseRechargePayTableViewCellDelegate <NSObject>
- (void)xPEnterpriseRechargePayTableViewCell:(XPEnterpriseRechargePayTableViewCell *)view didChooseItem:(EnterPrieseRechargeTypeItemModel *)itemInfo;
@end
@interface XPEnterpriseRechargePayTableViewCell : UITableViewCell
///默认的充值类型
@property (nonatomic,assign) RechargeDefaultPayType type;
///当前选中的支付类型
@property (nonatomic,strong, readonly) EnterPrieseRechargeTypeItemModel *currentItem;
///代理
@property (nonatomic,weak) id<XPEnterpriseRechargePayTableViewCellDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,312 @@
//
// XPEnterpriseRechargePayTableViewCell.m
// xplan-ios
//
// Created by on 2022/5/14.
//
#import "XPEnterpriseRechargePayTableViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "ThemeColor.h"
///Model
#import "EnterPrieseRechargeTypeItemModel.h"
///View
#import "XPEnterpriseChargeTypeTableViewCell.h"
@interface XPEnterpriseRechargePayTableViewCell ()<UITableViewDelegate, UITableViewDataSource>
///
@property (nonatomic,strong) UIView * backView;
///
@property (nonatomic,strong) UIStackView *stackView;
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UITableView *tableView;
///
@property (nonatomic,strong) UIView * moreView;
///
@property (nonatomic,strong) UIButton *arrowButton;
///
@property (nonatomic,strong) UILabel *moreLabel;
///
@property (nonatomic,strong) NSMutableArray<EnterPrieseRechargeTypeItemModel *> *rechargeTypeList;
///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *currentItem;
///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *aliPayItem;
///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *wxPayItem;
@end
@implementation XPEnterpriseRechargePayTableViewCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.backView];
[self.backView addSubview:self.stackView];
[self.stackView addArrangedSubview:self.titleLabel];
[self.stackView addArrangedSubview:self.tableView];
[self.stackView addArrangedSubview:self.moreView];
[self.moreView addSubview:self.moreLabel];
[self.moreView addSubview:self.arrowButton];
}
- (void)initSubViewConstraints {
[self.backView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.contentView).inset(15);
make.top.bottom.mas_equalTo(self.contentView);
}];
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.backView).inset(10);
make.top.mas_equalTo(self.backView).offset(15);
make.bottom.mas_equalTo(self.backView);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(15);
}];
[self.moreView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(50);
}];
[self.moreLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.moreView).offset(-7);
make.centerY.mas_equalTo(self.moreView);
}];
[self.arrowButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(11, 20));
make.centerY.mas_equalTo(self.moreView);
make.left.mas_equalTo(self.moreLabel.mas_right).offset(3);
}];
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.rechargeTypeList.count;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 50;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
XPEnterpriseChargeTypeTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPEnterpriseChargeTypeTableViewCell class])];
EnterPrieseRechargeTypeItemModel * infoModel = [self.rechargeTypeList objectAtIndex:indexPath.row];
if (infoModel.type == self.currentItem.type) {
infoModel.isSelect = YES;
} else {
infoModel.isSelect = NO;
}
infoModel.isLastOne = (indexPath.row == (self.rechargeTypeList.count - 1));
cell.rechargeTypeModel = infoModel;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (self.rechargeTypeList.count > 0) {
if (self.rechargeTypeList.count == 1) {
return;
}
self.currentItem = [self.rechargeTypeList objectAtIndex:indexPath.row];
[self.tableView reloadData];
if (self.delegate && [self.delegate respondsToSelector:@selector(xPEnterpriseRechargePayTableViewCell:didChooseItem:)]) {
[self.delegate xPEnterpriseRechargePayTableViewCell:self didChooseItem:self.currentItem];
}
}
}
#pragma mark - Event Response
- (void)tapMoreTypeRecognizer {
self.arrowButton.selected = !self.arrowButton.selected;
if (self.type == RechargeDefaultPayType_WX) {
self.moreView.hidden = YES;
if (![self.rechargeTypeList containsObject:self.aliPayItem]) {
[self.rechargeTypeList addObject:self.aliPayItem];
}
[self.tableView reloadData];
} else if(self.type == RechargeDefaultPayType_ZFB) {
self.moreView.hidden = YES;
if (![self.rechargeTypeList containsObject:self.wxPayItem]) {
[self.rechargeTypeList addObject:self.wxPayItem];
}
[self.tableView reloadData];
}
}
#pragma mark - Getters And Setters
- (void)setType:(RechargeDefaultPayType)type {
_type =type;
[self.rechargeTypeList removeAllObjects];
switch (_type) {
case RechargeDefaultPayType_WX:
{
[self.rechargeTypeList addObject:self.wxPayItem];
self.currentItem = self.wxPayItem;
self.moreView.hidden = NO;
}
break;
case RechargeDefaultPayType_ZFB:
{
[self.rechargeTypeList addObject:self.aliPayItem];
self.currentItem = self.aliPayItem;
self.moreView.hidden = NO;
}
break;
case RechargeDefaultPayType_WX_ZFB:
{
[self.rechargeTypeList addObject:self.wxPayItem];
[self.rechargeTypeList addObject:self.aliPayItem];
self.currentItem = self.wxPayItem;
self.moreView.hidden = YES;
}
break;
case RechargeDefaultPayType_ZFB_WX:
{
[self.rechargeTypeList addObject:self.aliPayItem];
[self.rechargeTypeList addObject:self.wxPayItem];
self.currentItem = self.aliPayItem;
self.moreView.hidden = YES;
}
break;
default:
{
[self.rechargeTypeList addObject:self.aliPayItem];
[self.rechargeTypeList addObject:self.wxPayItem];
self.currentItem = self.aliPayItem;
self.moreView.hidden = YES;
}
break;
}
[self.tableView reloadData];
}
- (UITableView *)tableView {
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_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:[XPEnterpriseChargeTypeTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPEnterpriseChargeTypeTableViewCell class])];
}
return _tableView;
}
- (NSMutableArray<EnterPrieseRechargeTypeItemModel *> *)rechargeTypeList {
if (!_rechargeTypeList) {
_rechargeTypeList = [NSMutableArray array];
}
return _rechargeTypeList;
}
- (EnterPrieseRechargeTypeItemModel *)aliPayItem {
if (!_aliPayItem) {
EnterPrieseRechargeTypeItemModel * zfbItem = [[EnterPrieseRechargeTypeItemModel alloc] init];
zfbItem.imageName = @"mine_recharge_alipay";
zfbItem.title = @"支付宝";
zfbItem.isSelect = YES;
zfbItem.type = RechargeType_ZFB;
_aliPayItem = zfbItem;
}
return _aliPayItem;
}
- (EnterPrieseRechargeTypeItemModel *)wxPayItem {
if (!_wxPayItem) {
EnterPrieseRechargeTypeItemModel * wxItem = [[EnterPrieseRechargeTypeItemModel alloc] init];
wxItem.imageName = @"mine_recharge_wechat";
wxItem.title = @"微信";
wxItem.type = RechargeType_WX;
_wxPayItem = wxItem;
}
return _wxPayItem;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:13];
_titleLabel.textColor = [ThemeColor mainTextColor];
_titleLabel.text = @"支付方式";
}
return _titleLabel;
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisVertical;
_stackView.distribution = UIStackViewDistributionFill;
_stackView.alignment = UIStackViewAlignmentFill;
_stackView.spacing = 0;
}
return _stackView;
}
- (UIView *)backView {
if (!_backView) {
_backView = [[UIView alloc] init];
_backView.backgroundColor = [ThemeColor appCellBackgroundColor];
_backView.layer.masksToBounds = YES;
_backView.layer.cornerRadius = 10;
}
return _backView;
}
- (UIView *)moreView {
if (!_moreView) {
_moreView = [[UIView alloc] init];
_moreView.backgroundColor = [UIColor clearColor];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapMoreTypeRecognizer)];
[_moreView addGestureRecognizer:tap];
}
return _moreView;
}
- (UILabel *)moreLabel {
if (!_moreLabel) {
_moreLabel = [[UILabel alloc] init];
_moreLabel.font = [UIFont systemFontOfSize:13];
_moreLabel.textColor = [ThemeColor mainTextColor];
_moreLabel.text = @"展开更多支付方式";
}
return _moreLabel;
}
- (UIButton *)arrowButton {
if (!_arrowButton) {
_arrowButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_arrowButton setImage:[UIImage imageNamed:@"room_setting_arrow"] forState:UIControlStateNormal];
[_arrowButton setImage:[UIImage imageNamed:@"room_setting_arrow"] forState:UIControlStateSelected];
_arrowButton.transform = CGAffineTransformMakeRotation(M_PI / 2);
}
return _arrowButton;
}
@end

View File

@@ -0,0 +1,16 @@
//
// XPEnterprisePayTypeView.h
// xplan-ios
//
// Created by 冯硕 on 2022/6/8.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class EnterPrieseRechargeTypeItemModel;
@interface XPEnterprisePayTypeView : UIView
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *rechargeTypeModel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,102 @@
//
// XPEnterprisePayTypeView.m
// xplan-ios
//
// Created by on 2022/6/8.
//
#import "XPEnterprisePayTypeView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "ThemeColor.h"
///Model
#import "EnterPrieseRechargeTypeItemModel.h"
@interface XPEnterprisePayTypeView ()
///logo
@property (nonatomic,strong) UIImageView *logoImageView;
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UIImageView *chooseImageView;
@end
@implementation XPEnterprisePayTypeView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [ThemeColor appCellBackgroundColor];
self.layer.masksToBounds = YES;
self.layer.cornerRadius = 8;
[self addSubview:self.logoImageView];
[self addSubview:self.titleLabel];
[self addSubview:self.chooseImageView];
}
- (void)initSubViewConstraints {
[self.logoImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(28, 28));
make.centerY.mas_equalTo(self);
make.left.mas_equalTo(self).offset(16);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self);
make.left.mas_equalTo(self.logoImageView.mas_right).offset(16);
}];
[self.chooseImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(24, 24));
make.right.bottom.mas_equalTo(self);
}];
}
#pragma mark - Getters And Setters
- (void)setRechargeTypeModel:(EnterPrieseRechargeTypeItemModel *)rechargeTypeModel {
_rechargeTypeModel = rechargeTypeModel;
if (_rechargeTypeModel) {
_logoImageView.image = [UIImage imageNamed:_rechargeTypeModel.imageName];
_titleLabel.text = _rechargeTypeModel.title;
_chooseImageView.hidden = !_rechargeTypeModel.isSelect;
}
}
- (UIImageView *)logoImageView {
if (!_logoImageView) {
_logoImageView = [[UIImageView alloc] init];
_logoImageView.userInteractionEnabled = YES;
}
return _logoImageView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
_titleLabel.textColor = [ThemeColor mainTextColor];
}
return _titleLabel;
}
- (UIImageView *)chooseImageView {
if (!_chooseImageView) {
_chooseImageView = [[UIImageView alloc] init];
_chooseImageView.userInteractionEnabled = YES;
_chooseImageView.image = [UIImage imageNamed:@"mine_recharge_halt_pay_choose"];
_chooseImageView.hidden = YES;
}
return _chooseImageView;
}
@end

View File

@@ -0,0 +1,24 @@
//
// XPEnterpriseRechargeFootView.h
// xplan-ios
//
// Created by 冯硕 on 2022/5/14.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class XPEnterpriseRechargeFootView;
@protocol XPEnterpriseRechargeFootViewDelegate <NSObject>
///点击了充值按钮
- (void)xPEnterpriseRechargeFootView:(XPEnterpriseRechargeFootView *)view didClickRecharge:(UIButton *)sender;
///点击了充值协议
- (void)xPEnterpriseRechargeFootView:(XPEnterpriseRechargeFootView *)view didClickRechargeProtocol:(UILabel *)label;
@end
@interface XPEnterpriseRechargeFootView : UIView
///代理
@property (nonatomic,weak) id<XPEnterpriseRechargeFootViewDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,119 @@
//
// XPEnterpriseRechargeFootView.m
// xplan-ios
//
// Created by on 2022/5/14.
//
#import "XPEnterpriseRechargeFootView.h"
///Third
#import <Masonry/Masonry.h>
#import <YYText/YYText.h>
///Tool
#import "ThemeColor.h"
#import "UIImage+Utils.h"
#import "XPMacro.h"
@interface XPEnterpriseRechargeFootView ()
///
@property (nonatomic,strong) UIButton *rechargeButton;
///
@property (nonatomic,strong) YYLabel *privacyLable;
///
@property (nonatomic,strong) UILabel *descriptionLabel;
@end
@implementation XPEnterpriseRechargeFootView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.rechargeButton];
[self addSubview:self.privacyLable];
[self addSubview:self.descriptionLabel];
}
- (void)initSubViewConstraints {
self.frame = CGRectMake(0, 0, KScreenWidth, kNavigationHeight +190);
[self.rechargeButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(20);
make.left.right.mas_equalTo(self).inset(47);
make.height.mas_equalTo(44);
}];
[self.privacyLable mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.rechargeButton.mas_bottom).offset(15);
make.centerX.mas_equalTo(self);
}];
[self.descriptionLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self);
make.top.mas_equalTo(self.privacyLable.mas_bottom).offset(10);
}];
}
#pragma mark - Event Response
- (void)rechargeButtonAction:(UIButton *)sender {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPEnterpriseRechargeFootView:didClickRecharge:)]) {
[self.delegate xPEnterpriseRechargeFootView:self didClickRecharge:sender];
}
}
#pragma mark - Getters And Setters
- (UIButton *)rechargeButton {
if (!_rechargeButton) {
_rechargeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_rechargeButton setTitle:@"确认充值" forState:UIControlStateNormal];
_rechargeButton.titleLabel.font = [UIFont systemFontOfSize:15];
[_rechargeButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[ThemeColor confirmButtonGradientStartColor], [ThemeColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal];
[_rechargeButton setTitleColor:[ThemeColor confirmButtonTextColor] forState:UIControlStateNormal];
_rechargeButton.layer.masksToBounds = YES;
_rechargeButton.layer.cornerRadius = 22;
[_rechargeButton addTarget:self action:@selector(rechargeButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _rechargeButton;
}
- (YYLabel *)privacyLable {
if (!_privacyLable) {
_privacyLable = [[YYLabel alloc] init];
NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:@"已阅读并同意"];
attString.yy_color = [ThemeColor secondTextColor];
attString.yy_font = [UIFont systemFontOfSize:12];
NSMutableAttributedString *rechargeAttString = [[NSMutableAttributedString alloc] initWithString:@"《用户充值协议》" attributes:@{NSForegroundColorAttributeName:[ThemeColor appMainColor]}];
@kWeakify(self);
[rechargeAttString yy_setTextHighlightRange:NSMakeRange(0, rechargeAttString.length) color:nil backgroundColor:nil userInfo:nil tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
@kStrongify(self);
if (self.delegate && [self.delegate respondsToSelector:@selector(xPEnterpriseRechargeFootView:didClickRechargeProtocol:)]) {
[self.delegate xPEnterpriseRechargeFootView:self didClickRechargeProtocol:self.privacyLable];
}
} longPressAction:nil];
[attString appendAttributedString:rechargeAttString];
_privacyLable.textAlignment = NSTextAlignmentCenter;
_privacyLable.attributedText = attString;
}
return _privacyLable;
}
- (UILabel *)descriptionLabel {
if (!_descriptionLabel) {
_descriptionLabel = [[UILabel alloc] init];
_descriptionLabel.font = [UIFont systemFontOfSize:12];
_descriptionLabel.textColor = [ThemeColor appMainColor];
_descriptionLabel.text = @"如有任何问题请咨询客服魔力号88001";
_descriptionLabel.textAlignment = NSTextAlignmentCenter;
}
return _descriptionLabel;
}
@end

View File

@@ -1,16 +1,15 @@
// //
// XPMineRechageHeadView.h // XPEnterpriseRechargeHeaderView.h
// xplan-ios // xplan-ios
// //
// Created by 冯硕 on 2021/9/24. // Created by 冯硕 on 2022/5/14.
// //
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@class WalletInfoModel; @class WalletInfoModel;
@interface XPMineRechageHeadView : UIView @interface XPEnterpriseRechargeHeaderView : UIView
///钱包信息
@property (nonatomic,strong) WalletInfoModel *walletInfo; @property (nonatomic,strong) WalletInfoModel *walletInfo;
@end @end

View File

@@ -1,11 +1,11 @@
// //
// XPMineRechageHeadView.m // XPEnterpriseRechargeHeaderView.m
// xplan-ios // xplan-ios
// //
// Created by on 2021/9/24. // Created by on 2022/5/14.
// //
#import "XPMineRechageHeadView.h" #import "XPEnterpriseRechargeHeaderView.h"
///Third ///Third
#import <Masonry/Masonry.h> #import <Masonry/Masonry.h>
///Tool ///Tool
@@ -14,9 +14,7 @@
///Model ///Model
#import "WalletInfoModel.h" #import "WalletInfoModel.h"
@interface XPMineRechageHeadView () @interface XPEnterpriseRechargeHeaderView ()
///
@property (nonatomic,strong) UIImageView *backImageView;
/// ///
@property (nonatomic,strong) UIImageView *bottomBackImg; @property (nonatomic,strong) UIImageView *bottomBackImg;
/// ///
@@ -29,7 +27,7 @@
@end @end
@implementation XPMineRechageHeadView @implementation XPEnterpriseRechargeHeaderView
- (instancetype)initWithFrame:(CGRect)frame { - (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) { if (self = [super initWithFrame:frame]) {
@@ -41,21 +39,15 @@
#pragma mark - Private Method #pragma mark - Private Method
- (void)initView { - (void)initView {
[self addSubview:self.backImageView]; [self addSubview:self.bottomBackImg];
[self.backImageView addSubview:self.bottomBackImg];
[self.bottomBackImg addSubview:self.coinImageView]; [self.bottomBackImg addSubview:self.coinImageView];
[self.bottomBackImg addSubview:self.coinLabel]; [self.bottomBackImg addSubview:self.coinLabel];
[self.bottomBackImg addSubview:self.amountLabel]; [self.bottomBackImg addSubview:self.amountLabel];
} }
- (void)initContrations { - (void)initContrations {
self.frame = CGRectMake(0, 0, KScreenWidth, 190 + kSafeAreaTopHeight);
[self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self);
}];
[self.bottomBackImg mas_makeConstraints:^(MASConstraintMaker *make) { [self.bottomBackImg mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.mas_equalTo(self.backImageView); make.left.right.bottom.mas_equalTo(self);
make.height.mas_equalTo(110); make.height.mas_equalTo(110);
}]; }];
@@ -84,17 +76,6 @@
} }
} }
- (UIImageView *)backImageView {
if (!_backImageView) {
_backImageView = [[UIImageView alloc] init];
_backImageView.userInteractionEnabled = YES;
_backImageView.image = [UIImage imageNamed:@"mine_recharge_header_bg"];
_backImageView.layer.masksToBounds = YES;
_backImageView.contentMode = UIViewContentModeScaleAspectFill;
}
return _backImageView;
}
- (UIImageView *)bottomBackImg { - (UIImageView *)bottomBackImg {
if (!_bottomBackImg) { if (!_bottomBackImg) {
_bottomBackImg = [[UIImageView alloc] init]; _bottomBackImg = [[UIImageView alloc] init];
@@ -120,7 +101,7 @@
_coinLabel = [[UILabel alloc] init]; _coinLabel = [[UILabel alloc] init];
_coinLabel.text = @"我的钻石"; _coinLabel.text = @"我的钻石";
_coinLabel.font = [UIFont systemFontOfSize:13]; _coinLabel.font = [UIFont systemFontOfSize:13];
_coinLabel.textColor = [UIColor whiteColor]; _coinLabel.textColor = [ThemeColor mainTextColor];
} }
return _coinLabel; return _coinLabel;
} }
@@ -128,11 +109,10 @@
- (UILabel *)amountLabel { - (UILabel *)amountLabel {
if (!_amountLabel) { if (!_amountLabel) {
_amountLabel = [[UILabel alloc] init]; _amountLabel = [[UILabel alloc] init];
_amountLabel.font = [UIFont boldSystemFontOfSize:36]; _amountLabel.font = [UIFont systemFontOfSize:24 weight:UIFontWeightMedium];
_amountLabel.textColor = [ThemeColor appMainColor]; _amountLabel.textColor = [ThemeColor mainTextColor];
_amountLabel.textAlignment = NSTextAlignmentCenter; _amountLabel.textAlignment = NSTextAlignmentCenter;
} }
return _amountLabel; return _amountLabel;
} }
@end @end

View File

@@ -0,0 +1,23 @@
//
// XPEnterpriseFirstRechargePayView.h
// xplan-ios
//
// Created by 冯硕 on 2022/5/16.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPEnterpriseFirstRechargePayView : UIView
///充值的id
@property (nonatomic,copy) NSString *chargeProdId;
///充值的金额
@property (nonatomic,copy) NSString *chargeMoney;
///房主的uid
@property (nonatomic,copy) NSString *roomUid;
///首充的vc
@property (nonatomic,weak) UIViewController *firstrechargeVC;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,280 @@
//
// XPEnterpriseFirstRechargePayView.m
// xplan-ios
//
// Created by on 2022/5/16.
//
#import "XPEnterpriseFirstRechargePayView.h"
///Third
#import <Masonry/Masonry.h>
#import <AlipaySDK/AlipaySDK.h>
#import <WXApi.h>
#import <WXApiObject.h>
///Tool
#import "ThemeColor.h"
#import "XPMacro.h"
#import "UIImage+Utils.h"
#import "Api+EnterpriseRecharge.h"
#import "AccountInfoStorage.h"
#import "YYUtility.h"
#import "XCHUDTool.h"
#import "XCCurrentVCStackManager.h"
#import "TTPopup.h"
///Model
#import "EnterpriseRechargeListInfoModel.h"
#import "EnterPrieseRechargeTypeItemModel.h"
///View
#import "XPEnterpriseRechargePayTableViewCell.h"
#import "XPWebViewController.h"
@interface XPEnterpriseFirstRechargePayView ()<UITableViewDelegate, UITableViewDataSource, XPEnterpriseRechargePayTableViewCellDelegate>
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UILabel *moneyLabel;
///
@property (nonatomic,strong) UITableView *tableView;
///
@property (nonatomic,strong) UIButton *payButton;
///
@property (nonatomic,strong) EnterpriseRechargeListInfoModel *listInfo;
///
@property (nonatomic,assign) RechargeDefaultPayType payType;
///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *currentItem;
@end
@implementation XPEnterpriseFirstRechargePayView
- (void)dealloc {
NSLog(@"aaaaaa");
}
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initData];
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initData {
[Api enterpriseRechargeList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
EnterpriseRechargeListInfoModel * listInfo = [EnterpriseRechargeListInfoModel modelWithDictionary:data.data];
self.payType = listInfo.defaultPay;
} else {
self.payType = RechargeDefaultPayType_ZFB;
}
[self.tableView reloadData];
} channelType:@"1"];
}
- (void)initSubViews {
self.backgroundColor = [ThemeColor appCellBackgroundColor];
[self addSubview:self.titleLabel];
[self addSubview:self.moneyLabel];
[self addSubview:self.tableView];
[self addSubview:self.payButton];
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, KScreenWidth, 310) byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(12, 12)];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.path = path.CGPath;
self.layer.mask = maskLayer;
}
- (void)initSubViewConstraints {
[self mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(KScreenWidth);
make.height.mas_equalTo(310);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.mas_centerX);
make.top.mas_equalTo(15);
}];
[self.moneyLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.mas_centerX);
make.top.mas_equalTo(self.titleLabel.mas_bottom).offset(15);
}];
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.moneyLabel.mas_bottom).offset(10);
make.left.right.mas_equalTo(self);
make.height.mas_equalTo(130);
}];
[self.payButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(45);
make.left.right.mas_equalTo(self).inset(47);
make.bottom.mas_equalTo(self.mas_bottom).offset(-15);
}];
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 1;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 130;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
XPEnterpriseRechargePayTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPEnterpriseRechargePayTableViewCell class])];
cell.delegate = self;
cell.type = self.payType;
return cell;
}
#pragma mark - XPEnterpriseRechargePayTableViewCellDelegate
- (void)xPEnterpriseRechargePayTableViewCell:(XPEnterpriseRechargePayTableViewCell *)view didChooseItem:(EnterPrieseRechargeTypeItemModel *)itemInfo {
self.currentItem = itemInfo;
}
#pragma mark - Event Response
- (void)payButtonAction:(UIButton *)sender {
if (self.currentItem == nil) {
XPEnterpriseRechargePayTableViewCell * cell = (XPEnterpriseRechargePayTableViewCell *)[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
self.currentItem = cell.currentItem;
}
NSString * payChannel= self.currentItem.type == RechargeType_WX ? @"wx" : @"alipay_v2";
NSString * uid = [AccountInfoStorage instance].getUid;
NSString * ticket = [AccountInfoStorage instance].getTicket;
NSString * clientIp= [YYUtility ipAddress];
[XCHUDTool showLoading];
[Api requestPay:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
[XCHUDTool hideHUD];
if (code == 200) {
[TTPopup dismiss];
id infoData = data.data;
if ([payChannel isEqualToString:@"alipay_v2"]) {
if ([infoData isKindOfClass:[NSDictionary class]]) {
if ([[infoData objectForKey:@"payType"] isEqualToString:@"h5"]) {
if (self.firstrechargeVC) {
[self.firstrechargeVC dismissViewControllerAnimated:NO completion:^{
XPWebViewController *webView = [[XPWebViewController alloc] init];
webView.url = [infoData objectForKey:@"orderData"];
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webView animated:YES];
}];
} else {
XPWebViewController *webView = [[XPWebViewController alloc] init];
webView.url = [infoData objectForKey:@"orderData"];
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webView animated:YES];
}
}else if ([[infoData objectForKey:@"payType"] isEqualToString:@"native"]) {
if (self.firstrechargeVC) {
[self.firstrechargeVC dismissViewControllerAnimated:NO completion:nil];
}
NSString * signedStr = [infoData objectForKey:@"orderData"];
NSString * scheme = @"daeplayapp";
[[AlipaySDK defaultService] payOrder:signedStr fromScheme:scheme callback:^(NSDictionary *resultDic) {
}];
}
}
} else if ([payChannel isEqualToString:@"alipay"]) {
if (self.firstrechargeVC) {
[self.firstrechargeVC dismissViewControllerAnimated:NO completion:nil];
}
if ([data isKindOfClass:[NSString class]]) {
NSString * scheme = @"daeplayapp";
NSString * signedStr = [infoData objectForKey:@"orderData"];
[[AlipaySDK defaultService] payOrder:signedStr fromScheme:scheme callback:^(NSDictionary *resultDic) {
}];
}
}else if ([payChannel isEqualToString:@"wx"]){
if ([infoData isKindOfClass:[NSDictionary class]]) {
if (self.firstrechargeVC) {
[self.firstrechargeVC dismissViewControllerAnimated:NO completion:nil];
}
//
if (((NSString *)infoData[@"appid"]).length > 0) {
[WXApi registerApp:infoData[@"appid"] universalLink:@"https://6cqhk.share2dlink.com/"];
}
PayReq *req = [[PayReq alloc] init];
NSDictionary * dict = infoData;
NSMutableString *stamp = [dict objectForKey:@"timestamp"];
req.partnerId = [dict objectForKey:@"partnerid"];
req.prepayId = [dict objectForKey:@"prepayid"];
req.nonceStr = [dict objectForKey:@"noncestr"];
req.timeStamp = stamp.intValue;
req.package = @"Sign=WXPay";
req.sign = [dict objectForKey:@"sign"];
[WXApi sendReq:req completion:^(BOOL success) {
if (success) {
NSLog(@"********调起微信支付成功");
}
}];
}
}
} else {
[XCHUDTool showErrorWithMessage:msg];
}
} chargeProdId:self.chargeProdId payChannel:payChannel clientIp:clientIp uid:uid ticket:ticket roomUid:self.roomUid];
}
#pragma mark - Getters And Setters
- (void)setChargeMoney:(NSString *)chargeMoney {
_chargeMoney = chargeMoney;
if (_chargeMoney.length > 0) {
self.moneyLabel.text = [NSString stringWithFormat:@"¥%@", _chargeMoney];
}
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:16];
_titleLabel.textColor = [ThemeColor mainTextColor];
_titleLabel.text = @"支付";
_titleLabel.textAlignment = NSTextAlignmentCenter;
}
return _titleLabel;
}
- (UILabel *)moneyLabel {
if (!_moneyLabel) {
_moneyLabel = [[UILabel alloc] init];
_moneyLabel.font = [UIFont systemFontOfSize:28];
_moneyLabel.textColor = [ThemeColor mainTextColor];
_moneyLabel.textAlignment = NSTextAlignmentCenter;
}
return _moneyLabel;
}
- (UITableView *)tableView {
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_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:[XPEnterpriseRechargePayTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPEnterpriseRechargePayTableViewCell class])];
}
return _tableView;
}
- (UIButton *)payButton {
if (!_payButton) {
_payButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_payButton setTitle:@"确认支付" forState:UIControlStateNormal];
[_payButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
_payButton.titleLabel.font = [UIFont systemFontOfSize:15];
[_payButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[ThemeColor confirmButtonGradientStartColor], [ThemeColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal];
_payButton.layer.masksToBounds = YES;
_payButton.layer.cornerRadius = 45/2;
[_payButton addTarget:self action:@selector(payButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _payButton;
}
@end

View File

@@ -0,0 +1,17 @@
//
// XPEnterpriseTarotPayView.h
// xplan-ios
//
// Created by 冯硕 on 2022/5/17.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPEnterpriseTarotPayView : UIView
@property (nonatomic,copy) NSString *url;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,75 @@
//
// XPEnterpriseTarotPayView.m
// xplan-ios
//
// Created by on 2022/5/17.
//
#import "XPEnterpriseTarotPayView.h"
///Third
#import <Masonry/Masonry.h>
///View
#import "XPWebViewController.h"
@interface XPEnterpriseTarotPayView ()
@property (nonatomic, strong) XPWebViewController *webVC;
@end
@implementation XPEnterpriseTarotPayView
- (void)dealloc {
NSLog(@"aaaaaaa");
}
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.layer.masksToBounds = YES;
self.layer.cornerRadius = 15;
self.backgroundColor = [UIColor clearColor];
[self addSubview:self.webVC.view];
}
- (void)initSubViewConstraints {
[self.webVC.view mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self);;
make.top.mas_equalTo(self);
make.bottom.mas_equalTo(self);
}];
[self.webVC.webview mas_remakeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.webVC.view);
}];
}
#pragma mark - Getters And Setters
- (void)setUrl:(NSString *)url {
_url = url;
self.webVC.url = url;
}
- (XPWebViewController *)webVC {
if (_webVC == nil) {
_webVC = [[XPWebViewController alloc] init];
_webVC.view.backgroundColor = [UIColor clearColor];
_webVC.webview.backgroundColor = UIColor.clearColor;
_webVC.webview.scrollView.backgroundColor = UIColor.clearColor;
_webVC.webview.opaque = NO;
__weak typeof(self) weakSelf = self;
_webVC.urlLoadCompleted = ^(BOOL result, NSError * _Nullable error) {
UIColor *aimColor = result ? UIColor.clearColor : UIColor.whiteColor;
if (weakSelf.webVC.webview.backgroundColor != aimColor) {
weakSelf.webVC.webview.backgroundColor = aimColor;
}
};
}
return _webVC;
}
@end

View File

@@ -0,0 +1,17 @@
//
// XPMineHalfRechargeViewController.h
// xplan-ios
//
// Created by 冯硕 on 2022/6/8.
//
#import "MvpViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPMineHalfRechargeViewController : MvpViewController
@property (nonatomic,copy) NSString *roomUid;
@property (nonatomic,weak) UINavigationController *currentNav;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,616 @@
//
// XPMineHalfRechargeViewController.m
// xplan-ios
//
// Created by on 2022/6/8.
//
#import "XPMineHalfRechargeViewController.h"
///Third
#import <Masonry/Masonry.h>
#import <AlipaySDK/AlipaySDK.h>
#import <WXApi.h>
#import <WXApiObject.h>
#import <NIMSDK/NIMSDK.h>
#import <YYText/YYText.h>
///Tool
#import "ThemeColor.h"
#import "XPMacro.h"
#import "XPConstant.h"
#import "UIImage+Utils.h"
///Model
#import "EnterpriseRechargeListInfoModel.h"
#import "EnterPrieseRechargeTypeItemModel.h"
#import "AttachmentModel.h"
#import "WalletInfoModel.h"
///P
#import "XPEnterpriseRechargePresenter.h"
#import "XPEnterpriseRechargeProtocol.h"
///View
#import "XPEnterpriseHalfCollectionViewCell.h"
#import "XPEnterprisePayTypeView.h"
#import "XPWebViewController.h"
@interface XPMineHalfRechargeViewController ()<XPEnterpriseRechargeProtocol,UICollectionViewDelegate, UICollectionViewDataSource, NIMSystemNotificationManagerDelegate>
///
@property (nonatomic,strong) NSMutableArray<EnterpriseRechargeInfoModel *> *datasource;
///View
@property (nonatomic,strong) UIView * topView;
///
@property (nonatomic,strong) UIView * contentView;
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UILabel *diamondLabel;
///
@property (nonatomic,strong) UILabel *limitLabel;
///
@property (nonatomic,strong) UICollectionView *collectionView;
///
@property (nonatomic,strong) UILabel *payTypeLabel;
///
@property (nonatomic,strong) UIStackView *payStackView;
///
@property (nonatomic,strong) XPEnterprisePayTypeView *wxPayView;
///
@property (nonatomic,strong) XPEnterprisePayTypeView *aliPayView;
///
@property (nonatomic,strong) UIView *morePayView;
///
@property (nonatomic,strong) UIButton *arrowButton;
///
@property (nonatomic,strong) UILabel *moreLabel;
///
@property (nonatomic,strong) UIButton *rechargeButton;
///
@property (nonatomic,strong) YYLabel *privacyLable;
///
@property (nonatomic,strong) EnterpriseRechargeInfoModel *rechargeInfo;
///
@property (nonatomic,strong) EnterpriseRechargeListInfoModel *listInfo;
///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *currentItem;
///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *aliPayItem;
///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *wxPayItem;
@end
@implementation XPMineHalfRechargeViewController
- (void)dealloc {
[[NIMSDK sharedSDK].systemNotificationManager removeDelegate:self];
}
- (BOOL)isHiddenNavBar {
return YES;
}
- (__kindof id)createPresenter {
return [[XPEnterpriseRechargePresenter alloc] init];
}
- (void)viewDidLayoutSubviews {
self.topView.hidden = NO;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor clearColor];
[[NIMSDK sharedSDK].systemNotificationManager addDelegate:self];
[self initData];
[self initSubViews];
[self initSubViewConstraints];
}
#pragma mark - Private Method
- (void)initData {
[self.presenter getUserWalletInfo];
[self.presenter getRechargeList:@"1"];
}
- (void)initSubViews {
[self.view addSubview:self.topView];
[self.view addSubview:self.contentView];
[self.contentView addSubview:self.titleLabel];
[self.contentView addSubview:self.diamondLabel];
[self.contentView addSubview:self.limitLabel];
[self.contentView addSubview:self.collectionView];
[self.contentView addSubview:self.payTypeLabel];
[self.contentView addSubview:self.payStackView];
[self.contentView addSubview:self.rechargeButton];
[self.contentView addSubview:self.privacyLable];
[self.payStackView addArrangedSubview:self.wxPayView];
[self.payStackView addArrangedSubview:self.aliPayView];
[self.payStackView addArrangedSubview:self.morePayView];
[self.morePayView addSubview:self.moreLabel];
[self.morePayView addSubview:self.arrowButton];
}
- (void)initSubViewConstraints {
[self.topView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.mas_equalTo(self.view);
make.bottom.mas_equalTo(self.contentView.mas_top);
}];
[self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.mas_equalTo(self.view);
make.height.mas_equalTo(492 + kSafeAreaBottomHeight);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.contentView).offset(16);
make.centerX.mas_equalTo(self.contentView);
}];
[self.diamondLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.contentView).offset(15);
make.top.mas_equalTo(self.titleLabel.mas_bottom).offset(20);
make.right.mas_lessThanOrEqualTo(self.limitLabel.mas_left).offset(-5);
}];
[self.limitLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(self.contentView).offset(-15);
make.centerY.mas_equalTo(self.diamondLabel);
}];
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.diamondLabel.mas_bottom).offset(0);
make.left.right.mas_equalTo(self.contentView);
make.height.mas_equalTo(54 * 3 + 8 * 2 + 16 * 2);
}];
[self.payTypeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.diamondLabel);
make.top.mas_equalTo(self.collectionView.mas_bottom).offset(0);
}];
[self.payStackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.contentView).inset(15);
make.height.mas_equalTo(48);
make.top.mas_equalTo(self.payTypeLabel.mas_bottom).offset(12);
}];
[self.moreLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.morePayView).offset(-7);
make.centerY.mas_equalTo(self.morePayView);
}];
[self.arrowButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(11, 20));
make.centerY.mas_equalTo(self.morePayView);
make.left.mas_equalTo(self.moreLabel.mas_right).offset(3);
}];
[self.rechargeButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.privacyLable.mas_top).offset(-12);
make.left.right.mas_equalTo(self.view).inset(47);
make.height.mas_equalTo(44);
}];
[self.privacyLable mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.view).offset(-31 - kSafeAreaBottomHeight);
make.centerX.mas_equalTo(self.view);
}];
}
#pragma mark - UICollectionViewDatasource And UICollectionViewDelegate
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.datasource.count;
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
XPEnterpriseHalfCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPEnterpriseHalfCollectionViewCell class]) forIndexPath:indexPath];
EnterpriseRechargeInfoModel * info = [self.datasource objectAtIndex:indexPath.row];
if ([info.chargeProdId isEqualToString:self.rechargeInfo.chargeProdId]) {
info.isSelect = YES;
} else {
info.isSelect = NO;
}
cell.infoModel = info;
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
if (self.datasource.count > 0) {
EnterpriseRechargeInfoModel * infor = [self.datasource objectAtIndex:indexPath.row];
self.rechargeInfo = infor;
[self.collectionView reloadData];
}
}
#pragma mark - XPEnterpriseRechargeProtocol
- (void)getUserWalletInfo:(WalletInfoModel *)balanceInfo {
self.diamondLabel.text = [NSString stringWithFormat:@"我的钻石:%@", balanceInfo.diamonds];
}
- (void)getRechargeListSuccess:(EnterpriseRechargeListInfoModel *)info {
self.listInfo = info;
if (info.list.count > 0) {
[self.datasource addObjectsFromArray:info.list];
}
if ((info.defaultPay == RechargeDefaultPayType_ZFB || info.defaultPay == RechargeDefaultPayType_ZFB_WX) && info.bigList.count > 0) {
[self.datasource addObjectsFromArray: info.bigList];
}
if (self.datasource.count > 0) {
self.rechargeInfo = self.datasource.firstObject;
}
switch (info.defaultPay) {
case RechargeDefaultPayType_WX:
{
self.wxPayItem.isSelect = YES;
self.aliPayItem.isSelect = NO;
self.currentItem = self.wxPayItem;
self.morePayView.hidden = NO;
self.aliPayView.hidden = YES;
[self.payStackView insertArrangedSubview:self.wxPayView atIndex:0];
}
break;
case RechargeDefaultPayType_ZFB:
{
self.wxPayItem.isSelect = NO;
self.aliPayItem.isSelect = YES;
self.currentItem = self.aliPayItem;
self.morePayView.hidden = NO;
self.wxPayView.hidden = YES;
[self.payStackView insertArrangedSubview:self.aliPayView atIndex:0];
}
break;
case RechargeDefaultPayType_WX_ZFB:
{
self.wxPayItem.isSelect = YES;
self.aliPayItem.isSelect = NO;
self.currentItem = self.wxPayItem;
self.morePayView.hidden = YES;
self.wxPayView.hidden = NO;
self.aliPayView.hidden = NO;
[self.payStackView insertArrangedSubview:self.wxPayView atIndex:0];
}
break;
case RechargeDefaultPayType_ZFB_WX:
{
self.wxPayItem.isSelect = NO;
self.aliPayItem.isSelect = YES;
self.currentItem = self.aliPayItem;
self.morePayView.hidden = YES;
self.aliPayView.hidden = NO;
self.wxPayView.hidden = NO;
[self.payStackView insertArrangedSubview:self.aliPayView atIndex:0];
}
break;
default:
{
self.wxPayItem.isSelect = NO;
self.aliPayItem.isSelect = YES;
self.currentItem = self.aliPayItem;
self.morePayView.hidden = YES;
self.wxPayView.hidden = YES;
}
break;
}
self.wxPayView.rechargeTypeModel = self.wxPayItem;
self.aliPayView.rechargeTypeModel = self.aliPayItem;
[self.collectionView reloadData];
}
- (void)requestPaySuccess:(id)data payChannel:(NSString *)payChannel {
if ([payChannel isEqualToString:@"alipay_v2"]) {
if ([data isKindOfClass:[NSDictionary class]]) {
if ([[data objectForKey:@"payType"] isEqualToString:@"h5"]) {
[self dismissViewControllerAnimated:NO completion:nil];
XPWebViewController *webView = [[XPWebViewController alloc] init];
webView.url = [data objectForKey:@"orderData"];
[self.currentNav pushViewController:webView animated:YES];
}else if ([[data objectForKey:@"payType"] isEqualToString:@"native"]) {
NSString * signedStr = [data objectForKey:@"orderData"];
NSString * scheme = @"daeplayapp";
[[AlipaySDK defaultService] payOrder:signedStr fromScheme:scheme callback:^(NSDictionary *resultDic) {
}];
}
}
} else if ([payChannel isEqualToString:@"alipay"]) {
if ([data isKindOfClass:[NSString class]]) {
NSString * scheme = @"daeplayapp";
NSString * signedStr = [data objectForKey:@"orderData"];
[[AlipaySDK defaultService] payOrder:signedStr fromScheme:scheme callback:^(NSDictionary *resultDic) {
}];
}
}else if ([payChannel isEqualToString:@"wx"]){
if ([data isKindOfClass:[NSDictionary class]]) {
//
if (((NSString *)data[@"appid"]).length > 0) {
[WXApi registerApp:data[@"appid"] universalLink:@"https://6cqhk.share2dlink.com/"];
}
PayReq *req = [[PayReq alloc] init];
NSDictionary * dict = data;
NSMutableString *stamp = [dict objectForKey:@"timestamp"];
req.partnerId = [dict objectForKey:@"partnerid"];
req.prepayId = [dict objectForKey:@"prepayid"];
req.nonceStr = [dict objectForKey:@"noncestr"];
req.timeStamp = stamp.intValue;
req.package = @"Sign=WXPay";
req.sign = [dict objectForKey:@"sign"];
[WXApi sendReq:req completion:^(BOOL success) {
if (success) {
NSLog(@"********调起微信支付成功");
}
}];
}
}
}
#pragma mark - NIMSystemNotificationManagerDelegate
- (void)onReceiveCustomSystemNotification:(NIMCustomSystemNotification *)notification {
if (notification.receiverType == NIMSessionTypeP2P) {
AttachmentModel *attachment = [AttachmentModel modelWithJSON:notification.content];
if (attachment.first == CustomMessageType_Account && attachment.second == Custom_Message_Sub_Account_Changed) {
WalletInfoModel * balanceInfo = [WalletInfoModel modelWithDictionary:attachment.data];
self.diamondLabel.text = [NSString stringWithFormat:@"我的钻石:%@", balanceInfo.diamonds];
}
}
}
#pragma mark - Event Response
- (void)tapMoreTypeRecognizer {
switch (self.listInfo.defaultPay) {
case RechargeDefaultPayType_WX:
{
self.aliPayView.hidden = NO;
self.morePayView.hidden = YES;
}
break;
case RechargeDefaultPayType_ZFB:
{
self.wxPayView.hidden = NO;
self.morePayView.hidden = YES;
}
break;
default:
break;
}
}
- (void)dismissHalfRecharge {
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)rechargeButtonAction:(UIButton *)sender {
NSString * payType= self.currentItem.type == RechargeType_WX ? @"wx" : @"alipay_v2";
[self.presenter requestPay:self.rechargeInfo.chargeProdId payChannel:payType roomUid:self.roomUid];
}
- (void)tapPayViewRecognizer:(UITapGestureRecognizer *)tap {
XPEnterprisePayTypeView * view = (XPEnterprisePayTypeView *)tap.view;
if (view == self.wxPayView) {
self.wxPayItem.isSelect = YES;
self.aliPayItem.isSelect = NO;
self.currentItem = self.wxPayItem;
} else {
self.wxPayItem.isSelect = NO;
self.aliPayItem.isSelect = YES;
self.currentItem = self.aliPayItem;
}
self.wxPayView.rechargeTypeModel = self.wxPayItem;
self.aliPayView.rechargeTypeModel = self.aliPayItem;
}
#pragma mark - Getters And Setters
- (UICollectionView *)collectionView{
if (!_collectionView) {
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
layout.itemSize = CGSizeMake((CGFloat)(KScreenWidth - 15 * 2 - 8 * 2 - 2) / 3.0, 54);
layout.sectionInset = UIEdgeInsetsMake(16, 15, 16, 15);
layout.minimumLineSpacing = 8;
layout.minimumInteritemSpacing = 8;
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
_collectionView.dataSource = self;
_collectionView.delegate = self;
_collectionView.backgroundColor = [UIColor clearColor];
_collectionView.scrollEnabled = NO;
[_collectionView registerClass:[XPEnterpriseHalfCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPEnterpriseHalfCollectionViewCell class])];
}
return _collectionView;
}
- (UIView *)topView {
if (!_topView) {
_topView = [[UIView alloc] init];
_topView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.5];
_topView.hidden = YES;
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissHalfRecharge)];
[_topView addGestureRecognizer:tap];
}
return _topView;
}
- (UIView *)contentView {
if (!_contentView) {
_contentView = [[UIView alloc] init];
_contentView.backgroundColor = [ThemeColor appBackgroundColor];
CAShapeLayer * layer = [CAShapeLayer layer];
layer.path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, KScreenWidth, 492) byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(8, 8)].CGPath;
_contentView.layer.mask = layer;
}
return _contentView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:18 weight:UIFontWeightMedium];
_titleLabel.textColor = [ThemeColor mainTextColor];
_titleLabel.textAlignment = NSTextAlignmentCenter;
_titleLabel.text = @"充值";
}
return _titleLabel;
}
- (UILabel *)diamondLabel {
if (!_diamondLabel) {
_diamondLabel = [[UILabel alloc] init];
_diamondLabel.font = [UIFont systemFontOfSize:14];
_diamondLabel.textColor = [ThemeColor mainTextColor];
}
return _diamondLabel;
}
- (UILabel *)limitLabel {
if (!_limitLabel) {
_limitLabel = [[UILabel alloc] init];
_limitLabel.font = [UIFont systemFontOfSize:12];
_limitLabel.textColor = [ThemeColor secondTextColor];
_limitLabel.text = @"未成年人禁止充值";
_limitLabel.textAlignment = NSTextAlignmentRight;
}
return _limitLabel;
}
- (UILabel *)payTypeLabel {
if (!_payTypeLabel) {
_payTypeLabel = [[UILabel alloc] init];
_payTypeLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
_payTypeLabel.textColor = [ThemeColor mainTextColor];
_payTypeLabel.text = @"支付方式";
}
return _payTypeLabel;
}
- (UIStackView *)payStackView {
if (!_payStackView) {
_payStackView = [[UIStackView alloc] init];
_payStackView.axis = UILayoutConstraintAxisHorizontal;
_payStackView.distribution = UIStackViewDistributionFillEqually;
_payStackView.alignment = UIStackViewAlignmentFill;
_payStackView.spacing = 13;
}
return _payStackView;
}
- (XPEnterprisePayTypeView *)aliPayView {
if (!_aliPayView) {
_aliPayView = [[XPEnterprisePayTypeView alloc] init];
_aliPayView.rechargeTypeModel = self.aliPayItem;
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapPayViewRecognizer:)];
[_aliPayView addGestureRecognizer:tap];
}
return _aliPayView;
}
- (XPEnterprisePayTypeView *)wxPayView {
if (!_wxPayView) {
_wxPayView = [[XPEnterprisePayTypeView alloc] init];
_wxPayView.rechargeTypeModel = self.wxPayItem;
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapPayViewRecognizer:)];
[_wxPayView addGestureRecognizer:tap];
}
return _wxPayView;
}
- (UIView *)morePayView {
if (!_morePayView) {
_morePayView = [[UIView alloc] init];
_morePayView.backgroundColor = [UIColor clearColor];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapMoreTypeRecognizer)];
[_morePayView addGestureRecognizer:tap];
}
return _morePayView;
}
- (UILabel *)moreLabel {
if (!_moreLabel) {
_moreLabel = [[UILabel alloc] init];
_moreLabel.font = [UIFont systemFontOfSize:13];
_moreLabel.textColor = [ThemeColor mainTextColor];
_moreLabel.text = @"展开更多支付方式";
}
return _moreLabel;
}
- (UIButton *)arrowButton {
if (!_arrowButton) {
_arrowButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_arrowButton setImage:[UIImage imageNamed:@"room_setting_arrow"] forState:UIControlStateNormal];
[_arrowButton setImage:[UIImage imageNamed:@"room_setting_arrow"] forState:UIControlStateSelected];
_arrowButton.transform = CGAffineTransformMakeRotation(M_PI / 2);
}
return _arrowButton;
}
- (UIButton *)rechargeButton {
if (!_rechargeButton) {
_rechargeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_rechargeButton setTitle:@"确认充值" forState:UIControlStateNormal];
_rechargeButton.titleLabel.font = [UIFont systemFontOfSize:15];
[_rechargeButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[ThemeColor confirmButtonGradientStartColor], [ThemeColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal];
[_rechargeButton setTitleColor:[ThemeColor confirmButtonTextColor] forState:UIControlStateNormal];
_rechargeButton.layer.masksToBounds = YES;
_rechargeButton.layer.cornerRadius = 22;
[_rechargeButton addTarget:self action:@selector(rechargeButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _rechargeButton;
}
- (YYLabel *)privacyLable {
if (!_privacyLable) {
_privacyLable = [[YYLabel alloc] init];
NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:@"已阅读并同意"];
attString.yy_color = [ThemeColor secondTextColor];
attString.yy_font = [UIFont systemFontOfSize:14];
NSMutableAttributedString *rechargeAttString = [[NSMutableAttributedString alloc] initWithString:@"《用户充值协议》" attributes:@{NSForegroundColorAttributeName:[ThemeColor appMainColor]}];
@kWeakify(self);
[rechargeAttString yy_setTextHighlightRange:NSMakeRange(0, rechargeAttString.length) color:nil backgroundColor:nil userInfo:nil tapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) {
@kStrongify(self);
[self dismissViewControllerAnimated:NO completion:nil];
XPWebViewController * webVC = [[XPWebViewController alloc] init];
webVC.url = @"yinyou/modules/rule/rechargeAgreement.html";
[self.currentNav pushViewController:webVC animated:YES];
} longPressAction:nil];
[attString appendAttributedString:rechargeAttString];
_privacyLable.textAlignment = NSTextAlignmentCenter;
_privacyLable.attributedText = attString;
}
return _privacyLable;
}
- (NSMutableArray<EnterpriseRechargeInfoModel *> *)datasource {
if (!_datasource) {
_datasource = [NSMutableArray array];
}
return _datasource;
}
- (EnterPrieseRechargeTypeItemModel *)aliPayItem {
if (!_aliPayItem) {
EnterPrieseRechargeTypeItemModel * zfbItem = [[EnterPrieseRechargeTypeItemModel alloc] init];
zfbItem.imageName = @"mine_recharge_alipay";
zfbItem.title = @"支付宝";
zfbItem.isSelect = YES;
zfbItem.type = RechargeType_ZFB;
_aliPayItem = zfbItem;
}
return _aliPayItem;
}
- (EnterPrieseRechargeTypeItemModel *)wxPayItem {
if (!_wxPayItem) {
EnterPrieseRechargeTypeItemModel * wxItem = [[EnterPrieseRechargeTypeItemModel alloc] init];
wxItem.imageName = @"mine_recharge_wechat";
wxItem.title = @"微信";
wxItem.type = RechargeType_WX;
_wxPayItem = wxItem;
}
return _wxPayItem;
}
@end

View File

@@ -1,8 +1,8 @@
// //
// XPMineRechargeViewController.h // XPEnterPriseRechargeViewController.h
// xplan-ios // xplan-ios
// //
// Created by 冯硕 on 2021/9/24. // Created by 冯硕 on 2022/5/14.
// //
#import "MvpViewController.h" #import "MvpViewController.h"
@@ -10,7 +10,7 @@
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@interface XPMineRechargeViewController : MvpViewController @interface XPMineRechargeViewController : MvpViewController
@property (nonatomic,copy) NSString *roomUid;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,388 @@
//
// XPEnterPriseRechargeViewController.m
// xplan-ios
//
// Created by on 2022/5/14.
//
#import "XPMineRechargeViewController.h"
///Third
#import <Masonry/Masonry.h>
#import <AlipaySDK/AlipaySDK.h>
#import <WXApi.h>
#import <WXApiObject.h>
#import <NIMSDK/NIMSDK.h>
///Tool
#import "ThemeColor.h"
#import "XPMacro.h"
#import "XPConstant.h"
///Model
#import "EnterpriseRechargeListInfoModel.h"
#import "EnterPrieseRechargeTypeItemModel.h"
#import "AttachmentModel.h"
#import "WalletInfoModel.h"
///P
#import "XPEnterpriseRechargePresenter.h"
#import "XPEnterpriseRechargeProtocol.h"
///View
#import "XPEnterpriseChargeListTableViewCell.h"
#import "XPEnterpriseRechargePayTableViewCell.h"
#import "XPEnterpriseRechargeFootView.h"
#import "XPWebViewController.h"
@interface XPMineRechargeViewController ()<XPEnterpriseRechargeProtocol, UITableViewDelegate, UITableViewDataSource, XPEnterpriseRechargeFootViewDelegate, XPEnterpriseChargeListTableViewCellDelegate, XPEnterpriseRechargePayTableViewCellDelegate, NIMSystemNotificationManagerDelegate>
///
@property (nonatomic,strong) UITableView *tableView;
///
@property (nonatomic,strong) NSMutableArray<EnterpriseRechargeInfoModel *> *datasource;
///
@property (nonatomic,strong) UIView * navView;
///
@property (nonatomic,strong) UIButton *backButton;
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UIButton *incomeButton;
///
@property (nonatomic,strong) XPEnterpriseRechargeFootView *footView;
///
@property (nonatomic,strong) WalletInfoModel *balanceInfo;
///
@property (nonatomic,strong) EnterpriseRechargeInfoModel *rechargeInfo;
///
@property (nonatomic,strong) EnterpriseRechargeListInfoModel *listInfo;
///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *currentItem;
@end
@implementation XPMineRechargeViewController
+ (void)load {
NSString *universalLink = @"https://6cqhk.share2dlink.com/";
[WXApi registerApp:KeyWithType(KeyType_WechatAppid) universalLink:universalLink];
}
- (void)dealloc {
[[NIMSDK sharedSDK].systemNotificationManager removeDelegate:self];
}
- (BOOL)isHiddenNavBar {
return YES;
}
- (__kindof id)createPresenter {
return [[XPEnterpriseRechargePresenter alloc] init];
}
- (void)viewDidLoad {
[super viewDidLoad];
[[NIMSDK sharedSDK].systemNotificationManager addDelegate:self];
[self initData];
[self initSubViews];
[self initSubViewConstraints];
}
#pragma mark - Private Method
- (void)initData {
[self.presenter getUserWalletInfo];
[self.presenter getRechargeList:@"1"];
}
- (void)initSubViews {
[self.view addSubview:self.tableView];
[self.view addSubview:self.navView];
[self.navView addSubview:self.backButton];
[self.navView addSubview:self.titleLabel];
[self.navView addSubview:self.incomeButton];
self.tableView.tableFooterView = self.footView;
}
- (void)initSubViewConstraints {
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.view);
}];
[self.navView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.top.right.mas_equalTo(self.view);
make.height.mas_equalTo(kNavigationHeight);
}];
[self.backButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(15);
make.centerY.equalTo(self.navView.mas_bottom).mas_offset(-22);
}];
[self.incomeButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(-15);
make.centerY.equalTo(self.backButton);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.view);
make.centerY.equalTo(self.backButton);
}];
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 2;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 1;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0) {
CGFloat wallInfoHeight = 211 + 72;
if (self.datasource.count > 0) {
CGFloat listHeight= 0;
int page = self.datasource.count % 3;
int line = (int)self.datasource.count / 3;
if (page == 0) {
listHeight = 64 * line + (line - 1) * 8;
} else {
listHeight = (line + 1) * 64 + line * 8;
}
return (listHeight + wallInfoHeight);
} else {
return wallInfoHeight;
}
} else {
return 50 * 2 + 30;
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0) {
XPEnterpriseChargeListTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPEnterpriseChargeListTableViewCell class]) forIndexPath:indexPath];
cell.rechargeList = self.datasource;
cell.balanceInfo = self.balanceInfo;
cell.delegate = self;
return cell;
} else {
XPEnterpriseRechargePayTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPEnterpriseRechargePayTableViewCell class])];
if (self.currentItem == nil) {
cell.type = self.listInfo.defaultPay;
}
cell.delegate = self;
return cell;
}
}
#pragma mark - XPEnterpriseRechargeFootViewDelegate
- (void)xPEnterpriseRechargeFootView:(XPEnterpriseRechargeFootView *)view didClickRecharge:(UIButton *)sender {
if (self.rechargeInfo.chargeProdId.length >0) {
if (self.currentItem == nil) {
XPEnterpriseRechargePayTableViewCell * cell = (XPEnterpriseRechargePayTableViewCell *)[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:1]];
self.currentItem = cell.currentItem;
}
NSString * payType= self.currentItem.type == RechargeType_WX ? @"wx" : @"alipay_v2";
[self.presenter requestPay:self.rechargeInfo.chargeProdId payChannel:payType roomUid:self.roomUid];
}
}
- (void)xPEnterpriseRechargeFootView:(XPEnterpriseRechargeFootView *)view didClickRechargeProtocol:(UILabel *)label {
XPWebViewController * webVC = [[XPWebViewController alloc] init];
webVC.url = @"yinyou/modules/rule/rechargeAgreement.html";
[self.navigationController pushViewController:webVC animated:YES];
}
#pragma mark - XPEnterpriseChargeListTableViewCellDelegate
- (void)xPEnterpriseChargeListTableViewCell:(XPEnterpriseChargeListTableViewCell *)cell didSelectItem:(EnterpriseRechargeInfoModel *)infoModel {
self.rechargeInfo = infoModel;
}
#pragma mark - XPEnterpriseRechargePayTableViewCellDelegate
- (void)xPEnterpriseRechargePayTableViewCell:(XPEnterpriseRechargePayTableViewCell *)view didChooseItem:(EnterPrieseRechargeTypeItemModel *)itemInfo {
self.currentItem = itemInfo;
[self.datasource removeAllObjects];
switch (itemInfo.type) {
case RechargeType_WX:
{
if (self.listInfo.list.count > 0) {
[self.datasource addObjectsFromArray:self.listInfo.list];
}
[self.tableView reloadData];
}
break;
case RechargeType_ZFB:
{
if (self.listInfo.list.count > 0) {
[self.datasource addObjectsFromArray:self.listInfo.list];
}
if (itemInfo.type == RechargeType_ZFB && self.listInfo.bigList.count > 0) {
[self.datasource addObjectsFromArray: self.listInfo.bigList];
}
[self.tableView reloadData];
}
break;
default:
break;
}
}
#pragma mark - XPEnterpriseRechargeProtocol
- (void)getUserWalletInfo:(WalletInfoModel *)balanceInfo {
self.balanceInfo = balanceInfo;
[self.tableView reloadData];
}
- (void)getRechargeListSuccess:(EnterpriseRechargeListInfoModel *)info {
self.listInfo = info;
if (info.list.count > 0) {
[self.datasource addObjectsFromArray:info.list];
}
if ((info.defaultPay == RechargeDefaultPayType_ZFB || info.defaultPay == RechargeDefaultPayType_ZFB_WX) && info.bigList.count > 0) {
[self.datasource addObjectsFromArray: info.bigList];
}
[self.tableView reloadData];
}
- (void)requestPaySuccess:(id)data payChannel:(NSString *)payChannel {
if ([payChannel isEqualToString:@"alipay_v2"]) {
if ([data isKindOfClass:[NSDictionary class]]) {
if ([[data objectForKey:@"payType"] isEqualToString:@"h5"]) {
XPWebViewController *webView = [[XPWebViewController alloc] init];
webView.url = [data objectForKey:@"orderData"];
[self.navigationController pushViewController:webView animated:YES];
}else if ([[data objectForKey:@"payType"] isEqualToString:@"native"]) {
NSString * signedStr = [data objectForKey:@"orderData"];
NSString * scheme = @"daeplayapp";
[[AlipaySDK defaultService] payOrder:signedStr fromScheme:scheme callback:^(NSDictionary *resultDic) {
}];
}
}
} else if ([payChannel isEqualToString:@"alipay"]) {
if ([data isKindOfClass:[NSString class]]) {
NSString * scheme = @"daeplayapp";
NSString * signedStr = [data objectForKey:@"orderData"];
[[AlipaySDK defaultService] payOrder:signedStr fromScheme:scheme callback:^(NSDictionary *resultDic) {
}];
}
}else if ([payChannel isEqualToString:@"wx"]){
//
if (((NSString *)data[@"appid"]).length > 0) {
[WXApi registerApp:data[@"appid"] universalLink:@"https://6cqhk.share2dlink.com/"];
}
if ([data isKindOfClass:[NSDictionary class]]) {
PayReq *req = [[PayReq alloc] init];
NSDictionary * dict = data;
NSMutableString *stamp = [dict objectForKey:@"timestamp"];
req.partnerId = [dict objectForKey:@"partnerid"];
req.prepayId = [dict objectForKey:@"prepayid"];
req.nonceStr = [dict objectForKey:@"noncestr"];
req.timeStamp = stamp.intValue;
req.package = @"Sign=WXPay";
req.sign = [dict objectForKey:@"sign"];
[WXApi sendReq:req completion:^(BOOL success) {
if (success) {
NSLog(@"********调起微信支付成功");
}
}];
}
}
}
#pragma mark - NIMSystemNotificationManagerDelegate
- (void)onReceiveCustomSystemNotification:(NIMCustomSystemNotification *)notification {
if (notification.receiverType == NIMSessionTypeP2P) {
AttachmentModel *attachment = [AttachmentModel modelWithJSON:notification.content];
if (attachment.first == CustomMessageType_Account && attachment.second == Custom_Message_Sub_Account_Changed) {
WalletInfoModel * balanceInfo = [WalletInfoModel modelWithDictionary:attachment.data];
self.balanceInfo = balanceInfo;
[self.tableView reloadData];
}
}
}
#pragma mark - Event Response
- (void)backButtonAction:(UIButton *)sender {
[self.navigationController popViewControllerAnimated:YES];
}
- (void)incomeButtonAction:(UIButton *)sender {
XPWebViewController * webVC = [[XPWebViewController alloc] init];
webVC.url = @"yinyou/modules/myincome/index.html#/myincome";
[self.navigationController pushViewController:webVC animated:YES];
}
#pragma mark - Getters And Setters
- (UITableView *)tableView {
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_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:[XPEnterpriseRechargePayTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPEnterpriseRechargePayTableViewCell class])];
[_tableView registerClass:[XPEnterpriseChargeListTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPEnterpriseChargeListTableViewCell class])];
}
return _tableView;
}
- (XPEnterpriseRechargeFootView *)footView {
if (!_footView) {
_footView = [[XPEnterpriseRechargeFootView alloc] init];
_footView.delegate = self;
}
return _footView;
}
- (UIView *)navView {
if (!_navView) {
_navView = [[UIView alloc] init];
_navView.backgroundColor = [UIColor clearColor];
}
return _navView;
}
- (UIButton *)backButton {
if (!_backButton) {
_backButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_backButton setImage:[UIImage imageNamed:@"common_nav_back"] forState:UIControlStateNormal];
[_backButton setImage:[UIImage imageNamed:@"common_nav_back"] forState:UIControlStateSelected];
[_backButton addTarget:self action:@selector(backButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _backButton;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:18 weight:UIFontWeightMedium];
_titleLabel.textColor = [ThemeColor mainTextColor];
_titleLabel.textAlignment = NSTextAlignmentCenter;
_titleLabel.text = @"我的账户";
}
return _titleLabel;
}
- (UIButton *)incomeButton {
if (!_incomeButton) {
_incomeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_incomeButton setTitle:@"我的收益" forState:UIControlStateNormal];
[_incomeButton setTitleColor:[ThemeColor mainTextColor] forState:UIControlStateNormal];
_incomeButton.titleLabel.font = [UIFont systemFontOfSize:13];
[_incomeButton addTarget:self action:@selector(incomeButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _incomeButton;
}
- (NSMutableArray<EnterpriseRechargeInfoModel *> *)datasource {
if (!_datasource) {
_datasource = [NSMutableArray array];
}
return _datasource;
}
@end

View File

@@ -55,6 +55,11 @@ NS_ASSUME_NONNULL_BEGIN
/// 获取贵族排行榜 /// 获取贵族排行榜
/// @param complection 完成回调 /// @param complection 完成回调
+ (void)vipRankList:(HttpRequestHelperCompletion)complection; + (void)vipRankList:(HttpRequestHelperCompletion)complection;
/// 使用钻石开通贵族
/// @param complection 完成回调
/// @param roomUid 房主的uid
+ (void)openWithDiamond:(HttpRequestHelperCompletion)complection roomUid:(NSString *)roomUid;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

View File

@@ -86,4 +86,5 @@
[HttpRequestHelper request:@"vip/openWithDiamond" method:HttpRequestHelperMethodPOST params:dic completion:complection]; [HttpRequestHelper request:@"vip/openWithDiamond" method:HttpRequestHelperMethodPOST params:dic completion:complection];
} }
@end @end

View File

@@ -23,6 +23,8 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,assign) CGFloat money; @property (nonatomic,assign) CGFloat money;
///原价 ///原价
@property (nonatomic,assign) CGFloat oriPrice; @property (nonatomic,assign) CGFloat oriPrice;
///换算率
@property (nonatomic,assign) NSInteger rate;
@end @end

View File

@@ -46,6 +46,10 @@ NS_ASSUME_NONNULL_BEGIN
///获取贵族升级列表 ///获取贵族升级列表
- (void)getNobleUpgradeList; - (void)getNobleUpgradeList;
/// 钻石开通贵族
/// - Parameter roomUid: 房主的uid
- (void)opeNobleWishtDiamond:(NSString *)roomUid;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

View File

@@ -122,4 +122,12 @@
}]]; }]];
} }
///
/// - Parameter roomUid: uid
- (void)opeNobleWishtDiamond:(NSString *)roomUid {
[Api openWithDiamond:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[[self getView] opeNobleWishtDiamondSuccess];
}] roomUid:roomUid];
}
@end @end

View File

@@ -45,4 +45,7 @@
///获取排行 ///获取排行
- (void)getNobleRankListSuccess:(NobleRankListModel *)rankInfo; - (void)getNobleRankListSuccess:(NobleRankListModel *)rankInfo;
///开通贵族成功
- (void)opeNobleWishtDiamondSuccess;
@end @end

View File

@@ -0,0 +1,31 @@
//
// XPNobleRechargeTableViewCell.h
// xplan-ios
//
// Created by 冯硕 on 2022/10/28.
//
#import <UIKit/UIKit.h>
#import "EnterpriseRechargeListInfoModel.h"
NS_ASSUME_NONNULL_BEGIN
@class XPNobleRechargeTableViewCell, EnterPrieseRechargeTypeItemModel;
@protocol XPNobleRechargeTableViewCellDelegate <NSObject>
- (void)xPNobleRechargeTableViewCell:(XPNobleRechargeTableViewCell *)view didChooseItem:(EnterPrieseRechargeTypeItemModel *)itemInfo;
@end
@interface XPNobleRechargeTableViewCell : UITableViewCell
///钻石数
@property (nonatomic,assign) CGFloat diamondNum;
///默认的充值类型
@property (nonatomic,assign) RechargeDefaultPayType type;
///当前选中的支付类型
@property (nonatomic,strong, readonly) EnterPrieseRechargeTypeItemModel *currentItem;
///代理
@property (nonatomic,weak) id<XPNobleRechargeTableViewCellDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,334 @@
//
// XPNobleRechargeTableViewCell.m
// xplan-ios
//
// Created by on 2022/10/28.
//
#import "XPNobleRechargeTableViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "ThemeColor.h"
///Model
#import "EnterPrieseRechargeTypeItemModel.h"
///View
#import "XPEnterpriseChargeTypeTableViewCell.h"
@interface XPNobleRechargeTableViewCell ()<UITableViewDelegate, UITableViewDataSource>
///
@property (nonatomic,strong) UIView * backView;
///
@property (nonatomic,strong) UIStackView *stackView;
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UITableView *tableView;
///
@property (nonatomic,strong) UIView * moreView;
///
@property (nonatomic,strong) UIButton *arrowButton;
///
@property (nonatomic,strong) UILabel *moreLabel;
///
@property (nonatomic,strong) NSMutableArray<EnterPrieseRechargeTypeItemModel *> *rechargeTypeList;
///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *currentItem;
///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *aliPayItem;
///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *wxPayItem;
///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *coinPayItem;
@end
@implementation XPNobleRechargeTableViewCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.backView];
[self.backView addSubview:self.stackView];
[self.stackView addArrangedSubview:self.titleLabel];
[self.stackView addArrangedSubview:self.tableView];
[self.stackView addArrangedSubview:self.moreView];
[self.moreView addSubview:self.moreLabel];
[self.moreView addSubview:self.arrowButton];
}
- (void)initSubViewConstraints {
[self.backView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.contentView).inset(15);
make.top.bottom.mas_equalTo(self.contentView);
}];
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.backView).inset(10);
make.top.mas_equalTo(self.backView).offset(15);
make.bottom.mas_equalTo(self.backView);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(15);
}];
[self.moreView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(50);
}];
[self.moreLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.moreView).offset(-7);
make.centerY.mas_equalTo(self.moreView);
}];
[self.arrowButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(11, 20));
make.centerY.mas_equalTo(self.moreView);
make.left.mas_equalTo(self.moreLabel.mas_right).offset(3);
}];
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.rechargeTypeList.count;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 50;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
XPEnterpriseChargeTypeTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPEnterpriseChargeTypeTableViewCell class])];
EnterPrieseRechargeTypeItemModel * infoModel = [self.rechargeTypeList objectAtIndex:indexPath.row];
if (infoModel.type == self.currentItem.type) {
infoModel.isSelect = YES;
} else {
infoModel.isSelect = NO;
}
infoModel.isLastOne = (indexPath.row == (self.rechargeTypeList.count - 1));
cell.rechargeTypeModel = infoModel;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (self.rechargeTypeList.count > 0) {
if (self.rechargeTypeList.count == 1) {
return;
}
self.currentItem = [self.rechargeTypeList objectAtIndex:indexPath.row];
[self.tableView reloadData];
if (self.delegate && [self.delegate respondsToSelector:@selector(xPNobleRechargeTableViewCell:didChooseItem:)]) {
[self.delegate xPNobleRechargeTableViewCell:self didChooseItem:self.currentItem];
}
}
}
#pragma mark - Event Response
- (void)tapMoreTypeRecognizer {
self.arrowButton.selected = !self.arrowButton.selected;
if (self.type == RechargeDefaultPayType_WX) {
self.moreView.hidden = YES;
if (![self.rechargeTypeList containsObject:self.aliPayItem]) {
[self.rechargeTypeList addObject:self.aliPayItem];
}
[self.tableView reloadData];
} else if(self.type == RechargeDefaultPayType_ZFB) {
self.moreView.hidden = YES;
if (![self.rechargeTypeList containsObject:self.wxPayItem]) {
[self.rechargeTypeList addObject:self.wxPayItem];
}
[self.tableView reloadData];
}
}
#pragma mark - Getters And Setters
- (void)setType:(RechargeDefaultPayType)type {
_type =type;
[self.rechargeTypeList removeAllObjects];
[self.rechargeTypeList addObject:self.coinPayItem];
switch (_type) {
case RechargeDefaultPayType_WX:
{
[self.rechargeTypeList addObject:self.wxPayItem];
self.currentItem = self.wxPayItem;
self.moreView.hidden = NO;
}
break;
case RechargeDefaultPayType_ZFB:
{
[self.rechargeTypeList addObject:self.aliPayItem];
self.currentItem = self.aliPayItem;
self.moreView.hidden = NO;
}
break;
case RechargeDefaultPayType_WX_ZFB:
{
[self.rechargeTypeList addObject:self.wxPayItem];
[self.rechargeTypeList addObject:self.aliPayItem];
self.currentItem = self.wxPayItem;
self.moreView.hidden = YES;
}
break;
case RechargeDefaultPayType_ZFB_WX:
{
[self.rechargeTypeList addObject:self.aliPayItem];
[self.rechargeTypeList addObject:self.wxPayItem];
self.currentItem = self.aliPayItem;
self.moreView.hidden = YES;
}
break;
default:
{
[self.rechargeTypeList addObject:self.aliPayItem];
[self.rechargeTypeList addObject:self.wxPayItem];
self.currentItem = self.aliPayItem;
self.moreView.hidden = YES;
}
break;
}
if (_type == RechargeDefaultPayType_Coin) {
self.currentItem = self.coinPayItem;
}
self.coinPayItem.subTitle = [NSString stringWithFormat:@"(%.2f钻石)", _diamondNum > 0 ? _diamondNum : 0];
[self.tableView reloadData];
}
- (UITableView *)tableView {
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.tableFooterView = [UIView new];
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
_tableView.backgroundColor = [UIColor clearColor];
_tableView.scrollEnabled = NO;
if (@available(iOS 11.0, *)) {
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
[_tableView registerClass:[XPEnterpriseChargeTypeTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPEnterpriseChargeTypeTableViewCell class])];
}
return _tableView;
}
- (NSMutableArray<EnterPrieseRechargeTypeItemModel *> *)rechargeTypeList {
if (!_rechargeTypeList) {
_rechargeTypeList = [NSMutableArray array];
}
return _rechargeTypeList;
}
- (EnterPrieseRechargeTypeItemModel *)aliPayItem {
if (!_aliPayItem) {
EnterPrieseRechargeTypeItemModel * zfbItem = [[EnterPrieseRechargeTypeItemModel alloc] init];
zfbItem.imageName = @"mine_recharge_alipay";
zfbItem.title = @"支付宝";
zfbItem.type = RechargeType_ZFB;
_aliPayItem = zfbItem;
}
return _aliPayItem;
}
- (EnterPrieseRechargeTypeItemModel *)coinPayItem {
if (!_coinPayItem) {
EnterPrieseRechargeTypeItemModel * zfbItem = [[EnterPrieseRechargeTypeItemModel alloc] init];
zfbItem.imageName = @"common_diamond";
zfbItem.title = @"钻石支付";
zfbItem.isSelect = YES;
zfbItem.type = RechargeType_Coin;
_coinPayItem = zfbItem;
}
return _coinPayItem;
}
- (EnterPrieseRechargeTypeItemModel *)wxPayItem {
if (!_wxPayItem) {
EnterPrieseRechargeTypeItemModel * wxItem = [[EnterPrieseRechargeTypeItemModel alloc] init];
wxItem.imageName = @"mine_recharge_wechat";
wxItem.title = @"微信";
wxItem.type = RechargeType_WX;
_wxPayItem = wxItem;
}
return _wxPayItem;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:13];
_titleLabel.textColor = [ThemeColor mainTextColor];
_titleLabel.text = @"支付方式";
}
return _titleLabel;
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisVertical;
_stackView.distribution = UIStackViewDistributionFill;
_stackView.alignment = UIStackViewAlignmentFill;
_stackView.spacing = 0;
}
return _stackView;
}
- (UIView *)backView {
if (!_backView) {
_backView = [[UIView alloc] init];
_backView.backgroundColor = [ThemeColor appCellBackgroundColor];
_backView.layer.masksToBounds = YES;
_backView.layer.cornerRadius = 10;
}
return _backView;
}
- (UIView *)moreView {
if (!_moreView) {
_moreView = [[UIView alloc] init];
_moreView.backgroundColor = [UIColor clearColor];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapMoreTypeRecognizer)];
[_moreView addGestureRecognizer:tap];
}
return _moreView;
}
- (UILabel *)moreLabel {
if (!_moreLabel) {
_moreLabel = [[UILabel alloc] init];
_moreLabel.font = [UIFont systemFontOfSize:13];
_moreLabel.textColor = [ThemeColor mainTextColor];
_moreLabel.text = @"展开更多支付方式";
}
return _moreLabel;
}
- (UIButton *)arrowButton {
if (!_arrowButton) {
_arrowButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_arrowButton setImage:[UIImage imageNamed:@"room_setting_arrow"] forState:UIControlStateNormal];
[_arrowButton setImage:[UIImage imageNamed:@"room_setting_arrow"] forState:UIControlStateSelected];
_arrowButton.transform = CGAffineTransformMakeRotation(M_PI / 2);
}
return _arrowButton;
}
@end

View File

@@ -0,0 +1,23 @@
//
// XPNobleRechargeView.h
// xplan-ios
//
// Created by 冯硕 on 2022/10/28.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPNobleRechargeView : UIView
///充值的id
@property (nonatomic,copy) NSString *chargeProdId;
///充值的金额
@property (nonatomic,copy) NSString *chargeMoney;
///房主的uid
@property (nonatomic,copy) NSString *roomUid;
///利率
@property (nonatomic,assign) NSInteger rate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,347 @@
//
// XPNobleRechargeView.m
// xplan-ios
//
// Created by on 2022/10/28.
//
#import "XPNobleRechargeView.h"
////Third
#import <Masonry/Masonry.h>
#import <AlipaySDK/AlipaySDK.h>
#import <WXApi.h>
#import <WXApiObject.h>
///Tool
#import "ThemeColor.h"
#import "XPMacro.h"
#import "UIImage+Utils.h"
#import "Api+EnterpriseRecharge.h"
#import "AccountInfoStorage.h"
#import "YYUtility.h"
#import "XCHUDTool.h"
#import "XCCurrentVCStackManager.h"
#import "TTPopup.h"
#import "Api.h"
#import "Api+NobleCenter.h"
///Model
#import "EnterpriseRechargeListInfoModel.h"
#import "EnterPrieseRechargeTypeItemModel.h"
#import "WalletInfoModel.h"
///View
#import "XPNobleRechargeTableViewCell.h"
#import "XPWebViewController.h"
@interface XPNobleRechargeView ()<UITableViewDelegate, UITableViewDataSource, XPNobleRechargeTableViewCellDelegate>
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UIStackView *moneyStackView;
///
@property (nonatomic,strong) UIImageView *diamondImageView;
///
@property (nonatomic,strong) UILabel *moneyLabel;
///
@property (nonatomic,strong) UITableView *tableView;
///
@property (nonatomic,strong) UIButton *payButton;
///
@property (nonatomic,strong) EnterpriseRechargeListInfoModel *listInfo;
///
@property (nonatomic,assign) RechargeDefaultPayType payType;
///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *currentItem;
///
@property (nonatomic,strong) WalletInfoModel *walletInfo;
@end
@implementation XPNobleRechargeView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initData];
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initData {
[Api enterpriseRechargeList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
EnterpriseRechargeListInfoModel * listInfo = [EnterpriseRechargeListInfoModel modelWithDictionary:data.data];
self.payType = listInfo.defaultPay;
} else {
self.payType = RechargeDefaultPayType_ZFB;
}
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.walletInfo = model;
if (model.diamonds.integerValue >= (self.chargeMoney.integerValue * 10)) {
self.payType = RechargeDefaultPayType_Coin;
}
}
[self.tableView reloadData];
} uid:uid ticket:ticket];
} channelType:@"1"];
}
- (void)initSubViews {
self.backgroundColor = [ThemeColor appCellBackgroundColor];
[self addSubview:self.titleLabel];
[self addSubview:self.moneyStackView];
[self addSubview:self.tableView];
[self addSubview:self.payButton];
[self.moneyStackView addArrangedSubview:self.diamondImageView];
[self.moneyStackView addArrangedSubview:self.moneyLabel];
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, KScreenWidth, 416 + kSafeAreaBottomHeight) byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(12, 12)];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.path = path.CGPath;
self.layer.mask = maskLayer;
}
- (void)initSubViewConstraints {
[self mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(KScreenWidth);
make.height.mas_equalTo(416 + kSafeAreaBottomHeight);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.mas_centerX);
make.top.mas_equalTo(87);
}];
[self.moneyStackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.mas_centerX);
make.top.mas_equalTo(self.titleLabel.mas_bottom).offset(20);
make.height.mas_equalTo(30);
}];
[self.diamondImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(20);
make.height.mas_equalTo(20);
}];
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.moneyLabel.mas_bottom).offset(10);
make.left.right.mas_equalTo(self);
make.height.mas_equalTo(180);
}];
[self.payButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(38);
make.left.right.mas_equalTo(self).inset(44);
make.bottom.mas_equalTo(self.mas_bottom).offset(-9 - kSafeAreaBottomHeight);
}];
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 1;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 180;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
XPNobleRechargeTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNobleRechargeTableViewCell class])];
cell.delegate = self;
cell.diamondNum = self.walletInfo.diamonds.floatValue;
if (self.payType > 0) {
cell.type = self.payType;
}
return cell;
}
#pragma mark - XPNobleRechargeTableViewCell
- (void)xPNobleRechargeTableViewCell:(XPNobleRechargeTableViewCell *)view didChooseItem:(EnterPrieseRechargeTypeItemModel *)itemInfo {
self.currentItem = itemInfo;
if (self.currentItem.type == RechargeType_Coin) {
self.diamondImageView.hidden = NO;
self.moneyLabel.text = [NSString stringWithFormat:@"%.0f", _chargeMoney.floatValue * _rate];
} else {
self.diamondImageView.hidden = YES;
self.moneyLabel.text = [NSString stringWithFormat:@"¥%@", _chargeMoney];
}
}
#pragma mark - Event Response
- (void)payButtonAction:(UIButton *)sender {
if (self.currentItem == nil) {
XPNobleRechargeTableViewCell * cell = (XPNobleRechargeTableViewCell *)[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
self.currentItem = cell.currentItem;
}
if (self.currentItem.type == RechargeType_Coin) {
[Api openWithDiamond:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
[XCHUDTool showSuccessWithMessage:@"开通成功"];
} else {
[XCHUDTool showErrorWithMessage:msg];
}
[TTPopup dismiss];
} roomUid:self.roomUid];
return;
}
NSString * payChannel= self.currentItem.type == RechargeType_WX ? @"wx" : @"alipay_v2";
NSString * uid = [AccountInfoStorage instance].getUid;
NSString * ticket = [AccountInfoStorage instance].getTicket;
NSString * clientIp= [YYUtility ipAddress];
[XCHUDTool showLoading];
[Api requestPay:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
[XCHUDTool hideHUD];
if (code == 200) {
[TTPopup dismiss];
id infoData = data.data;
if ([payChannel isEqualToString:@"alipay_v2"]) {
if ([infoData isKindOfClass:[NSDictionary class]]) {
if ([[infoData objectForKey:@"payType"] isEqualToString:@"h5"]) {
XPWebViewController *webView = [[XPWebViewController alloc] init];
webView.url = [infoData objectForKey:@"orderData"];
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webView animated:YES];
}else if ([[infoData objectForKey:@"payType"] isEqualToString:@"native"]) {
NSString * signedStr = [infoData objectForKey:@"orderData"];
NSString * scheme = @"daeplayapp";
[[AlipaySDK defaultService] payOrder:signedStr fromScheme:scheme callback:^(NSDictionary *resultDic) {
}];
}
}
} else if ([payChannel isEqualToString:@"alipay"]) {
if ([data isKindOfClass:[NSString class]]) {
NSString * scheme = @"daeplayapp";
NSString * signedStr = [infoData objectForKey:@"orderData"];
[[AlipaySDK defaultService] payOrder:signedStr fromScheme:scheme callback:^(NSDictionary *resultDic) {
}];
}
}else if ([payChannel isEqualToString:@"wx"]){
if ([infoData isKindOfClass:[NSDictionary class]]) {
//
if (((NSString *)infoData[@"appid"]).length > 0) {
[WXApi registerApp:infoData[@"appid"] universalLink:@"https://6cqhk.share2dlink.com/"];
}
PayReq *req = [[PayReq alloc] init];
NSDictionary * dict = infoData;
NSMutableString *stamp = [dict objectForKey:@"timestamp"];
req.partnerId = [dict objectForKey:@"partnerid"];
req.prepayId = [dict objectForKey:@"prepayid"];
req.nonceStr = [dict objectForKey:@"noncestr"];
req.timeStamp = stamp.intValue;
req.package = @"Sign=WXPay";
req.sign = [dict objectForKey:@"sign"];
[WXApi sendReq:req completion:^(BOOL success) {
if (success) {
NSLog(@"********调起微信支付成功");
}
}];
}
}
} else {
[XCHUDTool showErrorWithMessage:msg];
}
} chargeProdId:self.chargeProdId payChannel:payChannel clientIp:clientIp uid:uid ticket:ticket roomUid:self.roomUid];
}
#pragma mark - Getters And Setters
- (void)setChargeMoney:(NSString *)chargeMoney {
_chargeMoney = chargeMoney;
if (_chargeMoney.length > 0) {
self.moneyLabel.text = [NSString stringWithFormat:@"¥%@", _chargeMoney];
}
}
- (void)setPayType:(RechargeDefaultPayType)payType {
_payType = payType;
if (_payType == RechargeDefaultPayType_Coin) {
self.diamondImageView.hidden = NO;
self.moneyLabel.text = [NSString stringWithFormat:@"%.0f", _chargeMoney.floatValue * 10];
} else {
self.diamondImageView.hidden = YES;
self.moneyLabel.text = [NSString stringWithFormat:@"¥%@", _chargeMoney];
}
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium];
_titleLabel.textColor = [ThemeColor mainTextColor];
_titleLabel.text = @"支付";
_titleLabel.textAlignment = NSTextAlignmentCenter;
}
return _titleLabel;
}
- (UIStackView *)moneyStackView {
if (!_moneyStackView) {
_moneyStackView = [[UIStackView alloc] init];
_moneyStackView.axis = UILayoutConstraintAxisHorizontal;
_moneyStackView.distribution = UIStackViewDistributionFill;
_moneyStackView.alignment = UIStackViewAlignmentCenter;
_moneyStackView.spacing = 2;
}
return _moneyStackView;
}
- (UIImageView *)diamondImageView {
if (!_diamondImageView) {
_diamondImageView = [[UIImageView alloc] init];
_diamondImageView.userInteractionEnabled = YES;
_diamondImageView.image = [UIImage imageNamed:@"common_diamond"];
_diamondImageView.hidden = YES;
}
return _diamondImageView;
}
- (UILabel *)moneyLabel {
if (!_moneyLabel) {
_moneyLabel = [[UILabel alloc] init];
_moneyLabel.font = [UIFont systemFontOfSize:30 weight:UIFontWeightMedium];
_moneyLabel.textColor = [ThemeColor colorWithHexString:@"#FFBC52"];
_moneyLabel.textAlignment = NSTextAlignmentCenter;
}
return _moneyLabel;
}
- (UITableView *)tableView {
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_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:[XPNobleRechargeTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPNobleRechargeTableViewCell class])];
}
return _tableView;
}
- (UIButton *)payButton {
if (!_payButton) {
_payButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_payButton setTitle:@"确认支付" forState:UIControlStateNormal];
[_payButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
_payButton.titleLabel.font = [UIFont systemFontOfSize:15];
[_payButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[ThemeColor confirmButtonGradientStartColor], [ThemeColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal];
_payButton.layer.masksToBounds = YES;
_payButton.layer.cornerRadius = 45/2;
[_payButton addTarget:self action:@selector(payButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _payButton;
}
@end

View File

@@ -34,6 +34,7 @@
#import "XPNobleSettingViewController.h" #import "XPNobleSettingViewController.h"
#import "XPNobleRankViewController.h" #import "XPNobleRankViewController.h"
#import "XPNobleDiscountView.h" #import "XPNobleDiscountView.h"
#import "XPNobleRechargeView.h"
///P ///P
#import "XPNobleCenterPresenter.h" #import "XPNobleCenterPresenter.h"
///model ///model
@@ -173,7 +174,7 @@
- (void)requestHttp { - (void)requestHttp {
[self.presenter getUserInfo]; [self.presenter getUserInfo];
[self checkTranscationIds]; [self checkTranscationIds];
[self.presenter getNobleChargeProductListWithChannelType:@"10"]; [self.presenter getNobleChargeProductListWithChannelType:@"9"];
} }
/// ///
@@ -382,9 +383,12 @@
#pragma mark - events #pragma mark - events
- (void)onOpenNobleButtonClick:(UITapGestureRecognizer *)button { - (void)onOpenNobleButtonClick:(UITapGestureRecognizer *)button {
[StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventVipOpenClick]; [StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventVipOpenClick];
RechargeListModel *rechargeModel = [self.rechargeModel.list safeObjectAtIndex1:0]; XPNobleRechargeView * rechargetView =[[XPNobleRechargeView alloc] init];
[self showLoading]; rechargetView.rate = self.rechargeModel.rate;
[self.presenter requestNobleIAPRechargeOrderWithChargeProdId:rechargeModel.chargeProdId roomUid:self.roomUid ? [NSString stringWithFormat:@"%zd", self.roomUid] : nil]; rechargetView.chargeMoney = [NSString stringWithFormat:@"%.0f", self.rechargeModel.money];
rechargetView.chargeProdId = self.rechargeModel.chargeProdId;
rechargetView.roomUid = [NSString stringWithFormat:@"%ld", self.roomUid];
[TTPopup popupView:rechargetView style:TTPopupStyleActionSheet];
} }
- (void)nobleRankButtonAction:(UIButton *)sender { - (void)nobleRankButtonAction:(UIButton *)sender {

View File

@@ -1,21 +0,0 @@
//
// XPMineRechargeNavView.h
// xplan-ios
//
// Created by 冯硕 on 2021/9/26.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class XPMineRechargeNavView;
@protocol XPMineRechargeNavViewDelegate <NSObject>
///点击了返回按钮
- (void)xPMineRechargeNavView:(XPMineRechargeNavView *)view didClickBackButton:(UIButton *)sender;
@end
@interface XPMineRechargeNavView : UIView
///代理
@property (nonatomic,weak) id<XPMineRechargeNavViewDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,82 +0,0 @@
//
// XPMineRechargeNavView.m
// xplan-ios
//
// Created by on 2021/9/26.
//
#import "XPMineRechargeNavView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "ThemeColor.h"
#import "UIButton+EnlargeTouchArea.h"
@interface XPMineRechargeNavView ()
///
@property (nonatomic,strong) UIButton *backButton;
///
@property (nonatomic,strong) UILabel *titleLabel;
@end
@implementation XPMineRechargeNavView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Response
- (void)backButtonAction:(UIButton *)sender {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineRechargeNavView:didClickBackButton:)]) {
[self.delegate xPMineRechargeNavView:self didClickBackButton:sender];
}
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
[self addSubview:self.backButton];
[self addSubview:self.titleLabel];
}
- (void)initSubViewConstraints {
[self.backButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(15);
make.centerY.equalTo(self.mas_bottom).mas_offset(-22);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self);
make.centerY.equalTo(self.mas_bottom).mas_offset(-22);
}];
}
#pragma mark - Getters And Setters
- (UIButton *)backButton {
if (!_backButton) {
_backButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_backButton setImage:[UIImage imageNamed:@"home_search_white_back"] forState:UIControlStateNormal];
_backButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
[_backButton addTarget:self action:@selector(backButtonAction:) forControlEvents:UIControlEventTouchUpInside];
[_backButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
}
return _backButton;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.textAlignment = NSTextAlignmentCenter;
_titleLabel.font = [UIFont systemFontOfSize:15];
_titleLabel.text = @"账户";
_titleLabel.textColor = [UIColor whiteColor];
}
return _titleLabel;
}
@end

View File

@@ -41,7 +41,7 @@
///P ///P
#import "XPGiftProtocol.h" #import "XPGiftProtocol.h"
///VC ///VC
#import "XPMineRechargeViewController.h" #import "XPMineHalfRechargeViewController.h"
#import "XPWebViewController.h" #import "XPWebViewController.h"
#import "XPFirstRechargeViewController.h" #import "XPFirstRechargeViewController.h"
#import "XPNobleCenterViewController.h" #import "XPNobleCenterViewController.h"
@@ -408,14 +408,19 @@
/// ///
- (void)xPGiftBarViewDidClickRecharge:(XPGiftBarView *)view { - (void)xPGiftBarViewDidClickRecharge:(XPGiftBarView *)view {
[self dismissViewControllerAnimated:NO completion:^{ [self dismissViewControllerAnimated:NO completion:^{
XPMineRechargeViewController * rechargeVC = [[XPMineRechargeViewController alloc] init]; XPMineHalfRechargeViewController * rechargeVC = [[XPMineHalfRechargeViewController alloc] init];
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:rechargeVC animated:YES]; rechargeVC.modalPresentationStyle = UIModalPresentationOverFullScreen;
if (self.delegate.getRoomInfo) {
rechargeVC.roomUid = [NSString stringWithFormat:@"%ld", self.delegate.getRoomInfo.uid];
}
rechargeVC.currentNav = self.delegate.getCurrentNav ? self.delegate.getCurrentNav : [XCCurrentVCStackManager shareManager].getCurrentVC.navigationController;
[[XCCurrentVCStackManager shareManager].getCurrentVC presentViewController:rechargeVC animated:YES completion:nil];
}]; }];
} }
- (void)xPGiftBarViewDidClickFirstRecharge:(XPGiftBarView *)view { - (void)xPGiftBarViewDidClickFirstRecharge:(XPGiftBarView *)view {
[self dismissViewControllerAnimated:NO completion:^{ [self dismissViewControllerAnimated:NO completion:^{
XPFirstRechargeViewController * firstRechargeVC = [[XPFirstRechargeViewController alloc] initWithNavigation:self.delegate.getCurrentNav]; XPFirstRechargeViewController * firstRechargeVC = [[XPFirstRechargeViewController alloc] initWithNavigation:[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController];
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController presentViewController:firstRechargeVC animated:YES completion:nil]; [[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController presentViewController:firstRechargeVC animated:YES completion:nil];
}]; }];
} }

Some files were not shown because too many files have changed in this diff Show More