Compare commits

..

14 Commits

Author SHA1 Message Date
liyuhua
1cc903a0b1 修复bug 2023-09-28 14:41:16 +08:00
liyuhua
51ae61bdd7 修复bug 2023-09-28 14:08:01 +08:00
liyuhua
3d981222b0 修复bug 2023-09-28 14:08:01 +08:00
liyuhua
b3abb3653b 修复bug 2023-09-28 14:08:01 +08:00
liyuhua
f899334808 修复bug 2023-09-28 14:08:01 +08:00
liyuhua
f9e8c02a6c 删除审核 2023-09-28 14:08:01 +08:00
liyuhua
2f37415a52 更换支付方式 2023-09-28 14:08:01 +08:00
liyuhua
40abcb4759 修复bug 2023-09-28 14:08:01 +08:00
liyuhua
2bcccf8fde 优化 2023-09-28 14:08:01 +08:00
liyuhua
4e06319085 隐藏苹果登录并调整高度 2023-09-28 14:08:01 +08:00
liyuhua
030b46355a 删除审核 2023-09-28 14:08:01 +08:00
liyuhua
8aeea26785 企业包关闭审核 2023-09-28 14:08:01 +08:00
liyuhua
c365c7c466 修复bug 2023-09-28 14:08:01 +08:00
liyuhua
9bcafa9086 更换支付方式 2023-09-28 14:08:01 +08:00
127 changed files with 3887 additions and 4546 deletions

View File

@@ -66,6 +66,7 @@ target 'YuMi' do
pod 'mob_sharesdk/ShareSDKPlatforms/Apple'
pod 'mob_sharesdk/ShareSDKPlatforms/Line'
pod 'mob_sharesdk/ShareSDKExtension'
pod 'mob_sharesdk/ShareSDKPlatforms/Facebook_Lite'
pod 'UMCommon'
pod 'UMDevice'

File diff suppressed because it is too large Load Diff

View File

@@ -47,21 +47,19 @@ UIKIT_EXTERN NSString * adImageName;
- (void) configBugly {
BuglyConfig *config = [[BuglyConfig alloc] init];
config.channel = @"App Enterprise";
config.blockMonitorEnable = YES; //
config.blockMonitorTimeout = 5;
config.unexpectedTerminatingDetectionEnable = YES; // 退
#ifdef DEBUG
config.debugMode = YES; // debug
config.channel = [YYUtility getAppSource];; config.blockMonitorEnable = YES; //
config.reportLogLevel = BuglyLogLevelVerbose; //
[Bugly startWithAppId:@"86cf73b8d5" config:config];
#else
config.debugMode = NO; // release
config.channel = [YYUtility getAppSource];; config.blockMonitorEnable = NO; //
config.reportLogLevel = BuglyLogLevelWarn; //
NSString *buylyKey = isEnterprise == NO ? @"5334684d86" : @"d65df59a68";
[Bugly startWithAppId:buylyKey config:config];
[Bugly startWithAppId:@"0fcba36f9a" config:config];
#endif
}
@@ -69,7 +67,6 @@ UIKIT_EXTERN NSString * adImageName;
// NIMSDK
NSString *appKey = KeyWithType(KeyType_NetEase);
NIMSDKOption *option = [NIMSDKOption optionWithAppKey:appKey];
option.apnsCername = @"newPiko";
[[NIMSDK sharedSDK] registerWithOption:option];
// NIM SDK

View File

@@ -17,8 +17,6 @@
#import <GoogleSignIn/GoogleSignIn.h>
#import "GULAppDelegateSwizzler.h"
#import <GoogleSignIn/GoogleSignIn.h>
#import "XPLoginViewController.h"
#import "AccountModel.h"
@import Firebase;
UIKIT_EXTERN NSString * const kOpenRoomNotification;
@@ -29,22 +27,10 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
TabbarViewController *vc = [[TabbarViewController alloc] init];
BaseNavigationController *bnc = [[BaseNavigationController alloc] initWithRootViewController:vc];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
AccountModel *accountModel = [[AccountInfoStorage instance] getCurrentAccountInfo];
if (accountModel == nil || accountModel.uid == nil || accountModel.access_token == nil) {
XPLoginViewController *lvc = [[XPLoginViewController alloc] init];
BaseNavigationController * nav = [[BaseNavigationController alloc] initWithRootViewController:lvc];
nav.modalPresentationStyle = UIModalPresentationFullScreen;
self.window.rootViewController = nav;
}else{
TabbarViewController *vc = [[TabbarViewController alloc] init];
BaseNavigationController *bnc = [[BaseNavigationController alloc] initWithRootViewController:vc];
self.window.rootViewController = bnc;
}
self.window.rootViewController = bnc;
[self.window makeKeyAndVisible];
///广
[self setupLaunchADView];

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -10,7 +10,6 @@
"scale" : "2x"
},
{
"filename" : "room_menu_face@3x.png",
"idiom" : "universal",
"scale" : "3x"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 859 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -10,7 +10,6 @@
"scale" : "2x"
},
{
"filename" : "room_menu_more@3x.png",
"idiom" : "universal",
"scale" : "3x"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 849 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -23,8 +23,6 @@ NS_ASSUME_NONNULL_BEGIN
///开箱子 大于等级 展示
@property (nonatomic, assign) NSInteger openCandyTreeLimitLevel;
@property (nonatomic,assign) BOOL canOpen;
///是否刷新了
@property (nonatomic,assign) BOOL isLoad;
///房间id用于分享房间跳转到房间
@property (nonatomic, copy) NSString *__nullable roomId;
///用户id用于外部h5跳转到聊天页面

View File

@@ -42,7 +42,7 @@
if (code == 200) {
self.retryCount = 0;
NSDictionary * initData = data.data;
self.canOpen = ![initData[@"aModel"] boolValue];
self.canOpen = YES;
self.iosPhoneBind = [initData[@"iosPhoneBind"] boolValue];
//
self.openCandyTree = [initData[@"openBoxSwitch"] boolValue];

View File

@@ -413,9 +413,9 @@ const int UIInputTextViewMaxHeight = 147;
self.recordButton.selected = YES;
///
if (!self.audioRecordView.superview) {
[kWindow addSubview:self.audioRecordView];
[[UIApplication sharedApplication].keyWindow addSubview:self.audioRecordView];
[self.audioRecordView mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.mas_equalTo(kWindow);
make.center.mas_equalTo(self.audioRecordView.superview);
}];
[self.audioRecordView configAudioRecord:@"message_tool_audio_record_first" title:YMLocalizedString(@"QInputBarView2") isAnimation:YES];
[self.audioRecordView beginAudioRecord];

View File

@@ -16,6 +16,7 @@ UIKIT_EXTERN NSString * const kVisitorUnReadCountNotificationKey;
UIKIT_EXTERN NSString * const kHadShowNewUserGiftKey;
UIKIT_EXTERN NSString * const kRedPacketHistory;
UIKIT_EXTERN NSString * const kTuWenMessageHistory;///图文消息已读记录
UIKIT_EXTERN NSString * const kTeenagerStatusChange;
UIKIT_EXTERN NSString * const kRoomQuickMessageCloseCount;
UIKIT_EXTERN NSString * const kLoginMethod;
typedef NS_ENUM(NSUInteger, Pi_KeyType) {

View File

@@ -17,12 +17,14 @@ NSString * const kRoomBackMusicCaptureVolumeKey = @"9N5Ei+Ch6nkmH1LzZET4ZjYSzXKF
NSString * const kRoomBackMusicAudioMixingVolumeKey = @"JuJZKfNgZQ7s25PjQcGG97za686ecXI1lylS9PSLrayNeY2l1me4NyyYUXHGaJP0";///
NSString * const kRoomBackMusicPlayMusicOrderKey = @"xjtpOpnLgX00F9HgwT1FISMQPkxXj5cpE2vYc2acOR0=";/// 1 0
NSString * const kRoomBackMusicPlayMusicFinishKey = @"xjtpOpnLgX00F9HgwT1FIf5yt3rZb+KP9BT0F9AgD7I8M+2JTSYq+jDIEx1e6qdC";/// key
NSString * const kUserCompleteInfoFinishKey = @"0g1ARAbys7hdfKcXF32WZAASQwkJH//glyiNAZOS5Co=";///
NSString * const kHadShowNewUserGiftKey = @"OHIPXsTBvyt1zwNqr4f6YJkIycUshwhKIpC5Pm2nVVU=";//
NSString * const kNewUserRechargeKey = @"fmslcb104aFPWxdSGkMg6lmyehgB3uCu9V/FqzVpL+8=";//
NSString * const kFromSearchToHomeViewKey = @"pr5yHog50uSsZLKj2nA6Ono3Mq/bLTDyngBNDVRkhgg=";//
NSString * const kTabShowAnchorCardKey = @"MIO0LwD8MCBISnBOps47VF1waAwY+/XFOm2C3luic/k="; //tab
NSString * const kRedPacketHistory = @"nwKkblakw5CH37vvs9YcSjHhVHcOoeZMmE09gg7Ymhk";
NSString * const kTuWenMessageHistory = @"AMRtf6yOWYapbYqqOBK+m5IUPsFN5hfbOpPkrYvOr1E=";//
NSString * const kTeenagerStatusChange = @"Pn5RRk7StcSdlVksgBaunx8mADfiSN1UnkpU7FSBGis=";//
NSString * const kRoomQuickMessageCloseCount = @"bUi7KnisS+mmUMj45e9s4VycnvRvBViGvd/ouRS4SHo=";//
NSString * const kShieldingNotification = @"a1NoaWVsZGluZ05vdGlmaWNhdGlvbg==";///
NSString * const kRoomKickoutTime = @"a1Jvb21LaWNrb3V0VGltZQ==";///
@@ -33,7 +35,6 @@ NSString * const kGiveDiamondDailyNum = @"a0dpdmVEaWFtb25kRGFpbHlOdW0=";
NSString * const kShowFirstRechargeView = @"a1Nob3dGaXJzdFJlY2hhcmdlVmlldw==";
///
NSString * const kInviteMemeberSuccess = @"a0ludml0ZU1lbWViZXJTdWNjZXNz";
NSString * const kUserFirstRegisterKey = @"kUserFirstRegisterKey";
///
NSString * const kLoginMethod = @"a0xvZ2luTWV0aG9k";
NSString * const kRequestRicket = @"a1JlcXVlc3RSaWNrZXQ=";

View File

@@ -100,7 +100,8 @@ typedef NS_ENUM(NSUInteger, URLType) {
kTreasureRuleURL,
///夺宝记录
kTreasureRecordURL,
kChannelUrl,
///第三方充值
kThirdPartyPay,
};
NSString * const URLWithType(URLType type);

View File

@@ -17,8 +17,6 @@ NSString * const URLWithType(URLType type) {
prefix = [NSString stringWithFormat:@"%@k",prefix];
prefix = [NSString stringWithFormat:@"%@o",prefix];
NSDictionary *newDic = @{
@(kTreasureTicketBuyURL) : @"modules/act-treasureSnatching/index.html",///
@@ -28,7 +26,7 @@ NSString * const URLWithType(URLType type) {
@(kNobleRankURL) : @"modules/noble/index.html",///
@(kGoldEarningsRecord) : @"modules/myincome/index.html#/GoldLog",///
@(kCandyTreeRuleURL) : @"modules/rule/newWishingWellRule.html",/// modules/rank/index.html#/wishingWellRule
@(kChannelUrl) : @"modules/%@/index.html?channelType=%@&deviceId=%@",
@(kThirdPartyPay) : @"modules/pay/index.html?channelType=%@&deviceId=%@",///
};
NSString * newUrl = [newDic objectForKey:@(type)];
if(newUrl != nil){

View File

@@ -49,7 +49,7 @@ isPhoneXSeries = [[UIApplication sharedApplication] delegate].window.safeAreaIns
#define PI_App_Version @"2.0.8"
#define PI_App_Version @"2.0.7"
#ifdef DEBUG
#define API_HOST_URL [NSString stringWithFormat:@"%@%@",@"http://beta.api",@".pekolive.com"]

View File

@@ -96,8 +96,6 @@
</dict>
<key>NSCameraUsageDescription</key>
<string>“Piko”需要您的同意,才可以访问进行拍照并上传您的图片,然后展示在您的个人主页上,便于他人查看</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>“Piko”需要您的同意,才可以进行定位服务,推荐附近好友</string>
<key>NSLocalNetworkUsageDescription</key>
<string>此App将可发现和连接到您所用网络上的设备。</string>
<key>NSMicrophoneUsageDescription</key>

View File

@@ -1,20 +0,0 @@
//
// PILoginManager.h
// YuMi
//
// Created by duoban on 2023/10/7.
//
#import <Foundation/Foundation.h>
#import "MvpViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface PILoginManager : NSObject
///登录是否手机isLoginPhone
+(void)loginWithVC:(MvpViewController *)VC isLoginPhone:(BOOL)isLoginPhone;
///登录成功,回到首页
+(void)jumpToHomeVCWithInviteCode:(NSString *)inviteCode;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,104 +0,0 @@
//
// PILoginManager.m
// YuMi
//
// Created by duoban on 2023/10/7.
//
#import "PILoginManager.h"
///api
#import "Api+Main.h"
///vc
#import "LoginFullInfoViewController.h"
#import "TabbarViewController.h"
#import "BaseNavigationController.h"
#import "LoginVerifCodeViewController.h"
///Model
#import "ThirdUserInfo.h"
#import "AccountModel.h"
#import "UserInfoModel.h"
#import "XPLoginAuthCodeVC.h"
@implementation PILoginManager
+(void)loginWithVC:(MvpViewController *)VC isLoginPhone:(BOOL)isLoginPhone{
AccountModel *accountModel = [[AccountInfoStorage instance] getCurrentAccountInfo];
HomeUserModel *homeUserModel = [HomeUserModel new];
if (accountModel == nil || accountModel.uid == nil || accountModel.access_token == nil) {
[XNDJTDDLoadingTool hideOnlyView:VC.view];
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"LoginPresenter1")];
return;
}
__block UserInfoModel *userInfo;
dispatch_group_t group = dispatch_group_create();
dispatch_queue_t queue =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);
dispatch_group_enter(group);
dispatch_async(queue, ^{
[Api requestTicket:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if(code == 200){
NSArray *tickets = [data.data valueForKey:@"tickets"];
NSString *ticket = [tickets[0] valueForKey:@"ticket"];
homeUserModel.ticket = ticket;
[[AccountInfoStorage instance] saveTicket:ticket];
}
dispatch_group_leave(group);
} access_token:accountModel.access_token issue_type:@"multi"];
});
dispatch_group_enter(group);
dispatch_async(queue, ^{
[Api getUserInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if(code == 200){
userInfo = [UserInfoModel modelWithDictionary:data.data];
homeUserModel.nick = userInfo.nick;
homeUserModel.avatar = userInfo.avatar;
homeUserModel.isBindPhone = userInfo.isBindPhone;
}
dispatch_group_leave(group);
} uid:accountModel.uid];
});
__block NSString *isFlag = @"";
if(isLoginPhone == YES){
dispatch_group_enter(group);
dispatch_async(queue, ^{
[Api requestAuthorizationCodeInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if(code == 200){
isFlag = [data.data boolValue] == YES ? @"1" : @"0" ;
}else{
isFlag = @"2";
}
dispatch_group_leave(group);
}];
});
}
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
[XNDJTDDLoadingTool hideOnlyView:VC.view];
if ([[AccountInfoStorage instance] getTicket].length <= 0 || userInfo == nil || [isFlag isEqualToString:@"2"]) {
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"LoginPresenter1")];
return;
}
[[AccountInfoStorage instance]saveHomeUserInfo:homeUserModel];
if (userInfo.nick == nil || userInfo.avatar == nil) {
if([isFlag isEqualToString:@"0"]){
XPLoginAuthCodeVC *vc = [[XPLoginAuthCodeVC alloc]init];
vc.pi_isPush = YES;
[VC.navigationController pushViewController:vc animated:YES];
}else{
LoginFullInfoViewController * FullVC = [[LoginFullInfoViewController alloc] init];
[VC.navigationController pushViewController:FullVC animated:YES];
}
return;
}
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"PKIDLoginViewController0")];
[PILoginManager jumpToHomeVCWithInviteCode:@""];
});
}
+(void)jumpToHomeVCWithInviteCode:(NSString *)inviteCode{
TabbarViewController *vc = [[TabbarViewController alloc] init];
vc.isFormLogin = YES;
vc.inviteCode = inviteCode;
BaseNavigationController *bnc = [[BaseNavigationController alloc] initWithRootViewController:vc];
kWindow.rootViewController = bnc;
}
@end

