更换支付方式

This commit is contained in:
liyuhua
2023-08-10 12:09:54 +08:00
parent f7cb9c7e84
commit e0440bc7fd
4 changed files with 138 additions and 6 deletions

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,7 +456,6 @@ UIKIT_EXTERN NSString * const kRoomReceivedCandyNotificationKey;
#pragma mark -XPCandyTreeInsufficientBalanceViewDelegate
- (void)payBalanceAction{
XPWebViewController * webVC =[[XPWebViewController alloc] init];
webVC.url = [NSString stringWithFormat:URLWithType(kThirdPartyPay),@"4",[YYUtility deviceID]];
webVC.isPush = YES;

View File

@@ -22,6 +22,9 @@
#import "BaseNavigationController.h"
#import "XPMineRechargeViewController.h"
#import "XPRoomHalfWebView.h"
#import "XPMineVerifIdentityViewController.h"
#import "XPWebViewController.h"
///P
#import "XPRoomRedPacketPresenter.h"

View File

@@ -64,7 +64,7 @@
///P
#import "XPRoomPresenter.h"
#import "XPRoomProtocol.h"
#import "XPWebViewController.h"
#import "RoomHostDelegate.h"
#import "RoomGuestDelegate.h"
@@ -1906,6 +1906,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
}
#pragma mark - XPFirstRechargeViewDelegate
-(void)rechargeHandle{
@@ -1947,6 +1948,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
});
}
}];
}
- (XPRoomBackContainerView *)backContainerView {
if (!_backContainerView) {

View File

@@ -27,8 +27,10 @@
#import "Api+Mine.h"
#import "XPSkillCardPlayerManager.h"
#import "XPWebViewNavView.h"
#import "SessionViewController.h"
#import "XPMonentTopicContainerViewController.h"
typedef NS_ENUM(NSUInteger, RightNavigationPushType){
///h5
RightNavigationPushType_Web = 1,
@@ -429,11 +431,135 @@ NSString * const kJSOpenAppConcernedChat = @"openAppConcernedChat";
[XPRoomViewController openRoom:uid giftId:giftId viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
});
}
}else if([message.name isEqualToString:kJSChargePayClickPage]){
if(message.body != nil && self.model.diamonds != nil){
NSString *type = [NSString stringWithFormat:@"%@",message.body];
}
}else if ([message.name isEqualToString:kJSOpenChargePage]) {
if(self.delegate && [self.delegate respondsToSelector:@selector(payHandler)]){
[self.delegate payHandler];
return;
}
[TTPopup dismiss];
if(self.isPush){
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];
return;
}
UIViewController *controller = [XCCurrentVCStackManager shareManager].getCurrentVC;
if (controller.presentingViewController) {
[controller dismissViewControllerAnimated:NO completion:nil];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
XPWebViewController * webVC =[[XPWebViewController alloc] init];
webVC.isPush = YES;
webVC.url = [NSString stringWithFormat:URLWithType(kThirdPartyPay),@"4",[YYUtility deviceID]];
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES];
});
}else {
XPWebViewController * webVC =[[XPWebViewController alloc] init];
webVC.isPush = YES;
webVC.url = [NSString stringWithFormat:URLWithType(kThirdPartyPay),@"4",[YYUtility deviceID]];
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES];
}
} else if ([message.name isEqualToString:kOpenPersonPage]) {
NSString *uid = [NSString stringWithFormat:@"%@",message.body];
if (uid.integerValue > 0) {
[TTPopup dismiss];
XPMineUserInfoViewController * userInfoVC = [[XPMineUserInfoViewController alloc] init];
userInfoVC.uid = uid.integerValue;
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:userInfoVC animated:YES];
}
} else if([message.name isEqualToString:kJSInitNav]) {
[self initNav:message.body];
} else if([message.name isEqualToString:kJSGetRoomUid]) {
NSString *js = [NSString stringWithFormat:@"getMessage(\"roomUid\",\"%@\")",self.roomUid];
[self.webview evaluateJavaScript:js completionHandler:^(id _Nullable other, NSError * _Nullable error) {
NSLog(@"%@",error);
}];
} else if([message.name isEqualToString:kInitShowNav]) {
if (((NSNumber *)message.body).intValue == 0) {
if (self.InitShowNavBlock) {
self.InitShowNavBlock(YES);
return;
}
if (self.navigationController) {
[self.navigationController setNavigationBarHidden:YES];
}
}
} else if([message.name isEqualToString:kCloseWebView]) {
if (self.CloseWebViewBlock) {
self.CloseWebViewBlock(YES);
return;
}
if (self.navigationController) {
[self.navigationController popViewControllerAnimated:YES];
}
} else if ([message.name isEqualToString:kJumpAppointPage]) {
// h5
NSDictionary *bodyDict;
if ([message.body isKindOfClass:[NSDictionary class]]) {
bodyDict = message.body;
} else if ([message.body isKindOfClass:[NSString class]]) {
NSString *str = (NSString *)message.body;
bodyDict = [str toJSONObject];
}
NSInteger skyType = [bodyDict[@"routerType"] integerValue];
[self handleRouterType:skyType message:message];
} else if ([message.name isEqualToString:kJSOpenRoom]) {
NSString *uid = [NSString stringWithFormat:@"%@",message.body];
if (uid.length > 0) {
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ([obj isKindOfClass:[XPRoomViewController class]]) {
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController popToRootViewControllerAnimated:NO];
XPRoomViewController<RoomHostDelegate> * rooomVC = obj;
[rooomVC exitRoom];
*stop = YES;
}
}];
if(self.view.superview){
[TTPopup dismiss];
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[XPRoomViewController openRoom:uid viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
});
}
} else if([message.name isEqualToString:kJSOpenRoomForGiftId]) {
NSLog(@"%@", message.body);
NSDictionary *bodyDict;
if ([message.body isKindOfClass:[NSDictionary class]]) {
bodyDict = message.body;
} else if ([message.body isKindOfClass:[NSString class]]) {
NSString *str = (NSString *)message.body;
bodyDict = [str toJSONObject];
}
// uid
NSString *uid = [NSString stringWithFormat:@"%@", bodyDict[@"uid"]];
NSString *giftId = [NSString stringWithFormat:@"%@", bodyDict[@"giftId"]];
if (uid.length) {
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ([obj isKindOfClass:[XPRoomViewController class]]) {
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController popToRootViewControllerAnimated:NO];
XPRoomViewController<RoomHostDelegate> * rooomVC = obj;
[rooomVC exitRoom];
*stop = YES;
}
}];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[XPRoomViewController openRoom:uid giftId:giftId viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
});
}
}
}
}];
}
}
}
}];
}
#pragma mark - private method
- (void)handleRouterType:(NSInteger)skyType message:(WKScriptMessage *)message {