企业包卡罗牌充值
This commit is contained in:
@@ -60,6 +60,22 @@
|
||||
<string>daeplayapp</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>xdx.api.lecheng163.com</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>xdx.api.uat.lecheng163.com</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>2022111001</string>
|
||||
|
@@ -28,6 +28,13 @@
|
||||
#import "XPRoomViewController.h"
|
||||
#import "RoomHostDelegate.h"
|
||||
#import "XPMonentTopicContainerViewController.h"
|
||||
#import "XPRoomHalfWebView.h"
|
||||
|
||||
#ifdef DEBUG
|
||||
static const NSString *CompanyFirstDomainByWeChatRegister = @"api.uat.lecheng163.com";
|
||||
#else
|
||||
static const NSString *CompanyFirstDomainByWeChatRegister = @"api.lecheng163.com";
|
||||
#endif
|
||||
|
||||
typedef NS_ENUM(NSUInteger, RightNavigationPushType){
|
||||
///跳转h5页面
|
||||
@@ -98,6 +105,8 @@ NSString * const kJSOpenRoom = @"openRoom";
|
||||
NSString * const kJSOpenRoomForGiftId = @"openRoomForGiftId";
|
||||
NSString * const kProhibitRightSlip = @"prohibitRightSlip";
|
||||
NSString * const kSaveBase64Image = @"saveBase64Image";
|
||||
NSString * const kOpenDialogWebview = @"openDialogWebview";
|
||||
NSString * const kCheckResultFinish = @"checkResultFinish";
|
||||
|
||||
@implementation XPWebViewController
|
||||
|
||||
@@ -161,6 +170,28 @@ NSString * const kSaveBase64Image = @"saveBase64Image";
|
||||
NSURL *URL = navigationAction.request.URL;
|
||||
NSString *scheme = [URL scheme];
|
||||
NSURLRequest *request = navigationAction.request;
|
||||
|
||||
///卡罗牌
|
||||
NSString *absoluteString = [navigationAction.request.URL.absoluteString stringByRemovingPercentEncoding];
|
||||
static NSString *endPayRedirectURL = nil;
|
||||
if ([absoluteString hasPrefix:@"https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb"] && ![absoluteString hasSuffix:[NSString stringWithFormat:@"redirect_url=xdx.%@://",CompanyFirstDomainByWeChatRegister]]) {
|
||||
NSString *redirectUrl = nil;
|
||||
if ([absoluteString containsString:@"redirect_url="]) {
|
||||
NSRange redirectRange = [absoluteString rangeOfString:@"redirect_url"];
|
||||
endPayRedirectURL = [absoluteString substringFromIndex:redirectRange.location+redirectRange.length+1];
|
||||
// stringByAddingPercentEncodingWithAllowedCharacters:[[NSCharacterSet characterSetWithCharactersInString:@"?!@#$^&%*+,:;='\"`<>()[]{}/\\| "] invertedSet]]
|
||||
redirectUrl = [[absoluteString substringToIndex:redirectRange.location] stringByAppendingString:[NSString stringWithFormat:@"redirect_url=xdx.%@://",CompanyFirstDomainByWeChatRegister]];
|
||||
}else {
|
||||
redirectUrl = [absoluteString stringByAppendingString:[NSString stringWithFormat:@"&redirect_url=xdx.%@://",CompanyFirstDomainByWeChatRegister]];
|
||||
}
|
||||
|
||||
NSMutableURLRequest *newRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:redirectUrl] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
|
||||
newRequest.allHTTPHeaderFields = request.allHTTPHeaderFields;
|
||||
newRequest.URL = [NSURL URLWithString:redirectUrl];
|
||||
[webView loadRequest:newRequest];
|
||||
decisionHandler(WKNavigationActionPolicyCancel);
|
||||
return;
|
||||
}
|
||||
// Judge is whether to jump to other app.
|
||||
if (![scheme isEqualToString:@"https"] && ![scheme isEqualToString:@"http"]) {
|
||||
BOOL canOpen = [[UIApplication sharedApplication] canOpenURL:request.URL];
|
||||
@@ -343,7 +374,6 @@ NSString * const kSaveBase64Image = @"saveBase64Image";
|
||||
[XPRoomViewController openRoom:uid giftId:giftId viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
|
||||
});
|
||||
}
|
||||
|
||||
} else if([message.name isEqualToString:kSaveBase64Image]) {
|
||||
NSString * base64 = message.body;
|
||||
NSArray * array = [base64 componentsSeparatedByString:@","];
|
||||
@@ -352,6 +382,16 @@ NSString * const kSaveBase64Image = @"saveBase64Image";
|
||||
UIImage * image = [UIImage imageWithData:data];
|
||||
UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), (__bridge void *)self);
|
||||
}
|
||||
} else if([message.name isEqualToString:kOpenDialogWebview]) {
|
||||
XPRoomHalfWebView *alert = [[XPRoomHalfWebView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth - 37 * 2, 200)];
|
||||
alert.url = message.body;
|
||||
TTPopupService * service = [[TTPopupService alloc] init];
|
||||
service.shouldDismissOnBackgroundTouch = NO;
|
||||
service.contentView = alert;
|
||||
service.style = TTPopupStyleAlert;
|
||||
[TTPopup popupWithConfig:service];
|
||||
} else if([message.name isEqualToString:kCheckResultFinish]) {
|
||||
[TTPopup dismiss];
|
||||
}
|
||||
}
|
||||
}];
|
||||
@@ -436,7 +476,10 @@ NSString * const kSaveBase64Image = @"saveBase64Image";
|
||||
// 去掉 urlString 中的空格。
|
||||
NSString *noSpaceTextUrl = [_url stringByReplacingOccurrencesOfString:@" " withString:@""];
|
||||
|
||||
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:noSpaceTextUrl]];
|
||||
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:noSpaceTextUrl]];
|
||||
if ([_url containsString:@"wx.tenpay"]) {
|
||||
[request setValue:[NSString stringWithFormat:@"xdx.%@://", CompanyFirstDomainByWeChatRegister] forHTTPHeaderField:@"Referer"];
|
||||
}
|
||||
[self.webview loadRequest:request];
|
||||
}
|
||||
|
||||
@@ -683,6 +726,9 @@ NSString * const kSaveBase64Image = @"saveBase64Image";
|
||||
[_userContentController addScriptMessageHandler:weakScriptMessageDelegate name:kProhibitRightSlip];
|
||||
///保存图片到本地
|
||||
[_userContentController addScriptMessageHandler:weakScriptMessageDelegate name:kSaveBase64Image];
|
||||
// 卡罗牌
|
||||
[_userContentController addScriptMessageHandler:weakScriptMessageDelegate name:kOpenDialogWebview];
|
||||
[_userContentController addScriptMessageHandler:weakScriptMessageDelegate name:kCheckResultFinish];
|
||||
}
|
||||
return _userContentController;
|
||||
}
|
||||
|
Reference in New Issue
Block a user