View File

@@ -23,8 +23,8 @@
///P
#import "LoginFullInfoPresenter.h"
#import "LoginFullInfoProtocol.h"
#import "PILoginManager.h"
UIKIT_EXTERN NSString * kUserCompleteInfoFinishKey;
@interface LoginFullInfoViewController ()<LoginFullInfoProtocol>
@@ -261,10 +261,15 @@
[StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventLoginRepariSuccess];
/// ticket tabbaritem
[[AccountInfoStorage instance] saveTicket:nil];
UIViewController *vc = self.presentingViewController;
while (vc.presentingViewController) {
vc = vc.presentingViewController;
}
[vc dismissViewControllerAnimated:YES completion:^{
}];
[XPAdjustEvent registeringEvent];
NSString * inviteCode = self.codeTextField.text.length > 0 ? self.codeTextField.text : @"";
[PILoginManager jumpToHomeVCWithInviteCode:inviteCode];
[[NSNotificationCenter defaultCenter] postNotificationName:kUserCompleteInfoFinishKey object:inviteCode];
}
-(void)complementInfoFail{
[XNDJTDDLoadingTool hideOnlyView:self.view];

View File

@@ -17,7 +17,6 @@ NS_ASSUME_NONNULL_BEGIN
@interface XPLoginAuthCodeVC : MvpViewController
@property(nonatomic,weak) id<XPLoginAuthCodeVCDelegate>delegate;
@property(nonatomic,assign) BOOL pi_isPush;
@end
NS_ASSUME_NONNULL_END

View File

@@ -9,7 +9,6 @@
#import "XPLoginInputView.h"
#import <ReactiveObjC.h>
#import "LoginVerifCodePresent.h"
#import "LoginFullInfoViewController.h"
@interface XPLoginAuthCodeVC ()
///
@property(nonatomic,strong) UIImageView *bgImageView;
@@ -23,9 +22,6 @@
@end
@implementation XPLoginAuthCodeVC
- (BOOL)isHiddenNavBar {
return YES;
}
- (LoginVerifCodePresent *)createPresenter {
return [[LoginVerifCodePresent alloc] init];
}
@@ -93,17 +89,11 @@
- (void)bindAuthorizationCodeSuccess{
[self hideHUD];
[self showSuccessToast:YMLocalizedString(@"XPLoginAuthCodeVC2")];
self.loginBtn.enabled = YES;
if(self.pi_isPush == YES){
LoginFullInfoViewController * FullVC = [[LoginFullInfoViewController alloc] init];
[self.navigationController pushViewController:FullVC animated:YES];
return;
}
[self dismissViewControllerAnimated:YES completion:nil];
if(self.delegate && [self.delegate respondsToSelector:@selector(bindCodeSuccess)]){
[self.delegate bindCodeSuccess];
}
self.loginBtn.enabled = YES;
}
-(void)bindAuthorizationCodeFail{
[self hideHUD];

View File

@@ -11,7 +11,7 @@
#import <ReactiveObjC.h>
#import "XPLoginInputView.h"
#import "PILoginManager.h"
#import "XPLoginPwdViewController.h"
#import "XPLoginAraeViewController.h"
#import "LoginVerifCodePresent.h"
@@ -231,13 +231,23 @@
[[NSUserDefaults standardUserDefaults]setValue:@(ThirdLoginType_Phone) forKey:@"kLoginSuccessType"];
[[NSUserDefaults standardUserDefaults]synchronize];
[self showSuccessToast:YMLocalizedString(@"XPLoginPhoneViewController1")];
[PILoginManager loginWithVC:self isLoginPhone:YES];
UIViewController *vc = self.presentingViewController;
while (vc.presentingViewController) {
vc = vc.presentingViewController;
}
[vc dismissViewControllerAnimated:YES completion:nil];
[self.navigationController popToRootViewControllerAnimated:NO];
}
- (void)loginSuccess {
[XNDJTDDLoadingTool hideOnlyView:self.view];
[[NSUserDefaults standardUserDefaults]removeObjectForKey:@"kLoginSuccessType"];
[self showSuccessToast:YMLocalizedString(@"XPLoginPhoneViewController1")];
[PILoginManager loginWithVC:self isLoginPhone:NO];
UIViewController *vc = self.presentingViewController;
while (vc.presentingViewController) {
vc = vc.presentingViewController;
}
[vc dismissViewControllerAnimated:YES completion:nil];
[self.navigationController popToRootViewControllerAnimated:NO];
}
- (void)loginFailWithMsg:(NSString *)msg{
[self showErrorToast:msg];

View File

@@ -26,7 +26,7 @@
#import "AESUtils.h"
#import "LoginPresenter.h"
#import "LoginProtocol.h"
#import "PILoginManager.h"
UIKIT_EXTERN NSString * const kYouMiNumberCountKey;
NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
@@ -54,7 +54,7 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
///qq
@property (nonatomic, strong) UIButton *lineButtonView;
@property (nonatomic, strong) UIButton *appleButton;
///
@property (nonatomic,strong) GIDConfiguration *configuration;
@@ -89,10 +89,10 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
}
- (void)createUI {
self.view.backgroundColor = [UIColor whiteColor];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"hadAgree" forKey:HadAgreePrivacy];
[defaults synchronize];
self.view.backgroundColor = [UIColor whiteColor];
[self.view addSubview:self.bgImageView];
[self.view addSubview:self.logoView];
[self.view addSubview:self.stackView];
@@ -104,9 +104,7 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
[self.view addSubview:self.authBubbleView];
[self.authBubbleView addSubview:self.authBubbleLabel];
if (@available(iOS 13.0, *)) {
[self.stackView addArrangedSubview:self.appleButton];
}
[self.stackView addArrangedSubview:self.googleButtonView];
[self.stackView addArrangedSubview:self.fbButtonView];
[self.stackView addArrangedSubview:self.lineButtonView];
@@ -124,7 +122,7 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
}];
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.self.logoView.mas_bottom).offset(kGetScaleWidth(60));
make.top.mas_equalTo(self.self.logoView.mas_bottom).offset(kGetScaleWidth(122));
make.centerX.mas_equalTo(self.view);
}];
@@ -160,10 +158,7 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
make.bottom.mas_equalTo(self.authBubbleView).mas_offset(-6);
}];
[self.appleButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(295));
make.height.mas_equalTo(kGetScaleWidth(46));
}];
[self.googleButtonView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(295));
make.height.mas_equalTo(kGetScaleWidth(46));
@@ -179,21 +174,17 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
id type = [[NSUserDefaults standardUserDefaults]valueForKey:@"kLoginSuccessType"];
if(type != nil){
UIButton *typeButton ;
if([type intValue] == ThirdLoginType_Apple){
typeButton = self.appleButton;
}else if([type intValue] == ThirdLoginType_Gmail){
typeButton = self.googleButtonView;
}else if([type intValue] == ThirdLoginType_FB){
typeButton = self.fbButtonView;
}else if([type intValue] == ThirdLoginType_Line){
typeButton = self.lineButtonView;
}
if(typeButton == nil){
return;
}
[self.view addSubview:self.nextView];
[self.nextView addSubview:self.nextLabel];
UIButton *typeButton ;
if([type intValue] == 8){
typeButton = self.googleButtonView;
}else if([type intValue] == 10){
typeButton = self.fbButtonView;
}else{
typeButton = self.lineButtonView;
}
[self.nextView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.mas_equalTo(-kGetScaleWidth(28));
make.width.mas_equalTo(kGetScaleWidth(70));
@@ -287,7 +278,7 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
}
#pragma mark - LoginProtocol
- (void)loginSuccess {
[PILoginManager loginWithVC:self isLoginPhone:NO];
[self dismissViewControllerAnimated:YES completion:nil];
[self showSuccessToast:YMLocalizedString(@"XPLoginViewController4")];
}
@@ -445,22 +436,7 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
}
return _lineButtonView;
}
- (UIButton *)appleButton {
if (!_appleButton) {
_appleButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_appleButton setImage: [UIImage imageNamed:@"login_apple"] forState:UIControlStateNormal];
[_appleButton setTitle:YMLocalizedString(@"XPLoginViewController12") forState:UIControlStateNormal];
_appleButton.titleLabel.font = kFontMedium(16);
[_appleButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[_appleButton setImageEdgeInsets:UIEdgeInsetsMake(0, kGetScaleWidth(28), 0, kGetScaleWidth(200))];
_appleButton.backgroundColor = UIColorFromRGB(0x141414);
_appleButton.layer.cornerRadius = kGetScaleWidth(46)/2;
_appleButton.layer.masksToBounds = YES;
_appleButton.tag = 1000 + ThirdLoginType_Apple;
[_appleButton addTarget:self action:@selector(loginDidClick:) forControlEvents:UIControlEventTouchUpInside];
}
return _appleButton;
}
- (GIDConfiguration *)configuration{

View File

@@ -26,7 +26,6 @@
#import "XPRoomViewController.h"
#import "XPWebViewController.h"
#import "XPMineRechargeViewController.h"
#import "XPIAPRechargeViewController.h"
#import "XPMineUserInfoViewController.h"
#import "XPMineSimpleUserInfoViewController.h"
#import "XPMineDressUpViewController.h"
@@ -143,10 +142,10 @@
case SecretaryRouterType_Purse:
case SecretaryRouterType_Recharge:
{
// XPMineRechargeViewController * rechargeVC = [[XPMineRechargeViewController alloc] init];
XPIAPRechargeViewController * rechargeVC = [[XPIAPRechargeViewController alloc] init];
rechargeVC.type = @"4";
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:rechargeVC animated:YES];
XPWebViewController * webVC =[[XPWebViewController alloc] init];
webVC.url = [NSString stringWithFormat:URLWithType(kThirdPartyPay),@"4",[YYUtility deviceID]];
webVC.isPush = YES;
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES];
}
break;
case SecretaryRouterType_UserInfo:

View File

