提交 c1ebc94a 编写于 作者: Y yixiang

H5如果接入方没有实现的话,添加跳转到默认容器的实现

上级 0c8c4671
......@@ -31,8 +31,6 @@
#define DoraemonShowPluginNotification @"DoraemonShowPluginNotification"
#define DoraemonClosePluginNotification @"DoraemonClosePluginNotification"
#define DoraemonH5DoorPluginNotification @"DoraemonH5DoorPluginNotification"
#define DoraemonQuickOpenLogVCNotification @"DoraemonQuickOpenLogVCNotification"
#endif /* DoraemonDefine_h */
......@@ -7,6 +7,8 @@
#import <Foundation/Foundation.h>
typedef void (^DoraemonH5DoorBlock)(NSString *);
@interface DoraemonManager : NSObject
+ (DoraemonManager *)shareInstance;
......@@ -15,6 +17,8 @@
@property (nonatomic,strong) NSMutableArray *dataArray;
@property (nonatomic, copy) DoraemonH5DoorBlock h5DoorBlock;
- (void)addPluginWithTitle:(NSString *)title icon:(NSString *)iconName desc:(NSString *)desc pluginName:(NSString *)entryName atModule:(NSString *)moduleName;
- (void)addStartPlugin:(NSString *)pluginName;
......
......@@ -28,7 +28,6 @@
#import "DoraemonCocoaLumberjackListViewController.h"
#endif
typedef void (^DoraemonH5DoorBlock)(NSString *);
typedef void (^DoraemonANRBlock)(NSDictionary *);
typedef void (^DoraemonPerformanceBlock)(NSDictionary *);
......@@ -38,8 +37,6 @@ typedef void (^DoraemonPerformanceBlock)(NSDictionary *);
@property (nonatomic, strong) NSMutableArray *startPlugins;
@property (nonatomic, copy) DoraemonH5DoorBlock h5DoorBlock;
@property (nonatomic, copy) DoraemonANRBlock anrBlock;
@property (nonatomic, copy) DoraemonPerformanceBlock performanceBlock;
......@@ -101,9 +98,6 @@ typedef void (^DoraemonPerformanceBlock)(NSDictionary *);
}
#endif
//监听h5Plugin点击回调
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(h5DoorPluginClick:) name:DoraemonH5DoorPluginNotification object:nil];
[[DoraemonAllTestManager shareInstance] addPerformanceBlock:^(NSDictionary *upLoadData) {
if (self.performanceBlock) {
self.performanceBlock(upLoadData);
......@@ -220,14 +214,6 @@ typedef void (^DoraemonPerformanceBlock)(NSDictionary *);
self.performanceBlock = block;
}
- (void)h5DoorPluginClick:(NSNotification *)noti{
NSDictionary *userInfo = noti.userInfo;
NSString *h5Url = userInfo[@"h5Url"];
if (h5Url.length>0 && self.h5DoorBlock) {
self.h5DoorBlock(h5Url);
}
}
- (void)quickOpenLogVC:(NSNotification *)noti{
NSDictionary *userInfo = noti.userInfo;
NSInteger from = [userInfo[@"from"] integerValue];
......
//
// DoraemonDefaultWebViewController.h
// AFNetworking
//
// Created by yixiang on 2018/12/27.
//
#import "DoraemonBaseViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface DoraemonDefaultWebViewController : DoraemonBaseViewController
@property (nonatomic, copy) NSString *h5Url;
@end
NS_ASSUME_NONNULL_END
//
// DoraemonDefaultWebViewController.m
// AFNetworking
//
// Created by yixiang on 2018/12/27.
//
#import "DoraemonDefaultWebViewController.h"
@interface DoraemonDefaultWebViewController ()
@end
@implementation DoraemonDefaultWebViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"Doraemon内置浏览器";
UIWebView * view = [[UIWebView alloc] initWithFrame:self.view.frame];
[view loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:self.h5Url]]];
[self.view addSubview:view];
}
@end
......@@ -11,6 +11,8 @@
#import "DoraemonDefine.h"
#import "Doraemoni18NUtil.h"
#import "UITextView+Placeholder.h"
#import "DoraemonDefaultWebViewController.h"
#import "DoraemonManager.h"
@interface DoraemonH5ViewController ()
......@@ -52,8 +54,15 @@
[DoraemonToastUtil showToast:DoraemonLocalizedString(@"h5链接不能为空")];
return;
}
[self leftNavBackClick:nil];
[[NSNotificationCenter defaultCenter] postNotificationName:DoraemonH5DoorPluginNotification object:nil userInfo:@{@"h5Url":_h5UrlTextView.text}];
NSString *h5Url = _h5UrlTextView.text;
if ([DoraemonManager shareInstance].h5DoorBlock) {
[self leftNavBackClick:nil];
[DoraemonManager shareInstance].h5DoorBlock(h5Url);
}else{
DoraemonDefaultWebViewController *vc = [[DoraemonDefaultWebViewController alloc] init];
vc.h5Url = h5Url;
[self.navigationController pushViewController:vc animated:YES];
}
}
......
......@@ -27,9 +27,9 @@
}
[[DoraemonManager shareInstance] addPluginWithTitle:@"测试插件" icon:@"doraemon_default" desc:@"测试插件" pluginName:@"TestPlugin" atModule:@"业务工具"];
[[DoraemonManager shareInstance] addStartPlugin:@"StartPlugin"];
[[DoraemonManager shareInstance] addH5DoorBlock:^(NSString *h5Url) {
NSLog(@"使用自带容器打开H5链接: %@",h5Url);
}];
// [[DoraemonManager shareInstance] addH5DoorBlock:^(NSString *h5Url) {
// NSLog(@"使用自带容器打开H5链接: %@",h5Url);
// }];
[[DoraemonManager shareInstance] install];
for (int i=0; i<10; i++) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册