Commit 412bb9ae cgx

H5和原生交互调试

1 个父辈 657cfdc4
...@@ -93,24 +93,40 @@ ...@@ -93,24 +93,40 @@
decisionHandler(WKNavigationActionPolicyAllow); decisionHandler(WKNavigationActionPolicyAllow);
} }
- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message { - (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message {
if ([message.name isEqualToString:@"click"]) { if ([message.name isEqualToString:@"AppModel"]) {
// NSDictionary *jsData = message.body; // 打印所传过来的参数,只支持NSNumber, NSString, NSDate, NSArray,
// NSLog(@"%@", message.name); // NSDictionary, and NSNull类型
//读取js function的字符串 NSDictionary *bodyDic = message.body;
// NSString *jsFunctionString = jsData[@"result"]; NSLog(@"message.body:%@, type:%d", bodyDic, [bodyDic[@"type"] intValue]);
// //拼接调用该方法的js字符串(convertDictionaryToJson:方法将NSDictionary转成JSON格式的字符串)
// NSString *jsonString = [NSDictionary convertDictionaryToJson:@{@"test":@"123", @"data":@"666"}];
// NSString *jsCallBack = [NSString stringWithFormat:@"(%@)(%@);", jsFunctionString, jsonString];
// //执行回调
// [self.weWebView evaluateJavaScript:jsCallBack completionHandler:^(id _Nullable result, NSError * _Nullable error) {
// if (error) {
// NSLog(@"err is %@", error.domain);
// }
// }];
} }
// if ([message.name isEqualToString:@"xxx"]) {
// NSDictionary *jsData = message.body;
// NSLog(@"%@", message.name);
//读取js function的字符串
// NSString *jsFunctionString = jsData[@"result"];
// //拼接调用该方法的js字符串(convertDictionaryToJson:方法将NSDictionary转成JSON格式的字符串)
// NSString *jsonString = [NSDictionary convertDictionaryToJson:@{@"test":@"123", @"data":@"666"}];
// NSString *jsCallBack = [NSString stringWithFormat:@"(%@)(%@);", jsFunctionString, jsonString];
// //执行回调
// [self.weWebView evaluateJavaScript:jsCallBack completionHandler:^(id _Nullable result, NSError * _Nullable error) {
// if (error) {
// NSLog(@"err is %@", error.domain);
// }
// }];
// }
}
- (void)webView:(WKWebView *)webView runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(void))completionHandler {
NSLog(@"%s", __FUNCTION__);
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"alert" message:@"JS调用alert" preferredStyle:UIAlertControllerStyleAlert];
[alert addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
completionHandler();
}]];
[self presentViewController:alert animated:YES completion:NULL];
NSLog(@"message:%@", message);
} }
- (WKWebView *)aiWebView { - (WKWebView *)aiWebView {
...@@ -120,7 +136,7 @@ ...@@ -120,7 +136,7 @@
// 实例化对象 // 实例化对象
configuration.userContentController = [WKUserContentController new]; configuration.userContentController = [WKUserContentController new];
// 调用JS方法 // 调用JS方法
[configuration.userContentController addScriptMessageHandler:self name:@"Android.jump2Native(2, 0)"]; [configuration.userContentController addScriptMessageHandler:self name:@"AppModel"];
// 进行偏好设置 // 进行偏好设置
WKPreferences *preferences = [WKPreferences new]; WKPreferences *preferences = [WKPreferences new];
...@@ -132,6 +148,7 @@ ...@@ -132,6 +148,7 @@
_aiWebView = [[WKWebView alloc]initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight - kTabBarHeight) configuration:configuration]; _aiWebView = [[WKWebView alloc]initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight - kTabBarHeight) configuration:configuration];
_aiWebView.backgroundColor = DSWhite; _aiWebView.backgroundColor = DSWhite;
_aiWebView.UIDelegate = self; _aiWebView.UIDelegate = self;
[_aiWebView debugViewShowBorder];
_aiWebView.scrollView.bounces = NO; _aiWebView.scrollView.bounces = NO;
[_aiWebView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew context:nil]; [_aiWebView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew context:nil];
_aiWebView.navigationDelegate = self; _aiWebView.navigationDelegate = self;
......
...@@ -89,7 +89,6 @@ ...@@ -89,7 +89,6 @@
} }
[self.bgIV setCornerRadiusRect:(UIRectCornerBottomLeft | UIRectCornerBottomRight) cornerRadius:22.0]; [self.bgIV setCornerRadiusRect:(UIRectCornerBottomLeft | UIRectCornerBottomRight) cornerRadius:22.0];
} else { } else {
[self.audioIV cornerRadius:15.5];
self.bgIV.dk_alphaPicker = DKAlphaPickerWithAlphas(1.0, .3, .5); self.bgIV.dk_alphaPicker = DKAlphaPickerWithAlphas(1.0, .3, .5);
self.audioIV.dk_alphaPicker = DKAlphaPickerWithAlphas(1.0, .3, .5); self.audioIV.dk_alphaPicker = DKAlphaPickerWithAlphas(1.0, .3, .5);
} }
...@@ -109,6 +108,7 @@ ...@@ -109,6 +108,7 @@
- (UIImageView *)audioIV { - (UIImageView *)audioIV {
if (!_audioIV) { if (!_audioIV) {
_audioIV = [UIImageView new]; _audioIV = [UIImageView new];
[_audioIV cornerRadius:15.5];
} }
return _audioIV; return _audioIV;
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!