@@ -72,7 +72,7 @@
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.avatarImageView.mas_right).offset((10));
make.right.mas_lessThanOrEqualTo(self.findButton.mas_left).mas_offset(-0);
make.right.mas_lessThanOrEqualTo(self.findButton.mas_left).mas_offset(-(10));
make.height.mas_equalTo(((20)));
make.top.equalTo(self.avatarImageView.mas_top).mas_offset((3));
}];
@@ -96,15 +96,7 @@
make.right.mas_equalTo(self.contentView).offset(-(15));
}];
CGFloat width = 28 * 20 / 14;
[self.charmImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(20);
make.width.mas_equalTo(width);
}];
[self.experImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(20);
make.width.mas_equalTo(width);
}];
}
#pragma mark - Event Response
@@ -119,9 +111,6 @@
_fansInfo = fansInfo;
if (_fansInfo) {
self.avatarImageView.imageUrl = _fansInfo.avatar;
if(_fansInfo.nick.length > 5){
_fansInfo.nick = [NSString stringWithFormat:@"%@...",[_fansInfo.nick substringToIndex:5]];
}
self.nickLabel.text = _fansInfo.nick;
self.signLabel.text = _fansInfo.userDesc && _fansInfo.userDesc.length > 0? _fansInfo.userDesc : YMLocalizedString(@"XPMineAttentionTableViewCell0");
if (_fansInfo.useingType != ContactUseingType_In_Room && _fansInfo.useingType != ContactUseingType_Share) {
@@ -142,7 +131,35 @@
self.sexImageView.selected = _fansInfo.gender != GenderType_Male;
self.findButton.hidden = _fansInfo.userInRoomUid.length <= 0;
UIImage* image = self.experImageView.image;
if (image) {
CGFloat scale = image.size.width / image.size.height;
[self.experImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
}];
} else {
NSURL *imgUrl = [NSURL URLWithString:_fansInfo.experUrl];
UIImage *myImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:imgUrl]];
CGFloat scale = myImage.size.width / myImage.size.height;
[self.experImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
}];
}
UIImage* charmImage = self.charmImageView.image;
if (charmImage) {
CGFloat scale = charmImage.size.width / charmImage.size.height;
[self.charmImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
}];
} else {
NSURL *imgUrl = [NSURL URLWithString:_fansInfo.charmUrl];
UIImage *myImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:imgUrl]];
CGFloat scale = myImage.size.width / myImage.size.height;
[self.charmImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
}];
}
UIImage *nobleImage = self.nobleImageView.image;
if (nobleImage) {
@@ -239,7 +256,7 @@
- (NetImageView *)experImageView {
if (!_experImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_experImageView = [[NetImageView alloc] initWithConfig:config];
_experImageView.layer.maskedCorners = YES;
_experImageView.contentMode = UIViewContentModeScaleAspectFit;
@@ -250,7 +267,7 @@
- (NetImageView *)charmImageView {
if (!_charmImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_charmImageView = [[NetImageView alloc] initWithConfig:config];
_charmImageView.layer.maskedCorners = YES;
_charmImageView.contentMode = UIViewContentModeScaleAspectFit;

View File

@@ -73,7 +73,7 @@
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.avatarImageView.mas_right).offset((10));
make.right.mas_lessThanOrEqualTo(self.attentionButton.mas_left).mas_offset(-0);
make.right.mas_lessThanOrEqualTo(self.attentionButton.mas_left).mas_offset(-(10));
make.height.mas_equalTo(20);
make.top.equalTo(self.avatarImageView.mas_top).mas_offset((3));
}];
@@ -97,15 +97,7 @@
make.right.mas_equalTo(self.contentView).offset(-(15));
}];
CGFloat width = 28 * 20 / 14;
[self.charmImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(20);
make.width.mas_equalTo(width);
}];
[self.experImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(20);
make.width.mas_equalTo(width);
}];
}
#pragma mark - Event Response
@@ -120,9 +112,7 @@
_fansInfo = fansInfo;
if (_fansInfo) {
self.avatarImageView.imageUrl = _fansInfo.avatar;
if(_fansInfo.nick.length > 5){
_fansInfo.nick = [NSString stringWithFormat:@"%@...",[_fansInfo.nick substringToIndex:5]];
}
self.nickLabel.text = _fansInfo.nick;
self.signLabel.text = _fansInfo.userDesc && _fansInfo.userDesc.length > 0? _fansInfo.userDesc : YMLocalizedString(@"XPMineFansTableViewCell0");
if (_fansInfo.useingType != ContactUseingType_In_Room && _fansInfo.useingType != ContactUseingType_Share) {
@@ -147,7 +137,35 @@
BOOL isMyFriend = [[NIMSDK sharedSDK].userManager isMyFriend:_fansInfo.uid];
self.attentionButton.enabled = !isMyFriend;
self.attentionButton.hidden = NO;
UIImage* image = self.experImageView.image;
if (image) {
CGFloat scale = image.size.width / image.size.height;
[self.experImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
}];
} else {
NSURL *imgUrl = [NSURL URLWithString:_fansInfo.experUrl];
UIImage *myImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:imgUrl]];
CGFloat scale = myImage.size.width / myImage.size.height;
[self.experImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
}];
}
UIImage* charmImage = self.charmImageView.image;
if (charmImage) {
CGFloat scale = charmImage.size.width / charmImage.size.height;
[self.charmImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
}];
} else {
NSURL *imgUrl = [NSURL URLWithString:_fansInfo.charmUrl];
UIImage *myImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:imgUrl]];
CGFloat scale = myImage.size.width / myImage.size.height;
[self.charmImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
}];
}
UIImage *nobleImage = self.nobleImageView.image;
if (nobleImage) {
@@ -245,7 +263,7 @@
- (NetImageView *)experImageView {
if (!_experImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_experImageView = [[NetImageView alloc] initWithConfig:config];
}
return _experImageView;
@@ -254,7 +272,7 @@
- (NetImageView *)charmImageView {
if (!_charmImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_charmImageView = [[NetImageView alloc] initWithConfig:config];
}
return _charmImageView;

View File

@@ -76,15 +76,7 @@
make.left.mas_equalTo(self.stackView);
make.top.mas_equalTo(self.stackView.mas_bottom).offset(7);
}];
CGFloat width = 28 * 20 / 14;
[self.charmImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(20);
make.width.mas_equalTo(width);
}];
[self.experImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(20);
make.width.mas_equalTo(width);
}];
}
#pragma mark - Getters And Setters
@@ -103,7 +95,35 @@
self.sexImageView.backgroundColor = _userInfo.gender == GenderType_Male ? UIColorFromRGB(0x6BB3FF) :UIColorFromRGB(0xFF80CC);
self.sexImageView.titleEdgeInsets = _userInfo.gender != GenderType_Male ? UIEdgeInsetsMake(0, 2, 0, 0):UIEdgeInsetsMake(0, -1, 0, 0);
self.sexImageView.selected = _userInfo.gender != GenderType_Male;
UIImage* image = self.experImageView.image;
if (image) {
CGFloat scale = image.size.width / image.size.height;
[self.experImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
}];
} else {
NSURL *imgUrl = [NSURL URLWithString:_userInfo.userLevelVo.experUrl];
UIImage *myImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:imgUrl]];
CGFloat scale = myImage.size.width / myImage.size.height;
[self.experImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
}];
}
UIImage* charmImage = self.charmImageView.image;
if (charmImage) {
CGFloat scale = charmImage.size.width / charmImage.size.height;
[self.charmImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
}];
} else {
NSURL *imgUrl = [NSURL URLWithString:_userInfo.userLevelVo.charmUrl];
UIImage *myImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:imgUrl]];
CGFloat scale = myImage.size.width / myImage.size.height;
[self.charmImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
}];
}
}
}
@@ -157,7 +177,7 @@
- (NetImageView *)experImageView {
if (!_experImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_experImageView = [[NetImageView alloc] initWithConfig:config];
}
return _experImageView;
@@ -166,7 +186,7 @@
- (NetImageView *)charmImageView {
if (!_charmImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_charmImageView = [[NetImageView alloc] initWithConfig:config];
}
return _charmImageView;

View File

@@ -28,7 +28,6 @@
#import "XPMineDressUpViewController.h"
#import "XPDressUpShopCardViewController.h"
#import "XPMineRechargeViewController.h"
#import "XPIAPRechargeViewController.h"
@interface XPDressUpShopViewController ()<JXCategoryViewDelegate, JXCategoryListContainerViewDelegate, SDCycleScrollViewDelegate>
@@ -233,10 +232,10 @@
}
- (void)rechargeButtonAction:(UIButton *)sender {
// XPMineRechargeViewController *vc = [[XPMineRechargeViewController alloc] init];
XPIAPRechargeViewController * rechargeVC = [[XPIAPRechargeViewController alloc] init];
rechargeVC.type = @"4";
[self.navigationController pushViewController:rechargeVC animated:YES];
XPWebViewController * webVC =[[XPWebViewController alloc] init];
webVC.url = [NSString stringWithFormat:URLWithType(kThirdPartyPay),@"4",[YYUtility deviceID]];
webVC.isPush = YES;
[self.navigationController pushViewController:webVC animated:YES];
}
#pragma mark - Getters And Setters

View File

@@ -104,19 +104,19 @@
make.width.mas_equalTo(28);
}];
CGFloat width = 28 * 20 / 14;
[self.experImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(20);
make.width.mas_equalTo(width);
}];
[self.experImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(28);
make.height.mas_equalTo(14);
}];
[self.charmImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(20);
make.width.mas_equalTo(width);
make.width.mas_equalTo(28);
make.height.mas_equalTo(14);
}];
[self.nickStackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.avatarImageView.mas_right).offset(6);
make.height.mas_equalTo(20);
make.height.mas_equalTo(14);
make.bottom.mas_equalTo(self.avatarImageView.mas_centerY).offset(-3);
}];
@@ -163,13 +163,21 @@
if (_memberInfo.experUrl) {
if (self.experImageView.state == NetImageStateLoaded) {
self.experImageView.imageUrl = _memberInfo.experUrl;
CGFloat kImageScale = self.experImageView.image.size.width / self.experImageView.image.size.height;
CGFloat imageWidth = 20 * kImageScale;
[self.experImageView mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(imageWidth);
}];
} else {
@kWeakify(self);
[self.experImageView loadImageWithUrl:_memberInfo.experUrl completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
@kStrongify(self);
self.experImageView.image = image;
CGFloat kImageScale = image.size.width / image.size.height;
CGFloat imageWidth = 20 * kImageScale;
[self.experImageView mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(imageWidth);
}];
}];
}
}
@@ -178,13 +186,21 @@
if (_memberInfo.charmUrl) {
if (self.charmImageView.state == NetImageStateLoaded) {
self.charmImageView.imageUrl = _memberInfo.charmUrl;
CGFloat kImageScale = self.charmImageView.image.size.width / self.charmImageView.image.size.height;
CGFloat imageWidth = 20 * kImageScale;
[self.charmImageView mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(imageWidth);
}];
} else {
@kWeakify(self);
[self.charmImageView loadImageWithUrl:_memberInfo.charmUrl completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
@kStrongify(self);
self.charmImageView.image = image;
CGFloat kImageScale = image.size.width / image.size.height;
CGFloat imageWidth = 20 * kImageScale;
[self.charmImageView mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(imageWidth);
}];
}];
}
}
@@ -375,7 +391,7 @@
_nickStackView = [[UIStackView alloc] init];
_nickStackView.axis = UILayoutConstraintAxisHorizontal;
_nickStackView.distribution = UIStackViewDistributionFill;
_nickStackView.alignment = UIStackViewAlignmentCenter;
_nickStackView.alignment = UIStackViewAlignmentFill;
_nickStackView.spacing = 2;
}
return _nickStackView;
@@ -413,7 +429,7 @@
_experImageView = [[NetImageView alloc] initWithConfig:config];
_experImageView.userInteractionEnabled = YES;
_experImageView.hidden = YES;
_experImageView.contentMode = UIViewContentModeScaleAspectFit;
}
return _experImageView;
}
@@ -426,7 +442,7 @@
_charmImageView = [[NetImageView alloc] initWithConfig:config];
_charmImageView.userInteractionEnabled = YES;
_charmImageView.hidden = YES;
_charmImageView.contentMode = UIViewContentModeScaleAspectFit;
}
return _charmImageView;
}

View File

@@ -12,7 +12,6 @@
#import "XPWebViewController.h"
#import "XPExchangeDiamondsVC.h"
#import "XPIncomeRecordGoldDetailsVC.h"
#import "XPIAPRechargeViewController.h"
///Present
#import "XPIncomeRecordPresent.h"
///Protocol
@@ -116,8 +115,9 @@
}
case ClickType_Diamond_Pay:
{
XPIAPRechargeViewController * webVC =[[XPIAPRechargeViewController alloc] init];
webVC.type = @"4";
XPWebViewController * webVC =[[XPWebViewController alloc] init];
webVC.url = [NSString stringWithFormat:URLWithType(kThirdPartyPay),@"4",[YYUtility deviceID]];
webVC.isPush = YES;
[self.navigationController pushViewController:webVC animated:YES];
break;
}
@@ -138,16 +138,16 @@
default:
{
// NSString * myUid = [AccountInfoStorage instance].getUid;
// if(![self.clanInfo.clan.elderUid isEqualToString:myUid]){
NSString * myUid = [AccountInfoStorage instance].getUid;
if(![self.clanInfo.clan.elderUid isEqualToString:myUid]){
XPWebViewController * webVC =[[XPWebViewController alloc] init];
webVC.url = URLWithType(kGoldEarningsRecord);
[self.navigationController pushViewController:webVC animated:YES];
// return;
//
// }
// XPIncomeRecordGoldDetailsVC *goldDetailVC = [XPIncomeRecordGoldDetailsVC new];
// [self.navigationController pushViewController:goldDetailVC animated:YES];
return;
}
XPIncomeRecordGoldDetailsVC *goldDetailVC = [XPIncomeRecordGoldDetailsVC new];
[self.navigationController pushViewController:goldDetailVC animated:YES];
break;
}
}

View File

@@ -38,7 +38,7 @@
UserInfoModel * infoModel = [UserInfoModel modelWithDictionary:data.data];
[[self getView] onGetUserInfoSuccess:infoModel];
} fail:^(NSInteger code, NSString * _Nullable msg) {
NSLog(@"111");
}] uid:uid];
}

View File

@@ -51,7 +51,7 @@
}];
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.leading.bottom.equalTo(self);
make.height.mas_equalTo(375);
make.height.mas_equalTo(319);
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(24);
@@ -158,7 +158,7 @@
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
_tableView.rowHeight = 56;
_tableView.scrollEnabled = NO;
_tableView.backgroundColor = [UIColor whiteColor];
[_tableView registerClass:[XPNobleCenterPayCell class] forCellReuseIdentifier:NSStringFromClass([XPNobleCenterPayCell class])];
}
@@ -180,7 +180,7 @@
}
- (NSArray *)listData{
if(!_listData){
_listData = @[YMLocalizedString(@"XPNobleCenterPayView2"),@"Apple Pay"];
_listData = @[YMLocalizedString(@"XPNobleCenterPayView2")];
}
return _listData;
}

View File

@@ -17,8 +17,8 @@
#import "DJDKMIMOMColor.h"
#import "ThemeColor+NobleCenter.h"
#import "Api+NobleCenter.h"
#import "Api+Main.h"
#import "XPIAPHelper.h"
#import "RechargeStorage.h"
#import "AccountInfoStorage.h"
#import "UIImage+Utils.h"
@@ -31,7 +31,6 @@
#import "XPWebViewController.h"
#import "XPNobleSettingViewController.h"
#import "XPSkillCardPlayerManager.h"
#import "SessionViewController.h"
///P
#import "XPNobleCenterPresenter.h"
#import "Api+Gift.h"
@@ -43,10 +42,7 @@
#import "WalletInfoModel.h"
#import "XPNobleCenterPayView.h"
#import "XPNobleCenterProtocol.h"
#import "XPIAPRechargeViewController.h"
#import "YuMi-swift.h"
#import "ClientConfig.h"
@interface XPNobleCenterViewController ()<XPNobleCenterProtocol,XPNobleCenterPayViewDelegate,JXCategoryViewDelegate, JXCategoryListContainerViewDelegate,XPNobleCenterNavViewDelegate, NIMSystemNotificationManagerDelegate>
@interface XPNobleCenterViewController ()<XPNobleCenterProtocol,XPNobleCenterPayViewDelegate,JXCategoryViewDelegate, JXCategoryListContainerViewDelegate,XPNobleCenterNavViewDelegate, XPIAPHelperDelegate, NIMSystemNotificationManagerDelegate>
///
@property (nonatomic, strong) NSArray<NSString *> *titles;
///
@@ -82,7 +78,6 @@
@property (nonatomic, assign) NSInteger roomUid;
@property (nonatomic,strong) WalletInfoModel * infoModel;
@property(nonatomic,strong) UIButton *rankBtn;
@property(nonatomic,assign) BOOL pi_IsNative;
@end
@implementation XPNobleCenterViewController
@@ -96,18 +91,19 @@
}
- (void)dealloc {
[XPIAPHelper shareHelper].delegate = nil;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.pi_IsNative = YES;
[XPIAPHelper shareHelper].delegate = self;
[[NIMSDK sharedSDK].systemNotificationManager addDelegate:self];
[self requestHttp];
[self initSubViews];
[self initSubViewConstraints];
}
- (BOOL)isHiddenNavBar {
return YES;
}
@@ -119,8 +115,8 @@
[self.presenter getUserInfo];
}
if([XPSkillCardPlayerManager shareInstance].isInRoom == YES && [XPSkillCardPlayerManager shareInstance].isInRoomFirstRecharge == NO){
[XPSkillCardPlayerManager shareInstance].isInRoomFirstRecharge = YES;
}
[XPSkillCardPlayerManager shareInstance].isInRoomFirstRecharge = YES;
}
}
- (XPNobleCenterPresenter *)createPresenter {
@@ -147,7 +143,7 @@
make.leading.top.trailing.mas_equalTo(self.view);
make.height.mas_equalTo(height);
}];
[self.navView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.top.mas_equalTo(self.view);
make.height.mas_equalTo(kNavigationHeight);
@@ -157,7 +153,7 @@
make.height.mas_equalTo(40);
make.top.mas_equalTo(self.navView.mas_bottom);
}];
[self.lineView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.bottom.mas_equalTo(self.view);
make.top.mas_equalTo(self.titleView.mas_bottom);
@@ -181,7 +177,7 @@
make.width.height.mas_equalTo(20);
make.centerY.equalTo(self.openNobleView);
make.trailing.equalTo(self.openNobleButton.mas_leading).mas_offset(-2);
}];
[self.rankBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(57);
@@ -189,7 +185,7 @@
make.trailing.mas_equalTo(-24);
make.top.mas_equalTo(139);
}];
}
#pragma mark - XPNobleCenterPayViewDelegate
- (void)payWithType:(NobleCenterPayType)type{
@@ -199,11 +195,12 @@
config.message = YMLocalizedString(@"XPNobleCenterViewController3");
config.actionStyle = TTAlertActionBothStyle;
[TTPopup alertWithConfig:config showBorder:NO confirmHandler:^{
XPIAPRechargeViewController * webVC =[[XPIAPRechargeViewController alloc] init];
XPWebViewController * webVC =[[XPWebViewController alloc] init];
webVC.url = [NSString stringWithFormat:URLWithType(kThirdPartyPay),@"5",[YYUtility deviceID]];
webVC.isPush = YES;
[self.navigationController pushViewController:webVC animated:YES];
} cancelHandler:^{
}];
return;
}
@@ -211,22 +208,10 @@
[self.presenter openVipWithDiamondRoomUid:roomUid];
return;
}
if(self.pi_IsNative == NO){
XPWebViewController *vc = [[XPWebViewController alloc]init];
NSString *channel = @"p";
channel = [NSString stringWithFormat:@"%@a",channel];
channel = [NSString stringWithFormat:@"%@y",channel];
NSString *url = [NSString stringWithFormat:URLWithType(kChannelUrl),channel,@"5",[YYUtility deviceID]];
vc.url = url;
[self.navigationController pushViewController:vc animated:YES];
return;
}
if(self.rechargeModel.list.count == 0)return;
[XNDJTDDLoadingTool showOnlyView:kWindow];
RechargeListModel *rechargeModel = [self.rechargeModel.list safeObjectAtIndex1:0];
[self.presenter requestNobleIAPRechargeOrderWithChargeProdId:rechargeModel.chargeProdId roomUid:self.roomUid ? [NSString stringWithFormat:@"%zd", self.roomUid] : nil];
XPWebViewController * webVC =[[XPWebViewController alloc] init];
webVC.url = [NSString stringWithFormat:URLWithType(kThirdPartyPay),@"5",[YYUtility deviceID]];
webVC.isPush = YES;
[self.navigationController pushViewController:webVC animated:YES];
}
-(void)openVipWithDiamondSuccess{
[self requestHttp];
@@ -247,34 +232,14 @@
self.infoModel = model;
}
} uid:uid ticket:ticket];
if([ClientConfig shareConfig].canOpen){
[Api requestMineChannel:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if(code == 200){
if(data.data[@"isNative"] != nil){
self.pi_IsNative = [data.data[@"isNative"] boolValue];
}
}
}];
}
}
///
- (void)checkTranscationIds {
NSString * uid = [AccountInfoStorage instance].getUid;
NSArray * array = [RechargeStorage getAllReciptsWithUid:uid];
for (NSDictionary *transcation in array) {
NSString *orderId = transcation[@"orderId"];
NSString *transcationId = transcation[@"transcationId"];
///
[self.presenter checkReceiptWithOrderId:orderId transcationId:transcationId errorToast:NO];
if (array.count > 0) {
// [self.presenter checkTranscationIds:array];
}
}
@@ -320,96 +285,22 @@
}
///id
- (void)requestIAPRechargeOrderSuccess:(NSString *)orderId chargeProdId:(NSString *)chargeProdId uuid:(NSString *)uuid{
- (void)requestIAPRechargeOrderSuccess:(NSString *)orderId chargeProdId:(NSString *)chargeProdId {
if (orderId.length > 0) {
self.orderId = orderId;
if (@available(iOS 15.0, *)) {
PIIAPRegulate *iap = [PIIAPRegulate shared];
[iap demandCommodityThingWithProductId:chargeProdId uuid:uuid completionHandler:^(NSError * _Nullable error) {
}];
@kWeakify(self);
iap.ConditionBlock = ^(enum StoreConditionResult state, NSDictionary<NSString *,id> * _Nullable result) {
@kStrongify(self);
[self rechargeNewProcessStatus:state];
switch (state) {
case StoreConditionResultVerifiedServer:
{
NSString *transactionId = result[@"transactionId"];
[self rechargeSuccess:transactionId];
}
break;
default:
{
}
break;
}
};
} else {
[XNDJTDDLoadingTool hideOnlyView:kWindow];
[self showErrorToast:YMLocalizedString(@"XPIAPRechargeViewController10")];
}
[[XPIAPHelper shareHelper] buyAppProductWithAppProductId:chargeProdId];
} else {
[XNDJTDDLoadingTool hideOnlyView:kWindow];
[self hideHUD];
}
}
///
- (void)requestIAPRechargeOrderFail:(NSString *)message code:(NSInteger)code {
[XNDJTDDLoadingTool hideOnlyView:kWindow];
if(code == 50000){
TTAlertConfig *config = [[TTAlertConfig alloc]init];
config.title = YMLocalizedString(@"XPIAPRechargeViewController7");
config.message = YMLocalizedString(@"XPIAPRechargeViewController8");
TTAlertButtonConfig *confirmButtonConfig = [[TTAlertButtonConfig alloc]init];
confirmButtonConfig.title = YMLocalizedString(@"XPIAPRechargeViewController9");
UIImage *image = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0x13E2F5),UIColorFromRGB(0x9DB4FF),UIColorFromRGB(0xCC67FF)] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(200, 200)];
confirmButtonConfig.backgroundColor = [UIColor colorWithPatternImage:image];
confirmButtonConfig.cornerRadius = 38/2;
config.confirmButtonConfig = confirmButtonConfig;
[TTPopup alertWithConfig:config confirmHandler:^{
[self.presenter getContactCustomerService];
} cancelHandler:^{
}];
return;
}
[self showErrorToast:message];
}
- (void)getContactCustomerServiceSuccessWithUid:(NSString *)uid{
[self hideHUD];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NIMSession * session = [NIMSession session:uid type:NIMSessionTypeP2P];
SessionViewController * sessionVC = [[SessionViewController alloc] initWithSession:session];
[self.navigationController pushViewController:sessionVC animated:YES];
});
[self showErrorToast:message];
}
///
- (void)checkReceiptSuccess:(NSString *)transcationId {
[XNDJTDDLoadingTool hideOnlyView:kWindow];
if (@available(iOS 15.0, *)) {
PIIAPRegulate *iap = [PIIAPRegulate shared];
[iap verifyBusinessAccomplishWithTransaction:[NSString stringWithFormat:@"%@",transcationId] completionHandler:^{
}];
}
[self deleteRechageReciptWithTransactionIdentifier:transcationId];
self.orderId = nil;
//5
@@ -420,18 +311,7 @@
}
});
}
- (void)checkReceiptFailWithCode:(NSInteger)code transcationId:(NSString *)transcationId{
[XNDJTDDLoadingTool hideOnlyView:kWindow];
if(code == 1444){
if (@available(iOS 15.0, *)) {
PIIAPRegulate *iap = [PIIAPRegulate shared];
[iap verifyBusinessAccomplishWithTransaction:[NSString stringWithFormat:@"%@",transcationId] completionHandler:^{
}];
}
[self deleteRechageReciptWithTransactionIdentifier:transcationId];
}
}
///
- (void)deleteRechageReciptWithTransactionIdentifier:(NSString *)transactionIdentifier {
NSString * uid = [AccountInfoStorage instance].getUid;
@@ -452,17 +332,16 @@
}
#pragma mark - XPIAPHelperDelegate
///
- (void)rechargeNewProcessStatus:(StoreConditionResult)status {
if (status == StoreConditionResultPay || status == StoreConditionResultStart || status == StoreConditionResultVerifiedServer) {
}else if (status == StoreConditionResultUnowned) {
[XNDJTDDLoadingTool hideOnlyView:kWindow];
[self showErrorToast:YMLocalizedString(@"XPIAPRechargeViewController1")];
}else{
[XNDJTDDLoadingTool hideOnlyView:kWindow];
[self showErrorToast:YMLocalizedString(@"XPIAPRechargeViewController0")];
- (void)rechargeProcessStatus:(PaymentStatus)status {
[self hideHUD];
if (status == PaymentStatus_Purchased) {
[self showLoading];
} else if (status == PaymentStatus_Purchasing) {
[self showLoading];
} else if (status == PaymentStatus_Failed) {
[self showErrorToast:YMLocalizedString(@"XPNobleCenterViewController1")];
} else if (status == PaymentStatus_Deferred) {
[self showErrorToast:YMLocalizedString(@"XPNobleCenterViewController2")];
}
}
@@ -470,8 +349,10 @@
- (void)rechargeSuccess:(NSString *)transactionIdentifier {
///
[self saveRechageReciptWithTransactionIdentifier:transactionIdentifier];
NSData *receiptData = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
NSString * receipt = [MF_Base64Codec base64StringFromData:receiptData];
///
[self.presenter checkReceiptWithOrderId:self.orderId transcationId:transactionIdentifier errorToast:YES];
// [self.presenter checkReceiptWithData:receipt orderId:self.orderId transcationId:transactionIdentifier];
}
///
@@ -479,16 +360,9 @@
NSData *receipt = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
NSString *encodeStr = [receipt base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
if(transactionIdentifier != nil){
[dictionary setObject:transactionIdentifier forKey:@"transcationId"];
}
if(encodeStr != nil){
[dictionary setObject:encodeStr forKey:@"recipt"];
}
if(self.orderId != nil){
[dictionary setObject:self.orderId forKey:@"orderId"];
}
if(dictionary.allKeys.count == 0)return;
[dictionary setObject:transactionIdentifier forKey:@"transcationId"];
[dictionary setObject:encodeStr forKey:@"recipt"];
[dictionary setObject:self.orderId forKey:@"orderId"];
NSString *reciptJson = [dictionary toJSONString];
NSString * uid = [AccountInfoStorage instance].getUid;
BOOL saveSuccess = [RechargeStorage saveTranscationId:transactionIdentifier recipt:reciptJson uid:uid];
@@ -568,7 +442,7 @@
payView.delegate = self;
[self.view addSubview:payView];
}
#pragma mark - Getters And Setters
@@ -645,7 +519,7 @@
_openNobleButton.textColor = [DJDKMIMOMColor mainTextColor];
_openNobleButton.numberOfLines = 0;
_openNobleButton.textAlignment = NSTextAlignmentCenter;
}
return _openNobleButton;
}

View File

@@ -119,7 +119,7 @@
NSString *channel = @"p";
channel = [NSString stringWithFormat:@"%@a",channel];
channel = [NSString stringWithFormat:@"%@y",channel];
NSString *url = [NSString stringWithFormat:URLWithType(kChannelUrl),channel,self.type,[YYUtility deviceID]];
NSString *url = [NSString stringWithFormat:URLWithType(kThirdPartyPay),self.type,[YYUtility deviceID]];
vc.url = url;
[self addChildViewController:vc];
vc.view.frame = self.view.frame;
@@ -263,7 +263,7 @@
// }
// if(list.count > 0){
// if (@available(iOS 15.0, *)) {
// PIIAPRegulate *iap = [PIIAPRegulate shared];
// PIIAPManagers *iap = [PIIAPManagers shared];
// [iap allTransactionWithList:list completionHandler:^{
//
// }];
@@ -285,16 +285,9 @@
NSData *receipt = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
NSString *encodeStr = [receipt base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
if(transactionIdentifier != nil){
[dictionary setObject:transactionIdentifier forKey:@"transcationId"];
}
if(encodeStr != nil){
[dictionary setObject:encodeStr forKey:@"recipt"];
}
if(self.orderId != nil){
[dictionary setObject:self.orderId forKey:@"orderId"];
}
if(dictionary.allKeys.count == 0)return;
[dictionary setObject:transactionIdentifier forKey:@"transcationId"];
[dictionary setObject:encodeStr forKey:@"recipt"];
[dictionary setObject:self.orderId forKey:@"orderId"];
NSString *reciptJson = [dictionary toJSONString];
NSString * uid = [AccountInfoStorage instance].getUid;
BOOL saveSuccess = [RechargeStorage saveTranscationId:transactionIdentifier recipt:reciptJson uid:uid];
@@ -319,12 +312,12 @@
#pragma mark - XPIAPHelperDelegate
///
- (void)rechargeNewProcessStatus:(StoreConditionResult)status {
- (void)rechargeNewProcessStatus:(StoreStateResult)status {
if (status == StoreConditionResultPay || status == StoreConditionResultStart || status == StoreConditionResultVerifiedServer) {
if (status == StoreStateResultPay || status == StoreStateResultStart || status == StoreStateResultVerifiedServer) {
}else if (status == StoreConditionResultUnowned) {
}else if (status == StoreStateResultUnowned) {
[XNDJTDDLoadingTool hideHUDInView:kWindow];
[self showErrorToast:YMLocalizedString(@"XPIAPRechargeViewController1")];
}else{
@@ -354,17 +347,17 @@
self.orderId = orderId;
if (@available(iOS 15.0, *)) {
PIIAPRegulate *iap = [PIIAPRegulate shared];
[iap demandCommodityThingWithProductId:chargeProdId uuid:uuid completionHandler:^(NSError * _Nullable error) {
PIIAPManagers *iap = [PIIAPManagers shared];
[iap requestBuyProductWithProductId:chargeProdId uuid:uuid completionHandler:^(NSError * _Nullable error) {
}];
@kWeakify(self);
iap.ConditionBlock = ^(enum StoreConditionResult state, NSDictionary<NSString *,id> * _Nullable result) {
iap.stateBlock = ^(enum StoreStateResult state, NSDictionary<NSString *,id> * _Nullable result) {
@kStrongify(self);
[self rechargeNewProcessStatus:state];
switch (state) {
case StoreConditionResultVerifiedServer:
case StoreStateResultVerifiedServer:
{
NSString *transactionId = result[@"transactionId"];
@@ -429,8 +422,8 @@
- (void)checkReceiptSuccess:(NSString *)transcationId {
[XNDJTDDLoadingTool hideHUDInView:kWindow];
if (@available(iOS 15.0, *)) {
PIIAPRegulate *iap = [PIIAPRegulate shared];
[iap verifyBusinessAccomplishWithTransaction:[NSString stringWithFormat:@"%@",transcationId] completionHandler:^{
PIIAPManagers *iap = [PIIAPManagers shared];
[iap transactionFinishWithTransaction:[NSString stringWithFormat:@"%@",transcationId] completionHandler:^{
}];
}
@@ -447,8 +440,8 @@
[XNDJTDDLoadingTool hideHUDInView:kWindow];
if(code == 1444){
if (@available(iOS 15.0, *)) {
PIIAPRegulate *iap = [PIIAPRegulate shared];
[iap verifyBusinessAccomplishWithTransaction:[NSString stringWithFormat:@"%@",transcationId] completionHandler:^{
PIIAPManagers *iap = [PIIAPManagers shared];
[iap transactionFinishWithTransaction:[NSString stringWithFormat:@"%@",transcationId] completionHandler:^{
}];
}

View File

@@ -133,16 +133,9 @@
NSData *receipt = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
NSString *encodeStr = [receipt base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
if(transactionIdentifier != nil){
[dictionary setObject:transactionIdentifier forKey:@"transcationId"];
}
if(encodeStr != nil){
[dictionary setObject:encodeStr forKey:@"recipt"];
}
if(self.orderId != nil){
[dictionary setObject:self.orderId forKey:@"orderId"];
}
if(dictionary.allKeys.count == 0)return;
[dictionary setObject:transactionIdentifier forKey:@"transcationId"];
[dictionary setObject:encodeStr forKey:@"recipt"];
[dictionary setObject:self.orderId forKey:@"orderId"];
NSString *reciptJson = [dictionary toJSONString];
NSString * uid = [AccountInfoStorage instance].getUid;
BOOL saveSuccess = [RechargeStorage saveTranscationId:transactionIdentifier recipt:reciptJson uid:uid];

View File

@@ -55,13 +55,8 @@
#import "XPMineCollectRoomListViewController.h"
#import "XPMineMainGuildListVC.h"
#import "XPMineGiveDiamondVC.h"
#import "XPIAPRechargeViewController.h"
#import "XPIncomeRecordVC.h"
#import "XPNobleCenterViewController.h"
#import "LittleGameInfoModel.h"
#import "HomeLittleGameRoomModel.h"
#import "XPLittleGameRoomOpenView.h"
#import "XPMineGameTableViewCell.h"
UIKIT_EXTERN NSString *kRequestRicket;
@interface XPMineViewController ()<UITableViewDelegate, UITableViewDataSource, XPMineProtocol, XPMineHeadItemTableViewCellDelegate, XPMineHeadViewDelegate, XPHomeBannerTableViewCellDelegate>
@@ -87,10 +82,6 @@ UIKIT_EXTERN NSString *kRequestRicket;
@property (nonatomic,assign) BOOL isRefreshRoomInfo;
///,
@property (nonatomic,assign) BOOL isRequestData;
///
@property (nonatomic, strong) NSMutableArray<LittleGameInfoModel *> *littleGameArray;
@end
@implementation XPMineViewController
@@ -183,9 +174,15 @@ UIKIT_EXTERN NSString *kRequestRicket;
if (@available(iOS 15.0, *)) {//iOS1522
self.tableView.sectionHeaderTopPadding = 0;
}
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(requestRicketSuccess:) name:kRequestRicket object:nil];
}
-(void)requestRicketSuccess:(NSNotification *)not{
if([not.object isKindOfClass:[NSDictionary class]])return;
BOOL is = [not.object boolValue];
if(is == YES){
[self.presenter getUserInfo];
}
}
- (void)initSubViewConstraints {
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.mas_equalTo(0);
@@ -228,22 +225,8 @@ UIKIT_EXTERN NSString *kRequestRicket;
break;
case XPMineItemType_My_Room:
{
NSString* roomUid = [NSString stringWithFormat:@"%ld", (long)self.userInfo.uid];
[Api getRoomInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
RoomInfoModel * roomInfo = [RoomInfoModel modelWithJSON:data.data];
if (roomInfo.isReselect) {
XPLittleGameRoomOpenView * roomOpenView = [[XPLittleGameRoomOpenView alloc] init];
roomOpenView.roomInfo = roomInfo;
roomOpenView.currentVC = self;
[TTPopup popupView:roomOpenView style:TTPopupStyleActionSheet];
} else {
[XPRoomViewController openRoom:roomUid viewController:self];
}
} else {
[self showErrorToast:msg];
}
} uid:roomUid intoUid:roomUid];
NSString* roomUid = [NSString stringWithFormat:@"%ld", (long)self.userInfo.uid];
[XPRoomViewController openRoom:roomUid viewController:self];
}
break;
case XPMineItemType_Collect_Room://
@@ -431,9 +414,10 @@ UIKIT_EXTERN NSString *kRequestRicket;
}
///
-(void)pushThirdPartyPayVC{
XPIAPRechargeViewController * webVC =[[XPIAPRechargeViewController alloc] init];
webVC.type = @"4";
[self.navigationController pushViewController:webVC animated:YES];
XPWebViewController * webVC =[[XPWebViewController alloc] init];
webVC.url = [NSString stringWithFormat:URLWithType(kThirdPartyPay),@"4",[YYUtility deviceID]];
webVC.isPush = YES;
[self.navigationController pushViewController:webVC animated:YES];
}
///
-(void)pushEarningsRecordVC{
@@ -447,24 +431,9 @@ UIKIT_EXTERN NSString *kRequestRicket;
///
-(void)pushMyRoomVC{
if(self.isRefreshRoomInfo == YES)return;
self.isRefreshRoomInfo = YES;
NSString* roomUid = [NSString stringWithFormat:@"%ld", (long)self.userInfo.uid];
[Api getRoomInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
self.isRefreshRoomInfo = NO;
if (code == 200) {
RoomInfoModel * roomInfo = [RoomInfoModel modelWithJSON:data.data];
if (roomInfo.isReselect) {
XPLittleGameRoomOpenView * roomOpenView = [[XPLittleGameRoomOpenView alloc] init];
roomOpenView.roomInfo = roomInfo;
roomOpenView.currentVC = self;
[TTPopup popupView:roomOpenView style:TTPopupStyleActionSheet];
} else {
[XPRoomViewController openRoom:roomUid viewController:self];
}
} else {
[self showErrorToast:msg];
}
} uid:roomUid intoUid:roomUid];
self.isRefreshRoomInfo = YES;
NSString* roomUid = [NSString stringWithFormat:@"%ld", (long)self.userInfo.uid];
[XPRoomViewController openRoom:roomUid viewController:self];
}
#pragma mark - XPMineHeadViewDelegate
///
@@ -522,21 +491,7 @@ UIKIT_EXTERN NSString *kRequestRicket;
- (void)onGetMineFuntionItemFailWithGroup:(dispatch_group_t)group{
dispatch_group_leave(group);
}
///
- (void)onGetLittleGameListSuccess:(NSArray<LittleGameInfoModel *> *)items WithGroup:(nonnull dispatch_group_t)group{
[self.littleGameArray removeAllObjects];
[self.littleGameArray addObjectsFromArray:items];
dispatch_group_leave(group);
NSMutableArray *array = [NSMutableArray array];
for (LittleGameInfoModel *item in self.littleGameArray) {
[array addObject:item.name];
}
NSString *trackName = [array componentsJoinedByString:@","];
[StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventusercenter_quick_entry_show eventAttributes:@{@"gameName" : trackName}];
}
- (void)onGetLittleGameListFailWithGroup:(dispatch_group_t)group{
dispatch_group_leave(group);
}
///banner
- (void)onGetPersonalBannerListSuccess:(NSArray<HomeBannerInfoModel *> *)items WithGroup:(nonnull dispatch_group_t)group{
[self.bannerArray removeAllObjects];
@@ -585,10 +540,7 @@ UIKIT_EXTERN NSString *kRequestRicket;
dispatch_group_async(group, queue, ^{
[self.presenter getPersonItemListWithGroup:group];
});
dispatch_group_enter(group);
dispatch_group_async(group, queue, ^{
[self.presenter getLittleGameListWithGroup:group];
});
dispatch_group_enter(group);
dispatch_group_async(group, queue, ^{
[self.presenter getMineBannerListWithGroup:group];
@@ -597,8 +549,6 @@ UIKIT_EXTERN NSString *kRequestRicket;
dispatch_group_async(group, queue, ^{
[self.presenter getNobleInfoWithGroup:group];
});
dispatch_group_notify(group,dispatch_get_main_queue(), ^{
self.isRequestData = NO;
self.userInfo = userInfo;
@@ -636,58 +586,6 @@ UIKIT_EXTERN NSString *kRequestRicket;
- (void)onGetClanDetailInfofailWithGroup:(dispatch_group_t)group{
dispatch_group_leave(group);
}
///
- (void)quickMatchLittleGameRoomSuccess:(HomeLittleGameRoomModel *)roomInfo mgId:(NSString *)mgId {
if (roomInfo.isPick && roomInfo.uid.length > 0) {
[StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventusercenter_quick_entrysuccess_click eventAttributes:@{@"roomUid" : roomInfo.uid}];
[XPRoomViewController openRoom:roomInfo.uid viewController:self];
} else if (roomInfo.needOpenSelfRoom) {
NSString* roomUid = [NSString stringWithFormat:@"%ld", (long)self.userInfo.uid];
[StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventusercenter_quick_entrysuccess_click eventAttributes:@{@"roomUid" : roomUid}];
[Api getRoomInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
RoomInfoModel * roomInfo = [RoomInfoModel modelWithJSON:data.data];
if (roomInfo.mgId != [mgId intValue]) {///
NSMutableDictionary * params = [NSMutableDictionary dictionary];
NSString * uid = [AccountInfoStorage instance].getUid;
NSString * ticket = [AccountInfoStorage instance].getTicket;
[params setObject:ticket forKey:@"ticket"];
[params setObject:uid forKey:@"uid"];
[params setObject:[NSString stringWithFormat:@"%ld", roomInfo.uid] forKey:@"roomUid"];
if (roomInfo.title.length > 0) {
[params setObject:roomInfo.title forKey:@"title"];
}
if (roomInfo.roomPwd.length > 0) {
[params setObject:roomInfo.roomPwd forKey:@"roomPwd"];
} else{
[params setObject:@"" forKey:@"roomPwd"];
}
if (roomInfo.tagId > 0) {
[params setObject:[NSString stringWithFormat:@"%ld", roomInfo.tagId] forKey:@"tagId"];
}
[params setObject:@(RoomType_MiniGame) forKey:@"type"];
[params setObject:mgId forKey:@"mgId"];
[params setObject:@(roomInfo.hasAnimationEffect) forKey:@"hasAnimationEffect"];
[Api ownerUpdateRoomInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
[XPRoomViewController openRoom:[AccountInfoStorage instance].getUid mgId:mgId viewController:self];
}
} params:params];
}
} else {
[self showErrorToast:msg];
}
} uid:roomUid intoUid:roomUid];
}
}
///
- (void)quickMatchLittleGameRoomFail:(NSString *)mgId {
[XPRoomViewController openRoom:[NSString stringWithFormat:@"%ld", self.userInfo.uid] mgId:mgId viewController:self];
}
#pragma mark - XPMineHeadItemTableViewCellDelegate
- (void)xPMineHeadItemTableViewCell:(XPMineHeadItemTableViewCell *)cell didSelectItem:(XPMineFuntionItemModel *)item {
[StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventusercenter_function_click eventAttributes:@{@"functionName" : item.centerName}];
@@ -717,11 +615,7 @@ UIKIT_EXTERN NSString *kRequestRicket;
break;
}
}
#pragma mark - XPMineGameTableViewCellDelegate
///
- (void)xPMineGameTableViewCell:(XPMineGameTableViewCell *)cell didSelectItem:(LittleGameInfoModel *)item {
[self.presenter quickMatchLittleGameWithMgId:item.mgId];
}
#pragma mark - NSNotification
- (void)onVisitorUnReadCountUpdate:(NSNotification *)noti {
@@ -735,6 +629,7 @@ UIKIT_EXTERN NSString *kRequestRicket;
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.showsVerticalScrollIndicator = NO;
_tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;;
[_tableView registerClass:[XPMineTheGuildCell class] forCellReuseIdentifier:NSStringFromClass([XPMineTheGuildCell class])];
[_tableView registerClass:[XPMinePersonalCenterCell class] forCellReuseIdentifier:NSStringFromClass([XPMinePersonalCenterCell class])];
@@ -767,12 +662,6 @@ UIKIT_EXTERN NSString *kRequestRicket;
}
return _functionArray;
}
- (NSMutableArray<LittleGameInfoModel *> *)littleGameArray {
if (!_littleGameArray) {
_littleGameArray = [NSMutableArray array];
}
return _littleGameArray;
}
- (NSMutableArray<HomeBannerInfoModel *> *)bannerArray {
if (!_bannerArray) {

View File

@@ -44,7 +44,6 @@
#import "XPMineUserInfoViewController.h"
#import "XPMineSimpleUserInfoViewController.h"
#import "XPMineRechargeViewController.h"
#import "XPIAPRechargeViewController.h"
#import "XPWebViewController.h"
#import "XPRoomViewController.h"
#import "XPMineDressUpViewController.h"
@@ -59,7 +58,6 @@
#import "XPMineCollectRoomListViewController.h"
#import "XPMineFeedbackViewController.h"
#import "XPMineSimpleUserInfoViewController.h"
#import "XPIAPRechargeViewController.h"
@interface XPSimpleMineViewController ()<UITableViewDelegate, UITableViewDataSource, XPHomeBannerTableViewCellDelegate, XPMineProtocol, XPSimpleMineHeaderViewDelegate>
@@ -137,10 +135,10 @@
break;
case XPMineItemType_Account:
{
// XPMineRechargeViewController * rechargeVC = [[XPMineRechargeViewController alloc] init];
XPIAPRechargeViewController *rechargeVC = [[XPIAPRechargeViewController alloc] init];
rechargeVC.type = @"4";
[self.navigationController pushViewController:rechargeVC animated:YES];
XPWebViewController * webVC =[[XPWebViewController alloc] init];
webVC.url = [NSString stringWithFormat:URLWithType(kThirdPartyPay),@"4",[YYUtility deviceID]];
webVC.isPush = YES;
[self.navigationController pushViewController:webVC animated:YES];
}
break;
case XPMineItemType_Personinfo:
@@ -441,7 +439,7 @@
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
[_tableView registerClass:[XPMineItemTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMineItemTableViewCell class])];
[_tableView registerClass:[XPHomeBannerTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPHomeBannerTableViewCell class])];
_tableView.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);
}
return _tableView;
}

View File

@@ -26,7 +26,7 @@
[[self getView] getMonentsAttentionListSuccess:listInfo state:state];
} fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView] getMonentsAttentionListFail:msg state:state];
} showLoading:NO] dynamicId:dynamicId pageSize:pageSizeStr types:@"0,2"];
} showLoading:YES] dynamicId:dynamicId pageSize:pageSizeStr types:@"0,2"];
}
///

View File

@@ -26,7 +26,7 @@
[[self getView] getMonentsLatestListSuccess:listInfo state:state];
} fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView] getMonentsLatestListFail:msg state:state];
} showLoading:NO] dynamicId:dynamicId pageSize:pageSizeStr types:@"0,2"];
} showLoading:YES] dynamicId:dynamicId pageSize:pageSizeStr types:@"0,2"];
}
///

View File

@@ -26,7 +26,7 @@
[[self getView] getMonentsRecommendListSuccess:array state:state];
} fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView] getMonentsRecommendListFail:msg state:state];
} showLoading:NO] page:pageStr pageSize:pageSizeStr types:@"0,2"];
} showLoading:YES] page:pageStr pageSize:pageSizeStr types:@"0,2"];
}
@@ -40,7 +40,7 @@
[Api monentsTopicList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray * array = [MonentsTopicModel modelsWithArray:data.data[@"records"]];
[[self getView] monentsTopicListSuccess:array];
}showLoading:NO] uid:uid page:pageStr pageSize:pageSizeStr worldTypeId:@"1"];
}] uid:uid page:pageStr pageSize:pageSizeStr worldTypeId:@"1"];
}
///

View File

@@ -25,7 +25,7 @@
#import "XPMonentsPublishViewController.h"
@interface XPMonentTopicContainerViewController ()<JXPagerViewDelegate,JXCategoryViewDelegate>
@property (nonatomic,strong) JXCategoryTitleView *pi_categoryView;
@property (nonatomic,strong) JXCategoryTitleView *categoryView;
@property (nonatomic,strong) JXCategoryIndicatorLineView *lineView;
@property (nonatomic,strong) JXPagerListRefreshView *pagerContentView;
@property (nonatomic,strong) NSArray<NSString *> *titles;
@@ -101,7 +101,7 @@
}
- (UIView *)viewForPinSectionHeaderInPagerView:(JXPagerView *)pagerView {
return self.pi_categoryView;
return self.categoryView;
}
- (NSInteger)numberOfListsInPagerView:(JXPagerView *)pagerView {
@@ -137,27 +137,27 @@
self.latestVC.worldId = _worldId;
}
- (JXCategoryTitleView *)pi_categoryView {
if (!_pi_categoryView) {
_pi_categoryView = [[JXCategoryTitleView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 46)];
_pi_categoryView.titles = self.titles;
_pi_categoryView.backgroundColor = [UIColor whiteColor];
_pi_categoryView.delegate = self;
_pi_categoryView.titleSelectedColor = [DJDKMIMOMColor mainTextColor];
_pi_categoryView.titleColor = [DJDKMIMOMColor secondTextColor];
_pi_categoryView.titleSelectedFont = [UIFont boldSystemFontOfSize:18];
_pi_categoryView.titleFont = [UIFont systemFontOfSize:15];
_pi_categoryView.titleColorGradientEnabled = YES;
_pi_categoryView.titleLabelZoomEnabled = NO;
_pi_categoryView.indicators = @[self.lineView];
_pi_categoryView.listContainer = (id<JXCategoryViewListContainer>)self.pagerContentView.listContainerView;
_pi_categoryView.averageCellSpacingEnabled = NO;
_pi_categoryView.contentEdgeInsetLeft = 20;
_pi_categoryView.contentEdgeInsetRight = 20;
_pi_categoryView.cellSpacing = 30;
- (JXCategoryTitleView *)categoryView {
if (!_categoryView) {
_categoryView = [[JXCategoryTitleView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 46)];
_categoryView.titles = self.titles;
_categoryView.backgroundColor = [UIColor whiteColor];
_categoryView.delegate = self;
_categoryView.titleSelectedColor = [DJDKMIMOMColor mainTextColor];
_categoryView.titleColor = [DJDKMIMOMColor secondTextColor];
_categoryView.titleSelectedFont = [UIFont boldSystemFontOfSize:18];
_categoryView.titleFont = [UIFont systemFontOfSize:15];
_categoryView.titleColorGradientEnabled = YES;
_categoryView.titleLabelZoomEnabled = NO;
_categoryView.indicators = @[self.lineView];
_categoryView.listContainer = (id<JXCategoryViewListContainer>)self.pagerContentView.listContainerView;
_categoryView.averageCellSpacingEnabled = NO;
_categoryView.contentEdgeInsetLeft = 20;
_categoryView.contentEdgeInsetRight = 20;
_categoryView.cellSpacing = 30;
}
return _pi_categoryView;
return _categoryView;
}
- (JXCategoryIndicatorLineView *)lineView {

View File

@@ -58,9 +58,15 @@ UIKIT_EXTERN NSString *kRequestRicket;
#pragma mark - Private Method
- (void)initSubViews {
[self.view addSubview:self.tableView];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(requestRicketSuccess:) name:kRequestRicket object:nil];
}
-(void)requestRicketSuccess:(NSNotification *)not{
if([not.object isKindOfClass:[NSDictionary class]])return;
BOOL is = [not.object boolValue];
if(is == YES){
[self headerRefresh];
}
}
- (void)initSubViewConstraints {
@@ -82,7 +88,7 @@ UIKIT_EXTERN NSString *kRequestRicket;
footer.stateLabel.textColor = [DJDKMIMOMColor secondTextColor];
footer.stateLabel.font = [UIFont systemFontOfSize:10.0];
self.tableView.mj_footer = footer;
[self.tableView.mj_header beginRefreshing];
[self headerRefresh];
}

View File

@@ -64,9 +64,15 @@ UIKIT_EXTERN NSString *kRequestRicket;
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.view);
}];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(requestRicketSuccess:) name:kRequestRicket object:nil];
}
-(void)requestRicketSuccess:(NSNotification *)not{
if([not.object isKindOfClass:[NSDictionary class]])return;
BOOL is = [not.object boolValue];
if(is == YES){
[self headerRefresh];
}
}
#pragma mark -
- (void)initHeaderAndFooterRrfresh {
@@ -81,7 +87,7 @@ UIKIT_EXTERN NSString *kRequestRicket;
footer.stateLabel.textColor = [DJDKMIMOMColor secondTextColor];
footer.stateLabel.font = [UIFont systemFontOfSize:10.0];
self.tableView.mj_footer = footer;
[self.tableView.mj_header beginRefreshing];
[self headerRefresh];
}

View File

@@ -71,10 +71,18 @@ UIKIT_EXTERN NSString *kRequestRicket;
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.view);
}];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(requestRicketSuccess:) name:kRequestRicket object:nil];
}
-(void)requestRicketSuccess:(NSNotification *)not{
if([not.object isKindOfClass:[NSDictionary class]])return;
BOOL is = [not.object boolValue];
if(is == YES){
[self headerRefresh];
}else{
[XNDJTDDLoadingTool hideOnlyView:self.tabBarController.view];
}
}
#pragma mark -
- (void)initHeaderAndFooterRrfresh {
@@ -89,13 +97,13 @@ UIKIT_EXTERN NSString *kRequestRicket;
footer.stateLabel.textColor = [DJDKMIMOMColor secondTextColor];
footer.stateLabel.font = [UIFont systemFontOfSize:10.0];
self.tableView.mj_footer = footer;
[self.tableView.mj_header beginRefreshing];
[self headerRefresh];
}
#pragma mark - fangfa
- (void)headerRefresh {
[XNDJTDDLoadingTool showOnlyView:self.tabBarController.view];
if([AccountInfoStorage instance].isRequestRicket == YES){
return;
}
@@ -241,6 +249,7 @@ UIKIT_EXTERN NSString *kRequestRicket;
}
[self.tableView.mj_footer endRefreshing];
}
[XNDJTDDLoadingTool hideOnlyView:self.tabBarController.view];
[self.tableView reloadData];
}

View File

@@ -46,6 +46,7 @@ NS_ASSUME_NONNULL_BEGIN
//是否为周榜top1
@property(nonatomic,assign) BOOL isWeekTop1;
@property(nonatomic,copy) NSString *inRoomUid;
//是否在麦位
@property(nonatomic,assign) BOOL inMic;
///是否在线

View File

@@ -135,11 +135,9 @@
}
///
-(void)getFriendListWithGroup:(dispatch_group_t)group{
if([AccountInfoStorage instance].getUid.length == 0){
[[self getView]getFriendListFailWithGroup:group];
return;
}
if([AccountInfoStorage instance].getUid.length == 0)return;
[Api requsetFriendListComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
if([AccountInfoStorage instance].getUid.length == 0)return;
NSArray * array = [HomePlayRoomModel modelsWithArray:data.data];
[[self getView]getFriendListSuccess:array withGroup:group];
} fail:^(NSInteger code, NSString * _Nullable msg) {

View File

@@ -161,7 +161,7 @@
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultEmptyAvatarPlaceholder];
_bgImageView = [[NetImageView alloc]initWithConfig:config];
[_bgImageView setCornerWithLeftTopCorner:kGetScaleWidth(16) rightTopCorner:kGetScaleWidth(16) bottomLeftCorner:kGetScaleWidth(16) bottomRightCorner:kGetScaleWidth(16) size:CGSizeMake(kGetScaleWidth(170), kGetScaleWidth(174))];
[_bgImageView setCornerWithLeftTopCorner:kGetScaleWidth(14) rightTopCorner:kGetScaleWidth(14) bottomLeftCorner:kGetScaleWidth(15) bottomRightCorner:kGetScaleWidth(14) size:CGSizeMake(kGetScaleWidth(170), kGetScaleWidth(174))];
}
return _bgImageView;
}

View File

@@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN
@interface XPNewHomePartyTableViewCell : UITableViewCell
@property (nonatomic,strong) HomePlayRoomModel *roomInfo;
@property (nonatomic,strong) HomeRecommendRoomModel *roomInfo1;
@property(nonatomic,weak) id<XPNewHomePartyTableViewCellDelegate>delegate;
///声音卡时svga是否播放动画
-(void)setPlaySoundStatus:(BOOL)isPlay;

View File

@@ -243,7 +243,14 @@
-(void)setPlaySoundTime:(NSInteger)time{
_audioView.voiceDura = @(time).stringValue;
}
- (void)setRoomInfo1:(HomeRecommendRoomModel *)roomInfo1 {
_roomInfo1 = roomInfo1;
if (_roomInfo1) {
}
}
-(void)didSelectItemAction{

View File

@@ -92,8 +92,6 @@
_collectionView.delegate = self;
_collectionView.tag = 9000002;
_collectionView.backgroundColor = [UIColor clearColor];
_collectionView.showsVerticalScrollIndicator = NO;
_collectionView.showsHorizontalScrollIndicator = NO;
[_collectionView registerClass:[XPNewHomePlayItemCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPNewHomePlayItemCollectionViewCell class])];
}
return _collectionView;

View File

@@ -1,19 +0,0 @@
//
// PIPageControl.h
// YuMi
//
// Created by duoban on 2023/10/8.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface PIPageControl : UIView
@property(nonatomic,assign) NSInteger numberOfPages;
@property(nonatomic,assign) NSInteger currentPage;
@property(nonatomic,strong) UIColor *currentPageIndicatorTintColor;
@property(nonatomic,strong) UIColor *pageIndicatorTintColor;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,35 +0,0 @@
//
// PIPageControl.m
// YuMi
//
// Created by duoban on 2023/10/8.
//
#import "PIPageControl.h"
@implementation PIPageControl
-(void)setNumberOfPages:(NSInteger)numberOfPages{
_numberOfPages = numberOfPages;
for (int i = 0; i < _numberOfPages; i++) {
UIView *dosView = [[UIView alloc]init];
dosView.tag = 100 + i;
[self addSubview:dosView];
CGFloat left = i * kGetScaleWidth(7);
[dosView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(4));
make.top.equalTo(self);
make.left.mas_equalTo(left);
}];
dosView.layer.cornerRadius = kGetScaleWidth(4)/2;
dosView.layer.masksToBounds = YES;
}
}
- (void)setCurrentPage:(NSInteger)currentPage{
_currentPage = currentPage;
for (int i = 0; i < _numberOfPages; i++) {
UIView *dosView = [self viewWithTag:100 + i];
dosView.backgroundColor = _currentPage == i ? _currentPageIndicatorTintColor : _pageIndicatorTintColor;
}
}
@end

View File

@@ -8,12 +8,10 @@
#import "XPNewHomeHeadView.h"
#import <SDCycleScrollView/SDCycleScrollView.h>
#import "XPNewHomeItemCell.h"
#import "PIPageControl.h"
@interface XPNewHomeHeadView ()<SDCycleScrollViewDelegate,UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
@property(nonatomic,strong) UICollectionView *collectionView;
///
@property (nonatomic, strong) SDCycleScrollView *pi_BannerView;
@property(nonatomic,strong) PIPageControl *pageControl;
@end
@implementation XPNewHomeHeadView
@@ -28,7 +26,6 @@
-(void)installUI{
[self addSubview:self.collectionView];
[self addSubview:self.pi_BannerView];
[self addSubview:self.pageControl];
}
-(void)installConstraints{
@@ -44,7 +41,6 @@
make.height.mas_equalTo(kGetScaleWidth(80));
}];
}
#pragma mark - SDCycleScrollViewDelegate
- (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index {
@@ -54,9 +50,7 @@
}
}
- (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didScrollToIndex:(NSInteger)index{
self.pageControl.currentPage = index;
}
#pragma mark - Getters And Setters
- (void)setBannerList:(NSArray<HomeBannerInfoModel *> *)bannerList {
_bannerList = bannerList;
@@ -69,16 +63,6 @@
}];
if (array.count > 0) {
self.pi_BannerView.imageURLStringsGroup = array;
CGFloat width = array.count * kGetScaleWidth(7) - kGetScaleWidth(3);
[self.pageControl mas_remakeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(-kGetScaleWidth(4));
make.height.mas_equalTo(kGetScaleWidth(4));
make.centerX.equalTo(self);
make.width.mas_equalTo(width);
}];
self.pageControl.numberOfPages = array.count;
self.pageControl.currentPage = 0;
[self.pi_BannerView autoScroll];
}
_pi_BannerView.hidden = NO;
@@ -136,25 +120,22 @@
- (SDCycleScrollView *)pi_BannerView {
if (!_pi_BannerView) {
_pi_BannerView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero delegate:self placeholderImage:[UIImageConstant defalutBannerPlaceholder]];
_pi_BannerView = [[SDCycleScrollView alloc] init];
_pi_BannerView.backgroundColor = [UIColor clearColor];
_pi_BannerView.layer.cornerRadius = 10;
_pi_BannerView.layer.masksToBounds = YES;
_pi_BannerView.showPageControl = NO;
_pi_BannerView.delegate = self;
_pi_BannerView.showPageControl = YES;
_pi_BannerView.autoScrollTimeInterval = 5.0;
_pi_BannerView.currentPageDotColor = UIColorFromRGB(0x9168FA);
_pi_BannerView.pageDotColor = UIColorRGBAlpha(0xB3B3C3, 0.4);
_pi_BannerView.pageControlDotSize = CGSizeMake(kGetScaleWidth(4), kGetScaleWidth(4));
_pi_BannerView.bannerImageViewContentMode = UIViewContentModeScaleAspectFill;
_pi_BannerView.placeholderImage = [UIImageConstant defalutBannerPlaceholder];
_pi_BannerView.tag = 9000001;
_pi_BannerView.hidden = YES;
}
return _pi_BannerView;
}
- (PIPageControl *)pageControl{
if(!_pageControl){
_pageControl = [[PIPageControl alloc]init];
_pageControl.currentPageIndicatorTintColor = UIColorFromRGB(0x9168FA);
_pageControl.pageIndicatorTintColor = UIColorRGBAlpha(0xB3B3C3, 0.4);
}
return _pageControl;
}
@end

View File

@@ -47,8 +47,8 @@
[self.searchView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self).offset(15);
make.height.mas_equalTo(34);
make.top.mas_equalTo(self).offset(statusbarHeight + 5);
make.height.mas_equalTo(32);
make.top.mas_equalTo(self).offset(statusbarHeight + 6);
make.right.mas_equalTo(self.rankButton.mas_left).offset(-15);
}];
@@ -100,8 +100,8 @@
- (UIView *)searchView {
if (!_searchView) {
_searchView = [[UIView alloc] init];
_searchView.backgroundColor = UIColorFromRGB(0xFAFBFC);
_searchView.layer.cornerRadius = 17;
_searchView.backgroundColor = [UIColor colorWithWhite:1 alpha:0.5];
_searchView.layer.cornerRadius = 16;
_searchView.layer.masksToBounds = YES;
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapRecognizer)];
[_searchView addGestureRecognizer:tap];
@@ -121,8 +121,8 @@
- (UILabel *)searchLabel {
if (!_searchLabel) {
_searchLabel = [[UILabel alloc] init];
_searchLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightRegular];
_searchLabel.textColor = UIColorFromRGB(0xB8B7C7);
_searchLabel.font = [UIFont systemFontOfSize:12];
_searchLabel.textColor = [DJDKMIMOMColor secondTextColor];
_searchLabel.text = YMLocalizedString(@"XPNewHomeNavView0");
}
return _searchLabel;

View File

@@ -153,10 +153,7 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
if(self.refreshComplete){
self.refreshComplete();
}
if(self.cell == nil){///
[self.tableView reloadData];
}
[self.tableView reloadData];
});
@@ -461,7 +458,6 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
-(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didSelectChat:(HomePlayRoomModel *_Nonnull)roomModel{
if(roomModel.inMic == YES){
[XPRoomViewController openRoom:roomModel.inRoomUid fromNick:roomModel.nick fromType:UserEnterRoomFromType_Follow_User fromUid:roomModel.uid viewController:self];
return;
}

View File

@@ -435,7 +435,7 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
#pragma mark - Getters And Setters
- (PIHoemCategoryTitleView *)titleView {
if (!_titleView) {
_titleView = [[PIHoemCategoryTitleView alloc] initWithFrame:CGRectZero];
_titleView = [[PIHoemCategoryTitleView alloc] init];
_titleView.delegate = self;
_titleView.titles = self.titles;
_titleView.backgroundColor = [UIColor clearColor];

View File

@@ -162,12 +162,12 @@
}
-(void)resumeTimer{
if(self.giftEffectTimer != nil){
dispatch_source_cancel(self.giftEffectTimer);
dispatch_resume(self.giftEffectTimer);
self.giftEffectTimer = nil;
}
if(self.giftTimer != nil){
dispatch_source_cancel(self.giftTimer);
dispatch_resume(self.giftTimer);
self.giftTimer = nil;
}
[self.giftPagView removeListener:self];

View File

@@ -12,7 +12,7 @@
///
@property(nonatomic,strong) UIImageView *titleView;
///
@property(nonatomic,strong) UIImageView *pi_iconView;
@property(nonatomic,strong) UIImageView *iconView;
///
@property(nonatomic,strong) UIImageView *bgImageView;
@@ -41,7 +41,7 @@
[self addSubview:self.titleView];
[self.bgImageView addSubview:self.closeView];
[self.bgImageView addSubview:self.getView];
[self.bgImageView addSubview:self.pi_iconView];
[self.bgImageView addSubview:self.iconView];
[self.bgImageView addSubview:self.numView];
[self.bgImageView addSubview:self.chooseBnt];
[self.bgImageView addSubview:self.tipsView];
@@ -69,7 +69,7 @@
make.height.mas_equalTo(kGetScaleWidth(20));
make.centerX.equalTo(self.bgImageView);
}];
[self.pi_iconView mas_makeConstraints:^(MASConstraintMaker *make) {
[self.iconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(80));
make.centerX.equalTo(self.bgImageView);
make.top.equalTo(self.getView.mas_bottom).mas_offset(kGetScaleWidth(4));
@@ -77,7 +77,7 @@
[self.numView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.bgImageView);
make.height.mas_equalTo(kGetScaleWidth(22));
make.top.equalTo(self.pi_iconView.mas_bottom).mas_offset(kGetScaleWidth(4));
make.top.equalTo(self.iconView.mas_bottom).mas_offset(kGetScaleWidth(4));
}];
[self.tipsView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.bgImageView).mas_offset(kGetScaleWidth(6));
@@ -137,12 +137,12 @@
}
return _bgImageView;
}
-(UIImageView *)pi_iconView{
if(!_pi_iconView){
_pi_iconView = [UIImageView new];
_pi_iconView.image = kImage(@"room_candy_tree_buy_love_icon");
-(UIImageView *)iconView{
if(!_iconView){
_iconView = [UIImageView new];
_iconView.image = kImage(@"room_candy_tree_buy_love_icon");
}
return _pi_iconView;
return _iconView;
}
-(UIImageView *)titleView{
if(!_titleView){

View File

@@ -112,9 +112,9 @@
- (void)textFieldDidChange:(UITextField *)textField {
if(textField.text.integerValue <= 0){
textField.text = @"";
}else if(textField.text.integerValue > 99999){
}else if(textField.text.integerValue > 200){
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPCandyTreeViewController5")];
textField.text = @"99999";
textField.text = @"200";
}
self.chooseNum = textField.text;
@@ -127,9 +127,9 @@
- (void)textFieldDidEndEditing:(UITextField *)textField{
if(textField.text.length <= 0){
textField.text = @"";
}else if(textField.text.integerValue > 99999){
}else if(textField.text.integerValue > 200){
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPCandyTreeViewController5")];
textField.text = @"99999";
textField.text = @"200";
}
self.chooseNum = textField.text;
NSArray *btnArr = @[self.oneTapBtn,self.tenTapBtn,self.hundredTapBtn];
@@ -285,7 +285,6 @@
_textField.keyboardType = UIKeyboardTypeNumberPad;
_textField.textAlignment = NSTextAlignmentCenter;
_textField.delegate = self;
_textField.adjustsFontSizeToFitWidth = YES;
_textField.backgroundColor = [UIColor clearColor];
[_textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
}

View File

@@ -70,9 +70,9 @@
- (void)textFieldDidChanged:(UITextField *)textField {
if(textField.text.integerValue <= 0){
textField.text = @"";
}else if(textField.text.integerValue > 99999){
}else if(textField.text.integerValue > 200){
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPCandyTreeViewController5")];
textField.text = @"99999";
textField.text = @"200";
}
@@ -83,9 +83,9 @@
- (void)textFieldDidEndEditing:(UITextField *)textField{
if(textField.text.length <= 0){
textField.text = @"";
}else if(textField.text.integerValue > 99999){
}else if(textField.text.integerValue > 200){
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPCandyTreeViewController5")];
textField.text = @"99999";
textField.text = @"200";
}
if(self.delegate && [self.delegate respondsToSelector:@selector(inputLoveNum:)]){
@@ -114,8 +114,8 @@
-(void)addBtnAction{
NSInteger num = self.textFiled.text.integerValue + 10;
if(num > 99999){
num = 99999;
if(num > 200){
num = 200;
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPCandyTreeViewController5")];
}
self.textFiled.text = @(num).stringValue;

View File

@@ -12,7 +12,7 @@
@property(nonatomic,strong) UIButton *closeView;
///
@property(nonatomic,strong) UIImageView *pi_iconView;
@property(nonatomic,strong) UIImageView *iconView;
///
@property(nonatomic,strong) UIImageView *bgImageView;
///
@@ -91,7 +91,7 @@
[self addSubview:self.bgImageView];
[self addSubview:self.titleView];
[self.bgImageView addSubview:self.closeView];
[self.bgImageView addSubview:self.pi_iconView];
[self.bgImageView addSubview:self.iconView];
[self.bgImageView addSubview:self.numView];
[self.bgImageView addSubview:self.titleTipsView];
[self.bgImageView addSubview:self.buyBtn];
@@ -123,7 +123,7 @@
make.height.mas_equalTo(kGetScaleWidth(17));
make.centerX.equalTo(self.bgImageView);
}];
[self.pi_iconView mas_makeConstraints:^(MASConstraintMaker *make) {
[self.iconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(80));
make.centerX.equalTo(self.bgImageView);
make.top.equalTo(self.titleTipsView.mas_bottom).mas_offset(8);
@@ -131,7 +131,7 @@
[self.numView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.bgImageView);
make.height.mas_equalTo(kGetScaleWidth(22));
make.top.equalTo(self.pi_iconView.mas_bottom).mas_offset(kGetScaleWidth(5));
make.top.equalTo(self.iconView.mas_bottom).mas_offset(kGetScaleWidth(5));
}];
[self.buyBtn mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -159,7 +159,7 @@
[self addSubview:self.titleView];
[self.bgImageView addSubview:self.closeView];
[self.bgImageView addSubview:self.titleTipsView];
[self.bgImageView addSubview:self.pi_iconView];
[self.bgImageView addSubview:self.iconView];
[self.bgImageView addSubview:self.numView];
[self.bgImageView addSubview:self.inputNumView];
[self.bgImageView addSubview:self.buyBtn];
@@ -188,7 +188,7 @@
make.height.mas_equalTo(kGetScaleWidth(17));
make.centerX.equalTo(self.bgImageView);
}];
[self.pi_iconView mas_makeConstraints:^(MASConstraintMaker *make) {
[self.iconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(80));
make.centerX.equalTo(self.bgImageView);
make.top.equalTo(self.titleTipsView.mas_bottom).mas_offset(kGetScaleWidth(8));
@@ -196,7 +196,7 @@
[self.numView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.bgImageView);
make.height.mas_equalTo(kGetScaleWidth(22));
make.top.equalTo(self.pi_iconView.mas_bottom).mas_offset(kGetScaleWidth(5));
make.top.equalTo(self.iconView.mas_bottom).mas_offset(kGetScaleWidth(5));
}];
[self.inputNumView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.numView.mas_bottom).mas_offset(kGetScaleWidth(5));
@@ -286,12 +286,12 @@
}
return _bgImageView;
}
-(UIImageView *)pi_iconView{
if(!_pi_iconView){
_pi_iconView = [UIImageView new];
_pi_iconView.image = kImage(@"room_candy_tree_buy_love_icon");
-(UIImageView *)iconView{
if(!_iconView){
_iconView = [UIImageView new];
_iconView.image = kImage(@"room_candy_tree_buy_love_icon");
}
return _pi_iconView;
return _iconView;
}
-(UIImageView *)titleView{
if(!_titleView){

View File

@@ -30,10 +30,12 @@
#import "XCCurrentVCStackManager.h"
#import "XPCandyTreeInsufficientBalanceView.h"
#import "XPWebViewController.h"
#import "XPIAPRechargeViewController.h"
#import "XPCandyTreeBuyView.h"
#import "XPCandyTreeConfirmBuyView.h"
#import "XPCandyTreeBuySuccessView.h"
///P
#import "XPCandyTreePresenter.h"
#import "XPCandyTreeProtocol.h"
@@ -454,9 +456,14 @@ UIKIT_EXTERN NSString * const kRoomReceivedCandyNotificationKey;
#pragma mark -XPCandyTreeInsufficientBalanceViewDelegate
- (void)payBalanceAction{
XPIAPRechargeViewController * webVC =[[XPIAPRechargeViewController alloc] init];
webVC.delegate = self;
webVC.type = @"4";
XPWebViewController * webVC =[[XPWebViewController alloc] init];
webVC.url = [NSString stringWithFormat:URLWithType(kThirdPartyPay),@"4",[YYUtility deviceID]];
webVC.isPush = YES;
@kWeakify(self)
webVC.CloseWebViewBlock = ^(BOOL result){
@kStrongify(self)
[self.presenter getCandyTreeInfo];
};
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES];
}
#pragma mark - XPIAPRechargeViewControllerDelegate

View File

@@ -1,8 +1,8 @@
//
// XPFirstRechargeView.h
// YuMi
// xplan-ios
//
// Created by YuMi on 2023/2/27.
// Created by duoban on 2023/2/27.
//
#import <UIKit/UIKit.h>

View File

@@ -1,26 +1,15 @@
//
// XPFirstRechargeView.m
// YuMi
// xplan-ios
//
// Created by YuMi on 2023/2/27.
// Created by duoban on 2023/2/27.
//
///Third
#import <Masonry/Masonry.h>
#import <NIMSDK/NIMSDK.h>
///Tool
#import <Base64/MF_Base64Additions.h>
#import "YUMIMacroUitls.h"
#import "ThemeColor+FirstRecharge.h"
#import "UIImage+Utils.h"
#import "XPFirstRechargeFlowLayout.h"
#import "NSArray+Safe.h"
#import "XNDJTDDLoadingTool.h"
#import "AccountInfoStorage.h"
#import "YYUtility.h"
#import "Api+Mine.h"
#import "Api+Main.h"
#import "RechargeStorage.h"
///Model
#import "FirstRechargeModel.h"
///View
@@ -31,14 +20,11 @@
#import "XPFirstRechargeProtocol.h"
///VC
#import "XPMineRechargeViewController.h"
#import "XPWebViewController.h"
#import "XPFirstRechargeView.h"
#import "Api+FirstRecharge.h"
#import "FirstRechargeModel.h"
#import "XPSkillCardPlayerManager.h"
#import "YuMi-swift.h"
#import "ClientConfig.h"
@interface XPFirstRechargeView ()<UICollectionViewDelegate, UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
///
@property (nonatomic,strong) UIButton *backBtn;
@@ -70,25 +56,16 @@
@property (nonatomic,weak) UINavigationController * currentNav;
///
@property (nonatomic,strong) XPFirstRechargeCollectionView *rechargeView;
@property (nonatomic,strong) FirstRechargeModel *currentInfo;
@property (nonatomic,copy) NSString *orderId;
@property(nonatomic,assign) BOOL pi_IsNative;
@end
@implementation XPFirstRechargeView
- (void)dealloc {
}
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self initSubViews];
[self initSubViewConstraints];
[self getFirstRechargeRewardList];
}
return self;
}
@@ -104,22 +81,6 @@
}
[XNDJTDDLoadingTool showErrorWithMessage:msg];
} channelType:@"3"];
[self checkTranscationIds];
if([ClientConfig shareConfig].canOpen){
[Api requestMineChannel:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if(code == 200){
if(data.data[@"isNative"] != nil){
self.pi_IsNative = [data.data[@"isNative"] boolValue];
}
}
}];
}
}
#pragma mark - Private Method
- (void)initSubViews {
@@ -211,8 +172,8 @@
NSString * title = model.chargeProdTitle;
NSString * giveMoneyStr = [NSString stringWithFormat:@"%ld", model.giveMoney];
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12], NSForegroundColorAttributeName:UIColorFromRGB(0xBE5AF6)}];
[attribute addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:12 weight:UIFontWeightSemibold] range:[title rangeOfString:giveMoneyStr]];
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:title attributes:@{NSFontAttributeName:kFontRegular(12), NSForegroundColorAttributeName:UIColorFromRGB(0xBE5AF6)}];
[attribute addAttribute:NSFontAttributeName value:kFontSemibold(12) range:[title rangeOfString:giveMoneyStr]];
[self.extraButton setAttributedTitle:attribute forState:UIControlStateNormal];
}
@@ -221,7 +182,6 @@
if (array.count <= 0) return;
self.typeArrowView.hidden = NO;
self.originArray = array;
self.currentInfo = [array safeObjectAtIndex1:0];
if (self.segmentView.arrangedSubviews.count > 0) {
[[self.segmentView arrangedSubviews] enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
[obj removeFromSuperview];
@@ -229,11 +189,11 @@
}
for (int i = 0 ; i < array.count; i++) {
FirstRechargeModel * modelInfo = [array safeObjectAtIndex1:i];
NSString * title = [NSString stringWithFormat:@"$%.2f", modelInfo.chargeMoney];
NSString * title = [NSString stringWithFormat:@"$%.2f ", modelInfo.chargeMoney];
UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateSelected];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
button.titleLabel.font = [UIFont systemFontOfSize:15 weight:UIFontWeightMedium];
button.titleLabel.font = kFontMedium(15);
[button setTitle:title forState:UIControlStateNormal];
[button setTitle:title forState:UIControlStateSelected];
button.tag = i;
@@ -281,206 +241,6 @@
return cell;
}
#pragma mark -
///
/// @param chargeProdId id
- (void)requestIAPRechargeOrderWithChargeProdId:(NSString *)chargeProdId {
NSString * uid = [AccountInfoStorage instance].getUid;
NSString * ticket = [AccountInfoStorage instance].getTicket;
NSString * deviceInfo = [YYUtility deviceID];
NSString * clientIp= [YYUtility ipAddress];
[Api requestIAPRecharge:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
NSString *orderId = (NSString *)data.data[@"recordId"];
NSString *uuid = (NSString *)data.data[@"appAccountToken"];
[self requestIAPRechargeOrderSuccess:orderId chargeProdId:chargeProdId uuid:uuid];
} else {
[XNDJTDDLoadingTool hideOnlyView:kWindow];
if(code == 50000){
if(self.delegate && [self.delegate respondsToSelector:@selector(contactCustomerService)]){
[self.delegate contactCustomerService];
}
[self backAction];
return;
}
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
} chargeProdId:chargeProdId uid:uid ticket:ticket deviceInfo:deviceInfo clientIp:clientIp];
}
- (void)requestIAPRechargeOrderSuccess:(NSString *)orderId chargeProdId:(NSString *)chargeProdId uuid:(NSString *)uuid{
if (orderId.length > 0) {
self.orderId = orderId;
if (@available(iOS 15.0, *)) {
PIIAPRegulate *iap = [PIIAPRegulate shared];
[iap demandCommodityThingWithProductId:chargeProdId uuid:uuid completionHandler:^(NSError * _Nullable error) {
}];
@kWeakify(self);
iap.ConditionBlock = ^(enum StoreConditionResult state, NSDictionary<NSString *,id> * _Nullable result) {
@kStrongify(self);
[self rechargeNewProcessStatus:state];
switch (state) {
case StoreConditionResultVerifiedServer:
{
NSString *transactionId = result[@"transactionId"];
[self rechargeSuccess:transactionId];
}
break;
default:
{
}
break;
}
};
} else {
[XNDJTDDLoadingTool hideOnlyView:kWindow];
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPIAPRechargeViewController10")];
}
}else{
[XNDJTDDLoadingTool hideOnlyView:kWindow];
}
}
#pragma mark - XPIAPHelperDelegate
///
- (void)rechargeNewProcessStatus:(StoreConditionResult)status {
if (status == StoreConditionResultPay || status == StoreConditionResultStart || status == StoreConditionResultVerifiedServer) {
}else if (status == StoreConditionResultUnowned) {
[XNDJTDDLoadingTool hideOnlyView:kWindow];
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPIAPRechargeViewController1")];
}else{
[XNDJTDDLoadingTool hideOnlyView:kWindow];
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPIAPRechargeViewController0")];
}
}
///id
- (void)rechargeSuccess:(NSString *)transactionIdentifier {
///
[self saveRechageReciptWithTransactionIdentifier:transactionIdentifier];
///
[self checkReceiptWithOrderId:self.orderId transcationId:transactionIdentifier errorToast:YES];
}
///
- (void)saveRechageReciptWithTransactionIdentifier:(NSString *)transactionIdentifier {
NSData *receipt = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
NSString *encodeStr = [receipt base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
if(transactionIdentifier != nil){
[dictionary setObject:transactionIdentifier forKey:@"transcationId"];
}
if(encodeStr != nil){
[dictionary setObject:encodeStr forKey:@"recipt"];
}
if(self.orderId != nil){
[dictionary setObject:self.orderId forKey:@"orderId"];
}
if(dictionary.allKeys.count == 0)return;
NSString *reciptJson = [dictionary toJSONString];
NSString * uid = [AccountInfoStorage instance].getUid;
BOOL saveSuccess = [RechargeStorage saveTranscationId:transactionIdentifier recipt:reciptJson uid:uid];
if (!saveSuccess) {
#warning to do
}
}
///
- (void)deleteRechageReciptWithTransactionIdentifier:(NSString *)transactionIdentifier {
NSString * uid = [AccountInfoStorage instance].getUid;
BOOL deleteSuccess = [RechargeStorage delegateTranscationId:transactionIdentifier uid:uid];
if (deleteSuccess) {
#warning to do
}
}
///
- (void)checkTranscationIds {
NSString * uid = [AccountInfoStorage instance].getUid;
NSArray * array = [RechargeStorage getAllReciptsWithUid:uid];
// [self.presenter checkReceiptWithOrderId:self.orderId transcationId:transactionIdentifier];
// NSMutableArray *list = [NSMutableArray array];
// for (NSDictionary *transcationDic in array) {
// NSString *transcationId = transcationDic[@"transcationId"];
// if(transcationId){
// [list addObject:transcationId];
// }
// }
// if(list.count > 0){
// if (@available(iOS 15.0, *)) {
// PIIAPRegulate *iap = [PIIAPRegulate shared];
// [iap allTransactionWithList:list completionHandler:^{
//
// }];
//
// }
// }
for (NSDictionary *transcation in array) {
NSString *orderId = transcation[@"orderId"];
NSString *transcationId = transcation[@"transcationId"];
///
[self checkReceiptWithOrderId:orderId transcationId:transcationId errorToast:NO] ;
}
}
- (void)checkReceiptWithOrderId:(NSString *)orderId transcationId:(NSString *)transcationId errorToast:(BOOL)errorToast{
NSString * uid = [AccountInfoStorage instance].getUid;
NSString * ticket = [AccountInfoStorage instance].getTicket;
[Api checkReceipt:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
[XNDJTDDLoadingTool hideOnlyView:kWindow];
if (code == 200) {
[self checkReceiptSuccess:transcationId];
} else {
if(code == 1444){
if (@available(iOS 15.0, *)) {
PIIAPRegulate *iap = [PIIAPRegulate shared];
[iap verifyBusinessAccomplishWithTransaction:[NSString stringWithFormat:@"%@",transcationId] completionHandler:^{
}];
}
[self deleteRechageReciptWithTransactionIdentifier:transcationId];
}
if(errorToast == YES){
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
}
} chooseEnv:@"true" chargeRecordId:orderId transcationId:transcationId uid:uid ticket:ticket];
}
///
- (void)checkReceiptSuccess:(NSString *)transcationId {
if (@available(iOS 15.0, *)) {
PIIAPRegulate *iap = [PIIAPRegulate shared];
[iap verifyBusinessAccomplishWithTransaction:[NSString stringWithFormat:@"%@",transcationId] completionHandler:^{
}];
}
[self deleteRechageReciptWithTransactionIdentifier:transcationId];
self.orderId = nil;
}
#pragma mark - Event Response
@@ -490,23 +250,22 @@
}
- (void)rechargeButtonAction {
if(self.delegate && [self.delegate respondsToSelector:@selector(rechargeHandle)]){
[self.delegate rechargeHandle];
}
[self backAction];
if(self.pi_IsNative == NO){
if(self.delegate && [self.delegate respondsToSelector:@selector(rechargeHandle)]){
[self.delegate rechargeHandle];
}
[self backAction];
return;
}
if (self.currentInfo == nil|| self.currentInfo.chargeProdId == nil) {
return;
}
FirstRechargeModel *model = self.currentInfo;
if (model.chargeProdId) {
[XNDJTDDLoadingTool showOnlyView:kWindow];
[self requestIAPRechargeOrderWithChargeProdId:model.chargeProdId];
}
}
-(void)backAction{
[self removeFromSuperview];
@@ -514,7 +273,6 @@
- (void)buttonAction:(UIButton *)sender {
if (sender.tag <= self.originArray.count) {
FirstRechargeModel * model = [self.originArray safeObjectAtIndex1:sender.tag];
self.currentInfo = model;
[self createExtraRewardAttrebute:model];
self.rewardArray = model.firstChargeRewardList;
self.collectionView.hidden = self.rewardArray.count < 2;
@@ -598,7 +356,7 @@
- (UIButton *)extraButton {
if (!_extraButton) {
_extraButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_extraButton setBackgroundImage:[UIImage imageNamed:@"room_first_recharge_extra"] forState:UIControlStateNormal];
[_extraButton setBackgroundImage:kImage(@"room_first_recharge_extra") forState:UIControlStateNormal];
}
return _extraButton;
@@ -653,7 +411,7 @@
[_rechargeButton setBackgroundImage:[UIImage imageNamed:@"room_first_recharge_recharge"] forState:UIControlStateNormal];
[_rechargeButton setBackgroundImage:[UIImage imageNamed:@"room_first_recharge_recharge"] forState:UIControlStateSelected];
[_rechargeButton setTitle:YMLocalizedString(@"XPFirstRechargeViewController1") forState:UIControlStateNormal];
_rechargeButton.titleLabel.font = [UIFont systemFontOfSize:18 weight:UIFontWeightSemibold];
_rechargeButton.titleLabel.font = kFontSemibold(18);
[_rechargeButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[_rechargeButton addTarget:self action:@selector(rechargeButtonAction) forControlEvents:UIControlEventTouchUpInside];
}
@@ -662,7 +420,7 @@
- (UIImageView *)typeArrowView{
if (!_typeArrowView){
_typeArrowView = [UIImageView new];
_typeArrowView.image = [UIImage imageNamed:@"room_first_recharge_recharge_arrow"];
_typeArrowView.image = kImage(@"room_first_recharge_recharge_arrow");
_typeArrowView.hidden = YES;
}
return _typeArrowView;
@@ -678,7 +436,7 @@
if (!_backBtn){
_backBtn = [UIButton new];
[_backBtn addTarget:self action:@selector(backAction) forControlEvents:UIControlEventTouchUpInside];
}
return _backBtn;
}

View File

@@ -118,7 +118,7 @@
- (NetImageView *)iconView{
if (!_iconView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultEmptyAvatarPlaceholder];
config.placeHolder = [UIImageConstant defalutEmptyPlaceholder];
_iconView = [[NetImageView alloc]initWithConfig:config];
}

View File

@@ -98,6 +98,7 @@
}
+ (NSString *)getSDKVersion {
return [NSString stringWithFormat:@"v%@",[SudMGP getVersion]];
}

View File

@@ -8,7 +8,7 @@
#import "XPRoomLittleGameContainerView.h"
///Third
#import <Masonry/Masonry.h>
#import <SudMGP/SudMGP.h>
#import <NIMSDK/NIMSDK.h>
///Tool
#import "Api+LittleGame.h"
@@ -27,10 +27,9 @@
#import "XPKickUserModel.h"
#import "GuildSuperAdminInfoModel.h"
///P
#import <SudMGP/ISudFSMMG.h>
#import <SudMGP/ISudFSTAPP.h>
#import <SudMGP/SudMGP.h>
#import <SudMGP/ISudFSMStateHandle.h>
#import <SudMGP/SudMGP-umbrella.h>
@interface XPRoomLittleGameContainerView ()<RoomGuestDelegate,ISudFSMMG>
///ID
@property (nonatomic, assign) int64_t currentmgId;
@@ -103,6 +102,7 @@
#else
isTestEnv = NO;
#endif
[[SudMGP getCfg]setBackgroundMode:NO];
[SudMGP initSDK:KeyWithType(KeyType_SudGameAppID) appKey:KeyWithType(KeyType_SudGameAppKey) isTestEnv:isTestEnv listener:^(int retCode, const NSString *retMsg) {
if (retCode == 0) {
if (!self.currentmgId) {
@@ -124,6 +124,7 @@
language = @"zh-Hant"; //
}
self.fsmAPP2MG = [SudMGP loadMG:userId roomId:roomId code:self.code mgId:self.currentmgId language:[language isEqualToString:@"zh-Hant"]? @"zh-TW" : @"zh-CN" fsmMG:self rootView:self];
} else {
/// ,
NSLog(@"ISudFSMMG:initGameSDKWithAppID:初始化sdk失败 :%@",retMsg);

View File

@@ -10,15 +10,15 @@
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, XPRoomMenuItemType) {
XPRoomMenuItemType_Input = 1,
XPRoomMenuItemType_Mic,///话筒
XPRoomMenuItemType_Voice, ///声音
XPRoomMenuItemType_Face,///表情
XPRoomMenuItemType_Message,///房间私聊
XPRoomMenuItemType_More,///更多
XPRoomMenuItemType_ArrangeMic,///排麦
XPRoomMenuItemType_Gift,///礼物
XPRoomMenuItemType_Input = 1,
XPRoomMenuItemType_Mic,///话筒
XPRoomMenuItemType_Face,///表情
XPRoomMenuItemType_Message,///房间私聊
XPRoomMenuItemType_More,///更多
XPRoomMenuItemType_ArrangeMic,///排麦
XPRoomMenuItemType_Gift,///礼物
XPRoomMenuItemType_Noble,///贵族
XPRoomMenuItemType_Play,///更多玩法
};
@interface XPRoomMenuItem : NSObject

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